miércoles, 31 de agosto de 2016

Comandos MySQL

Definiendo cómo es almacenada la información.

CREATE DATABASE se utiliza para crear una nueva base de datos vacía.

Ejemplo : 

CREATE DATABASE db1; 
Query OK, 1 row affected (0.18 sec)
DROP DATABASE se utiliza para eliminar completamente una base de datos existente.

Ejemplo :

DROP DATABASE bufg; 
Query OK, 0 rows affected (0.39 sec)

CREATE TABLE se utiliza para crear una nueva tabla, donde la información se almacena realmente.

Ejemplo :
CREATE TABLE `adbdd`.`sasa` ();


ALTER TABLE se utiliza para modificar una tabla ya existente.

Ejemplo :

ALTER TABLE tab_name ENGINE = InnoDB;
DROP TABLE se utiliza para eliminar por completo una tabla existente.

Ejemplo :

DROP TABLE Employees, Customers;


Manipulando los datos.

SELECT se utiliza cuando quieres leer (o seleccionar) tus datos.

Ejemplo: 

SELECT Nombre FROM adbdd.alumnos;

INSERT se utiliza cuando quieres añadir (o insertar) nuevos datos.

Ejemplo :

insert into alumnos (NoControl, Nombre, ApePaterno, ApeMaterno) values ('3536909655456597', 'Walter', 'Kennedy', 'Rivera');

UPDATE se utiliza cuando quieres cambiar (o actualizar) datos existentes.

Ejemplo

UPDATE mitabla SET nombre = 'Willy' WHERE id = 1;

DELETE se utiliza cuando quieres eliminar (o borrar) datos existentes.

Ejemplo:

DELETE FROM mitabla WHERE id = 1;

REPLACE se utiliza cuando quieres añadir o cambiar (o reemplazar) datos nuevos o ya existentes.

REPLACE INTO t1 VALUES ("Colocas los registros nuevos que reemplazaran a los que tienes");

TRUNCATE se utiliza cuando quieres vaciar (o borrar) todos los datos de la plantillas.

SELECT TRUNCATE(1.223,1);
https://mariadb.com/kb/es/basic-sql-statements/

martes, 30 de agosto de 2016

Resumen Intel 8086 y 8088

Registros de Banderas


Es un registro de 16 bits, de los cuales nueve sirven para indicar el estado actual de la máquina y el resultado del procesamiento. Muchas instrucciones aritméticas y de comparación cambian el estado de las banderas y apoyándose en ellas se pueden tomar decisiones para determinar la acción subsecuente.
La tabla contiene 16 posiciones (de 0 a 15), que son los 16 bits del registro de banderas, numeradas de derecha a izquierda. La posición 0 la encontraremos a la derecha y la posición 15 a la izquierda.




La instrucción esencial es MOV  : Ella trasladan datos de un lugar a otro.
mov dest, src
mov eax, 3 ; almacena 3 en el registro EAX (3 es el operando inmediato)
mov bx, ax ; almacena el valor de AX en el registro BX

Registros para la instrucción MOV :


Registro AX: El registro AX es el registro acumulador, es utilizado para operaciones que implican entrada/salida, multiplicación y división (estas dos últimas en conjunto con el registro DX)


Registro BX:
 El registro BX es el registro base, y es el único registro de propósito general que puede ser un índice para direccionamiento indexado


CF (acarreo): Contiene el acarreo del bit de mayor orden después de una operación aritmética; también almacena el contenido del último bit en una operación de desplazamiento o de rotación.



La instrucción ADD se usa para sumar enteros.
add eax, 4 ; eax = eax + 4 
add al, ah ; al = al + ah

Registros para la instrucción ADD :

ZF (cero): Indica el resultado de una operación aritmética o de comparación (0=resultado diferente de cero; 1=resultado igual a cero).


SF (signo): Contiene el signo resultante de una operación aritmética (0=positivo; 1=negativo).

Registro AX: El registro AX es el registro acumulador, es utilizado para operaciones que implican entrada/salida, multiplicación y división (estas dos últimas en conjunto con el registro DX).


Registro DX: El registro DX es el registro de datos. En algunas operaciones se indica mediante este registro el número de puerto de entrada/salida, y en las operaciones de multiplicación y división de 16 bits se utiliza junto con el acumulador AX.


Las instrucciones INC y DEC incrementan o incrementan valores en uno.
inc ecx ; ecx++
dec dl ; dl--



