Вы находитесь на странице: 1из 18

El Modelo Relacional

• Base de Datos - Colección de Relaciones

• Relación - similar a una tabla


• Tabla - relación

• Filas - tuplas

• Encabezados de Columnas - atributos

• Tipo de Datos de la Columna - dominio

• Sin embargo ...


• no hay repetidas y no importa el orden

• no hay atributos compuestos ni multivaluados

• valores nulos

Prof. Jaime Navón BD2006 19


Esquema de una Relación

• Esquema de una Relación - plantilla

• Notación: R (A1, A2, …, An)

• R - Nombre de la Relación

• Ai - Atributo i-ésimo

• Ejemplo: ESTUDANTE (Nombre, RUT, Fono1, Dirección, Fono2, Edad, Prom)

• Instancia del Esquema R - la tabla

• Notación: r(R)

• Ejemplo:
Nombre RUT Fono1 Dirección Fono2 Edad Prom
Juan Perez 8.567.789-1 211 3333 Ecuadior 111 nulo 19 4.58
José Gomez 7.111.222-4 233 4566 Av Matta 123 211 3322 20 5.35
... ... ... ... ... ... ...

Prof. Jaime Navón BD2006 20


Restricciones de Integridad

• Esquema de la BD incluye :

• esquemas de todas las relaciones

• conjunto de restricciones de integridad

• Restricciones de Integridad

• de dominio (mes entre 1 y 12)

• restricciones de clave (no hay claves repetidas ni nulas)

• referencial (se definen entre dos tablas)

• Definiciones Asociadas a Claves

Prof. Jaime Navón BD2006 21


Claves

• Superclave

• uno o más atributos que permiten identificar en forma única a la tupla

• Clave

• superclave minimal (no se le puede quitar ningún atributo)

• Clave candidata

• cualquier clave

• Clave Primaria

• clave escogida para identificar las tuplas

Prof. Jaime Navón BD2006 22


Integridad Referencial

• asegura la consistencia entre tuplas de dos relaciones vinculadas

• si una tupla en una relación R1 hace referencia a otra de una relación R2, ésta última debe
existir.

• clave externa (o foránea)

• conjunto de atributos CE de R1 que:

• tienen el mismo dominio que los atributos de la clave primaria CP de otra relación R2

• un valor de CE en una tupla t1 de R1 ocurre como valor de CP en alguna tupla de R2, o es nulo

Prof. Jaime Navón BD2006 23


Ejemplo

NúmeroDepto NombreDepto NúmeroProyecto Lugar NúmeroDep

1234 Ingeniería 001 Temuco 1234


1235 Estudios 002 Santiago 1234
005 Concepción 2332
008 Santiago ---
004 Temuco 1236

Prof. Jaime Navón BD2006 24


E-R a Relacional

• entidad normal E

• crear una relación R con todos los atributos simples de E (si hay atributos compuestos
poner las componentes)

