Documente Academic
Documente Profesional
Documente Cultură
Tema 1
Objetivos
modelo de datos (MD). Distinguir los principales mecanismos de abstraccin. Analizar los distintos tipos de restricciones en un MD. Presentar una clasificacin de los MD ms utilizados.
UCLM-ESI-BDa
1.2
Contenido
Conceptos Bsicos
Modelo, esquema y ejemplar
Restricciones de integridad
Componentes de una restriccin Clases de restricciones
Taxonoma de los modelos de datos Los modelo de datos en el proceso de diseo de una BD
UCLM-ESI-BDa
1.3
Bibliografa
Bsica
De Miguel et al. (1999)
Complementaria
Tsichritzis y Lochovsky (1982)
Caps. 1-3
Cap. 1
UCLM-ESI-BDa
1.4
Conceptos Bsicos
Modelo
UCLM-ESI-BDa
1.5
Conceptos Bsicos
Modelo de Datos
(esto es, la informacin contenida en los datos) en oposicin a los rboles (valores individuales de los datos); Tsichritzis y la representacin de la informacin en trminos de datos. Los modelos de datos comprenden aspectos relacionados con: estructuras y tipos de datos, operaciones y restricciones; permiten describir y manipular los datos de la parcela de un cierto mundo real que deseamos almacenar en la base de datos; De Miguel et al. (1999).
1.6
UCLM-ESI-BDa
Conceptos Bsicos
LD = MD + Sintaxis
Ejemplos:
SQL = MDR + Sintaxis QBE = MDR + Sintaxis (distinta) OQL = MO + Sintaxis
UCLM-ESI-BDa
1.7
Conceptos Bsicos
Esquema
en trminos de un modelo de datos se denomina esquema (o esquema de datos) del mini-mundo. La coleccin de datos que representan la informacin a cerca del mini-mundo constituye la base de datos, Dittrich (1994).
Representacin de un determinado mundo real (universo del discurso) en trminos de un modelo de datos; de Miguel, Piattini y Marcos (1999).
UCLM-ESI-BDa
1.8
Conceptos Bsicos
UCLM-ESI-BDa
1.9
Conceptos Bsicos
Conceptos Bsicos
Esquemas y Ejemplares
Un ejemplar de un elemento de un esquema son los datos que en un determinado momento se encuentran almacenados en el citado elemento del esquema. La coleccin de ejemplares de todos los elementos de un esquema en un momento determinado constituyen un ejemplar del esquema. Al igual que en los lenguajes de programacin existen variables (constituidas por un tipo y un contenido), las cuales tienen en un momento determinado un cierto valor; en las bases de datos se debera hablar de variables de base de datos, cuyo tipo sera el esquema y su contenido todos los posibles valores del esquema; su valor, en un momento determinado, sera un ejemplar del esquema. Nosotros utilizaremos la expresin base de datos en el sentido abstracto de todos los posibles ejemplares, y cuando queramos referirnos a su contenido en un cierto momento hablaremos de un ejemplar o bien de la base de datos en el instante i (BDi).
UCLM-ESI-BDa
1.11
Conceptos Bsicos
Tipos de Esquemas
NIVEL EXTERNO NIVEL GLOBAL NIVEL INTERNO
EE1
EI1
EE2 EG EIx
EEn
CORRESPONDENCIA EE EG
EIm
CORRESPONDENCIA EG EI
Conceptos Bsicos
Ejemplos de Esquemas
a) ESQ U EM A G LO B A L
CURSO DE DOCTORADO / * T ip o d e O b j e to * / CURSO C O D IG O NOM BRE N U M _H O RAS D E S C R IP C IO N
b ) E S Q U E M A IN T E R N O
CURSOS DE DOCTORADO / * R e g i s t r o A lm a c e n a d o * / CURSO C O D _ C U R S O B y te (3 ) NOM BRE B y te (5 0 ) N U M _ H O R A S B y te (2 ) D E S C R IP C IO N B y te (2 0 0 ) n d ic e d e 2 n iv e le s s o b re CO D _CU RSO PRO FESO R CO D _PROFE B y te NOM BRE B y te DNI B y te D IR E C C IO N B y te S A L A R IO B y te In d ic e 1 n iv e l CO D _PROFE IM P A R T E F E C H A _ IN I F E C H A _ F IN B y te (8 ) B y te (8 )
c) E S Q U E M A S E X T E R N O S
EN ORACLE FORM S
( li s t a d o d e c u r s o s )
C a r a c te r ( 5 ) C a r a c te r ( 5 0 ) N u m ric o (3 ) C a r c te r v a ria b le (2 0 0 ) C la v e C O D I G O
V a r c h a r 2 (5 ) V a r c h a r 2 (5 0 ) N u m b e r ( 3 ,0 ) V a r c h a r 2 (2 0 0 )
C a ra c te r (3 ) C a ra c te r (3 0 ) C a ra c te r (1 0 ) C a ra c te r (5 0 ) N u m ric o (7 )
EN PASCAL (2 ) (3 0 ) (1 0 ) (5 0 ) (4 ) so b re
(a s ig n a c i n c u rs o s a p ro fe s o re s )
C la v e C O D I G O IM P A R T E PR O FESO R CURSO F E C H A IN IC IO F E C H A F IN A L
C a ra c te r (3 ) C a ra c te r (5 ) F ech a F ech a
C h ar (5 ) C h ar (3 0 ) In te g e r (1 0 ) C h a r (3 ) C h ar (3 0 ) S trin g (1 0 ) S trin g (1 0 )
C la v e P R O F E S O R , C U R S O
UCLM-ESI-BDa
P U N T E R O _ C U R S O B y te (4 ) P U N T E R O _ P R O F E S O R B y te (4 )
1.13
Conceptos Bsicos
Ejemplos de Ejemplares
EJEMPLARES DE CURSO 00101 Introduccin a las Bases de Datos 030 Este curso tiene como objetivo... 00102 Seguridad de la informacin 020 La seguridad en la informtica... 00203 Diseo de Bases de Datos 100 Dentro de las bases de datos... EJEMPLARES DE PROFESOR 001 Andrs Garca Ruiz 12312330 C/ Conde de Vistahermosa 5.621.333 002 Mercedes Garca Arias 50179030 C/ Rio Mio 3.928.352 003 Julio Lpez Prez 52342876 C/ Segovia 6.564.125 EJEMPLARES DE IMPARTE 00101 001 12/12/1997 20/12/1997 00101 003 01/03/1998 12/03/1998 00203 002 05/11/1997 07/12/1997
UCLM-ESI-BDa
1.14
Conceptos Bsicos
MODELO 1
MODELO i
MODELO n
ESQUEMA 1
ESQUEMA j
ESQUEMA m
Valores que toma la percepcin de una cierta realidad (esquema) en un punto en el tiempo
EJEMPLAR 1
EJEMPLAR r
EJEMPLAR p
UCLM-ESI-BDa
1.15
Aunque existen muchos MD es posible abstraer una serie de caractersticas comunes a todos ellos, definiendo as el concepto de modelo de datos en general, de forma ms precisa: un conjunto de conceptos, reglas y convenciones bien definidos que nos permiten aplicar una serie de abstracciones a fin de describir y manipular los datos de un cierto mundo real que deseamos almacenar en una base de datos.
Los MD facilitan la creacin de categoras mediante la aplicacin de mecanismos de abstraccin (clasificacin, agregacin, etc.). Esto lleva a diferenciar dos tipos de modelos (de forma similar a como ocurre con los lenguajes de programacin):
Fuertemente tipados, Dbilmente tipados. (son los utilizados en BD).
UCLM-ESI-BDa
1.16
Propiedades
ESTTICAS
Elementos permitidos
Objetos Asociaciones Caractersticas de los objetos Dominios
DINMICAS
Conjunto de operadores. Cada operador tiene dos componentes:
Localizacin Accin
UCLM-ESI-BDa
1.17
Formalizacin
Un MD ha de proporcionar facilidades para recoger los aspectos estticos y dinmicos de la realidad, por lo que se define formalmente como el par:
MD = <G,O>
donde G es el conjunto de reglas de generacin que permiten representar la
componente esttica, es decir, describir las estructuras de nuestro universo del discurso, y O es el conjunto de operaciones autorizadas sobre la correspondiente estructura, operaciones que permiten representar la componente dinmica.
La componente esttica de un determinado MD expresado con una sintaxis determinada es el Lenguaje de Definicin de Datos (LDD), y la componente dinmica el Lenguaje de Manipulacin de Datos (LMD); ambos juntos constituyen el Lenguaje de Datos (LD). Los SGBD suelen tener adems un Lenguaje de Consulta (Query Language -QL-) y un Lenguaje de Control (Control Language).
1.18
UCLM-ESI-BDa
Los elementos permitidos no son los mismos para todos los MD (varan especialmente en terminologa), pero en general son:
Objetos (entidades, relaciones, registros, etc.) Asociaciones entre objetos (interrelaciones, set, etc.) Propiedades o caractersticas de los objetos o asociaciones (atributos, campos, elementos de datos, etc.) Dominios, que son conjuntos nominados de valores homogneos sobre los que se definen las propiedades.
A estos elementos permitidos se les podrn aplicar aquellas abstracciones reconocidas por el modelo. La representacin de estos elementos depende de cada modelo de datos, pudiendo hacerse en forma de grafos (E/R, UML) o de tablas (Relacional).
UCLM-ESI-BDa
1.19
UCLM-ESI-BDa
1.20
10
Esttica formalizacin
La aplicacin de la componente esttica de un MD a un determinado Universo del Discurso (UD) nos da como resultado un esquema (E):
G[UD] = E
E es la estructura de datos que describe, en el correspondiente modelo MD, las categoras que han resultado de las abstracciones aplicadas al mundo real (UD) que se trata de modelar.
UCLM-ESI-BDa
1.21
Dinmica formalizacin
La componente dinmica consta de un conjunto de operadores que se definen sobre la estructura del correspondiente MD, ya que no todas las estructuras admiten el mismo tipo de operaciones. La aplicacin de un operador a un ejemplar de un esquema transforma ste en otro ejemplar:
O [BDi] = BDj
Tanto BDi como BDj deben ser ejemplares vlidos de la BD, es decir, los valores de ambos deben pertenecer a alguna de las categoras definidas en el esquema y cumplir las restricciones de integridad (tambin deben cumplir, en caso de que existan, las posibles restricciones asociadas al cambio de estado).
UCLM-ESI-BDa
1.22
11
Dinmica LMD
En un plano conceptual, sin seguir una sintaxis concreta, podemos expresar una sentencia del LMD de la siguiente forma: LOCALIZACIN <condicin> SELECT DNI, Nombre ACCIN <objetivo>
FROM Alumnos
donde
WHERE Curso=3
La Localizacin o enfoque consiste en localizar un ejemplar de un objeto indicando un camino (lenguaje navegacional) o un conjunto de ejemplares especificando una condicin (lenguaje de especificacin). La Accin se realiza sobre el(los) ejemplar(es) previamente localizado(s). Puede consistir en una recuperacin o en una actualizacin (insercin, borrado o modificacin).
<condicin> es una expresin lgica que deben cumplir los objetos que se desea localizar o seala el camino que permite llegar a esos objetos. <objetivo> indica los objetos (o las propiedades de stos) sobre los que
se aplica la accin.
UCLM-ESI-BDa
1.23
Mecanismos de Abstraccin
El proceso de abstraccin nos ayuda a modelar los datos al hacer que
nos centremos en lo esencial, pasando por alto aspectos que no consideramos relevantes para nuestros objetivos en la representacin del mundo real.
Ejemplo: El concepto de ambulancia como una abstraccin en la que nicamente recogemos aquellas caractersticas (chasis, ruedas, sirena, etc.), comunes a todas las ambulancias y que la distinguen de otros vehculos, que son de inters para nuestros fines.
UCLM-ESI-BDa
1.24
12
Mecanismos de Abstraccin
Los MD ofrecen distintos mecanismos de abstraccin a fin de facilitar la representacin de los datos; siendo el esquema el resultado de aplicar un proceso de abstraccin a un determinado mundo real. Los principales son:
Clasificacin, Agregacin, Generalizacin y Asociacin.
(algunos autores piensan que es un tipo especial de agregacin)
Pueden combinarse entre s ofreciendo interesantes mecanismos semnticos para estructurar los datos. Permiten establecer vinculaciones entre los elementos de un modelo. La clasificacin establece una vinculacin entre una categora de objetos y cada objeto particular (ejemplar) de dicha categora, mientras que en las otras tres el vnculo se establece entre categoras de objetos y, por tanto, tambin entre los correspondientes ejemplares de dichas categoras.
1.25
UCLM-ESI-BDa
Mecanismos de Abstraccin
Uso Cotidiano
El vehculo de matrcula CR-0978-Z es de la clase ambulancia. Est formada por cuatro ruedas, un chasis, un motor, ... Una ambulancia es un vehculo para recoger y transportar enfermos. Su propietario es la empresa CUASER; su conductor es Fernndez, ...
UCLM-ESI-BDa
1.26
13
Mecanismos de Abstraccin
Uso Cotidiano
Clasificacin: Agregacin:
El vehculo de matrcula CR-0978-Z es de la clase ambulancia. Est formada por cuatro ruedas, un chasis, un motor, ... Una ambulancia es un vehculo para recoger y transportar enfermos. Su propietario es la empresa CUASER; su conductor es Fernndez, ...
Generalizacin: Asociacin:
UCLM-ESI-BDa
1.27
Mecanismos de Abstraccin
Clasificacin
La Clasificacin es la accin de abstraer las caractersticas comunes a un conjunto de ejemplares para crear una categora a la cual pertenecen dichos ejemplares. El mecanismo contrario se llama Particularizacin. BRODIE (1984) define la clasificacin como:
Una forma de abstraccin en la que una coleccin de objetos se considera como una clase de objetos de ms alto nivel. Una clase de objetos es una caracterizacin precisa de todas las propiedades compartidas por todos los objetos en la coleccin. Un objeto es un ejemplar de una clase de objetos si tiene las propiedades definidas en la clase.
Ejemplo: Clasificamos como Vehculos a las mquinas, animales o cosas, con medios de propulsin propios, que sirven para desplazar seres u objetos desde una posicin a otra.
Ambulancia => SI es un vehculo Gra => NO es un vehculo (incumple la autopropulsin).
UCLM-ESI-BDa
1.28
14
Clasificacin
Mecanismos de Abstraccin
Los ejemplares de una clase tienen caractersticas similares por medio de las cuales describimos la correspondiente clase; estas caractersticas toman valores concretos para cada uno de los ejemplares de la clase. Los mismos objetos admiten clasificaciones distintas. Por ejemplo, podemos clasificar las asignaturas de varias maneras:
obligatorias / optativas, anuales / semestrales, de primer curso, segundo curso, etc, tericas / aplicadas, etc.
UCLM-ESI-BDa
Mecanismos de Abstraccin
Clasificacin - representacin
Clase
C L A S I F I C A C I O N P A R T I C U L A R I Z A C I O N
Curso
Ejemplar 1
...
Ejemplar n
Curso 1
Curso
. . . . Curso
UCLM-ESI-BDa
1.30
15
Mecanismos de Abstraccin
Agregacin
La abstraccin de Agregacin consiste en construir un nuevo elemento del modelo como compuesto de otros elementos (componentes):
Se establece una relacin ES_PARTE_DE entre los elementos componentes y el elemento compuesto.
UCLM-ESI-BDa
1.31
Mecanismos de Abstraccin
Agregacin de clases
DEPARTAMENTO
Agregacin de clases para obtener una clase compuesta
DEPARTAMENTO DE INFORMTICA
Ejemplar
L. y S.I.
C.C. e I.A.
UCLM-ESI-BDa
1.32
16
Mecanismos de Abstraccin
CURSO 1
Ejemplar
. . .
1.33
Mecanismos de Abstraccin
Agregacin de propiedades
Fecha
Da
Mes
Ao
28 - Noviembre - 1965
Ejemplar
28
UCLM-ESI-BDa
Noviembre
1965
1.34
17
Generalizacin
Mecanismos de Abstraccin
La Generalizacin es la accin de abstraer las caractersticas comunes a varias clases (subclases) para constituir una clase ms general (superclase) que las comprenda:
El conjunto de ejemplares de una subclase es un subconjunto de los ejemplares de la correspondiente superclase. Entre los elementos subclase y el elemento superclase se establece una relacin del tipo ES_UN. Ejemplo: La superclase PERSONA es una generalizacin de las subclases PROFESOR y ESTUDIANTE.
El mecanismo inverso de la generalizacin es la Especializacin. Todo ejemplar de una subclase es tambin ejemplar de la superclase y, adems de poseer las caractersticas especficas de la subclase, hereda todas las correspondientes a la superclase. Aunque esta abstraccin es muy intuitiva y muy til, no se contempla en bastantes modelos de datos (p.e. Relacional).
1.35
UCLM-ESI-BDa
Mecanismos de Abstraccin
Generalizacin - representacin
SUPERCLASE
G E N E R A L I Z A C I O N E S P E C I A L I Z A C I O
PERSONA
SUBCLASE 1 . . . SUBCLASE n
PROFESOR
ESTUDIANTE
UCLM-ESI-BDa
1.36
18
Mecanismos de Abstraccin
Asociacin
La Asociacin es una abstraccin que se utiliza para relacionar dos o ms clases (y, por tanto sus ejemplares), crendose un elemento de un tipo distinto. En algunos MD no aparece (p.e. Relacional). El mecanismo inverso es la Disociacin. Algunos autores consideran que es un tipo especial de agregacin, pero en De Miguel et al. (1999) se determinan las siguientes diferencias: Cuando se asocian dos o ms categoras, el nuevo elemento que aparece tiene
determinadas caractersticas que lo distinguen de las categoras normales, por lo que, en general, los MD crean un nuevo concepto para representarlo. El nuevo elemento no est compuesto, como en el caso de la agregacin, por los elementos que asocia. En la agregacin puede existir herencia, y no as en la asociacin.
Ejemplo
UCLM-ESI-BDa
1.37
Mecanismos de Abstraccin
Jerarquas
PERSONA
DNI Nombre Direccin
Materia
Tipo
Curso
En el proceso de modelado de una determinada realidad es preciso, a menudo, combinar distintas abstracciones formando una jerarqua de abstracciones
UCLM-ESI-BDa 1.38
19
Mecanismos de Abstraccin
Jerarquas
Nombre
Direccin
P. Rey, 3
Ayala, 12
UCLM-ESI-BDa
1.39
Restricciones de Integridad
....................... If Fecha_ ini Fecha_fin THEN ERROR ....................... If Cod _profe en CURSOS = NULL THEN ERROR ........................ CHECK Fecha_ ini < Fecha_fin
USUARIO
PROGRAMAS
BASE DE DATOS
20
Restricciones de Integridad
Prog . A
Num_Hoas de CURSO <= 80
Prog . B
Prog . C
Dispersa
Num_Hoas de CURSO <= 80
Componentes
Las restricciones de integridad se pueden considerar, en cierto modo, como reglas ECA (Evento, Condicin, Accin):
al ocurrir un evento (en este caso una actualizacin), se comprueba una condicin y dependiendo de su resultado se pone en marcha una accin (rechazar la operacin, informar al usuario, corregir el error, etc.).
Adems de estos elementos, tambin pueden tener un nombre, por medio del cual es posible identificarlas, y tambin puede indicarse el momento en el que ha de evaluarse la condicin.
1.42
UCLM-ESI-BDa
21
Restricciones de Integridad
Clasificacin
RESTRICCIONES
INHERENTES
SEMANTICAS
AJENAS
PROPIAS
COND. ESPECIFICA
ASERCION.
PROCEDIMIENTOS ALMACENADOS
DISPARADORES
UCLM-ESI-BDa
1.43
Restricciones de Integridad
Las restricciones propias se especifican al definir el esquema mediante las facilidades que proporciona la funcin de definicin de datos, almacenndose en la base de datos (no en los programas), por lo que no pueden ser violadas por ninguna aplicacin, es decir, cualquier actualizacin est obligada a respetarlas. Segn sea o no preciso definir la accin tenemos existen tipos:
De accin general: es preciso programar un procedimiento (en algn lenguaje) que determine la accin que hay que llevar a cabo. Se subdividen en:
Procedimientos almacenados: se definen totalmente de forma procedimental (tanto la accin como la condicin). Restricciones de disparo: se definen mediante disparadores (triggers). En ellas se formula una condicin de forma declarativa, mediante una proposicin lgica; el cumplimiento de la misma "dispara" una accin especificada de forma procedimental.
De accin especfica: la accin (en general rechazo, aunque puede ser otra, bien predeterminada bien elegida mediante opciones) est implcita en la misma restriccin.
UCLM-ESI-BDa 1.44
22
Restricciones de Integridad
De condicin especfica: tambin llamadas de "caso especial" "implcitas. Se refieren a las diversas opciones que facilitan los distintos MD cuando se definen los elementos de su esquema y que en realidad son restricciones. Por ejemplo, en el modelo Relacional: PRIMARY KEY, FOREIGN KEY, NOT NULL ...
UCLM-ESI-BDa
1.45
Restricciones de Integridad
UCLM-ESI-BDa
1.46
23
Segn el nivel de abstraccin que consideremos en la arquitectura ANSI, tendremos modelos internos, globales y externos:
EXTERNO * (punto de vista de cada usuario en particular)
MODELO DE DATOS
GLOBAL * (punto de vista del conjunto de usuarios -empresa-) INTERNO * (punto de vista de la mquina)
Tambin se utiliza la expresin modelos lgicos para hacer referencia tanto a los globales como a los externos, ya que ambos describen aspectos lgicos de los datos -frente a los modelos internos que describen aspectos fsicos.
1.47
UCLM-ESI-BDa
Modelos Globales
MD GLOBALES
CONCEPTUALES O SEMNTICOS - enfocados a describir el mundo real con independencia de la mquina CONVENCIONALES O LGICOS - orientados a su implementacin en SGBD -
UCLM-ESI-BDa
1.48
24
UCLM-ESI-BDa
1.49
Se conoce como proceso de diseo de una BD al conjunto de tareas necesarias para pasar de una determinada realidad (Universo del Discurso) a la BD que la representa. Los MD juegan un importante papel en el proceso de diseo de una BD al ofrecernos facilidades de abstraccin que nos ayudan a representar la realidad. Los objetivos que persigue todo MD son de dos tipos:
a) De Formalizacin: el MD permite definir formalmente las estructuras permitidas y las restricciones; tambin establece la base para la definicin de un lenguaje de datos. b) De Diseo: el MD es un elemento fundamental en el desarrollo de una metodologa de diseo de BD, en el cual se basan los otros componentes de la metodologa (lenguajes, documentacin y otras herramientas).
UCLM-ESI-BDa
1.50
25
U D
MUNDO REAL
UCLM-ESI-BDa
1.51
DISEO CONCEPTUAL
Esquema conceptual
DISEO LOGICO
Esquema Global de BD
DISEO FISICO
Esquema interno
26