Está en la página 1de 27

Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 1 de 27

OBJETIVOS GENERALES:

1. Desarrollar habilidades en el modelado semntico de datos.


2. Lograr una visin general y una diferenciacin clara entre los modelos de datos de alto nivel
y los de bajo nivel.
3. Desarrollar habilidades en el diseo de bases de datos.

CONTENIDOS:

Tema 1.- Modelado semntico de datos

Modelo Entidad - Relacin Extendido (E-R-E)

Tema 2.- Modelos bsicos

Jerrquico y redes
Relacional
Objeto-Relacional
Transformacin de los modelos de alto nivel al esquema objeto-relacional
Enfoque por descomposicin
Normalizacin
o 1FN
o 2FN
o 3FN
o 4FN
o 5FN
Restricciones de integridad.

Tema 3.- Lenguajes de consulta del modelo relacional y objeto-relacional

Algebra relacional y SQL3 (esttico, dinmico, compuesto y recursivo) Reglas de integridad


referencial o triggers
Clculo relacional de tuplas y QUEL.
Clculo relacional de dominios y QBE.

Ejercicios resueltos y propuestos.

ACTIVIDADES:

1. Realizar ejercicios prcticos en el modelado semntico de datos.


2. Realizar ejercicios prcticos con modelos bsicos de datos.
3. Desarrollar ejercicios prcticos para transformar modelos de alto nivel a los de bajo nivel.
4. Disear bases de datos objeto-relacionales.

INTRODUCCION:

Los modelos de datos son medios formales para representar los datos asociados a una situacin real
y para manipular tal representacin [DAT-93]. La figura 1 ilustra el concepto anterior. Las
componentes de todo modelo de datos son las siguientes:
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 2 de 27

Figura 1. Modelado de datos.

Las estructuras bsicas son los elementos bsicos o tipos de objetos que conforman el
modelo.
Las reglas que es el conjunto de lineamientos que expresan las propiedades estticas del
modelo. Ellas son:
o Las reglas de formacin, y
o Las restricciones.
Los operadores que permiten cambiar el estado de una base de datos modificando su
contenido. Ellos estn asociados a las propiedades dinmicas de los elementos.

Los modelos de datos se pueden clasificar en: modelos de alto nivel o semnticos y modelos de bajo
nivel o bsicos.

Los modelos semnticos capturan un mayor significado de los datos e intentan representar la
estructura real de los datos independientemente de las caractersticas de almacenamiento, es decir
ellos estn orientados a las aplicaciones. Existen, hoy en da, numerosos y muy variados modelos
semnticos, entre ellos se encuentran: el modelo Entidad-Relacin de P. Chen en [Che-76], el
modelo Entidad-Relacin-Extendido (ERE) de Teorey et al. en [T-86] y el modelo IFO propuesto
por Abiteboul en [ABI- ]. De modelos anteriores solo ser tratado el segundo de ellos en detalle ms
adelante.

Los modelos bsicos constituyen el grupo de modelos que han sido diseados orientndose al
computador, sobre ellos se han desarrollado la mayora de los SMBD. Ellos son: el modelo de
jerrquico, el modelo redes, el modelo relacional, el modelo orientado por objetos y el objeto-
relacional. Al igual que los anteriores, ellos sern vistos en detalle en las secciones siguientes.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 3 de 27
1.- Modelos semnticos

Muchos modelos semnticos han sido propuestos, pero pocos de ellos han atrado el inters de los
desarrolladores de sistemas de base de datos, esto tal vez es debido a la complejidad de tales
modelos y a su dificultad para ser plasmados con los modelos bsicos actuales. La mayora de los
conceptos del modelado semntico de datos han sido muy bien representados en el modelo ERE, el
cual goza de gran prestigio y popularidad en el ambiente comercial, jugando un rol muy importante
en la mayora de las herramientas CASE (Computer Aided Software Engineering).

Modelo Entidad-Relacin-Extendido (ERE)

El modelo Entidad-Relacin (E-R) propuesto por P. Chen en [CHE-76] fue la primera versin del
modelo ERE. Dicha primera versin se fue modificando con el paso del tiempo debido a la
necesidad de tener constructos mas adecuados para la gran diversidad de aplicaciones que existen
hoy en da en el rea de las bases de datos.

As, la proposicin de P. Chen ha sido modificada y enriquecida semnticamente por otros autores.
Debido al gran poder expresivo que tiene hoy en da, este modelo es el primero en popularidad y en
utilizacin en la etapa de diseo conceptual de base de datos. En este modelo se emplea el enfoque
de diseo de arriba-hacia-abajo y los conceptos de abstraccin de datos.

El modelo ERE representa la informacin por medio de tres conceptos bsicos: entidades,
relaciones y atributos. Su principal objetivo es producir vistas conceptuales de los datos de la
aplicacin. Cada vista se expresa en trminos de los conceptos bsicos ilustrados en los diagramas
ERE. El modelo est basado en la teora de conjuntos y en la de las relaciones.

Entidad, segn el diccionario Larousse, es "lo que constituye la esencia del ser // colectividad
considerada como una unidad". Para los efectos de las aplicaciones en base de datos

Una entidad puede ser un objeto como: una casa, una planilla, un
carro, etc.; un sujeto como una persona; o un evento o actividad
como: un partido de football, un viaje, etc.

Las entidades se agrupan en conjuntos denominados conjunto entidad y se representan en los


diagramas ERE como un rectngulo con el nombre del conjunto entidad dentro. La figura 2 muestra
un ejemplo de dicha representacin.

Figura 2. Conjuntos entidad en los diagramas ERE.

