Lenguajes de bases de datos

18

Click here to load reader

description

Bases de datos

Transcript of Lenguajes de bases de datos

Page 1: Lenguajes  de bases de datos

Lenguajes de bases de datos

Elizabeth Guzmán Bejarano

Anahi Ortiz PalaciosAreli Cruz Gonzalez

Irma Carvajal Tenorio

Licenciatura en informatica 501-B

Page 2: Lenguajes  de bases de datos

Lenguajes De Programación

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.

Page 3: Lenguajes  de bases de datos

3.1 Clasificació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.

Page 4: Lenguajes  de bases de datos

LENGUAJES ENSAMBLADORES

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.

Page 5: Lenguajes  de bases de datos

LENGUAJES DE ALTO NIVEL

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.

Page 6: Lenguajes  de bases de datos

LENGUAJES COMPILADOS

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.

Page 7: Lenguajes  de bases de datos

LENGUAJES INTERPRETADOS

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.

Page 8: Lenguajes  de bases de datos

3.2 LENGUAJES FORMALES

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.

Page 9: Lenguajes  de bases de datos

ALGEBRA RELACIONAL

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.

Page 10: Lenguajes  de bases de datos

Cálculo Relacional

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.

Page 11: Lenguajes  de bases de datos

Optimización de consultas

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.

Page 12: Lenguajes  de bases de datos

SQL

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).

Page 13: Lenguajes  de bases de datos

3.3.1 LENGUAJE DE DEFINICION DE DATOS

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.

Page 14: Lenguajes  de bases de datos

3.3.2 Lenguaje de manipulación 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.

Page 15: Lenguajes  de bases de datos

3.3.3 Lenguaje de control de datos

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:

Page 16: Lenguajes  de bases de datos

• 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.

Page 17: Lenguajes  de bases de datos

3.4 Otros Lenguajes

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).

.

Page 18: Lenguajes  de bases de datos

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