• No se han encontrado resultados

MODELO RELACIONAL Y PASAJE MER A RELACIONAL

N/A
N/A
Protected

Academic year: 2021

Share "MODELO RELACIONAL Y PASAJE MER A RELACIONAL"

Copied!
13
0
0

Texto completo

(1)

MODELO RELACIONAL

Y PASAJE MER A

RELACIONAL

Maestría en Bioinformática – 2010

Conceptos Generales

Es un Modelo de Datos Lógico

Se usa como Modelo implementado por DBMS

Creado por Codd en 1970

Se comenzó con una definición teórica

Se proponía un modelo con fuertes elementos

matemáticos para BDs

Actualmente es modelo lógico dominante

(2)

Conceptos Generales

Vision Informal del Modelo.

Las estructuras consisten en TABLAS,

cuyas columnas corresponden a ATRIBUTOS de tipo atómico.

y las filas corresponden a registros de datos.

Las operaciones están fundamentalmente

orientadas a manejo de TABLAS como conjuntos de registros.

Es un modelo de datos extremadamente simple y

claro, que también ha resultado potente para la mayor parte de las aplicaciones de BDs.

Conceptos Generales

Dominio D

Es un conjunto de valores atómicos

Esquema de relacion R(A1,...,An) R es el nombre de relación

A1,...,Anson los atributos con dominios D1,...,Dn Relación r(R)

Es una instancia de un esquema de relacion R Consiste en un conjunto de t-uplas (o tuplas)

r = {<a1,...,an> , <b1,...,bn>, <c1,...,cn> ,.... }

También puede interpretarse a r como:

(3)

Ejemplos

Esquema de relación:

FABRICANTES(#fabricante, nombre, direccion)

Dominio de los atributos:

nombre y dirección son del tipo STRING #fabricante es un NUMERO

Una instancia de la relación FABRICANTES:

Una tupla de la relación FABRICANTES:

<“12”,”Ana Pérez”,”Avda. A 2134”>

#fabricante Nombre Dir

12 Ana Pérez Avda. A 2134 24 Luis Rodriguez Calle B 1445

Conceptos Generales

Esquema de BD Relacional o Esquema

Relacional:

Conjunto de esquemas de relación

Ejemplo de esquema de BD relacional:

FABRICANTES(#fabricante, nombre, direccion) PRODUCTOS(#producto, descripcion)

(4)

Ejemplo de instancia de BD

Relacional

Características de Relaciones

Son conjuntos de tuplas que:

No están ordenados No hay repetidos

Valores de Atributos en tuplas:

Son valores atómicos (indivisibles).

Propiedad: primera forma normal. Atributos ordenados o no?

(5)

RI en el Modelo Relacional (I)

Restricciones de Dominio:

Restricciones de tipo en los Di.

Superclave y Clave:

Dado R(A1,...,An), se dice que X ⊆ {A1,...,An} es

superclave en un esquema R, si no puede existir

ninguna r(R) tal que tenga dos tuplas con valores iguales de X (t[X] = t`[X]).

Una clave es una superclave que no contiene

propiamente una superclave (o sea minimal). Ejemplo:

#fabricante es clave en FABRICANTES

RI en el Modelo Relacional (II)

Integridad Referencial y Foreign Keys.

Dado R, un conjunto de atributos X es una

FK de R si:

Los atributos de X coinciden en dominio con

los de una clave Y de S

Los valores de X en tuplas de r(R) (para toda

r) corresponden a valores de Y en la relación s(S)

Ejemplo:

VENTAS.#fabricante FK

(6)

RI en el Modelo Relacional (III)

Una BD se considera válida si todas las

relaciones r satisfacen las RIs

Las RI surgen de la observación de la realidad,

NO de la observación de relaciones

Las RI se definen a nivel del ESQUEMA

RELACIÓN, NO a nivel de instancia

Las RI son violadas por las instancias,

NO por los esquemas de relación

Operaciones de modificación (I)

Sea R(A,B,C) y r(R),

Insert.

insert <a,b,c> into R

Incluye la tupla <a,b,c> en la relación r.

Las tuplas insertadas deben cumplir las RI.

Delete.

Delete from R where A=''a''

borra de las tuplas de r cuyo valor para A es ''a''.

Borrar tuplas puede generar violaciones a RI,

(7)

Operaciones de modificación (II)

Update.

Sea R(A,B,C) y r(R),

update R set A = ''a1'' where B = ''b''

modifica las tuplas de r cuyo valor de B es ''b'‘, colocando “a1” como valor de A.

Actualizar tuplas puede generar violaciones a RI,

¿En qué casos ?

Pasaje de MER a Modelo

Relacional

Una o más reglas para cada estructura del

MER:

Entidades Fuertes y Atributos Relaciones

Agregaciones Entidades Débiles Categorizaciones

(8)

Entidades Fuertes

Para cada entidad se crea una tabla con las

siguientes reglas:

Por cada atributo simple se coloca un atributo en la

tabla

Se selecciona un atributo determinante para clave Para cada atributo estructurado se pone un atributo

por cada “hoja” de la estructura

Por cada atributo multivalorado se agrega una tabla

que contiene el determinante de la entidad y el atributo multivalorado.

Si es estructurado, se incluyen directamente sus componentes.

La clave de esa tabla está formada por todos los atributos

Entidades Fuertes: ejemplo

PERSONAL(cedula, nombre, edad)

Personal nombre dirección teléfono* ciudad calle número cédula edad

PERSONAL(cedula, nombre, edad, ciudad, calle,

numero)

(9)

Relaciones (I)

Para cada relación se construye una tabla con las

siguientes reglas:

Se coloca la clave primaria de las tablas de cada una de

las entidades participantes.

Se tratan los atributos de la relación como si fueran los

de una entidad.

Si la relación es N:N:…N (Todas N), entonces la clave de

la tabla está formada por los atributos correspondientes a los atributos determinantes de las entidades

participantes.

Si en la cardinalidad aparece algún 1, entonces se

definen múltiples claves. Cada una de esas claves se construye tomando todos los atributos correspondientes a los determinantes excepto uno de los que participan con cardinalidad 1.

Relaciones (I): ejemplo

SALAS (nombre, cant_camas)

PERSONAL (cedula, nombre, ciudad, calle,

numero)

TELEFONOS (cedula, telefono)

Personal cedula nombre dirección teléfono* ciudad calle número Salas nombre cant. camas trabajan horario entrada salida

TRABAJAN (nombreSala, cedula)

TRABAJAN (nombreSala, cedula, entrada,

salida)

(10)

Relaciones (II)

Por cada entidad participante, se agrega una

dependencia de inclusión por cada participante:

Si R es la tabla de la relación y Q la tabla de un

participante: Πq_pk(R) ⊆ Πq_pk(Q) Donde q_pk es la clave primaria de Q en R y en Q.

Si la relación R es total sobre Q, entonces se agrega

también la inclusión al revés: Πq_pk(Q) ⊆ Πq_pk(R).

EJEMPLO:

ΠnombreSala(TRABAJAN) ⊆ Πnombre(SALAS) Πcedula(TRABAJAN) ⊆ Πcedula(PERSONAL)

Πcedula(PERSONAL) ⊆ Πcedula(TRABAJAN)

Relaciones (III)

Si la relación es binaria, N:1 y total del lado N,

entonces se puede fusionar la tabla de la relación con la de la entidad del lado N.

Personal cedula nombre direcció n teléfono* ciudad calle número Salas nombre cant. camas trabajan horario entrada salida 1 N

SALAS (nombre, cant_camas)

PERSONAL (cedula, nombre, ciudad, calle,

(11)

Agregaciones

Personal cedula nombre dirección teléfono* ciudad calle número Salas nombre cant. camas trabajan horario entrada salida

realizan Tareas nombre

descripción

N N

N

N

TRABAJAN(nombreSala, cedula, hEntrada, hSalida) TAREAS(nombreTarea, descripcion)

REALIZAN(nombreSala, cedula, nombreTarea)

Otro ejemplo

SALAS (nombre, cant_camas)

PERSONAL (cedula, nombre, ciudad, calle, numero, nombreSala, hEntrada, hSalida)

TAREAS(nombreTarea, descripcion) REALIZAN(cedula, nombreTarea)

Πcedula(REALIZAN) ⊆ Πcedula(PERSONAL) ΠnombreTarea(REALIZAN) ⊆ ΠnombreTarea(TAREAS) ΠnombreSala(PERSONAL) ⊆ Πnombre(SALAS)

Personal cedula nombre dirección teléfono* ciudad calle número Salas nombre cant. camas trabajan

realizan Tareas nombre

descripción

1 N

N N

(12)

Entidades Débiles

Son casos particulares de relaciones N:1. De esta forma se agrega en la tabla

correspondiente a la entidad débil, la clave primaria de la tabla de la entidad fuerte, la que pasa formar parte de la clave.

H-S

1 N

HOSPITALES(codigoHosp, nombre, dir, tel) SALAS(codigoHosp, nomSala, #camas)

Categorizaciones

Solución general:

Una tabla para la super entidad

Una tabla por cada sub entidad (referenciando a la

super entidad)

Restricciones con dependencias de inclusión

Es bueno tener en cuenta las restricciones de

solapamiento y completitud.

Si es completa:

Pueden implementarse tablas para las categorías y

(13)

Referencias

“Fundamentals of Database Systems 3th Ed.”,

Elmasri & Navathe, Addison Wesley, 2000. (cap. 7 y 9)

Curso Fundamentos de Bases de Datos,

INCO,

Referencias

Documento similar