You are on page 1of 9

35.LA DEFINICION DE DATOS.

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

datos: nombre, tamao, tipo, relaciones, limitadires de integridad,.. Este nivel y el


anterior son utilizados solo por el DBA.
iii) Esquema externo ( de usuario)
Este es el nivel de astraccion mas alto en el que se describe solamente una parte de la
BD.Se define para cada usuario que lo necesite una vista externa de la BD.
iv) Transformacion entre esquemas
En un sistema con tres niveles el SGBD debe garantizar la trasnferencia de datos desde
el formato de un nivel a otro.Esto se llama mapeo.
Existen tres niveles de transformacion.
-Interno/ almacenamiento:para pasar del esquema interno a los datos fisicos.
-Conceptual/Interno:permite el paso del esquema conceptual al esquema interno y
viceversa.
-Externo/conceptual:permite el paso de una vista externa a la vista conceptual.
El SGBD debe conocer las relaciones entre los nivemes para poder efectuar el mapeo de
un nivel a otro.
El DBA debe indicar la forma en que unos esquemas se deducen de otros medio de
reglas de correspondecia
Cuando un usuario emite una solicitud de acceso a la BD lo que hace el SGBD es :
-Interpretar la solicitud
-Inspeccionar
1.-El esquema externo
2.-La transformacion externa/conceptual
3.-El esquema conceptual
4.-la transformacion conceptual/Interno
5.-El esquema interno
6.-La trnasformacion interna/almacenamiento
-Realizar la operacion sore el dato fisico.
2.2.-Fases de modelado
Cuando se afronta el analisis de una aplicacion se distinguen dos aspectos de la misma
:los Datos y los tratamientos.
El estudio de los tratamientos y datos se divide en tres niveles
a) Nivel conceptual
b)Nivel logico
c)Nivel Fisico.
a) Nivel Conceptual.

Es el de mayor nivel de abstraccion y menor detalle.Su objetivo es expresas las relgas


de empresa, restricciones operacionales y de datos y la funcionalidad esperada de dicha
aplicacion utilizando herramientas de modelado de datos pero que no hacen referencia a
la implementacion informatica.
b) Nivel Logico
El nivel logico corresponde al primer intento de adaptar el estudio teorico de los
sistemas de informacion (Sistemas Automatizados de Informacion -SAI-) al uso de los
ordenadores como herramientas de procesamiento de la informacion.
Consiste en expresar las reglas y restricciones del SI obtenidas en la fase conceptual,
utilizando metodos y herramientas que ya hacen referencia a una posible
implementacion informatica pero que aun no cuenta con el nivel de detalle suficiente
para que la aplicacion pueda ser construida.
c) Nivel fisico
Consiste en expresar el SAI a partir de herramientas informaticas concretas ,como
lenguajes , SGBD, entornos graficos,..)

3.-LENGUAJES DE DEFINICION DE DATOS


El lenguaje de definicion de datos es el instrumento usado por el adm. para definir los
datos especificando sus estructuras.
a) Lenguajes de definicion de la estructura logica
El administrador dispone de un instrumento que le permitan asignar nombre a los
campos, a los registros,.. estableciendo sus longitudes y caractericticas y las relaciones
entre ellos.
Idealmente no deben incluirse datos sobre la estructura fisica dado que esta informacion
obligaria a cambiar la descripcion ante alteraciones de las caractericticas del soporte
fisico.Pero en la practica los SGBD responden solo en parte a esta prescripcion de la
arquitectura en tres niveles.
Lo normal es que os SGBD tengan un unico DDL con el que definir todas las
estructuras a todos los niveles
b) Lenguajes de definicion de estructuras externas (De usuario)
Cada usuario puede tener una vision logica diferente del conjunto de datos.Cuando se
define na estructura de usuario debe darsele un nombre e indicar que atributos , de que
entidades y que interrelaciones se integran en la estructura de usuario.

