You are on page 1of 26

BASES DE DATOS

Tema 2
Modelos de Datos
UCLM- E.S. de I nformtica
Coral Calero, Marcela Genero, Francisco Ruiz
2.2 UCLM-ESI-BDa
Objetivos
Dar a conocer los elementos que forman parte de un
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.
2.3 UCLM-ESI-BDa
Contenido
Conceptos Bsicos
Modelo, esquema y ejemplar
Definicin de modelo de
datos
Esttica
Dinmica
Principales mecanismos de
abstraccin
Clasificacin.
Agregacin.
Generalizacin.
Asociacin.
J erarquas de abstracciones
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
2.4 UCLM-ESI-BDa
Bibliografa
Bsica
Piattini et al. (2006)
Cap. 4
Complementaria
Tsichritzis y Lochovsky (1982)
Caps. 1-3
2.5 UCLM-ESI-BDa
Conceptos Bsicos
Modelo
Construccin mental a partir de la realidad en la que se
reproducen los principales componentes y relaciones del
segmento de la realidad analizada.
Dos acepciones:
Reproduccin simplificada de la realidad (ciencias
empricas)
Realidad propiamente dicha (pintor)
2.6 UCLM-ESI-BDa
Conceptos Bsicos
Modelo de Datos
Dispositivo de abstraccin que nos permite ver el bosque
(esto es, la informacin contenida en los datos) en oposicin
a los rboles (valores individuales de los datos); Tsichritzis y
Lochovsky (1982).
Conjunto de herramientas conceptuales para describir
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;
Dittrich (1994).
Conjunto de conceptos, reglas y convenciones que
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).
2.7 UCLM-ESI-BDa
Conceptos Bsicos
Modelo de Datos vs Lenguaje de Datos
LD = MD + Sintaxis
Ejemplos:
SQL = MDR + Sintaxis
QBE = MDR + Sintaxis (distinta)
OQL = MO + Sintaxis
2.8 UCLM-ESI-BDa
Conceptos Bsicos
Esquema
"La descripcin especfica de un determinado mini-mundo
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).
2.9 UCLM-ESI-BDa
Conceptos Bsicos
Modelo de Datos vs Esquema
MUNDO
REAL
MUNDO
REAL
ESTRUCTURA
DE DATOS
(ESQUEMA)
ESTRUCTURA
DE DATOS
(ESQUEMA)
MODELO
DE
DATOS
MODELO
DE
DATOS
La descripcin de
un cierto mundo
real por medio de
un modelo de datos
da como resultado
un esquema
2.10 UCLM-ESI-BDa
Conceptos Bsicos
Modelo de Datos vs Esquema
MUNDO
REAL
MUNDO
REAL
ESTRUCTURA
DE DATOS
(ESQUEMA)
ESTRUCTURA
DE DATOS
(ESQUEMA)
MODELO
DE
DATOS
MODELO
DE
DATOS
La descripcin de
un cierto mundo
real por medio de
un modelo de datos
da como resultado
un esquema
Herramienta Herramienta
Intelectual Intelectual
Construcci Construcci n o n o
Resultado Resultado
2.11 UCLM-ESI-BDa
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).
2.12 UCLM-ESI-BDa
Esquemas para los tres niveles de la arquitectura ANSI
Conceptos Bsicos
Tipos de Esquemas
EE1
EE2
EEn
EI1
EIm
EIx EG
NIVEL EXTERNO NIVEL GLOBAL NIVEL INTERNO
CORRESPONDENCIA
EE EG
CORRESPONDENCIA
EG EI
2.13 UCLM-ESI-BDa
a ) E S Q U E M A G L O B A L
CU RSO DE DOCT ORA DO
/* T ipo de Obj eto * /
C U R S O
C O D I G O C a r a c t e r ( 5 )
N O M B R E C a r a c t e r ( 5 0 )
N U M _ H O R A S N u m r i c o ( 3 )
D E S C R I P C I O N C a r c t e r
v a r i a b l e ( 2 0 0 )
P R O F E S O R
C O D I G O C a r a c t e r ( 3 )
N O M B R E C a r a c t e r ( 3 0 )
D N I C a r a c t e r ( 1 0 )
D I R E C C I O N C a r a c t e r ( 5 0 )
I M P A R T E
P R O F E S O R C a r a c t e r ( 3 )
C U R S O C a r a c t e r ( 5 )
F E C H A I N I C I O F e c h a
F E C H A F I N A L F e c h a
b ) E S Q U E M A I N T E R N O
CU RSOS DE DOCT ORA DO
/* Regi stro A lmacenado* /
C U R S O
C O D _ C U R S O B yt e ( 3 )
N O M B R E B yt e ( 5 0 )
N U M _ H O R A S B yt e ( 2 )
D E S C R I P C I O N B yt e ( 2 0 0 )
n d i c e d e 2 n i v e l e s s o b r e
C O D _ C U R S O
P R O F E S O R
C O D _ P R O F E B yt e ( 2 )
N O M B R E B yt e ( 3 0 )
D N I B yt e ( 1 0 )
D I R E C C I O N B yt e ( 5 0 )
I n d i c e 1 n i v e l s o b r e
C O D _ P R O F E
I M P A R T E
F E C H A _ I N I B yt e ( 8 )
F E C H A _ F I N B yt e ( 8 )
P U N T E R O _ C U R S O B yt e ( 4 )
P U N T E R O _ P R O F E S O R B yt e ( 4 )
c ) E S Q U E M A S E X T E R N O S
E N O R A C L E F O R M S
C O D I G O V a r c h a r 2 (5 )
N O M B R E V a r c h a r 2 (5 0 )
H O R A S N u m b e r ( 3 , 0 )
D E S C R I P C I O N V a r c h a r 2 (2 0 0 )
E N P A S C A L
C h a r ( 5 )
N O M B R E C h a r ( 3 0 )
H O R A S I n t e g e r ( 1 0 )
C O D _ P R O F E C h a r ( 3 )
P R O F E S O R C h a r ( 3 0 )
I N I C I O S t r i n g ( 1 0 )
F I N S t r i n g ( 1 0 )
( l i s t a d o d e c u r s o s )
( a s i g n a c i n c u r s o s a p r o f e s o r e s )
C U R S O
S A L A R I O N u m r i c o ( 7 )
C l a v e C O D I G O
C l a v e C O D I G O
C l a v e P R O F E S O R , C U R S O
S A L A R I O B yt e ( 4 )
Conceptos Bsicos
Ejemplos de Esquemas
2.14 UCLM-ESI-BDa
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
00101
001
12/12/1997
20/12/1997
00101
003
01/03/1998
12/03/1998
00203
002
05/11/1997
07/12/1997
EJEMPLARES
DE IMPARTE
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
Conceptos Bsicos
Ejemplos de Ejemplares
2.15 UCLM-ESI-BDa
Conceptos Bsicos
Relacin entre Modelo, Esquema y Ejemplar
EJEMPLAR r
MODELO i
ESQUEMA j
Conjunto de reglas
para estructurar los
datos del mundo real
Percepcin de una
determinada realidad
interpretada de acuerdo
con un cierto modelo
Valores que toma la
percepcin de una cierta
realidad (esquema) en
un punto en el tiempo
MODELO 1
ESQUEMA 1
EJEMPLAR p
ESQUEMA m
MODELO n
EJEMPLAR 1
2.16 UCLM-ESI-BDa
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, (son los utilizados en BD).
Dbilmente tipados.
Definicin de Modelo de Datos
2.17 UCLM-ESI-BDa
ESTTICAS
Elementos permitidos
Objetos
Asociaciones
Caractersticas de los objetos
Dominios
Elementos no permitidos (restricciones)
Inherentes
De integridad o semnticas
DINMICAS
Conjunto de operadores.
Cada operador tiene dos componentes:
Localizacin
Accin
Definicin de Modelo de Datos
Propiedades
2.18 UCLM-ESI-BDa
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).
Definicin de Modelo de Datos
Formalizacin
2.19 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).
Definicin de Modelo de Datos
Esttica elementos permitidos
2.20 UCLM-ESI-BDa
Los elementos no permitidos se conocen como
restricciones.
Tipos:
Restricciones inherentes (del modelo):
Impuestas por la misma naturaleza del modelo de datos, el cual no
admite ciertas estructuras.
Restricciones de integridad o semnticas (de usuario):
Permiten captar la semntica del universo del discurso que se quiere
modelar y verificar la correccin de los datos almacenados en la BD.
Segn los instrumentos que proporcione el modelo de datos para
definir y gestionar las restricciones, stas pueden ser:
Propias al MD: su definicin le corresponde al diseador, pero su gestin
es responsabilidad del modelo de datos, el cual las reconoce y recoge en
el esquema.
Ajenas al MD: son, por completo, responsabilidad del diseador, ya que
el modelo de datos no las reconoce ni proporciona instrumentos para
manejarlas.
Definicin de Modelo de Datos
Esttica elementos no permitidos
2.21 UCLM-ESI-BDa
Podemos definir la componente esttica del modelo de datos como:
G = < Ge, Gr >
donde Ge es el conjunto de reglas de generacin de estructuras (objetos
del modelo y restricciones inherentes) y Gr es el conjunto de restricciones
de usuario.
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.
Definicin de Modelo de Datos
Esttica formalizacin
2.22 UCLM-ESI-BDa
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).
Definicin de Modelo de Datos
Dinmica formalizacin
2.23 UCLM-ESI-BDa
En un plano conceptual, sin seguir una sintaxis concreta, podemos
expresar una sentencia del LMD de la siguiente forma:
LOCALI ZACIN <condicin>
ACCIN <objetivo>
donde
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.
SELECT DNI, Nombre
FROM Alumnos
WHERE Curso=3
Definicin de Modelo de Datos
Dinmica LMD
2.24 UCLM-ESI-BDa
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.
Mecanismos de Abstraccin
2.25 UCLM-ESI-BDa
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.
Mecanismos de Abstraccin
2.26 UCLM-ESI-BDa
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, ...
Los mecanismos de abstraccin los utilizamos - consciente o
inconscientemente - de manera continua:
Mecanismos de Abstraccin
Uso Cotidiano
2.27 UCLM-ESI-BDa
Los mecanismos de abstraccin los utilizamos - consciente o
inconscientemente - de manera continua:
Mecanismos de Abstraccin
Uso Cotidiano
Clasificacin:
El vehculo de matrcula CR-0978-Z
es de la clase ambulancia.
Agregacin:
Est formada por cuatro ruedas, un
chasis, un motor, ...
Generalizacin:
Una ambulancia es un vehculo para
recoger y transportar enfermos.
Asociacin:
Su propietario es la empresa
CUASER; su conductor es
Fernndez, ...
2.28 UCLM-ESI-BDa
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).
Mecanismos de Abstraccin
Clasificacin
2.29 UCLM-ESI-BDa
La clasificacin se corresponde con el concepto de pertenencia a un
conjunto:
entre el elemento clase y los elementos miembros se establece una relacin
ES_MI EMBRO_DE.
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.
Todos los MD de las bases de datos admiten la abstraccin de
clasificacin.
Mecanismos de Abstraccin
Clasificacin
2.30 UCLM-ESI-BDa
Clase Curso
Ejemplar 1 . . . Ejemplar n Curso 1 Curso . . . . Curso
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
Mecanismos de Abstraccin
Clasificacin - representacin
2.31 UCLM-ESI-BDa
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.
El mecanismo contrario se llama Desagregacin.
Se pueden considerar tres tipos distintos de agregacin:
Agregacin de clases para obtener una clase compuesta,
(incluida en los MD semnticos: ER, UML)
Agregacin de propiedades para obtener una clase, y
(admitida explcita o implcitamente por todos los MD)
Agregacin de propiedades para obtener una propiedad compuesta.
(admitida por algunos MD: Codasyl S, Relacional No)
Mecanismos de Abstraccin
Agregacin
2.32 UCLM-ESI-BDa
Mecanismos de Abstraccin
Agregacin de clases
DEPARTAMENTO
AREA 1 AREA 2 .......... AREA n
DEPARTAMENTO DE INFORMTICA
L. y S.I. C.C. e I.A.
Ejemplar
Agregacin de clases
para obtener una
clase compuesta
2.33 UCLM-ESI-BDa
Mecanismos de Abstraccin
Agregacin de propiedades para obtener una propiedad compuesta
CURSO
Cod_Curso Nombre Num_horas Descripcin . . .
CURSO 1
00101 Introduccin a ... 30 Este curso ... . . .
Ejemplar
Agregacin de
propiedades para
obtener una clase
2.34 UCLM-ESI-BDa
Mecanismos de Abstraccin
Agregacin de propiedades
Fecha
Da Mes Ao
28 - Noviembre - 1965
28 Noviembre 1965
Ejemplar
Agregacin de
propiedades para
obtener una propiedad
compuesta
2.35 UCLM-ESI-BDa
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).
Mecanismos de Abstraccin
Generalizacin
2.36 UCLM-ESI-BDa
SUPERCLASE
SUBCLASE 1 . . . SUBCLASE n
PERSONA
PROFESOR ESTUDIANTE
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
Mecanismos de Abstraccin
Generalizacin - representacin
2.37 UCLM-ESI-BDa
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
PROFESOR CURSO
I mparte
Mecanismos de Abstraccin
Asociacin
2.38 UCLM-ESI-BDa
En el proceso de modelado de una determinada realidad es preciso, a menudo,
combinar distintas abstracciones formando una jerarqua de abstracciones
Mecanismos de Abstraccin
J erarquas
PERSONA
PROFESOR ESTUDIANTE
DNI Nombre Direccin
Materia Tipo
Curso
Combinacin de agregacin de propiedades y
generalizacin
2.39 UCLM-ESI-BDa
Ejemplo de abstracciones de clasificacin, agregacin y generalizacin
Mecanismos de Abstraccin
J erarquas
53811
Snchez
P. Rey, 3
54832
Luis
Ayala, 12
DNI
Nombre
Direccin
PERSONA
PROFESOR
ESTUDIANTE
Persona X
(Profesor i)
Persona Y
(Estudiante j)
2.40 UCLM-ESI-BDa
Restricciones de Integridad
Migracin de la Semntica de los Datos
USUARIO PROGRAMAS BASE DE DATOS
.......................
If Fecha_ini Fecha_fin
THEN ERROR
.......................
If Cod_profe en CURSOS = NULL
THEN ERROR
........................
Fecha inicio <
Fecha Final
Todo curso lo
imparte un profesor
CHECK
Fecha_ ini < Fecha_fin
CURSOS.Cod_profesor
Not Null
...........................
2.41 UCLM-ESI-BDa
Semntica de los datos dispersa vs integrada
Restricciones de Integridad
Dispersa Dispersa
Integrada Integrada
Num_Hoas
de CURSO <= 80
Prog. A Prog. B Prog. C
Num_Hoas
de CURSO <= 80
Num_Hoas
de CURSO <= 80
Num_Hoas
de CURSO <= 80
2.42 UCLM-ESI-BDa
Una restriccin de integridad tiene los siguientes componentes:
La operacin de actualizacin (insercin, borrado o modificacin) cuya
ejecucin ha de dar lugar a la comprobacin del cumplimiento de la
restriccin.
La condicin que debe cumplirse, la cual es en general una proposicin
lgica, definida sobre uno o varios elementos del esquema, que puede
tomar uno de los valores de verdad (cierto o falso).
La accin que debe llevarse a cabo dependiendo del resultado de
evaluar la condicin.
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.
Restricciones de Integridad
Componentes
2.43 UCLM-ESI-BDa
Restricciones de Integridad
Clasificacin
RESTRICCIONES
INHERENTES
SEMANTICAS
AJENAS
Lenguaje de
propsito
general
ACCION GENERAL
Lenguaje
del
SGBD
DISPARADORES
PROCEDIMIENTOS
ALMACENADOS
PROPIAS
COND. GENERAL
(ACCION RECHAZO)
VERIFICACION
ASERCION.
COND. ESPECIFICA
ACCION ESPECIFICA
2.44 UCLM-ESI-BDa
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.
Restricciones de Integridad
Clasificacin semnticas propias
2.45 UCLM-ESI-BDa
En ellas se distinguen las siguientes clases:
De condicin general: la condicin se define mediante una
proposicin lgica. La operacin ser una actualizacin. No se declara
la accin porque siempre lleva asociado el rechazo: el sistema evala la
condicin y si el resultado es cierto se actualiza y si no es cierto no se
lleva a cabo la operacin. En SQL 92 se incluyen dos tipos:
De verificacin: La expresin lgica mediante la cual se formula la condicin
est definida sobre uno o varios atributos de un mismo elemento. Por
ejemplo, una clasula "CHECK dentro de un CREATE TABLE.
De asercin: son anlogas a las anteriores pero pueden estar referidas a ms
de un elemento del esquema ya que tienen existencia por s mismas (por tanto
tienen un nombre). Ejemplo: CREATE ASSERTI ON.
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: PRI MARY KEY,
FOREI GN KEY, NOT NULL ...
Restricciones de Integridad
Clasificacin de accin especfica
2.46 UCLM-ESI-BDa
A) Segn la dimensin temporal:
De Estado o Estticas: las restricciones se aplican a un determinado
estado de una BD y no hay necesidad de conocer los estados anteriores
para saber si se cumple o no la condicin. Ejemplo: edad>=0.
De Transicin o Dinmicas: la restriccin hay que aplicarla a la
transicin entre dos estados. Ejemplo: el salario de un empleado no
puede disminuir.
B) Segn el mbito o alcance:
Afectan a un nico ejemplar de un tipo dado: edad > 14.
Afectan a varios ejemplares de un tipo dado. A su vez, pueden afectar
slo a algunos o a todos los ejemplares de un cierto tipo. (el sueldo de un
empleado menor que el sueldo de su jefe)
C) Segn los criterios de comparacin:
De valor: en la condicin se comparan los valores que pueden tomar las
propiedades.
Estructurales: imponen limitaciones a la estructura de los elementos del
modelo. Por ejemplo, que un atributo no puede tomar ms de un valor.
Restricciones de Integridad
Clasificacin otros criterios para clasificar
2.47 UCLM-ESI-BDa
Segn el nivel de abstraccin que consideremos en la arquitectura
ANSI, tendremos modelos internos, globales y externos:
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.
MODELO DE DATOS
EXTERNO
* (punto de vista de cada
usuario en particular)
GLOBAL
* (punto de vista del conjunto
de usuarios -empresa-)
INTERNO
* (punto de vista de la mquina)
Taxonoma de los Modelos de Datos
2.48 UCLM-ESI-BDa
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 -
Jerrquico
Red (Codasyl)
Relacional
Entidad/Interrelacin
(E/R)
Objetos (UML)
Taxonoma de los Modelos de Datos
Modelos Globales
2.49 UCLM-ESI-BDa
CONVENCIONALES
- Implementados en SGBD
comerciales
- Dependen del SGBD
- Ms prximos al ordenador
- Poca capacidad semntica
- Ms enfocados a la implementacin
- Interfaz informtico/sistema
- Nivel de mediacin entre el nivel
externo e interno
CONCEPTUALES
- No suelen estar implementados en
SGBD
- Independientes del SGBD
- Mayor nivel de abstraccin
- Mayor capacidad semntica
-Ms enfocados al diseo de alto nivel
(modelado conceptual)
- Interfaz usuario/informtico
Taxonoma de los Modelos de Datos
Modelos Globales convencionales vs conceptuales
2.50 UCLM-ESI-BDa
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).
Los MD en el proceso de diseo de una BD
2.51 UCLM-ESI-BDa
Universo del Discurso y Mundo Real
Los MD en el proceso de diseo de una BD
visi visi n del mundo real n del mundo real
que tiene el dise que tiene el dise ador ador
MUNDO
REAL
U
D
2.52 UCLM-ESI-BDa
MODELO
CONCEPTUAL
Esquema
conceptual
Estructura percibida
(no formalizada)
Esquema
Global de BD
Esquema
interno
MODELO
LGICO
MODELO
INTERNO
BASE DE
DATOS
FISICA
SGBD
DISEO FISICO
DISEO CONCEPTUAL
DISEO LOGICO
Valores
objetos y asociaciones con
sus propiedades y reglas
MUNDO REAL
Etapas en el diseo de una BD y
tipos de MD en que se apoyan
Los MD en el proceso de diseo de una BD