Registros para las instrucciónes INC y DEC:


Registro CX: El registro CX es conocido como el registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits.


DF (dirección): Controla la selección de incremento o decremento de los registros SI y DI en las operaciones con cadenas de caracteres (1=decremento automático; 0=incremento). La bandera DF se controla con las instrucciones STD y CLD.


lunes, 29 de agosto de 2016

Tarea : Programas NASM, MASM y TASM.

NASM 

Nasm-IDE: Editor, compilador y enlazador, es compatible solo con nasm y Windows DOS.

Net Wide Assembler, es un ensamblador bajo licencia BSD para plataformas Intel x86, permite escribir programas en 16, 32, 64 bits. Es compatible para múltiples plataformas, entre ellas DOS, Windows y Linux.

NASM no se acompaña de un enlazador propio, aunque puede utilizarse cualquiera de distribución libre como es ALINK o bien, en el caso de Linux, usar el propio del sistema LINK.







MASM

SASM

SASM (SimpleASM) - sencillo IDE multiplataforma de código abierto para NASM, MASM, GAS, lenguajes ensamblador MASM.

SASM soporta 4 trabajar con montadores - NASM, MASM, gas y FASM en 2 modos -x64 y x86. Usted puede elegir el modo de configuración de la pestaña "Build". Tambiénallí se puede cambiar las opciones de ensamblador y enlazador y elegir programas para el montaje y la vinculación.



Masm: Es el ensamblador más usado en DOS y Windows, está desarrollado por la misma empresa que creó dichos sistemas Microsoft. Es bastante potente y puede utilizarse para crear programas DOS y Windows, así como bibliotecas y controladores de dispositivos. Como los demás ensambladores, MASM se invoca desde la línea de comandos directamente o, en caso de contar con él, desde un editor previa configuración.

Si utiliza MASM el enlazador será LINK.


RadASM


RadASM es un IDE freeware para ensambladores de 32 bits para Windows.

Ensambladores soportados:
MASM
FASM
NASM
HLA
GoAsm




WinAsm Studio



WinAsm Studio es un entorno de desarrollo integrado (IDE, Integrated development environment) para aplicaciones de 32 bits bajo Microsoft Windows y 16 bits bajo DOS, usando Microsoft Macro AssemblerMASM y Flat Assembler FASM. Su creador es Antonis Kyprianou (akyprian).

Fue desarrollado en lenguaje ensamblador, y está optimizado en tamaño y velocidad. Además soporta autocompletado para las funciones de la API de Windows y sus parámetros, lo que facilita el desarrollo rápido de aplicaciones. Es extensible mediante una completa interfaz de plugins, e incluye un poderoso editor visual de resources. Posee una interfaz de usuario multilenguaje, esto significa que puede configurarse para que toda la interfaz gráfica se muestre en el idioma de nuestra preferencia. Ya ha sido traducido a muchos idiomas, y nuevas traducciones son más que bienvenidas.

WinAsm Studio es 100% gratuito.

Ensambladores soportados
  • MASM
  • POASM
  • FASM [con complemento]


Easy Code


Este programa es un IDE o entorno de programación visual para desarrollar aplicaciones bajo lenguaje Assembler para plataformas windows de 32 bits.

Mediante esta interface se simplifica la programación bajo dicho lenguaje y contiene muchas herramientas de utilidad. El IDE es muy similar al de visual basic, donde encontrarás la barra de controles en la parte izquierda, el explorador de archivos de proyecto y la ventana de propiedades en la parte derecha, mientras que en el centro podrás diseñar las ventanas, con los controles y acceder al código fuente, como también probar y testear el programa.


