Lenguaje de definición de datos (DDL)
(DDL). El SGBD posee un compilador de DDL cuya función consiste en
procesarlas 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. Cuando en un SGBD hay una clara separación
entre los niveles conceptual e interno, el DDL sólo sirve para especificar el
esquema conceptual. Para especificar él es quema interno se utiliza un lenguaje de definición de almacenamiento
(ADL). Las
correspondencias entre ambos esquemas se pueden especificar en cualquiera de
los dos lenguajes. Para tener una verdadera arquitectura de tres niveles sería
necesario disponer de un tercer lenguaje,
el lenguaje de definición de vistas (VDL), que se utilizaría para especificar las vistas de los usuarios y su
correspondencia con el esquema conceptual.
Lenguaje de
manejo de datos (DML) Una vez creados los esquemas de la base de datos,
los usuarios necesitan un lenguaje que les permita manipular los datos
de la base de datos: realizar consultas, inserciones, eliminaciones y
modificaciones. Este lenguaje es el que se
denomina lenguaje de manejo de datos
Accediendo
a registros y se van procesando hasta que se obtienen los datos deseados. Las
sentencias de un DML procedural deben estar embebidas en un lenguaje de alto
nivel, ya que se necesitan sus estructuras (bucles, condicionales, etc.) para obtener y procesar cada
registro individual. A este lenguaje se le
denomina
lenguaje anfitrión
. Las bases de datos jerárquicas
y de red utilizan DML procedurales.
Un DML no
procedural se puede utilizar de manera independiente para especificar operaciones
complejas sobre la base de datos de forma concisa. En muchos SGBD se pueden introducir interactivamente instrucciones del DML
desde un terminal o bien embeberlas en un lenguaje de programación de alto nivel.
Los DML no procedurales permiten especificar los datos a obtener en una consulta
o los datos que se deben actualizar, mediante una sola y sencilla sentencia. El
usuario o programador especifica qué datos quiere obtener sin decir cómo
se debe acceder a ellos. El SGBD traduce las sentencias del LMD en uno o varios procedimientos que manipulan los
conjuntos de registros necesarios. Esto libera al usuario de tener que
conocer cuál es la estructura física de los datos y qué algoritmos se deben
utilizar para acceder a ellos. A los DML no
procedurales también se les denomina de aclarativos. Las bases de datos relacionales utilizan DML no procedurales, como
SQL (Structured QueryLanguage) o QBE (Query-By-Example). Los lenguajes
no procedurales son más fáciles de aprender y de usar que los procedurales, y
el usuario debe realizaremos trabajo, siendo el SGBD quien hace la mayor parte. La parte de los DML no procedurales que realiza
la obtención de datos es lo que se denomina un lenguaje de consultas. En
general, las órdenes tanto de obtención como de actualización de datos
de un DML no procedural se puede utilizar interactivamente, por lo que al
conjunto completo de sentencias del DML se
le denomina lenguaje de consultas, aunque es técnicamente incorrecto.
Los lenguajes de control de datos
contienen elementos útiles para trabajar en entornos
multiusuario en los que son importantes la protección de 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
No hay comentarios:
Publicar un comentario