SlideShare une entreprise Scribd logo
1  sur  18
   Un lenguaje de programación es un idioma artificial
    diseñado para expresar computaciones que pueden ser
    llevadas a cabo por máquinas como las computadoras.
    Pueden usarse para crear programas que controlen el
    comportamiento físico y lógico de una máquina, para
    expresar algoritmos con precisión, o como modo de
    comunicación humana.] Está formado por un conjunto de
    símbolos y reglas sintácticas y semánticas que definen su
    estructura y el significado de sus elementos y
    expresiones. Al proceso por el cual se escribe, se
    prueba, se depura, se compila y se mantiene el código
    fuente de un programa informático se le llama
    programación.
 LENGUAJES DE MÁQUINA
 El lenguaje máquina de una computadora
  consta de cadenas de números binarios
  (ceros y unos) y es el único que "entienden"
  directamente los procesadores. Todas las
  instrucciones preparadas en cualquier
  lenguaje de máquina tienen por lo menos
  dos partes. La primera es el comando u
  operación, que dice a la computadora
  cuál es la función que va a realizar.
   A principios de la década de 1950, y con el fin de facilitar
    la labor de los programadores, se desarrollaron códigos
    nemotécnicos para las operaciones y direcciones
    simbólicas. La palabra nemotécnico se refiere a una
    ayuda para la memorización. Uno de los primeros pasos
    para mejorar el proceso de preparación de programas
    fue sustituir los códigos de operaciones numéricos del
    lenguaje de máquina por símbolos alfabéticos, que son
    los códigos nemotécnicos. Todas las computadoras
    actuales tienen códigos nemotécnicos
    aunque, naturalmente, los símbolos que se usan varían en
    las diferentes marcas y modelos. La computadora sigue
    utilizando el lenguaje de máquina para procesar los
    datos, pero los programas ensambladores traducen antes
    los símbolos de código de operación especificados a sus
    equivalentes en lenguaje de máquina.
   Los primeros programas ensambladores
    producían sólo una instrucción en lenguaje
    de máquina por cada instrucción del
    programa fuente. Para agilizar la
    codificación, se desarrollaron programas
    ensambladores que podían producir una
    cantidad variable de instrucciones en
    lenguaje de máquina por cada instrucción
    del programa fuente. Dicho de otra
    manera, una sola macroinstrucción podía
    producir varias líneas de código en
    lenguaje de máquina.
 Naturalmente, un programa que se escribe en un lenguaje de
  alto nivel también tiene que traducirse a un código que pueda
  utilizar la máquina. Los programas traductores que pueden
  realizar esta operación se llaman compiladores. Éstos, como los
  programas ensambladores avanzados, pueden generar
  muchas líneas de código de máquina por cada proposición del
  programa fuente. Se requiere una corrida de compilación antes
  de procesar los datos de un problema.
 Los compiladores son aquellos cuya función es traducir un
  programa escrito en un determinado lenguaje a un idioma que
  la computadora entienda (lenguaje máquina con código
  binario).
 Al usar un lenguaje compilado (como lo son los lenguajes del
  popular Visual Studio de Microsoft), el programa desarrollado
  nunca se ejecuta mientras haya errores, sino hasta que luego
  de haber compilado el programa, ya no aparecen errores en el
  código.
   Se puede también utilizar una alternativa diferente de los
    compiladores para traducir lenguajes de alto nivel. En vez
    de traducir el programa fuente y grabar en forma
    permanente el código objeto que se produce durante la
    corrida de compilación para utilizarlo en una corrida de
    producción futura, el programador sólo carga el
    programa fuente en la computadora junto con los datos
    que se van a procesar. A continuación, un programa
    intérprete, almacenado en el sistema operativo del
    disco, o incluido de manera permanente dentro de la
    máquina, convierte cada proposición del programa
    fuente en lenguaje de máquina conforme vaya siendo
    necesario durante el proceso de los datos. No se graba el
    código objeto para utilizarlo posteriormente.
   El calificativo “formal”, determina un lenguaje que es construido
    estableciendo una teoría y se le llamaría artificial. Un lenguaje formal
    como la lógica consiste de un conjunto de oraciones llamadas fórmulas
    o expresiones bien formadas. “lenguaje artificial” se refiere al hecho de
    que se forma por medio de reglas de formación, “formal” se refiere
    específicamente al hecho de que las oraciones de estos lenguajes
    consisten de una lista de símbolos sujetos a diversas interpretaciones.
    Una de las metas en computación es poder especificar rigurosamente
    los significados por los métodos de interpretación de los sistemas
    formales, estos métodos constituyen las semánticas del lenguaje formal.
   El proceso de generación y desarrollo de un lenguaje formal es
    mediante las palabras y las oraciones que son perfectamente definidas:
    una palabra mantiene el mismo significado prescindiendo del contexto
    en el que se encuentre.
   Los lenguajes formales son, exentos de cualquier componente
    semántico fuera de sus operadores y relaciones, y es gracias a esta
    ausencia de significado especial, que los lenguajes formales pueden ser
    usados para modelar una teoría de la mecánica, de la ingeniería
    electrónica, etc., en la lingüística u otra naturaleza, la cual asume el
    estatus del componente semántico de tal lenguaje.
   El álgebra relacional es un conjunto de operaciones
    que describen paso a paso como computar una
    respuesta sobre las relaciones, tal y como éstas son
    definidas en el modelo relacional. Denominada de
    tipo procedimental, a diferencia del Cálculo
    relacional que es de tipo declarativo.
   Describe el aspecto de la manipulación de datos.
    Estas operaciones se usan como una representación
    intermedia de una consulta a una base de datos
    y, debido a sus propiedades algebraicas, sirven para
    obtener una versión más optimizada y eficiente de
    dicha consulta.
   El Cálculo relacional es un lenguaje de
    consulta que describe la respuesta
    deseada sobre una Base de datos sin
    especificar como obtenerla, a
    diferencia del Álgebra relacional que es
    de tipo procedural, el cálculo relacional
    es de tipo declarativo; pero siempre
    ambos métodos logran los mismos
    resultados.
   Cuando hablamos de optimización de consultas nos
    referimos a mejorar los tiempos de respuesta en un
    sistema de gestión de bases de datos
    relacional, pues la optimización es el proceso de
    modificar un sistema para mejorar su eficiencia o
    también el uso de los recursos disponibles.
   En bases de datos relacionales el lenguaje de
    consultas SQL es el más utilizado por el común de los
    programadores y desarrolladores para obtener
    información desde la base de datos. La complejidad
    que pueden alcanzar algunas consultas puede ser
    tal, que el diseño de una consulta puede tomar un
    tiempo considerable, obteniendo no siempre una
    respuesta óptima.
   El lenguaje de consulta estructurado o SQL
    (por sus siglas en inglés structured query
    language) es un lenguaje declarativo de
    acceso a bases de datos relacionales que
    permite especificar diversos tipos de
    operaciones en éstas. Una de sus
    características es el manejo del álgebra y
    el cálculo relacional permitiendo efectuar
    consultas con el fin de recuperar -de una
    forma sencilla- información de interés de
    una base de datos, así como también
    hacer cambios sobre ella. Es un lenguaje
    informático de cuarta generación (4GL).
   Una vez finalizado el diseño de una base de datos y
    escogido un SGBD para su implementación, el primer
    paso consiste en especificar el esquema conceptual y el
    esquema interno de la base de datos, y la
    correspondencia entre ambos. En muchos SGBD no se
    mantiene una separación estricta de niveles, por lo que el
    administrador de la base de datos y los diseñadores
    utilizan el mismo lenguaje para definir ambos
    esquemas, es el lenguaje de definición de datos (LDD). El
    SGBD posee un compilador de LDD cuya función consiste
    en procesar las sentencias del lenguaje para identificar
    las descripciones de los distintos elementos de los
    esquemas y almacenar la descripción del esquema en el
    catálogo o diccionario de datos. Se dice que el
    diccionario contiene metadatos: describe los objetos de
    la base de datos.
   Un Lenguaje de Manipulación de Datos (Data
    Manipulation Language, DML) es un lenguaje
    proporcionado por el sistema de gestión de
    base de datos que permite a los usuarios de la
    misma llevar a cabo las tareas de consulta o
    manipulación de los datos, organizados por el
    modelo de datos adecuado.
   El lenguaje de manipulación de datos más
    popular hoy día es SQL, usado para recuperar
    y manipular datos en una base de datos
    relacional. Otros ejemplos de DML son los
    usados por bases de datos IMS/DL1, CODASYL
    u otras.
   Lenguaje de control de Datos (DCL): Está
    conformado por sentencias que controlan la
    integridad, atomicidad y en general la
    seguridad de los datos. Contiene elementos
    útiles para trabajar en un entorno
    multiusuario, en el que es importante la
    protección delos datos, la seguridad de las
    tablas y el establecimiento de restricciones en
    el acceso, así como elementos para coordinar
    la compartición de datos por parte de usuarios
    concurrentes, asegurando que no interfieren
    unos con otros. Se utiliza para cambiar los
    permisos asociados con un usuario o función
    de la base de datos. Sus instrucciones son:
 • GRANT: permite a un usuario trabajar con los datos o
  ejecutar determinadas instrucciones Transact - SQL.
 • DENY: deniega los permisos sobre los objetos de la base
  de datos. Este es la orden que siempre prevalece.
 • REVOKE: quita un permiso concedido o denegado
  previamente.
 Para el acceso y cambio de los datos Transact - SQL
  presenta el Lenguaje de tratamiento de datos (DML, Data
  Management Language), que cuenta con cuatro
  instrucciones, con las cuales se pueden implementar gran
  parte de las operaciones de mantenimiento:
 • SELECT recupera los datos existentes.
 • UPDATE se usa para cambiar los datos.
 • INSERT permite agregar nuevos datos.
 • DELETE borra datos de la base de datos.
 Aunque el cálculo relacional es difícil de entender y de
  usar, tiene una propiedad muy atractiva: es un lenguaje
  no procedural. Esto ha hecho que se busquen técnicas
  no procedurales algo más sencillas, resultando en dos
  nuevas categorías de lenguajes relacionales: orientados a
  transformaciones y gráficos.
 Los lenguajes orientados a transformaciones son lenguajes
  no procedurales que utilizan relaciones para transformar
  los datos de entrada en la salida deseada. Estos lenguajes
  tienen estructuras que son fáciles de utilizar y que
  permiten expresar lo que se desea en términos de lo que
  se conoce. Uno de estos lenguajes es SQL (Structured
  Query Language).

   .
   Los lenguajes gráficos visualizan en pantalla una fila vacía
    de cada una de las tablas que indica el usuario. El usuario
    rellena estas filas con un `ejemplo' de lo que desea y el
    sistema devuelve los datos que siguen tal ejemplo. Uno de
    estos lenguajes es QBE (Query-by-Example).

   Otra categoría son los lenguajes de cuarta generación
    (4GL), que permiten diseñar una aplicación a medida
    utilizando un conjunto limitado de órdenes en un entorno
    amigable (normalmente un entorno de menús). Algunos
    sistemas aceptan cierto lenguaje natural, una versión
    restringida del idioma inglés, al que algunos llaman
    lenguaje de quinta generación (5GL), aunque todavía se
    encuentra en desarrollo

Contenu connexe

Tendances

Paradigmas de la ingeniería de software
Paradigmas de la ingeniería de softwareParadigmas de la ingeniería de software
Paradigmas de la ingeniería de software
Andhy H Palma
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modem
Mirna L. Torres Garcia
 
Nucleo del sistema operativo
Nucleo del sistema operativoNucleo del sistema operativo
Nucleo del sistema operativo
Emily_Fdez
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
JUANR1022
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
sueich
 

Tendances (20)

Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Gestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoGestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyecto
 
Paradigmas de la ingeniería de software
Paradigmas de la ingeniería de softwareParadigmas de la ingeniería de software
Paradigmas de la ingeniería de software
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.o
 
Bases De Datos Paralelas
Bases De Datos ParalelasBases De Datos Paralelas
Bases De Datos Paralelas
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Cuadro comparativo estandares de calidad software
Cuadro comparativo estandares de calidad softwareCuadro comparativo estandares de calidad software
Cuadro comparativo estandares de calidad software
 
Cuadro comparativo de los tipos de sistemas de información
Cuadro comparativo de los tipos de sistemas de informaciónCuadro comparativo de los tipos de sistemas de información
Cuadro comparativo de los tipos de sistemas de información
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modem
 
Nucleo del sistema operativo
Nucleo del sistema operativoNucleo del sistema operativo
Nucleo del sistema operativo
 
Modelos de arquitecturas de computo
Modelos de arquitecturas de computoModelos de arquitecturas de computo
Modelos de arquitecturas de computo
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de software
 
Transaccion
TransaccionTransaccion
Transaccion
 
Sistemas paralelos vs distribuidos
Sistemas paralelos vs distribuidosSistemas paralelos vs distribuidos
Sistemas paralelos vs distribuidos
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Consideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSConsideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMS
 

Similaire à Lenguajes de bases de datos

Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
Sandra Esposito
 
Mariana precesntacion 2
Mariana precesntacion 2Mariana precesntacion 2
Mariana precesntacion 2
esveidi_27
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
joel210696
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
adark
 

Similaire à Lenguajes de bases de datos (20)

CONSULTA
CONSULTACONSULTA
CONSULTA
 
Consulta
ConsultaConsulta
Consulta
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Luis silva diapositiva
Luis silva  diapositivaLuis silva  diapositiva
Luis silva diapositiva
 
Taller paola
Taller paolaTaller paola
Taller paola
 
Mariana precesntacion 2
Mariana precesntacion 2Mariana precesntacion 2
Mariana precesntacion 2
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Powerpoint jimpulgar
Powerpoint jimpulgarPowerpoint jimpulgar
Powerpoint jimpulgar
 
Temas segundo parcial sgbd
Temas segundo parcial sgbdTemas segundo parcial sgbd
Temas segundo parcial sgbd
 
Jhinet fernanda
Jhinet fernandaJhinet fernanda
Jhinet fernanda
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)
 
Programa informatico
Programa informaticoPrograma informatico
Programa informatico
 

Plus de Anita Ortiz (10)

PROPÓSITOS DE CIENCIAS NATURALES EN EDUCACIÓN BASICA
PROPÓSITOS DE CIENCIAS NATURALES EN EDUCACIÓN BASICAPROPÓSITOS DE CIENCIAS NATURALES EN EDUCACIÓN BASICA
PROPÓSITOS DE CIENCIAS NATURALES EN EDUCACIÓN BASICA
 
Administración de proyectos 1 unidad
Administración de proyectos   1 unidadAdministración de proyectos   1 unidad
Administración de proyectos 1 unidad
 
Teoria de mc clelland
Teoria de mc clelland Teoria de mc clelland
Teoria de mc clelland
 
Sistemas de organización
Sistemas de organizaciónSistemas de organización
Sistemas de organización
 
Psicología organizacional
Psicología organizacional Psicología organizacional
Psicología organizacional
 
¿Cómo se selecciona, delimita y plantea un tema según:Roberto Hernández Sampieri
¿Cómo se selecciona, delimita y plantea un tema según:Roberto Hernández Sampieri¿Cómo se selecciona, delimita y plantea un tema según:Roberto Hernández Sampieri
¿Cómo se selecciona, delimita y plantea un tema según:Roberto Hernández Sampieri
 
Teoría de Douglas McGregor
Teoría de Douglas McGregorTeoría de Douglas McGregor
Teoría de Douglas McGregor
 
Aseguramiento de la calidad del software SQA
Aseguramiento de la calidad del software SQAAseguramiento de la calidad del software SQA
Aseguramiento de la calidad del software SQA
 
ICONIX
ICONIXICONIX
ICONIX
 
Modems
ModemsModems
Modems
 

Lenguajes de bases de datos

  • 1.
  • 2. Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.] Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
  • 3.  LENGUAJES DE MÁQUINA  El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora cuál es la función que va a realizar.
  • 4. A principios de la década de 1950, y con el fin de facilitar la labor de los programadores, se desarrollaron códigos nemotécnicos para las operaciones y direcciones simbólicas. La palabra nemotécnico se refiere a una ayuda para la memorización. Uno de los primeros pasos para mejorar el proceso de preparación de programas fue sustituir los códigos de operaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que son los códigos nemotécnicos. Todas las computadoras actuales tienen códigos nemotécnicos aunque, naturalmente, los símbolos que se usan varían en las diferentes marcas y modelos. La computadora sigue utilizando el lenguaje de máquina para procesar los datos, pero los programas ensambladores traducen antes los símbolos de código de operación especificados a sus equivalentes en lenguaje de máquina.
  • 5. Los primeros programas ensambladores producían sólo una instrucción en lenguaje de máquina por cada instrucción del programa fuente. Para agilizar la codificación, se desarrollaron programas ensambladores que podían producir una cantidad variable de instrucciones en lenguaje de máquina por cada instrucción del programa fuente. Dicho de otra manera, una sola macroinstrucción podía producir varias líneas de código en lenguaje de máquina.
  • 6.  Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.  Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).  Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.
  • 7. Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
  • 8. El calificativo “formal”, determina un lenguaje que es construido estableciendo una teoría y se le llamaría artificial. Un lenguaje formal como la lógica consiste de un conjunto de oraciones llamadas fórmulas o expresiones bien formadas. “lenguaje artificial” se refiere al hecho de que se forma por medio de reglas de formación, “formal” se refiere específicamente al hecho de que las oraciones de estos lenguajes consisten de una lista de símbolos sujetos a diversas interpretaciones. Una de las metas en computación es poder especificar rigurosamente los significados por los métodos de interpretación de los sistemas formales, estos métodos constituyen las semánticas del lenguaje formal.  El proceso de generación y desarrollo de un lenguaje formal es mediante las palabras y las oraciones que son perfectamente definidas: una palabra mantiene el mismo significado prescindiendo del contexto en el que se encuentre.  Los lenguajes formales son, exentos de cualquier componente semántico fuera de sus operadores y relaciones, y es gracias a esta ausencia de significado especial, que los lenguajes formales pueden ser usados para modelar una teoría de la mecánica, de la ingeniería electrónica, etc., en la lingüística u otra naturaleza, la cual asume el estatus del componente semántico de tal lenguaje.
  • 9. El álgebra relacional es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo.  Describe el aspecto de la manipulación de datos. Estas operaciones se usan como una representación intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versión más optimizada y eficiente de dicha consulta.
  • 10. El Cálculo relacional es un lenguaje de consulta que describe la respuesta deseada sobre una Base de datos sin especificar como obtenerla, a diferencia del Álgebra relacional que es de tipo procedural, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los mismos resultados.
  • 11. Cuando hablamos de optimización de consultas nos referimos a mejorar los tiempos de respuesta en un sistema de gestión de bases de datos relacional, pues la optimización es el proceso de modificar un sistema para mejorar su eficiencia o también el uso de los recursos disponibles.  En bases de datos relacionales el lenguaje de consultas SQL es el más utilizado por el común de los programadores y desarrolladores para obtener información desde la base de datos. La complejidad que pueden alcanzar algunas consultas puede ser tal, que el diseño de una consulta puede tomar un tiempo considerable, obteniendo no siempre una respuesta óptima.
  • 12. El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella. Es un lenguaje informático de cuarta generación (4GL).
  • 13. Una vez finalizado el diseño de una base de datos y escogido un SGBD para su implementación, el primer paso consiste en especificar el esquema conceptual y el esquema interno de la base de datos, y la correspondencia entre ambos. En muchos SGBD no se mantiene una separación estricta de niveles, por lo que el administrador de la base de datos y los diseñadores utilizan el mismo lenguaje para definir ambos esquemas, es el lenguaje de definición de datos (LDD). El SGBD posee un compilador de LDD cuya función consiste en procesar las sentencias del lenguaje para identificar las descripciones de los distintos elementos de los esquemas y almacenar la descripción del esquema en el catálogo o diccionario de datos. Se dice que el diccionario contiene metadatos: describe los objetos de la base de datos.
  • 14. Un Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.  El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.
  • 15. Lenguaje de control de Datos (DCL): Está conformado por sentencias que controlan la integridad, atomicidad y en general la seguridad de los datos. Contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección delos datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros. Se utiliza para cambiar los permisos asociados con un usuario o función de la base de datos. Sus instrucciones son:
  • 16.  • GRANT: permite a un usuario trabajar con los datos o ejecutar determinadas instrucciones Transact - SQL.  • DENY: deniega los permisos sobre los objetos de la base de datos. Este es la orden que siempre prevalece.  • REVOKE: quita un permiso concedido o denegado previamente.  Para el acceso y cambio de los datos Transact - SQL presenta el Lenguaje de tratamiento de datos (DML, Data Management Language), que cuenta con cuatro instrucciones, con las cuales se pueden implementar gran parte de las operaciones de mantenimiento:  • SELECT recupera los datos existentes.  • UPDATE se usa para cambiar los datos.  • INSERT permite agregar nuevos datos.  • DELETE borra datos de la base de datos.
  • 17.  Aunque el cálculo relacional es difícil de entender y de usar, tiene una propiedad muy atractiva: es un lenguaje no procedural. Esto ha hecho que se busquen técnicas no procedurales algo más sencillas, resultando en dos nuevas categorías de lenguajes relacionales: orientados a transformaciones y gráficos.  Los lenguajes orientados a transformaciones son lenguajes no procedurales que utilizan relaciones para transformar los datos de entrada en la salida deseada. Estos lenguajes tienen estructuras que son fáciles de utilizar y que permiten expresar lo que se desea en términos de lo que se conoce. Uno de estos lenguajes es SQL (Structured Query Language).  .
  • 18. Los lenguajes gráficos visualizan en pantalla una fila vacía de cada una de las tablas que indica el usuario. El usuario rellena estas filas con un `ejemplo' de lo que desea y el sistema devuelve los datos que siguen tal ejemplo. Uno de estos lenguajes es QBE (Query-by-Example).  Otra categoría son los lenguajes de cuarta generación (4GL), que permiten diseñar una aplicación a medida utilizando un conjunto limitado de órdenes en un entorno amigable (normalmente un entorno de menús). Algunos sistemas aceptan cierto lenguaje natural, una versión restringida del idioma inglés, al que algunos llaman lenguaje de quinta generación (5GL), aunque todavía se encuentra en desarrollo