Características de Easy Code Assembler:
  • Este entorno, está programado completamente en lenguaje Assembler. Esto lo hace muy rápido y veloz.
  • Se pueden programar ejecutables de32 bits.Con este entorno también, además de programas y aplicaciones, también es posible la programación de controladores y drivers de dispositivos. ( Ver el archivo de ayuda para mas información)
  • Programar librerías DLL, LIB.
  • Al escribir una función API o constante, el editor te ofrecerá ayuda contextual sobre las mismas. Esto facilita mucho la tarea de programación.
  • Incorpora editor de recursos.
  • Funciones básicas de un editor de programación, por ejemplo opciones para buscar, reemplazar etc ..
  • Permite resalte de sintaxis de las palabras clave ( Variables, funciones etc ..) de las palabras reservadas del código Assembler escritas en la ventana de código fuente.
  • Programar aplicaciones de consola.
  • Agregar recursos: Imágenes, cadenas, menú, aceleradores.
  • Incluye documentación y manual del IDE.
  • Incorpora un editor de menú.
  • Uso de controles comunes de windows : Botones, cajas de verificación, textbox, barras de scroll, frames, labels, combos, listbox, calendarios, imagelist, control slider, imagecombo, datetime, picture, image etc ..
  • Es completamente gratis ( Software libre - Incluye el código fuente del software).
  • Incluye completa documentación y archivo de ayuda en idioma español. Lo puedes acceder desde el menú Ayuda.


TASM

El Turbo Assembler (TASM), es un paquete ensamblador principalmente destinado a la plataforma del IBM PC y sus compatibles. 
Fue la oferta de Borland en el mercado de herramientas de programación en lenguaje ensamblador para la familia de los microprocesadores x86.
Turbo Assembler también se refiere a un ensamblador común, basado en el microprocesador 6502, creado por la compañía alemana Omikron en 1985. 

Las características de alto nivel de las ayudas de TASM 3.0 tales como objetos, permiten la implementación de la programación orientada a objetos. 

Turbo Assembler 2.0 

Turbo Assembler 3.01. Compilador de archivos escritos en lenguaje ensamblador. Es uno de los compiladores mas potente. 

Turbo Assembler 4.0.Compilador de archivos escritos en lenguaje ensamblador. Es uno de los compiladores mas potente. Incluye el enlazador (Tlink 4.0) y el depurador (Td).

Turbo Assembler 5.0. Es un completo ensamblador destacados independiente. Este producto incluye todas las herramientas necesarias para crear y depurar programas de montaje de 16 y 32 bits de DOS y Windows. Algunas de las herramientas incluidas son ensambladores, enlazadores, depuradores estilo de la consola, y los compiladores de recursos. 

TLINK El enlazador o linkeador permite combinar varios módulos objeto, realizando las conexiones entre ellos y, finalmente, los convierte en módulo ejecutable de tipo EXE 
El linkeador permite el uso de librerías de funciones y rutinas. TLINK, a diferencia de LINK, permite generar un fichero de tipo COM directamente de un OBJ si se indica el parámetro  lo que agiliza aún más el proceso.


Para TASM el correspondiente enlazador es TLINK.




http://docplayer.es/2699831-Entre-los-mas-conocidos-editores-con-interfaz-de-desarrollo-tenemos.html

jueves, 25 de agosto de 2016

Tipos de DBMS (Libres y Comerciales)

Libres

PostgreSQL: es un servidor de base de datos relacional libre, liberado bajo la licencia BSD. Es una alternativa a otros sistemas de bases de datos de código abierto (como MySQL, Firebird y MaxDB), así como sistemas propietarios como Oracle o DB2.

Algunas de sus principales características son:
*Claves ajenas también denominadas Llaves ajenas o Llaves Foráneas (foreign keys).
*Disparadores (triggers).
*Vistas.
*Integridad transaccional.
*Acceso concurrente multiversión (no se bloquean las tablas, ni siquiera las filas, cuando un proceso escribe).
*Capacidad de albergar programas en el servidor en varios lenguajes.
*Herencia de tablas.
*Tipos de datos y operaciones geométricas.

MySQL: es uno de los Sistemas Gestores de bases de Datos (SQL) más populares desarrolladas bajo la filosofía de código abierto. La desarrolla y mantiene la empresa MySQL AB pero puede utilizarse gratuitamente y sucódigo fuente está disponible.

Algunas de sus características son :
*Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.
*Disponibilidad en gran cantidad de plataformas y sistemas.
*Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de operaciones disponibles.
*Transacciones y claves foráneas.
*Conectividad segura.
*Replicación.
*Búsqueda e indexación de campos de texto.

Firebird: es un sistema de administración de base de datos (o RDBMS) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 1999. Su código fue reescrito de C a C++.

Algunas de sus características:

*Ejecutable pequeño, con requerimientos de hardware bajos.
*Arquitectura Cliente / Servidor sobre protocolo TCP/IP y otros (embedded).
*Soporte de transacciones y claves foráneas.
*Es medianamente escalable.
*Buena seguridad basada en usuarios / roles.
*Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-roms.
*Existencia de controladores ODBC, OLEDB y JDBC
*Controlador nativo para PHP
*Requisitos de administración bajos, siendo considerada como una base de datos libre de mantenimiento, al margen de la realización de copias de seguridad y restauraciones periódicas.
*Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos.