• elegir uno de los atributos clave de E como clave primaria de R (si es compuesto, el
conjunto de esos atributos será la clave primaria

• entidad débil D

• crear una relación R con todos los atributos simples de D

• incluir como atributos de clave externa de R los atributos de clave primaria de la


entidades propietaria

• a clave primaria de R es la combinación de las claves primarias propietarias y la clave


parcial de D si existe.

Prof. Jaime Navón BD2006 25


• vínculos binarios 1:1

• identificar las relaciones S y T participantes

• incluir en S clave primaria de T o viceversa (es preferible que la primera corresponda


a una entidad con participación total en el vínculo)

• agregar atributos simples del vínculo

• vínculos binarios 1:N

• identificar relación S del lado N. Se

• incluir en S la clave primaria de la otra (lado 1) como clave externa

• agregar a S atributos simples del vínculo

• vínculos N:N

• crear nueva relación S

• clave primaria de S es unión de claves primarias de las dos relaciones

• agregar los atributos simples del vínculo.

Prof. Jaime Navón BD2006 26


• atributo multivaluado A

• crear una nueva relación R que contiene a la clave primaria de la entidad o vínculo a que A
pertenece más el atributo A mismo

• todo pasa a ser clave primaria

• vínculo n-ario (n>2)

• crear relación S con claves primarias de los participantes

• incluir los atributos simples del vínculo

• clave primaria de S es la combinación de todas las claves externas

Prof. Jaime Navón BD2006 27


Vuelta al Ejemplo …

Dirección
Nombres
RUT
Ap Paterno Ap Materno
salario Numero
sexo
Nombre Lugar
nombre

1..N
Pertenece_A
Empleado 1..1
1..1 Depto.
1..1 * fechaInic
1..1
Supervisa 0..1
Dirige
1..1
1..* Controla
horas
*
Dependientes_De Trabaja_En Proyecto
1..*

*
nombre lugar
Dependiente
número

parentesco. nombre sexo fecha nac.

Prof. Jaime Navón BD2006 28


Entidades Simples

Dirección
Nombres RUT
Ap Paterno Ap Materno
salario
sexo
nombre

Empleado EMPLEADO(NOMBRE, AP_PAT, AP_MAT, SEXO, RUT, SALARIO)

nombre numero lugar

DEPTO (NOMBRE, NUMERO)


Depto.
* lugar se omite por ser multivaluado

Proyecto
PROYECTO (NOMBRE, NUMERO, LUGAR)

nombre lugar

número

Prof. Jaime Navón BD2006 29


Entidades Débiles
DEPENDIENTE (RUT_EMP, NOMBRE, SEXO, FECHA_NAC, PARENTESCO)

(Clave primaria de propietaria incluida como clave externa)

Dirección
Nombres
RUT
Ap Paterno Ap Materno Numero
salario
sexo
Nombre Lugar
nombre

Empleado
Depto.

Dependientes_De
Proyecto

nombre lugar
Dependiente
número

parentesco. nombre sexo fecha nac.

Prof. Jaime Navón BD2006 30


Vínculos 1:1

DEPTO (NOMBRE, NUMERO, RUT_GTE, FECHA_INIC)

Dirección
Nombres
RUT
Ap Paterno Ap Materno Numero
salario
sexo
Nombre Lugar
nombre

Empleado
Depto.
1..1 fechaInic

0..1
Dirige

Dependientes_De
Proyecto

nombre lugar
Dependiente
número

parentesco. nombre sexo fecha nac.

Prof. Jaime Navón BD2006 31


Vínculos 1:N

Pertenece => EMPLEADO(NOMBRE, AP_PAT, AP_MAT, SEXO, RUT, SALARIO, ND)


Controla => PROYECTO(NOMBRE, NUMERO, LUGAR, N_DEPTO)

Supervisa => EMPLEADO(NOMBRE, AP_PAT, AP_MAT, SEXO, RUT, SALARIO, ND, RUT_SUP)

Dirección
Nombres
RUT
Ap Paterno Ap Materno Numero
salario
sexo
Nombre Lugar
nombre

1..N
Empleado Pertenece_A 1..1

Depto.
1..1 * 1..1 fechaInic
1..1

Supervisa 0..1 Controla


Dirige

*
Dependientes_De
Proyecto

nombre lugar
Dependiente
número

parentesco. nombre sexo fecha nac.

Prof. Jaime Navón BD2006 32


Vínculos N:N

Vínculo N:N trabaja_en genera nueva relación TRABAJA(NUMERO_PROY, RUT, HORAS)

Dirección
Nombres
RUT
Ap Paterno Ap Materno Numero
salario
sexo
Nombre Lugar
nombre

1..N
Empleado Pertenece_A 1..1

Depto.
1..1 * 1..1 fechaInic
1..1

Supervisa
1..* 0..1 Controla
Dirige

*
Dependientes_De
Trabaja_En Proyecto
1..*

horas nombre lugar


Dependiente
número

parentesco. nombre sexo fecha nac.

Prof. Jaime Navón BD2006 33


Atributos Multivaluados
Atributos multivaluado Lugar en Entidad Depto genera nueva relación
LUGARES_DEPTOS(NUMERO_DEPTO, LUGAR)

NOMBRE NUMERO RUT_GTE FECHA_INICIO LUGAR


Ventas 001 7029899 28/01/01 Tco, Stgo
Finanzas 002 8923331 21/12/02 Stgo, Talca

NOMBRE NUMERO RUT_GTE FECHA_INICIO NUMERO LUGAR


Ventas 001 7029899 28/01/01 001 Tco
Finanzas 002 8923331 21/12/02 001 Stgo
002 Stgo
002 Talca

Prof. Jaime Navón BD2006 34


Esquema Final

EMPLEADO(NOMBRE, AP_PAT, AP_MAT, SEXO, RUT, SALARIO, ND, RUT_SUP)

DEPENDIENTE (RUT_EMP, NOMBRE, SEXO, FECHA_NAC, PARENTESCO)

DEPTO (NOMBRE, NUMERO, RUT_GTE, FECHA_INIC)

PROYECTO(NOMBRE, NUMERO, LUGAR, N_DEPTO)

TRABAJA(NUMERO_PROY, RUT, HORAS)

LUGARES_DEPTOS(NUMERO_DEPTO, LUGAR)

Prof. Jaime Navón BD2006 35


El Esquema final debe incluir las restricciones de
integridad ...

EMPLEADO(NOMBRE, AP_PAT, AP_MAT, SEXO, RUT, SALARIO, ND, RUT_SUP)


DEPTO (NOMBRE, NUMERO, RUT_GTE, FECHA_INIC)
LUGARES_DEPTOS(NUMERO_DEPTO, LUGAR)
PROYECTO(NOMBRE, NUMERO, LUGAR, N_DEPTO)
TRABAJA(NUMERO_PROY, RUT, HORAS)
DEPENDIENTE (RUT_EMP, NOMBRE, SEXO, FECHA_NAC, PARENTESCO)

NOMBRE INIC APELLIDO RUT FECHAN DIRECCION SEXO SALARIO RUTSUPER ND

NOMBRED NUMEROD RUTGTE FECHAINICGTE

NUMERO LUGARD

NOMBREP NUMEROP LUGARP NUMEROD

RUT NUMP HORAS

RUT NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO

Prof. Jaime Navón BD2006 36

Вам также может понравиться