Una misma entidad puede pertenecer a varios conjuntos entidad. Por ejemplo, un mdico
hospitalizado pertenece a los conjuntos entidad paciente y mdico.

Una relacin es una asociacin entre dos o ms entidades de un mismo tipo o de tipos diferentes.
Las relaciones o asociaciones tambin se agrupan en conjuntos, recibiendo el nombre de conjunto
relacin.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 4 de 27
Los conjuntos relacin se representan grficamente por medio de un rombo que encierra el nombre
asociado al conjunto relacin especificado.

Ejemplos de estos son: propietario que asocia un automvil a un empleado, dicta que asocia un
profesor con una asignatura, etc.

La figura 3 ilustra el conjunto relacin propietario.

Figura 3. Conjunto relacin en los diagramas ERE.

La figura anterior tambin muestra los tipos de correspondencia entre los conjuntos entidad
asociados por el conjunto relacin propietario y la cardinalidad de dicha relacin.

Los tipos de correspondencia se refieren al nmero de entidades involucradas en la relacin, en un


sentido y en el sentido contrario. As:

1:1 Una entidad del conjunto entidad 1 (C-E1) est asociada a una nica entidad del C-E2.

1:N o N:1 Cada entidad del C-E1 est asociada a cero, una o ms entidades del C-E2 o
viceversa.

N:M Cada entidad del C-E1 est asociada a cero, una o ms entidades del C-E2 y viceversa.

La cardinalidad de la relacin o asociacin entre dos entidades expresa el nmero mnimo y


mximo de entidades relacionadas a travs del conjunto relacin, as en la figura 3 un empleado
puede ser propietario de ninguno o hasta 4 automviles y un automvil puede tener como
propietario uno y solo un empleado, esto implica que en la BD no hay ningn automvil sin
propietario, pero si hay empleados que no tienen automvil.

Una entidad se describe por medio de sus atributos y una relacin puede tambin ser descrita por
medio de atributos. Un atributo es una caracterstica o propiedad especfica de una entidad o de
una relacin. Cada atributo se identifica con un nombre y se le asocia un dominio de valores
posible que puede tener en un momento particular.

Los atributos se expresan en el modelo E-R con nombres que etiquetan las aristas entre el conjunto
entidad o relacin a que pertenecen y el dominio asociado al mismo.

Los dominios se expresan con valos identificados con un nombre, que es el nombre del dominio.
La figura 4 completa el diagrama mostrado en la figura anterior.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 5 de 27

Figura 4. Atributos, dominios y claves en un diagrama ERE.

Una clave o llave de un conjunto entidad o relacin es un grupo de uno o ms atributos que
identifican unvocamente cada entidad o relacin del conjunto.

La clave de un conjunto relacin es siempre la concatenacin de las claves de los conjuntos entidad
que ella asocia.

En la figura 4 se observan las claves de cada conjunto entidad y de la relacin propietario.

Un conjunto entidad es dbil si su existencia depende de otro conjunto entidad. De igual manera,
un conjunto relacin es dbil si l depende de otro.

La figura 5 presenta un ejemplo de diagrama donde se observan ambos casos.

Un objeto del conjunto entidad objeto existe en la BD si existe la entidad vista del conjunto entidad
vista. Asimismo, la relacin clave-obj existe si la relacin vista-obj existe.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 6 de 27

Figura 5. Entidades y relaciones dbiles en un diagrama ERE.

Un conjunto entidad puede especializarse en otros conjuntos entidad mostrando los diferentes tipos
de ese conjunto entidad.

Asimismo, varios conjuntos entidad pueden generalizarse en un conjunto entidad genrico, en cuyo
caso el proceso de abstraccin realizado se denomina generalizacin y en el primer caso se
denomina especializacin.

Sin importar el proceso de abstraccin realizado, el hecho es que existe en el diagrama un conjunto
entidad que es una superclase de otros conjuntos entidad denominados subclases, los cuales
heredan de la superclase todos sus atributos.

La herencia puede ser simple o mltiple, bien sea que herede de un solo conjunto entidad o de
varios, respectivamente.

La herencia tambin puede ser parcial o total, en caso que la extensin de la superclase tenga un
nmero de entidades diferente a la suma del nmero de entidades de sus subclases o que ese nmero
sea igual, respectivamente.

Grficamente la herencia parcial se representa con una arista simple, la total con doble arista y la
conexin entre superclases y subclases se realiza con un crculo si hay ms de una subclase,
llevando siempre un arco que intersecta la arista para indicar cual es la subclase.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 7 de 27
Se puede dar el caso que las entidades de las extensiones de las subclases se solapen, lo cual se
expresa en el diagrama colocando una o en el crculo, indicando la conjuncin de las entidades, si
ese no es el caso, pues las extensiones de las subclases son disjuntas, entonces se coloca una d
indicando la disyuncin de las extensiones.

Un caso especial denominado categora se presenta cuando una entidad de un conjunto entidad
puede ser una entidad heredada de 2 o ms conjuntos entidad diferentes, pero cuyos atributos no se
concatenan, pues la entidad en la categora puede ser una y solo una de las entidades de cualquiera
de las superclases.

La categora se presenta en el diagrama colocando en el crculo una U. La figura 6 muestra dos


ejemplos de categoras, uno donde un dueo puede ser una persona, un banco o una compaa y el
otro donde una propiedad puede ser un edificio o un lote de terreno.

Figura 6. Categoras y herencia en diagramas ERE.

2. Modelos bsicos

Son los modelos sobre los que se han desarrollado la mayora de los SMBD, estos son:

Jerrquico y redes
Relacional
Orientado por objetos
Objeto-Relacional
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 8 de 27
2.1. Modelos jerrquico y redes

El modelo jerrquico est definido sobre la base de los conceptos bsicos siguientes:

Campo: es la unidad de datos que posee un nombre.


Segmento: es una coleccin de campos consecutivos en la base de datos que posee un
nombre y que constituye la unidad de intercambio entre la BD y los PA. Los segmentos
estn ligados por asociaciones 1:N donde un segmento padre tiene N segmentos hijos, bien
sea en el mbito de tipos o de ocurrencias, formando as un rbol de segmentos.
rbol de segmentos: es una coleccin de segmentos ligados por asociaciones padre hijos,
organizados bajo la forma de una jerarqua.
Base de datos jerrquica: es una BD compuesta de un bosque de segmentos. Ella se
representa con rboles de segmentos cuyos nodos son los segmentos y las aristas indican las
asociaciones 1:N.

La figura 7 muestra un ejemplo de una BD jerrquica para el control de las publicaciones de una
librera.

Figura 7. Base de datos jerrquica para el control de publicaciones.

El mejor SMBD que representa este tipo de BD es un producto IBM denominado IMS/VS
(Information Management System/Virtual Storage) cuya primera versin aparece en 1968. Para
ejemplificar el nivel de detalle que debe ser usado en estos sistemas, se incluye la definicin de la
BD anterior en el lenguaje de definicin de datos del IMS. En ella se observa que el ABD debe
llevar el control de los campos al nivel de bytes de inicio y de longitud en bytes.

1. DBD NAME = Publica


2. SEGM NAME = Tema, BYTES = 44
3. FIELD NAME = (NumTema, SEQ), BYTES = 4, START = 1
4. FIELD NAME = NomTema, BYTES = 40, START = 5
5. SEGM NAME = Publicacion, PARENT = Tema, BYTES = 96
6. FIELD NAME = (ISBN, SEQ), BYTES = 16, START = 1
7. FIELD NAME = Titulo, BYTES = 80, START = 17
8. SEGM NAME = Editorial, PARENT = Pub, BYTES = 40
9. FIELD NAME = (AoPub, SEQ), BYTES = 4, START = 1
10. FIELD NAME = Editorial, BYTES = 34, START = 5
11. FIELD NAME = NroVolEditados, BYTES = 2, START = 39
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 9 de 27
12. SEGM NAME = Autor, PARENT = Pub, BYTES = 256
13. FIELD NAME = (NomAut, SEQ), BYTES = 20, START = 1
14. FIELD NAME = Direccion, BYTES = 236, START = 21

El modelo de redes propuesto por el grupo DBTG de CODASYL est definido siguiendo los
conceptos bsicos dados a continuacin:

Atomo o item de dato: es la unidad de datos que posee un nombre.


Agregado de datos: es una coleccin de tomos arreglados consecutivamente en la base de
datos que posee un nombre. Ellos son de dos tipos: vectores o arreglos unidimensionales y
grupos repetitivos.
Registro: es una coleccin de agregados y de tomos consecutivos en la base de datos y que
constituyen la unidad de intercambio entre la BD y los PA.
Conjunto: es la asociacin entre un registro propietario y n registros miembros. Las
limitaciones del modelo hacen que un registro o tipo de registro no pueda ser propietario y
miembro a la vez en el mismo conjunto y que una ocurrencia de un registro no pueda
pertenecer a varias ocurrencias del mismo conjunto.
Base de datos en redes: es una BD compuesta de registros ligados o asociados entre ellos
por los conjuntos. Ella se representa a nivel de tipo con un grafo de tipos de registros cuyos
nodos son los tipos de registros y las aristas son los tipos de conjuntos orientados del
propietario hacia los miembros.

La figura 8 muestra un ejemplo de una BD en redes para una compaa productora de vinos.

Figura 8. Base de datos vincola en redes.


Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 10 de 27
2.2. Modelo relacional

Fue propuesto por E. Codd en 1970 [Cod-70] cuando trabajaba para IBM-San Jos. El modelo est
basado en la teora de normalizacin de las relaciones, que permite eliminar el comportamiento
anormal de las relaciones, luego de actualizaciones, as como el control de la redundancia de datos.

Conceptos bsicos

Los conceptos bsicos del modelo son:

Dominio:
es un conjunto de valores