Comerciales

Informix: es conocido actualmente como una categoría de programas de IBM, que esta dentro de la familia de "Administración de Información" (Information Management).
Dispone de herramientas gráficas que permiten asistir tanto en los procesos de instalación como la administración del servidor, sin necesidad de que el administrador tenga grandes conocimientos.

Características:
Proporciona tablas que forma el SMI(interfaz de motorización del sistema).
Gestiona múltiples base de datos remotas de una única y centralizada consola donde se muestran gráficamente tanto la base de datos, como los objetos que contiene (tablas, índices, procedimientos).
Tiene la capacidad de relación de datos en múltiples lugares físicos.
Ofrece varias opciones para conectar datos relacionales en páginas web.
Ocupa menos memoria y recursos que el Oracle.
Se integra con Linux, Oracle y otras bases de datos.
Ofrece herramientas para crear menús, formularios de entrada de datos y generadores de listados.
Soporte para Datawarehouse
Soporte para Datamining

Microsoft Access
: es un sistema de gestión de bases de datos creado y modificado por Microsoft (DBMS) para uso personal o de pequeñas organizaciones. Es un componente de la suite Microsoft Office aunque no se incluye en el paquete básico. Para bases de datos de gran calibre (en cuanto a volumen de datos o de usuarios) es recomendable usar otros sistemas como Microsoft SQL Server, MySQL, Postgres u Oracle. Su principal función es ser una potente base de datos, capaz de trabajar en sí misma o bien con conexión hacia otros lenguajes de programación, tales como Visual Basic 6.0 o Visual Basic .NET. Pueden realizarse consultas directas a las tablas contenidas mediante instrucciones SQL. Internamente trae consigo el lenguaje Visual Basic for Application (VBA) el cual es similar en forma a VB6.

Algunas de sus características son:
Crear tablas de datos indexadas.
Modificar tablas de datos.
Relaciones entre tablas (creación de bases de datos relacionales).
Creación de consultas y vistas.
Consultas referencias cruzadas.
Consultas de acción (INSERT, DELETE, UPDATE).
Formularios.
Informes.
Llamadas a la API de windows.
Interacción con otras aplicaciones que usen VBA (resto de aplicaciones de Microsoft Office, Autocad, etc.).
Macros.

Microsoft SQL Server
: es un sistema de gestión de bases de datos relacionales (SGBD) basada en el lenguaje SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.
Entre sus características figuran:
Soporte de transacciones.
Gran estabilidad.
Gran seguridad.
Escalabilidad.
Soporta procedimientos almacenados.
Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente.
Permite trabajar en modo cliente-servidor donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo accesan a la información.
Además permite administrar información de otros servidores de datos

Versiones de Lenguaje Ensamblador

ENSAMBLADORES CRUZADOS: permiten el soporte de medios físicos como pantallas, impresoras, teclado, etc. y la programación que ofrecen maquinas potentes que luego serán ejecutados en sistemas especializados.

ENSAMBLADORES RESIDENTES: permanecen en la memoria de la computadora, y cargan para su ejecución al programa objeto producido. es el indicado para el desarrollo de pequeños sistemas de control.

MACRO-ENSAMBLADORES: permiten el uso de macro-instrucciones, son programas grandes que no permanecen en memoria una ves que se a generado el código objeto, normalmente son programas complejos y residentes.

MICRO-ENSAMBLADORES: Indica al interprete las instrucciones de como debe actuar la CPU.

ENSAMBLADORES DE UNA FASE: leen una linea de programa fuente y la traducen directamente para producir una instrucción en lenguaje maquina, estos ensambladores son sencillos, baratos y ocupan poco espacio.

ENSAMBLADORES DE DOS FASES: se llaman así por que realizan la traducción en dos etapas, en la primera fase revisan el código fuente y lo construyen en una tabla de símbolos, en la segunda fase vuelven a leer el programa fuente y pueden traducirlo por completo. estos ensambladores son los mas utilizados en la actualidad.


https://sites.google.com/site/ensambladoralexa/1-1-3-tipos-de-lenguaje-ensamblador

