Professional Documents
Culture Documents
NIVELES DE
DESCRIPCION. LENGUAJES. DICCIONARIO DE DATOS
1.-Definicion de datos
2.-Niveles de descripcion
2.1.-Arquitectura de bases de datos
a) Esquema interno
b) Esquema conceptual
c) Esquema externo
d) Transformacion entre esquemas
2.2.-Fases de modelado
3.-Lenguajes de definicion de datos
3.1.-Lenguaje de definicion de la estructura logica.
3.2.-Lenguaje de definicion de la estructura externa
3.3.-Lenguaje de definicio de la estreuctura fisica.
4.-DDL en los SGBD
4.1.-Dominios el SQL
4.2.-Creacion y alteracion de tablas
4.3-Indices
4.4-Disparadores
4.5.-Vistas
5.-Diccionario de datos
5.1.-Catalogo de datos en los SGBD
1.-DEFINICION DE DATOS
Mediante la definicion de datos el administrador especifica los elementos de datos que
integran la BD, su estructira y las relaciones entre ellos ademas de las reglas de
integridad, los controles de acceso, las caractericticas de tipo fisico y las vistas externas.
Estas funciones se realizan con el lenguaje de definicion de datos (DDL).El
Administrador utiliza el DDL para asignar nombres a los campos, a los registros ,..
estableciendo sus longitudes y caractericticas y las relaciones entre estos elementos y
sus restricciones.
En un SGBD en el que fuesen totalmente independientes las estructuras fisicas y
logicas el SGBD se podria encargar de definir la estructura fisica sin mas que simistrar
infromaciones como el volumen,crecimiento previsto,tipos de registros ,...Pero en la
practica se aumenta el rendimiento si los Administradores de Bases de Datos (DBA)
especifican caractericticas fisicas de la estructura fisica junto a la descripcion logica.
En el nivel externo el DDL se encarga de suministrar medios para definir las vistas
externas usando la mayoria de las veces el mismo lenguaje que para el esquema logico.
Las definiciones de estos esquemas se compilan con un compilador DDL y el conjunto
de tablas resultantes se almacenan en el Diccionario de Datos.
2.-NIVELES DE DESCRIPCION
Uno de los objetivos de un SGBD es evitar que a los usuarios los detalles relativos a la
forma en que los datos se almacenan y mantiene los datos.Para esto los DA describen la
estructura de los datos.Esto se realiza en varios niveles.
2.1.-Arquitectura de Bases de Datos
Una de las arquitecturas mas estandarizadas es la que cumple los requerimientos de la
normativa ANSI/X3/SPARC que establece que la arquitectura de una BD debe poseer
tres niveles de abstraccion.
i) Esquema interno ( fisico)
Es el nivel mas bajo de abstraccion ,en el que se describe como se almacena los datos,
tamao de los bloques , posicion relativa de los registros almacenados, metodos de
direccionamiento, desbordamientos , indices , cambios de almacenamiento, tecnicas de
comprension,...
ii) Esquema conceptual ( logico)
Es el siguiente nivel de abstraccion mas alto en el que se describe cuales son los datos
relales que estan almacenados en la base de datos y que relaciones existe entre los
unique <col1>,...
Un aserto es un predicado que siempre debe ser satisfecho por la BD:las restricciones
de dominio,las dependencias funcionales y la integridad referencial son asertos
SQL2 incluye check que se puede utilizar en la definicion de una columna o al final de
la sentencia create table.Con ella se detienen las modificaciones de la bd que no
cumplan el predicado
check <predicado>
-Para elimiar una relacion podemos usar drop table nombre_relacion
-Para conservar la relacion pero eliminar todas las tuplas usamos delete from
nom_relac
-Para aadir atributos a una relacion existente usamos alter table nom_relac add A D
4.3-Indices
para crear indices unicos o duplicados (por defecto) de clave unica o multiple y con
ordenacion ascendente o descendete por cada columna usada en la clave empleamos
CREATE [UNIQUE] INDEX ON <nom_tabla>(col1 asc|desc,...)
4.4-Disparadores
La actividad de la base de datos queda reflejada en los disparadores .Se defiene con la
sentencia CREATE .Debe indicarse si el disparador se dispara antes despues o en lugar
del evento que en este caso es la inserccion, borrado o modificacion.Para referirnos a los
valores antiguos o nuevos se usan alias.
En la accion disparada se puede especificar una condicion de busqueda asi como indicar
si se ha de disparar por cad aactualizacion (varias veces) o por un conjunto de estas
( una sola vez).
El modo cursos (sql inmeros) determina cuando se produce realmente la ejecudio de las
acciones disparadas
o cascade off:la ejecucion de la sentencia disparada se difiere hasta que se ejecuta
una sentencia commit o hasta que se cierra el cursor
o En caso contrario las acciones disparadas se ejecutan antes , en lugar o despues
de ejecutar la sentencia sql.
4.5.-Vistas
Las vistas se definen con la orden CREATE VIEW.La sintaxis sera
CREATE VIEW Nombre_Vista AS <Sentencia SQL>
Los nombre de vista pueden aparecer en cualquier sitio en que pueda aparecer una
relacion.
Solo se permite una modificacion a traves de una vista si la visra en cuestion esta
definida en terminos de una relacion real.
5.-DICCIONARIO DE DATOS
En el diccionario de datos se almacenan:
-Las descripciones interna, conceptual y externa de la Base de Datos y las reglas de
correspondencia.
-Las descripciones de los campos , registros y referecias cruzadas
-Los codigos de autorizacion y seguridad de los datos.
-Los esquemas externos que son empleados por cada aplicacion, quienes son sus
ususarios y que autorizaciones tienen.
5.1.-Catalogo de datos en los SGBD
Los SGBD suelen implementar el catalogo usando talas y vistas,las tablas almacenan la
informacion sobre la organizacion interna de la base de datos y su uso esta reservado al
propio SGD.Los usuarios no suelen acceder directamente a ellas.
Para permitir a los usuarios consultar el catalogo interno los SGBD crean vistas a las qe
tambien se accede mediante el SQL.
La existencia del catalogo corresponde a la priemera regla de Codd
Regla de informacion:Toda la informacion de una base de datos relacional esta
representada explicitamente a nivel logico exactamente de un modo:mediante
valores en tablas
Cuando se ejecuta una operacion de manipulacion de datos el SGBD accedera a las
tablas del catalogo para comprobar que el objeto existe , que el usuario tiene privilegios
sufiecientes para realizar la operacion , que los tipos de datos usados son compatles con
los definidos en la BD , ...
assertions:Asertos
character_sets:Conjunto de caracteres definidos
check_column_usage:Columnas referenciadas en checks,dominios y asertos
check_constraint:Restricciones de tipo check
check_table_usage:Tablas referenciadas en checks , dominios y asertos
collations:Secuencias de ordenacion
column_privileges:Privilegios concedidos para el nivel de columna.