Ejm: D1 = {rojo`, verde`, negro`, azul`} D2 = {`ford, chevrolet`, fiat`, toyota`, renault`}

Relacin:
es un subconjunto del producto cartesiano de una lista de dominios, no necesariamente
disjuntos.

Ejm: R1 = {(rojo`,`ford), (verde`,`ford), (negro`, chevrolet`), (azul`, toyota`)}

R2 = {(fiat`, verde`)}

R3 = { }

R D1 D2
verde` ford`
azul` fiat`
Atributo:
es la columna de una relacin identificada con un nombre.

Ejm:

R color marca
verde` ford`
azul` fiat`

Esquema de una relacin o de tabla:

Es el nombre de la relacin seguido de la lista de sus atributos con sus dominios. Un


esquema de relacin se puede representar por intensin o por extensin.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 11 de 27
Esquema de Carro por intensin:

Carro(placa, marca, modelo, color)


Esquema de Carro por extensin:

tabla columna
Carro placa marca modelo color
fila o tupla LGR889` toyota` corollaXL` azul`
LAB110` ford` sierra280es` verde`
XSG230` fiat` siena` azul`

Base de datos relacional:

Es una base de datos cuyo esquema es un conjunto de esquemas de relacin de diferente


nombre cada una, y donde sus ocurrencias son las tuplas de esas relaciones.

Reglas de formacin

1. Cada relacin o tabla contiene un solo tipo de fila o tupla.


2. Cada tupla tiene un nmero fijo de atributos o columnas.
3. No se permiten atributos compuestos o grupos repetitivos.
4. Cada tupla es nica y se identifica con su clave primaria.
5. Un atributo o grupo de ellos que identifiquen unvoca e inequvocamente cada tupla de la
relacin es una clave candidata.
6. La clave primaria de una relacin se selecciona entre las claves candidatas.
7. Si un atributo A R1 es tambin la clave primaria de R2, entonces A es un atributo forneo
de R1.
8. El orden de las tuplas en la relacin es irrelevante.
9. Los valores de los atributos deben pertenecer al dominio de cada atributo definido en ella.
10. Un mismo dominio puede ser usado por diferentes atributos.
11. A partir de una o ms tablas se pueden producir nuevas tablas diferentes mediante el uso de
las operaciones del lgebra relacional.

Reglas de integridad

De la relacin: ningn componente de un valor de los atributos que conforman la clave


primaria puede ser nulo.
De referencia: sea A la clave primaria de R1 y tambin un atributo forneo de R2, entonces
para toda tupla de R2 donde A nulo debe existir la tupla correspondiente en R1.
De los valores de un atributo: son los predicados definidos por el administrador de bases
de datos sobre los valores de los atributos usando el lenguaje de definicin de datos.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 12 de 27
Ejemplo:
fechaInicio fechaFin restricciones de integridad de
fechaInscripcin fechaInicio los valores de los atributos.
Semestre cdigo fechaInicio fechaFin fechaInscripcin
tupla A98` 02/03/98 17/07/98 22/2/98
B98` 14/09/98 30/01/99 07/09/98
A99` 15/03/99 23/07/99 08/03/99

Ejemplo de una base de datos relacional

Cliente( codCli, nombre, balance, lmiteCrdito, descuento)

Envio( direccin, codCli)

Pedido( codPed, lnea, dirEnvio, codArt, cantidadPedida, cantidadEnviada)

Artculo( codArt, nomArt, descripcin)

Inventario( codArt, codPlanta, cantidadExistencia, riesgo)

Atributo Descripcin Dominio


codCli Cdigo del cliente Cadena(4)
nombre Nombre del cliente Cadena(40), sub(nombre,i,1) {letras}
balance Balance actual de la cuenta del cliente Real
lmiteCrdito Lmite de crdito actual del cliente Real siempre positivo
descuento Descuento actual que se le aplica al cliente Real siempre positivo
direccin, dirEnvio Direccin de envo del cliente (un cliente Cadena(80),sub(direccin,i,1) {letras}
puede tener varias) {/,-,} con i desde 1 hasta 80
codPed Cdigo de pedido Cadena(6)
lnea Lnea del pedido Entero corto siempre positivo
cantidadPedida Cantidad pedida del artculo Entero siempre positivo
cantidadEnviada Cantidad enviada del artculo Entero siempre positivo
codArt Cdigo del artculo Cadena(6)
nomArt Nombre del artculo Cadena(20),sub(nomArt,i,1) {letras}
descripcin Descripcin del artculo Cadena(255), sub(descripcin,i,1) {letras}
codPlanta Cdigo de la planta que tiene el artculo Cadena(2)
cantidadExistencia Cantidad actual en existencia del artculo Entero siempre positivo
riesgo Cantidad mnima del artculo en inventario Entero siempre positivo

Restriccin de integridad: cantidadPedida cantidadEnviada cantidadExistencia


Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 13 de 27
2.3. Objeto-relacional

Este modelo es bsicamente el mismo modelo relacional extendido con algunas facilidades del
modelo orientado por objetos, a saber:

Se pueden crear nuevos tipos de datos que pueden ser tipos compuestos, pero que
deben ser soportados por el propietario del tipo, esto es debe definir al menos dos
mtodos transformadores, uno para convertir el tipo nuevo a ASCII y el otro que
convierte de ASCII al nuvo tipo. Se soportan tipos complejos como: registros,
conjuntos, referencias, listas, pilas, colas y arreglos.
Se pueden crear funciones que tengan un cdigo en algn lenguaje de programacin,
por ejemplo: SQL, Java, C, etc.
Se pueden crear operadores asignndole un nombre y asociandoselo a una funcin ya
definida o creada con anterioridad.
Se soporta el encadenamiento dinmico y herencia en los tipos tupla o registro.
Posibilidad de incluir el chequeo de las reglas de integridad referencial a travs de
los triggers.
Soporte adicional para seguridad y activacin de la versin cliente-servidor.

2.4. Transformacin de modelos de alto a bajo nivel

Las reglas de transformacin del modelo ERE al modelo relacional son las siguientes:

1. Cada conjunto entidad se convierte en un esquema de relacin constituido por todos


los atributos del conjunto entidad. Cada tupla en la relacin es una entidad del
conjunto entidad. La clave primaria de la relacin es la misma del conjunto entidad.
Ejemplo: Usuario(codUs, nomUs, apeUs, depUs)

2. Cada conjunto relacin entre los conjuntos entidades que asocia se convierte en un
esquema de relacin cuya clave primaria es la concatenacin de las claves primarias
de los conjunto entidad que ella asocia y sus atributos no clave son los mismos del
conjunto relacin tratado. Ejemplo: Prestamo(codLib, codUs, fechaPres, fechaEntre)
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 14 de 27

3. Los conjuntos de valores del diagrama ERE se convierten en los dominios del
modelo relacional.
4. Los conjunto entidades dbiles se convierten en esquemas de relacin con clave
primaria igual a la concatenacin de la clave primaria del conjunto entidad fuerte del
cual depende con algn atributo propio del conjunto entidad dbil que sirva para
identificar unvocamente cada tupla de la relacin.
5. Cada especializacin es una tabla con los atributos de la especializacin y con clave
la del conjunto entidad general. Ejemplo: TrabajadorUniv(ced, nombre. apellido,
fechaIngreso), Profesor(ced, catego, dedicac, fechaCatego, fechaDedicac),
Empleado(ced, grado, fechaGrado, paso)

6. Una categora es una subclase de la unin de dos o ms superclases, por lo que se


crea una clave para la categora, y se coloca en las tablas de las superclases, si ellas
tienen diferentes esquemas. Si las superclases tienen la misma clave, no es necesario
utilizar la clave nueva o clave sustituta. Ejemplo: Persona(cedId, nombre, apellido,
fechaNac, direccion, telefono, idDue), Banco(codBan, nombre, direccion, telefono,
idDue), Compaa(codCom, nombre, direccion, telefono, idDue) con la categora
Dueo(idDue)
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 15 de 27

Reglas adicionales en caso de convertir el modelo ERE al modelo objeto-relacional:

2.5. Enfoque por descomposicin

Consiste en definir relaciones universales compuestas de todos los atributos de la base de datos y
luego descomponerlas, utilizando el proceso de normalizacin en subrelaciones que no sufren
anomalas.

Enfoque por descomposicin: es un proceso de refinamiento paso a paso que lleva al


aislamiento de las entidades y asociaciones del mundo real [Cod-79].

La teora de la descomposicin de las relaciones se basa en el uso de dos operaciones fundamentales


del lgebra relacional, a saber:

Proyeccin: La proyeccin de una relacin R(A1, A2, ..., An) sobre los atributos Ai1, Ai2, ...,
Aip, con ij ik, es una relacin R con esquema R(Ai1, Ai2, ..., Aip) obtenida por eliminacin
de los valores de los atributos de R que no estn en R y la supresin de las tuplas
duplicadas.

Notacin: Ai1, Ai2, ..., Aip ( R )

Ejemplo: Si se tiene la relacin Carro(placa, marca. modelo, color) la proyeccin sobre


placa y marca de Carro es la relacin R cuyo esquema est conformado por placa y marca.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 16 de 27
R = placa, marca ( Carro )

R = marca, color ( Carro )

Si Carro contiene las tuplas siguientes:

Carro placa marca modelo color


`LAB384 ford escortXR-31 verde
LAM112 toyota corollaXL azul
LGR889` toyota` corollaXL` azul`
LAB110` ford` sierra280es` verde`
XSG230` fiat` siena` gris`

Entonces R y R contendrn:

R placa marca R marca color


`LAB384 ford ford verde
LAM112 toyota toyota azul
LGR889` toyota` fiat` gris`
LAB110` ford`
XSG230` fiat`

Reunin natural: El producto, reunin o acoplamiento de dos relaciones R y S cuyos


esquemas son R(A1, A2, ..., An) y S(B1, B2, ..., Bp) es una relacin T con atributos que son la
unin de los atributos de R y de S para las tuplas obtenidas por concatenacin de las tuplas
de R y S que tengan los mismos valores para los atributos de igual nombre.

Notacin: T = R ZY S
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 17 de 27
Ejemplo: Si se tiene T = R ZY R

T placa marca color


`LAB384 ford verde
`LAB384 ford gris`
LAM112 toyota azul
LGR889 toyota azul
LAB110` ford ` verde`
LAB110` ford` gris`
XSG230` ford` verde`
XSG230` ford` gris`

Descomposicin: es el reemplazo de una relacin R(A1, A2, ..., An) por una coleccin de
relaciones R1, R2, ..., Rn obtenidas de las proyecciones de R y tal que la relacin resultado
de las reuniones R1ZY R2 ZY ... ZY Rn tiene el mismo esquema que R.

Ejemplo: R1 = placa, modelo, color ( Carro )

R2 = modelo, marca ( Carro )

R ZY R Carro pero R1 ZY R2 = Carro

Descomposicin sin prdida: Es la descomposicin de una relacin R en R1, R2, ..., Rp


tal que para toda extensin de R se tiene que:

R = R1 ZY R2 ZY ... ZY Rp

El problema de la concepcin de bases de datos relacionales se reduce a la descomposicin sin


prdida de las relaciones universales con todos sus atributos en subrelaciones que no contengan
anomalas.

2.6. Normalizacin

El esquema relacional es un modelo de la realidad bajo la forma de una coleccin de relaciones, el


cual debe ser construdo con el fin de que:

a. la creacin, modificacin y supresin de datos sean eficaces. Para ello, es indispensable


eliminar toda redundancia innecesaria. Idealmente, se desea que ante cualquier evento que
ocurra en la realidad, ste se traduzca en el manejo de una sola tupla en la extensin del
modelo relacional.
b. la modificacin del esquema relacional por la evolucin de la percepcin de la realidad, sea
lo ms simple posible.
c. la comprensin de la realidad sea facilitada por el esquema.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 18 de 27
Dependencias funcionales:

Sea R(A1, A2, ..., An) y X y Y dos subconjuntos del conjunto formado por {A1, A2, ..., An} . Se dice
que X Y (X determina a Y o que Y depende funcionalmente de X) si para toda extensin r de R
y para toda tupla t1 y t2 de r se tiene que: X ( t1 ) = X ( t2 ) implica que Y ( t1 ) = Y ( t2 )

Ejemplo:

1. placa marca

placa modelo

placa color

placa (marca, modelo)

modelo marca

2. (codigoMateria, cedulaEstudiante, semestre, ao, seccin) nota

Considerando varias secciones en una misma asignatura y la posibilidad de repitencia de un


estudiante en una seccin de una asignatura.

Las dependencias funcionales, en adelante DF, se identifican mirando atentamente el significado de


los atributos, no sus valores actuales, sino todos los valores posibles de ellos. Las DF deben
aparecer en el esquema conceptual de una BD.

Propiedades de las DF:


1. Reflexibidad: Si Y X X Y.

Ejemplo: color color y (marca, modelo) marca

2. Aumento: Si X Y X Z Y Z

Ejemplo: modelo marca (modelo, color) (marca, color)

3. Transitividad: Si X Y y Y Z entonces X Z

Ejemplo: placa modelo y modelo marca placa marca

4. Aditividad: Si X Y y Y Z entonces X Y Z

Ejemplo: placa modelo y modelo marca placa (modelo, marca)

5. Pseudo-transitividad: Si X Y y X W Y Z entonces W Y Z

Ejemplo: placa modelo y (marca, modelo) potencia (placa, marca)


potencia

6. Descomposicin: Si X Y y Z Y entonces X Z
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 19 de 27
Ejemplo: placa (modelo, marca) y modelo (modelo, marca) placa modelo

Dependencias funcionales elementales:

Una dependencia funcional elemental, en adelante DFE, es una DF de la forma X A, donde A es


un atributo nico no includo en X y donde no existe un X' X tal que X' A

Ejemplo: placa DFE modelo, pero

placa no es DFE (modelo, marca)

La regla de inferencia que se aplica a las DFE es la transitividad. Las DFE se expresan en un grafo
de DFE donde los nodos son los atributos y las aristas son las DFE. En caso de tener ms de un
atributo en la parte izquierda de la DFE, sta se expresa colocando una lnea que acoja las aristas de
todos los atributos de la parte izquierda y de ella sale una arista al atributo de la parte derecha,
convirtiendo as el grafo de DFE en una red de DFE. Un ejemplo de grafo y de red de DFE se
muestra en la figura 9.

Figura 9. (a) Grafo de DFE. (b) Red de DFE.

A partir de las DFE se pueden componer otras DFE utilizando la propiedad de transitividad. El
conjunto completo de todas las DFE se denomina cierre transitivo, formalmente se define como el
conjunto de las DFE consideradas, enriquecidas con todas las DFE deducidas por transitividad.
Notacin: C+. Ejemplo: Para la relacin Carro se tiene: C+ = {placa marca, placa modelo,
placa color, modelo marca }

A partir de C+ se define la equivalencia de dos conjuntos de DFE. Dos conjuntos de DFE son
equivalentes si tienen la misma C+.

Cobertura mnima: es el conjunto C de DFE asociado a un conjunto de atributos que


verifican las propiedades siguientes:
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 20 de 27
a. ninguna DF es redundante en C, es decir para toda DF denotada f de C, C - f no es
equivalente a C.
b. toda DFE de los atributos est dentro de C+.

Ejemplo: C = {placa modelo, placa color, modelo marca }

C es esencial para la descomposicin sin prdida.

Clave de una relacin: es el conjunto X de atributos de una relacin R(A1, A2, ..., An) tal
que:
a. X A1, A2, ..., An
b. no existe un subconjunto Y X tal que Y A1, A2, ..., An

Pueden existir varios atributos que cumplan con esta definicin dentro de una misma relacin, ellos
sern denominados claves candidatas y se escoger entre las mismas una nica clave primaria.
Dentro de una relacin, la clave primaria se subraya.

Formas normales

El objetivo de las tres primeras formas normales es permitir la descomposicin de relaciones sin
prdida de informacin, a partir de las DFE y obtener as el esquema conceptual relacional
normalizado.

Primera forma normal (1FN): Una relacin est en 1FN si todo atributo contiene un valor
atmico.

Ejemplo:

Persona(cedula, nombre, apellido, sexo, telefono, direccion)

los primeros cinco atributos son atmicos y el atributo direccion puede ser
considerado atmico en aquellas aplicaciones donde esta columna no va a ser
utilizada como un atributo de bsqueda, lo que implica que la relacin Persona est
en 1FN.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 21 de 27
Estudiante(cedula, apellido, nombre, escuela, materias, notas)

es claro que los primeros cuatro atributos son atmicos, pero tambin es claro que
los dos ltimos no lo estn, por lo tanto la relacin no est en 1FN. Para convertirla a
1FN se proyecta en dos relaciones, obteniendo:

Estudiante(cedula, apellido, nombre, escuela)

Cursa(cedula, materia, nota)

Segunda forma normal (2FN): Una relacin est en 2FN si y solo si:

1. la relacin est en 1FN


2. todo atributo que no pertenece a una clave no puede depender de una parte de esa clave.

Ejemplo:

Proveedor(codProv, codArt, dirProv, precio)

Ella est en 1FN considerando la direccin como una columna atmica, pero dadas
las DFE siguientes: (codProv, codArt) precio y codProv dirProv, ella no est
en 2FN, pues hay un atributo no clave (dirProv) que depende de una parte de la
clave. Para normalizarla se proyecta en dos relaciones:

Proveedor(codProv, dirProv)

ProveeArticulos(codProv, codArt, precio)

Carro(placa, marca, modelo, color)

est en 2FN.

La segunda forma normal permite eliminar las redundancias para que ningn atributo est
determinado por una parte de una clave.

Tercera forma normal (3FN): Una relacin est en 3FN si y solo si:

1. la relacin est en 2FN


2. todo atributo que no pertenece a la clave no depende de un atributo que no es clave.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 22 de 27
Ejemplo:

Carro(placa, marca, modelo, color)

est en 2FN, pero no en 3FN ya que se tiene la DFE modelo marca. Para
normalizarla se proyecta en dos relaciones:

Carro(placa, modelo, color)

ModelosDeCarros(modelo, marca)

La tercera forma normal permite asegurar la eliminacin de redundancias debidas a las


dependencias transitivas.

Descomposicin que preserva las dependencias funcionales: la descomposicin {R1, R2,


..., Rn} de una relacin R preserva las DF de R, si C+ de R es la misma que la de la unin de
las DF de {R1, R2, ..., Rn}.

Toda relacin R tiene al menos una descomposicin en 3FN tal que:

1. la descomposicin preserve las DF.


2. la descomposicin sea sin prdida.

Algoritmo de descomposicin en 3FN:

Este algoritmo propuesto por Bernstein en 1976 se basa en el principio siguiente: Se construye la
cobertura mnima C y a partir de la misma se editan los atributos aislados, considerndolos como
claves, luego se busca el conjunto ms grande X de atributos que determine a otros A1, A2, ..., An
con n 1 y como salida se genera la relacin (X, A1, A2, ..., An). Las DFE utilizadas en la
formacin de esa relacin se eliminan de C y todos los atributos aislados que no estn en las DFE
que quedaron en C.

Procedimiento Normalizar3FN( DFE )

1. C = cobertura mnima de las DFE


2. At = Obtener los atributos aislados que pertenecen a C
3. reducir(C, At)
4. formar una R con los atributos restantes en At, si los hay
5. fin del procedimiento
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 23 de 27
Procedimiento reducir( C, At )

1. repita mientras que una DFE en C no incluya todos los atributos o C est vaco
1. buscar el conjunto ms grande de atributos X tal que X A1, ..., X Ak
2. formar la relacin R(X, A1, A2, ..., Ak)
3. eliminar de C las DFE utilizadas en R
4. eliminar de At los atributos que no pertenezcan ya a C
5. reducir(C, At)

fin del repita mientras

2. regresar

Un esquema normalizado hasta 3FN debe cumplir con el juramento siguiente:

Forma normal de Boyce-Codd (FNBC): Una relacin est en FNBC si y solo si las solas
DFE son aquellas dentro de las cuales una clave determina un atributo.

Ejemplo:
Examen(cedEst, codMat, cedProf, nota) est en 3FN
(cedEst, codMat) cedProf no est en FNBC si
cedProf codMat cada profesor dicta
(cedEst, codMat) nota una nica materia
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 24 de 27
Para resolver el problema se proyecta para que cumpla con la FNBC

Examen(cedEst, codMat, nota)


Dicta(codMat, cedProf)
No se preserva la DFE (cedEst, codMat) cedProf

En general, la descomposicin en FNBC es sin prdida pero NO preserva las DFE, despus
ellas pueden obtenerse por reunin o producto.

Dependencias multivaluadas (DM): Sea R(A1, A2, ..., A n) y X e Y dos subconjuntos de


atributos de {A1, A2, ..., An}. Se dice que X - Y, si dados los valores de X hay un conjunto
de valores Y asociados y este conjunto es independiente de otros atributos Z = R X Y de
R.

Las DM caracterizan la independencia entre Y y Z correlacionadas por X.

Las DF son un caso particular de las DM, por lo cual X Y X - Y

Dependencias multivaluadas elementales (DME): Una DME es una DM X - Y de una


relacin R tal que:

a. Y no es vaco y es disjunto de X
b. R no contiene otra DM del tipo X - Y tal que X X y Y Y

Ejemplo: EstMatDeporte (nroEst, codMat, deporte)

EstMatDeporte nroEst codMat deporte


105 PD10 tennis
105 PD10 natacin
145 AL10 tennis
145 FI20 futbol`

nroEst - codMat, nroEst- deporte, pues un estudiante puede cursar varias materias y puede
practicar varios deportes, pero codMat es independiente de deporte y en este caso solo estn
correlacionados a travs de nroEst.

Cuarta forma normal (4FN): Una R est en 4FN si y solo si las solas DME son aquellas
donde una clave determina un atributo. Una R en 4FN est en 3FN y en FNBC.

Ejemplo: EstMatDeporte (nroEst, codMat, deporte) no est en 4FN, por lo que se proyecta
segn sus DME como:

Cursa(nroEst, codMat)

Practica(nroEst, deporte)

Teorema de Fagin (1979): R(A, B, C) se puede descomponer sin prdida en R1(A, B) y


R2(A, C) si y solo si se cumplen en R las DM A - B | C. Demuestra que toda R tiene una
descomposicin, no siempre nica, en 4FN sin prdida de informacin.
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 25 de 27
Ejemplo: Curso(nomCur, prof, texto)

Curso nomCur Prof texto


Estadstica Perez Estadstica I
Estadstica Perez Introduccin a la estadstica
Estadstica Mendez Estadstica I
Estadstica Mendez Introduccin a la estadstica

nomCur - prof, nomCur- texto

Se proyecta como:

TextoMateria(nomCur, texto)

Dicta(nomCur, prof)

Dependencias de productos (DP): Existen relaciones que no es posible descomponerlas en


2 relaciones, pero si en 3, 4 o ms relaciones. Sea R(A1, A2, ..., An) y X1, X2, ..., Xm
subconjuntos de {A1, A2, ..., An}. Se dice que existe una DP simbolizada por *{X1, X2, ...,
Xm} si R es el producto de sus proyecciones sobre X1, X2, ..., Xm, es decir si

R = X1( R ) X2( R ) ... Xm( R )

Ejemplo: Si el proveedor #E suministra la pieza #P y en el proyecto #J se usan piezas #P y


el proveedor #E suministra piezas al proyecto #J, entonces #E suministra #P al proyecto #J.
Suministro(#E, #P, #J) est en 4FN

Suministro #E #P #J
E1 P1 J2
E1 P2 J1
E2 P1 J1
E1 P1 J1

No est en 5FN pues #E - #P, #P - #J, #J - #E, no es posible descomponerla en 2


relaciones, pero si es posible en 3 relaciones, as:

R1 #E #P R2 #P #J R3 #E #J
E1 P1 P1 J2 E1 J2
E1 P2 P2 J1 E1 J1
E2 P1 P1 J1 E2 J1
Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 26 de 27
Suministro R1 ZY R2, Suministro R1 ZY R3, Suministro R2 ZY R3,
Suministro = R1 ZY R2 ZY R3

Quinta forma normal (5FN): Una relacin R est en 5FN si y solo si toda DP est
implicada por las claves candidatas de R.

En la realidad no es comn tener DP y es muy difcil darse cuenta de su existencia, por lo


que Fagin en [Fag-79] presenta un algoritmo para probar si una DP est implicada por un
conjunto de claves en R.

2.7. Restricciones de integridad

La integridad de los datos en bases de datos accedidas por procesos concurrentes debe ser
asegurada, mediante la aplicacin de restricciones y reglas que aseguren la concordancia de
los datos que la base de datos modela con los del mundo real.

Restricciones de integridad: Son aserciones que deben verificar los datos en instantes
determinados.

Bases de datos coherentes: Son bases de datos donde el conjunto de restricciones de


integridad (explcitas o implcitas) se respeta a todo lo largo de la vida til de la BD.

Tipos de restricciones de integridad: Se tienen ocho tipos que son los siguientes:

1. Restricciones de dominio o integridad de dominio: Estn referidas al tipo de dato


del atributo o columna. El valor que se puede asignar a una columna debe estar en el
dominio especificado para dicha columna. Se permite a un dato estar marcado para
contener un valor especial definido por el diseador de la BD (NoDefinido), no
contener valor alguno o contener el valor nulo si:
a. Existe la posibilidad de desconocer la informacin (nulo aplicable)
b. No tiene sentido asignar un valor del dominio (nulo inaplicable)

Ejemplo: cant es de tipo Entero siempre positivo.


Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 27 de 27
2. Restricciones de rango o integridad de columna: Se refiere al intervalo de
variacin de los valores del dominio del atributo y de los tipos de datos definidos en
el SMBD. Ejemplo: edad es de tipo Entero siempre positivo entre 0 y 120.
3. Integridad de entidad o de dependencias funcionales: Se refiere al hecho de tener
un atributo que est determinado por uno o varios atributos. Estas restricciones estn
aseguradas con la normalizacin de las tablas de la BD. Ningn componente de una
clave primaria puede contener valores nulos. Ningn componente de una clave
fornea debe permitir un valor nulo por inaplicable, aunque si puede permitir valor
nulo por desconocimiento de informacin. Ejemplo: cedula determina edad.
4. Dependencias multivaluadas: Son aquellas donde uno o varios atributos
multideterminan un atributo. Estas estn aseguradas con la normalizacin de las
tablas de la BD. Ejemplo: cedulaEstudiante multidetermina deportePractica.
5. Integridad referencial: Son las dependencias de inclusin en varias tablas o de
claves forneas. Para cada clave fornea debe existir un valor equivalente de una
clave primaria y en el mismo dominio. Ejemplo: Se tienen las tablas Carro(placa,
modelo, color) y ModeloMarca(modelo, marca), en ellas observamos que el atributo
modelo es clave en la tabla ModeloMarca y est incluida en la tabla Carro, por tanto
el atributo modelo es una clave fornea en la relacin Carro.
6. Restricciones aritmticas: Son las expresiones aritmticas que deben cumplir
algunos atributos de una tabla o que involucra a varias tablas de la BD. Ejemplo: En
la BD formada por las tablas siguientes:

Producto(codPro, nomPro, cantExistencia, color)

Venta(codVen, nomCli, codProVen, cantVen, fechaVen)

Compra(codCom, fechaCom, codProCom, cantCom, nomProveedor)

Para todo producto identificado con su cdigo codPro de la tabla Producto, la


cantExistencia debe ser mayor que la cantidad vendida cantVen para el producto
codProVen, ya que no se puede vender una cantidad de producto mayor que la que se
tiene en existencia.

7. Valores invariantes que no son posibles de expresar en el esquema: Ejemplo:


Tomando la BD descrita anteriormente, se tiene que en todo momento la cantidad
comprada menos la cantidad vendida debe ser igual a la cantidad en existencia
(cantCom - cantVen = cantExistencia), para cada producto presente en la BD.
8. Restricciones temporales: Son aquellas aserciones que deben ser cumplidas
peridicamente o en momentos especficos. Ejemplo: En una BD de trasacciones
bancarias al finalizar cada mes, el saldo de cada cuenta debe ser igual a la suma de
de depsitos en la cuenta menos la suma de los retiros de la cuenta.

También podría gustarte