Definición de IDE (Entorno de desarrollo integrado)

Un entorno de desarrollo integrado o entorno de desarrollo interactivo, en inglés Integrated Development Environment (IDE), es una aplicación informática que proporciona servicios integrales para facilitarle al programador el desarrollo de software.
Un IDE consiste de un editor de código fuente, herramientas de construcción automáticas y un depurador. La mayoría de los IDE tienen auto-completado inteligente de código (IntelliSense). Algunos IDE contienen un compilador, un intérprete, o ambos, tales como NetBeans y Eclipse; otros no, tales como SharpDevelop y Lazarus.
El límite entre un IDE y otras partes del entorno de desarrollo de software más amplio no está bien definido. Muchas veces, a los efectos de simplificar la construcción de la interfaz gráfica de usuario (GUI, por sus siglas en inglés) se integran un sistema controlador de versión y varias herramientas. 

Muchos IDE modernos también cuentan con un navegador de clases, un buscador de objetos y un diagrama de jerarquía de clases, para su uso con el desarrollo de software orientado a objetos.

Un IDE debe tener las siguientes características:
  • Multiplataforma
  • Soporte para diversos lenguajes de programación
  • Integración con Sistemas de Control de Versiones
  • Reconocimiento de Sintaxis
  • Extensiones y Componentes para el IDE
  • Integración con Framework populares
  • Depurador
  • Importar y Exportar proyectos
  • Múltiples idiomas
  • Manual de Usuarios y Ayuda



  Algunos ejemplos de entornos integrados de desarrollo (IDE) son los siguientes:
  • Eclipse
  • NetBeans
  • IntelliJ IDEA
  • JBuilder de Borland
  • JDeveloper de Oracle
  • KDevelop
  • Anjunta
  • Clarion
  • MS Visual Studio
  • Visual C++


   Ventajas de los IDE's.
  1. La curva de aprendizaje es muy baja.
  2. Es más ágil y óptimo para los usuarios que no son expertos en manejo de consola.
  3. Formateo de código.
  4. Funciones para renombrar variables, funciones.
  5. Warnings y errores de sintaxis en pantalla de algo que no va a funcionar al interpretar o compilar.
  6. Poder crear proyectos para poder visualizar los archivos de manera gráfica.
  7. Herramientas de refactoring como por ejemplo seria extraer una
    porción de código a un método nuevo.
  8. No es recomendado pero posee un navegador web interno por si queremos probar las cosas dentro de la IDE.
https://fergarciac.wordpress.com/2013/01/25/entorno-de-desarrollo-integrado-ide/

Niveles de Lenguajes de Programación

Lenguajes de Bajo Nivel:
Un lenguaje de programación de características bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan. El uso de la palabra bajo en su denominación no implica que el lenguaje sea menos potente que un lenguaje de alto nivel, sino que se refiere a la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar tareas críticas de los sistemas operativos , de aplicaciones en tiempo real o controladores de dispositivos.

Ventajas
  • Mayor adaptación al equipo.
  • Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.
  • Inconvenientes
  • Imposibilidad de escribir código independiente de la máquina.
  • Mayor dificultad en la programación y en la comprensión de los programas.
  • El programador debe conocer más de un centenar de instrucciones.
  • Es necesario conocer en detalle la arquitectura de la máquina.

Características
  • Se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle.
  • Está orientado a la máquina.

Lenguajes de Nivel Medio:

Se dice del lenguajes de programación como C, que se encuentran entre los lenguajes de alto nivel y los lenguajes de bajo nivel. Estos lenguajes son clasificados muchas veces de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia del ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.

Una característica distintiva, por ejemplo, que convierte a C en un lenguaje de medio nivel y al Pascal en un lenguaje de alto nivel es que en el primero es posible manejar las letras como si fueran números (en Pascal no), y por el contrario en Pascal es posible concatenar las cadenas de caracteres con el operador suma y copiarlas con la asignación (en C es el usuario el responsable de llamar a las funciones correspondientes).


Lenguajes de Nivel Alto:

Son tipos de lenguajes de programación que permite al programador escribir programas que son mas o menos independientes de un tipo particular de computadora. Estos lenguajes son considerados de alto nivel, porque son mas parecidos al lenguaje natural humano y mas lejanos al lenguaje de las maquinas, la principal ventaja de los lenguajes de alto nivel sobre los de bajo nivel es que son mas fáciles de leer, escribir y mantener por los humanos. Al final los programas escritos en alto nivel deben ser traducidos en un lenguaje maquina especifico empleando un compilador o un interprete. De esta manera pueden ser ejecutados por una maquina especifica.