La definicion de las vistas es laor del DBA y los programadores


c) Lenguajes para la definicion de la estructura fisica
El DBA puede mejorar el rendimiento de la base de datos con labores de especificacion
y ajustes.Para ello el DBA dispone de un lenguaje de definicion de la estructura fisica
Lo normal es que el SGBD posea una estructura fisica por defecto que en base a algunos
parametros se consiera ideonea.
La mayoria de los SGBD acutales permiten efectuar la descripcion de los datos en dos
unicos niveles
Uno para las vistas externas
Otro para establecer las caractericticas logicas y fisicas
La razon es que si se emplementasen los tres nivles el procesamiento adicional para
calcular la equivalencia entre esquemas supondria una merma en la eficiencia,
4.-DDL en los SGBD
Se estudiara el lenguaje de definciopn de datos correspondientes al modelo relacional
4.1.-Dominios el SQL
i)Dominios
ii)Constantes
ii)Nulos
i)Dominios
SQL2 permite crear dominios de datos,para ellos disponemos de la sentencia
CREATE DOMAIN nomDominio AS tipoDato
CHECK (VALUE IN <lista de valores>)
Sin embargo muchos productos comerciales no incormporan aun dominios,solo permite
utilizar una serie de tipos de datos ,entre ellos
o Numero en coma fija con precision especificada por el
usuario:decimal(p,s),donde s es el numero de decimales y p la precisio
o Entero:subconjunto finito de los numeros enteros
o Entero pequeo:subconjunto finito de los enteros dependientes de la maquina.
o Numeros en coma flotante y en coma flotante de doble precision,
o Tipo fecha:permiten calculos basados en fechas
o Tipo hora
o Tipo fecha y hora
o Cadenas de caracteres de longitud fija
o Cadenas de caracteres de longitud variables

o Cadenas de caracteres de logitud indefinida


o Objetos binarios.
ii)Constantes
-Las constantes numericas se expresan en decimal en coma fija o coma flotante
-Las constantes de cadenas de codifican encerradas entre apostrofes (')
-Para las constantes de fecha y hora suele usarse un formato especial o se utilizan
funciones del sistema para convertir cadenas de caracteres en constantes de este tipo
-Las constantes simbolicas hacen referecnia a valores muy utilizado ,tales como la fecha
u hora actual,el nombre del usuario actual
iii)Nulos
Cuando se insertarn tuplas incompletas pueden introducrirse valores nulos,esto puede
ser inapropiado para ciertos atriutos
SQL permite que en la declaracion de un atributo incluya la especificacion not null.
4.2.-Creacion y alteracion de tablas
DDL permite especificar tanto un conjunto de relaciones como informacion sobre cada
relacion.Esta informacion incluye
El esquema para cada relacion.
El dominip de valores asociados con cada atributo
El conjuto de indices que se va a mantere para cada relaion
Los limites de integridad.
La estructura de almacenamiento de cada relacion en los sistemas de memoria
externa.
Una relacion se crea con
CREATE TABLE r(A1D1,..ArDr restricciones)
Las sentencias de restriccion de tabla son las que se ponen al final de la sentencia create
tale.Son las siguientes
1.-Para las claves primarias utlizamos
primary key <columna1>,<columna2>,...
2.-para la clave ajena
foreign key <nombre_clave><col1>,...
references <nombre_tabla_referenciada><col1,..>
on delete| on update | restrict | cascade | set null | set default
3.-Para claves candidatas no principales

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

El estandar SQL2 no especifica directamente un catalogo de sistema que deba ser


soportado por las implemetaciones de los sgd.En su lugar se definio un modelo de
catalogo de sistema ideal para una implementacion de SGBD que se diseara partiendo
de cero
Los contendos de este modelo de catalogo , que SQL2 denomina esquema de definicion
son:
1.
2.
3.
4.
5.
6.
7.

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.

You might also like