Ventajas

  • La programación en un lenguaje de alto nivel tiene ciertas ventajas:
  • Genera un código más sencillo y comprensible.
  • Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.

Inconvenientes

  • Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.
  • Algunos requieren que la máquina cliente posea una determinada plataforma.

http://g241veq10.blogspot.mx/2010/04/151-niveles-de-lenguaje-de-programacion.html

Compilador

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje diferente. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.La construcción de un compilador involucra la división del proceso en una serie de fases que variará con su complejidad. Generalmente estas fases se agrupan en dos tareas: el análisis del programa fuente y la síntesis del programa objeto.

Clasificación de los Compiladores

Los compiladores pueden ser de:

*Una sola pasada: examina el código fuente una vez, generando el código o programa objeto.
*Pasadas múltiples: requieren pasos intermedios para producir un código en otro lenguaje, y una pasada final para producir y optimizar el código producido durante los pasos anteriores.
*Optimación: lee un código fuente, lo analiza y descubre errores potenciales sin ejecutar el programa.
*Compiladores incrementales: generan un código objeto instrucción por instrucción (en vez de hacerlo para todo el programa) cuando el usuario teclea cada orden individual. El otro tipo de compiladores requiere que todos los enunciados o instrucciones se compilen conjuntamente.
*Ensamblador: el lenguaje fuente es lenguaje ensamblador y posee una estructura. sencilla.
*Compilador cruzado: se genera código en lenguaje objeto para una máquina diferente de la que se está utilizando para compilar. Es perfectamente normal construir un compilador de Pascal que genere código para MS-DOS y que el compilador funcione en Linux y se haya escrito en C++.
*Compilador con montador: compilador que compila distintos módulos de forma independiente y después es capaz de enlazarlos.
*Auto-compilador: compilador que está escrito en el mismo lenguaje que va a compilar. Evidentemente, no se puede ejecutar la primera vez. Sirve para hacer ampliaciones al lenguaje, mejorar el código generado, etc.
*Meta-compilador: es sinónimo de compilador de compiladores y se refiere a un programa que recibe como entrada las especificaciones del lenguaje para el que se desea obtener un compilador y genera como salida el compilador para ese lenguaje. El desarrollo de los metacompiladores se encuentra con la dificultad de unir la generación de código con la parte de análisis. 

Lo que sí se han desarrollado son generadores de analizadores léxicos y sintácticos. Por ejemplo, los conocidos:
LEX: generador de analizadores léxicos
YACC: generador de analizadores sintácticos
desarrollados para UNIX. 
Los inconvenientes que tienen son que los analizadores que generan no son muy eficientes.
*Descompilador: es un programa que acepta como entrada código máquina y lo traduce a un lenguaje de alto nivel, realizando el proceso inverso a la compilación.


http://www.monografias.com/trabajos11/compil/compil.shtml

Lenguaje Máquina

El lenguaje de máquina o código máquina es el sistema de códigos directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o el microcontrolador de unautómata. 
Está compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina. Un programa consiste en una cadena de estas instrucciones más un conjunto de datos sobre el cual se trabaja.
 Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos.
El lenguaje de máquina es específico de la arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre arquitecturas distintas.




miércoles, 24 de agosto de 2016

Funciones de un DBA

Un administrador de bases de datos es un profesional en procesamiento de datos. La tarea del DBA es crear la base de datos en sí y poner en vigor los controles técnicos necesarios para apoyar las políticas dictadas por el administrador de datos. El DBA se encarga también de garantizar el funcionamiento adecuado del sistema y de proporcionar otros servicios de índole técnica relacionados.

El DBA cuenta por lo regular con un grupo de programadores de sistemas y otros asistentes técnicos.La responsabilidad general del DBA es facilitar el desarrollo y el uso de la Base de Datos dentro de las guías de acción definidas por la administración de los datos.

El DBA es responsable primordialmente de:

*Administrar la estructura de la Base de Datos


*Administrar la actividad de los datos


*Administrar el Sistema Manejador de Base de Datos


*Establecer el Diccionario de Datos


*Asegurar la confiabilidad de la Base de Datos


*Confirmar la seguridad de la Base de Datos