Sie sind auf Seite 1von 40

2.

Modelo relacional de
datos
Objetivos
Comprender los principios estructurales del modelo
de datos relacional formal
Entender los conceptos integridad de entidad e
integridad referencial, y apreciar su importancia
Entender los significados e implicaciones del
concepto nulo en el modelo relacional
Comprender el concepto vista relacional, y la
problemtica asociada a la modificacin de datos a
travs de vistas
Conocer los lenguajes formales lgebra relacional y
clculo relacional de tuplas, as como el lenguaje
relacional estndar SQL-92
Tema 2. Modelo relacional de datos

2. Modelo relacional de
datos
Contenidos
2.1 Presentacin y orgenes del modelo relacional
2.2 Estructura de datos relacional
2.3 Caractersticas generales de integridad de
datos
2.4 Manipulacin de datos: lenguajes relacionales
2.4.1 lgebra relacional
2.4.2 Clculo relacional de tuplas
2.4.3 SQL-92
Tema 2. Modelo relacional de datos

2. Modelo relacional de datos


Bibliografa
[EN 2002]
Elmasri, R.; Navathe, S.B.: Fundamentos de
Sistemas de Bases de Datos. 3 Edicin. AddisonWesley. (Cap. 7, 8 y 9)
[EN 1997]
Elmasri, R.; Navathe, S.B.: Sistemas de bases
de datos. Conceptos fundamentales. 2 Edicin.
Addison-Wesley Iberoamericana. (Cap. 6 y 7)
[D 2001]

Date, C.J.: Introduccin a los sistemas de bases de datos.


7 Edicin. Prentice-Hall. (Cap. 3 al 9)
[SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.: Fundamentos de
bases de datos. 3 Edicin. McGraw-Hill. (Cap. 3 y 4)
...

Tema 2. Modelo relacional de datos

2.1 Presentacin y orgenes del MR


Introducido por Codd, 1970
Es un Modelo de Datos Lgico - de Representacin (basado en registros)
El modelo ms usado en las aplicaciones comerciales
de procesamiento de datos convencional
Dividido en 3 partes:
1. Estructura de Datos
2. Integridad de Datos (caractersticas generales)
3. Manipulacin de Datos
Tema 2. Modelo relacional de datos

2.2 Estructura de datos relacional


Base de Datos = Conjunto de Relaciones
Relacin
Estructura de datos fundamental del modelo
Tiene un nombre y representa una entidad genrica
Conjunto de tuplas
Cada tupla representa una entidad concreta

Compuesta de atributos con nombre (y dominio)


Cada atributo representa un atributo de la entidad

Representada mediante una tabla con filas y columnas

Modelo basado en Teora matemtica


Analoga entre Relacin (concepto matemtico) y Tabla
Teora de Conjuntos y Lgica de Predicados de 1er orden
Slida Base Formal

Tema 2. Modelo relacional de datos

2.2 Estructura de datos


relacional
La relacin
dominios

PELICULA
Ttulos
--- ----- ---

Nombres
--- ----- ---

Gneros

Aos

Ciencia-ficcin,
Drama,Thriller,
Comedia...

2002, 1997,
1999, 2001,
1994, 1972...

Pases
Italia,Argentina,
Espaa, EEUU,
Francia,Japn..

director

gnero

rodaje

nacionalida
d

duracin

Amores Perros

A. Gonzlez

Drama

2000

Mxico

145

A. Wachowsky Ciencia-ficcin 1999

EEUU

138

cardinalid
ad

ttulo

The Matrix
Torrente

S. Segura

Comedia

1997

Espaa

110

Nos miran

N. Lpez

Policiaco

2001

Espaa

118

Amelie

J. P. Jeunet

Comedia

2001

Francia

122

Los lunes al sol

F. Len

Drama

2002

Espaa

117

atributos
Tema 2. Modelo relacional de datos

grad
o

Tiempo
--- ----- ---

tupla
s

2.2 Estructura de datos relacional


Trminos bsicos
Procesamiento
de Ficheros

Modelo Relacional
Formal

SQL-92

Relacin

Tabla

Fichero

Fila

Registro
concreto

Tupla

Si la tupla t est en la
relacin R, entonces tR

Atributo

Debe tener un nombre


nico dentro de cada
relacin

Cardinalida
d

n de tuplas en una
relacin

Grado

n atributos en una
relacin

Dominio

coleccin de valores
permitidos para ciertos
atributos

Tema 2. Modelo relacional de datos

cabecera de

Columna

Nombre de

Campo de
registro

2.2 Estructura de datos


relacional

Definiciones formales: DOMINIO


Conjunto de valores atmicos del mismo tipo,
donde toman su valor los atributos
La definicin de dominios forma parte de la definicin de la
BD
Cada atributo definido sobre un NICO dominio
OBLIGATORIO
Si A, B representan un mismo concepto, A y B con mismo
dominio
Dominio D puede contener valores no tomados por ningn
atributo

{valores de A} Dominio(A)
Comparaciones Restringidas a Dominio
Tema 2.
Modelo
relacional de datosde
La comparacin

dos atributos slo tiene sentido si

2.2 Estructura de datos


relacional

Definiciones formales: RELACIN (1)


Una relacin R, sobre conjunto de dominios D1, D2 ...
Dn
se compone de dos partes:
Esquema o Cabecera
Conjunto de pares Atributo:Dominio

{ (A1:D1), (A2:D2) ... (An:Dn) }


Cada

Aj tiene asociado slo un Dj

Los Di no tienen por qu ser distintos entre s

Estado, Cuerpo o Instancia


Conjunto de tuplas que contiene en un instante
concreto
Tema 2. Modelo relacional de datos

2.2 Estructura de datos


relacional

Definiciones formales: RELACIN (2)

Un esquema de relacin:

PELICULA (titulo:Titulos, duracion:Tiempo, director:Nombres, estreno:Fechas)


Un estado de la relacin:

{ { (titulo:Torrente), (duracion:110), (director:S.Segura), (estreno:1997) }


{ (titulo:The Matrix), (duracion:138), (director:A.Wachowski), (estreno:1999) }
... }
El estado de una relacin es variable en el tiempo
nuevas tuplas, modificacin o borrado de existentes
El esquema no suele variar
costoso:
reescritura de miles de tuplas
valores de nuevos atributos para tuplas ya
existentes?
Suele incluir un conjunto de Reglas de Integridad (se
Tema 2. Modelo
relacional de datos
ver)

10

2.2 Estructura de datos


relacional

Definiciones formales: RELACIN (3)


Propiedades de una Relacin
1.

No existen tuplas repetidas

2.

Las tuplas no estn

3.

Los atributos no estn ordenados

estado = conjunto
ordenadasmatemtico de
tuplas

esquema = conjunto de pares Atributo:Dominio


4.

Los valores de atributos son Atmicos


dominio = conjunto de valores atmicos
Interseccin fila/columna = un solo valor (no lista de
valores)
Si R cumple esta propiedad, R est en 1FN

Tema 2. Modelo relacional de datos

11

2.2 Estructura de datos


relacional

Definiciones formales: RELACIN (4)


FORMAS NORMALES
R est en <determinada> FN si
cumple <cierto> conjunto de condiciones o
restricciones
necesarias para estar bien diseada
de acuerdo con el modelo relacional de datos.

Toda relacin ha de estar en 1FN (estructura de datos


simple)

Tema 2. Modelo relacional de datos

12

2.2 Estructura de datos


relacional

Definiciones formales: RELACIN (5)

Relacin vs. Tabla


Relacin: Representacin abstracta de un elemento de
datos

Tabla: Representacin concreta de tal elemento abstracto


Ventajas
Representacin muy sencilla (tabla) del elemento
abstracto bsico (relacin) del Modelo Relacional
Fcil de utilizar, entender, razonar...
Inconveniente
Aparente orden entre filas y entre columnas de la tabla

Tema 2. Modelo relacional de datos

13

2.2 Estructura de datos


relacional
Definiciones formales: BD
RELACIONAL (1)

Percibida por usuarios como una coleccin de


relaciones
de diversos grados (n de atributos)
que varan con el tiempo (n de tuplas, estado)

Las relaciones (tablas) son la estructura lgica de


la BD
Niveles externo y conceptual ANSI/X3/SPARC
Toda BDR cumple el Principio de Informacin:
Todo contenido de informacin de la BD est representado
de una y slo una forma: como valores explcitos
dentro de posiciones de columnas dentro de filas dentro de tablas
Conexin lgica entre Relaciones (vnculo o
interrelacin
)
Tema 2.
Modelo relacional de datos

14

2.2 Estructura de datos


relacional
Definiciones formales: BD
RELACIONAL (2)
En una BDR distinguimos...
Esquema de base de datos

Descripcin de la base de datos


Conjunto de esquemas de relacin
PELICULA ( titulo:Ttulos, director:Nombres, gnero:Gneros,
rodaje:Aos, nacionalidad:Pases, duracin:Tiempo )
ACTOR
( nombre:Nombres, nombreArtistico: Nombres,
agente:Nombres, cache:Dinero )
DIRECTOR ( nombre:Nombres, nacionalidad:Pases, operaPrima:Ttulos )
...

Estado o instancia de base de datos


Visin del contenido de la base de datos en cierto
instante
Conjunto de estados de relacin
Tema 2. Modelo relacional de datos

15

2.3 Caractersticas generales de


integridad de datos
Todo estado de BD refleja la realidad
es un modelo de una porcin del mundo real
(minimundo)

Algunas configuraciones de valores NO tienen


SENTIDO
pues no representan ningn estado posible del
minimundo

2 personas distintas con el mismo DNI


Un empleado sin NSS
Un alumno con -29 aos
Una pelcula sin director
Definicin de la BD (esquema) necesita incluir

REGLAS DE INTEGRIDAD

Tema 2. Modelo relacional de datos

16

2.3 Caractersticas generales de


integridad de datos
Reglas de integridad
Informan al SGBD de restricciones del mundo
real
As, el SGBD evita configuraciones de datos
imposibles
Aumentan la capacidad expresiva del modelo
relacional
Cumplen que:
Forman parte de la base de datos
Se cumplen para cualquier estado de la BD
No varan con el tiempo
Son especficas de cada BD particular, pero el
Modelo Relacional incluye...
Claves Candidatas
y Primarias
caractersticas generales
de integridad
17
Ajenas
forneas
Tema 2. Modelo relacional
de datos
importantes
y Claves
necesarias
en (o
toda
BD o externas)

2.3 Caractersticas generales de


integridad de datos
Superclave y Clave de una relacin
Sea R una relacin

R(A1:D1 , A2:D2 ,... An:Dn )

Una superclave de R es un subconjunto SK de


atributos tal que cumple la restriccin de Unicidad:
No existen dos tuplas distintas con la misma
combinacin de valores para SK
Una clave de R es una superclave tal que cumple
la restriccin de Irreductibilidad:
Ningn subconjunto de CK cumple la r. Unicidad
Clave Simple (1 atributo) o Compuesta (varios atributos)
Cada clave es una restriccin de integridad
Tema 2. Modelo relacional de datos

18

2.3 Caractersticas generales de


integridad de datos
Superclave y Clave: Ejemplos
Claves como restriccin de integridad
CLIENTE (codCliente, nombre, ciudad, telefono,...)
Qu implicaciones tiene establecer como clave...
a) CK = {codCliente, ciudad}
b) CK = {codCliente}
?

Varias claves en una relacin


Relacin para registrar las visitas de pacientes a sus mdicos de familia. Un mismo
paciente puede visitar a su mdico varias veces en un mismo da
VISITAMEDICA (nssPaciente, historial, fecha, hora, numVisita, medico, observ)
Claves (VISITAMEDICA)={ {nssPaciente, numVisita}, {nssPaciente, fecha, hora},
{historial, numVisita}, {historial, fecha, hora} }

Tema 2. Modelo relacional de datos

19

2.3 Caractersticas generales de


integridad de datos
Clave Candidata, Primaria y
Alternativa
Si R tiene varias claves Claves Candidatas
Claves (ACTOR) = { {nombre}, {nombreArtistico} }
Claves (EMPLEADO) = { {dni}, {nombre, fechaNac}, {nss} }

La Clave Primaria (Primary Key, PK ) es la clave


candidata elegida para identificar las tuplas de R
Clave Primaria (ACTOR) = {nombreArtistico}
Clave Primaria (EMPLEADO) = {nss}

Las Claves Alternativas (Alternative Keys, AK) son el


resto de claves candidatas
Claves Alternativas (ACTOR) = {nombre}
Claves Alternativas (EMPLEADO) = { {dni}, {nombre, fechaNac} }
Tema 2. Modelo relacional de datos

20

2.3 Caractersticas generales de


integridad de datos
Clave Ajena (Externa o Fornea)
Conjunto de atributos FK de una relacin R2, tal
que:
1. Existe otra relacin R1 con clave primaria PK , y
2. Cada valor de FK en R2 es idntico al de PK en alguna
tupla de R1

Conjunto de atributos de una relacin que hace


referencia a la clave primaria de otra relacin (o la
misma)
PELICULA (ttulo, gnero, duracin, director, ...)
DIRECTOR (nombre, nacionalidad, ...)
EMPLEADO (codEmp, nombre, jefe, nss, ...)
LIBRO (ttulo, isbn, autor, editorial, edicin, ao, ...)

Tema 2. Modelo relacional de datos

21

2.3 Caractersticas generales de


integridad de datos
Clave Ajena (Externa o Fornea)

(2)

Cada componente de una FK debe estar


definido sobre el mismo dominio que el
correspondiente atributo de la PK a la que
referencia
PACIENTE (nss, nombre, direccin, ...)
HISTORIAL (nss, especialidad, fechaApert, ...)
VISITA (nss, especialidad, numVisita, fecha, ...)

Clave Ajena Simple o Compuesta


El uso de Claves Ajenas facilita...
Eliminacin de la Redundancia: Integridad entre ficheros
Mecanismo del Modelo Relacional de datos para establecer
VNCULOS ENTRE RELACIONES
Tema 2. Modelo relacional de datos

22

2.3 Caractersticas generales de


integridad de datos
Clave Ajena (Externa o Fornea)
Cada cliente slo puede tener una
cuenta a su nombre.
Una cuenta puede tener ms de
un cliente como titular.

CUENTA nmero saldo ..


.

200

35000

505

40000

821

50000

direccin

ciudad

...
cuenta

Garca, A

Gran Va, 6

Murcia

200

Lpez, B

Ronda Norte, 3 Murcia

821

Azorn, C

Paseo Nuevo, 9 Valencia

505

Prez, C

Plaza Mayor, 2

505

CLIENTE nombre

(3)

Valencia

Vnculo
Cliente-Cuenta

...
Tema 2. Modelo relacional de datos

23

2.3 Caractersticas generales de


integridad de datos
Clave Ajena (Externa o Fornea)

(4)

Restriccin de Integridad Referencial


Todo valor de una FK debe coincidir
con un valor en la correspondiente PK
La BD no debe contener claves ajenas sin
correspondencia:

Si una tupla en una relacin hace referencia a otra relacin,


debe referirse a una tupla
FK existente en esa relacin
ARTICULO

ESCRITOR

Puede existir algn valor de PK al que NO haga


referencia
ningn valor de la FK

ESCRITOR
quedeno
haya
Tema 2. Modelo
relacional
datos

escrito artculos: ninguna tupla de

24

2.3 Caractersticas generales de


integridad de datos
Clave Ajena (Externa o Fornea)

(y 5)

Diagrama Referencial
Expresin de la existencia de Claves Ajenas

Camino Referencial
LIBRO

ttulo isbn autor editorial ...

ESCRITOR

dni nombre ... editorial

ARTICULO

ttulo tema autor revista pg ...

Ciclo Referencial

EDITORIAL nombre direccin ...

EMPL codEmp ... dep

DEPTO codDep ... dire

Camino que empieza y acaba en la misma relacin


Caso especial: AutorreferenciaEMPLEADO codEmp ... jefe
Tema 2. Modelo relacional de datos

25

2.3 Caractersticas generales de


integridad de datos
Mantenimiento de la Integridad
Referencial
Las operaciones que no satisfacen violan la
Integridad Referencial, dejan la BD en un estado
incorrecto
Ejemplo de un Hotel:
Qu pasara si se eliminara la tupla (501, D, ...) en
HABITACIN?
Y si se eliminara la tupla (100, D, ...)?
HABITACIN numHabit tipo ...
OCUPACIN codClie habit ...
Y si se anotara la ocupacin de la habitacin 900?
CLI04

100

115

CLI02

420

420

CLI05

115

100

CLI10

100

304

405

501

Tema 2. Modelo relacional de datos

26

2.3 Caractersticas generales de


integridad de datos
Mantenimiento de la Integridad
Referencial
(2)
Cmo evita el
SGBD esos estados incorrectos?
El SGBD puede...
Rechazar toda operacin que pueda provocar un estado
ilegal, o
Aceptar (y ejecutar) tales operaciones, pero

realizar
datos

acciones que restauren la integridad de los

Diseador de la BD puede especificar al SGBD


Acciones de Mantenimiento
de la Integridad Referencial
para que la BD SIEMPRE alcance un estado final
legal
Tema 2. Modelo
relacional de datos

27

2.3 Caractersticas generales de


integridad de datos
Mantenimiento de la Integridad
Referencial (3)
R2 R1
Operacin:
Eliminar una tupla t de R1 que es
referenciada
por otras de R2
Ejemplo: Eliminar la tupla (100, D, ...) de HABITACIN
Acciones posibles:
1. Rechazar la operacin (accin por defecto)
Slo permite borrar t si ninguna otra tupla hace referencia
at
2. Cascada. Propagar la eliminacin
1 Borrar todas las tuplas de R2 que referencian a t
2 Eliminar t
3. Establecer nulos (* se ver despus *)
Tema 2. Modelo relacional de datos

28

2.3 Caractersticas generales de


integridad de datos
Mantenimiento de la Integridad
Referencial (4)
R2 R1
Operacin:
Modificar el valor de una FK a un
valor no
existente en la PK de R1
Ejemplo: Modificar (CLI02, 420,...) a (CLI02, 900,...) en OCUPACIN
Accin:
1. Rechazar la operacin (SIEMPRE)

Intento de violacin de la restriccin de


Integridad Referencial

Tema 2. Modelo relacional de datos

29

2.3 Caractersticas generales de


integridad de datos
Mantenimiento de la Integridad
Referencial
(5)
Operacin:
Modificar
el valor de la PK de una
tupla t de R1
que es referenciada por otras
tuplas de R2
Ejemplo: Modificar la tupla (100, D,...) a (130, D,...) en HABITACIN
Acciones posibles:
1. Rechazar la operacin (accin por defecto)
Slo permite modificar la PK de t si ninguna tupla
referencia a t
2. Cascada. Propagar la modificacin
- Toda tupla de R2 que referencia a t seguir haciendolo:
modificar su valor de FK al nuevo valor de la PK de t
- Modificar el valor de la clave primaria de t
Establecer
nulos
Tema 2. 3.
Modelo
relacional de datos

(* se ver despus *)

30

2.3 Caractersticas generales de


integridad de datos
Mantenimiento de la Integridad
Referencial (6)
R2 R1
Operacin:
Insercin de una tupla t en R2 cuyo
valor de FK no se corresponde con ningn valor de
la PK en
ninguna tupla de R1
Ejemplo: Insertar una tupla (CLI03, 555, ...) en OCUPACIN
Acciones posibles:
- Rechazar la operacin (SIEMPRE)

Intento de violacin de la restriccin de


Integridad Referencial
Tema 2. Modelo relacional de datos

31

2.3 Caractersticas generales de


integridad de datos
Mantenimiento de la Integridad
Referencial
(y 7)
Encadenamiento
de eliminaciones (anlogo para

Modificacin)
R3 R2 R1
R2 R1, Accin de Eliminacin en Cascada
R3 R2, Accin de Eliminacin X
- Eliminar una tupla de R1 eliminar tuplas de R2 que la
referencian
- Pero existen tuplas en R3 que referencian esas tuplas de
R2...
cmo afecta la Accin de Eliminacin X en esta operacin?
Si X = en CASCADA, no-problemo! eliminar esas tuplas
de R3
Si X = RECHAZAR La operacin completa fallar

Las operaciones de actualizacin en una BD son


siempre atmicas: se realiza TODO o NADA

Tema 2. Modelo relacional de datos

32

2.3 Caractersticas generales de


integridad de datos
Nulos
En el mundo real existe...
informacin perdida
fechaNacimiento desconocida
ausencia de informacin
tiene telfono?
valores no aplicables a ciertos atributos fechJubilac a
empleado activo

Para representar estas situaciones en los sistemas


de BD se utiliza el NULO (null)
Si una tupla tiene un atributo que contiene un nulo,
significa que el valor real de tal atributo es desconocido
Es posible especificar si un atributo puede o no contener
nulo

nulo no es un valor en s mismo,


sino un indicador de ausencia de informacin

Tema 2. Modelo
de datos
Norelacional
hay dos
nulos

iguales (num_telefono NULL edad NULL)

33

2.3 Caractersticas generales de


integridad de datos
Implicaciones de los nulos en la
integridad
Nulo y Claves Primarias
Restriccin de Integridad de Entidad:
Ningn atributo componente de una
clave primaria puede contener nulo
EMPLEADO (codEmp, nss, nombre, telefono, depto, jefe...)
Qu pasara si codEmp pudiera contener NULO?

Nulo y Claves Ajenas


El Modelo Relacional permite nulo
como valor de clave ajena
depto = null empleados no asignados a ningn departamento
jefe = null empleados sin jefe
Tema 2. Modelo relacional de datos

34

2.3 Caractersticas generales de


integridad de datos
Implicaciones de los nulos en la
integridad
(2)
Hemos de extender
la definicin de clave ajena
Sea R2 una relacin. FK es una clave ajena en R2 si es
un subconjunto de sus atributos tal que:
1. Existe otra relacin R1 con clave primaria PK y
2. En todo momento, cada valor de FK en R2
a) es NULO, o
b) es idntico a un valor de PK en alguna tupla de
R1

Restriccin de Integridad Referencial


La Base de Datos no debe contener valores no
nulos
clave
ajena
Tema 2. de
Modelo
relacional
de datossin correspondencia

35

2.3 Caractersticas generales de


integridad de datos
Implicaciones de los nulos en la
integridad
(3)
Hay que extender
algunas acciones de
mantenimiento de la Integridad Referencial:
R2 R1
Operacin:
Eliminar una tupla t de R1 que es
referenciada
por otras de R2
Acciones posibles:
1. Rechazar la operacin (accin por defecto)
2. Cascada. Propagar la eliminacin
3. Establecer nulos
Slo si la FK de R2 permite NULO
- Toda tupla de R2 que referencia a t pasa a contener NULL
en FK
36
- Eliminar
Tema 2. Modelo
relacionalla
de tupla
datos t

2.3 Caractersticas generales de


integridad de datos
Implicaciones de los nulos en la
integridad (y 4)
R2 R1
Operacin:
Modificar el valor de la PK de una
tupla t de R1
que es referenciada por otras
tuplas de R2
Acciones posibles:
1. Rechazar la operacin (accin por defecto)
2. Cascada. Propagar la modificacin
3. Establecer nulos
Slo si la FK de R2 permite NULO
- Toda tupla de R2 que referencia a t pasa a contener NULL
en FK
- Modificar el valor de la PK de t
Tema 2. Modelo relacional de datos

37

2.3 Caractersticas generales de


integridad de datos
Resumiendo, el SGBD se encarga de...
Comprobar las claves candidatas (primaria y alternativas):
No existen dos tuplas distintas con igual valor para una clave
Definicin de BD : indicar los Atributos Componentes de las Claves Candidatas
Comprobar la restriccin de Integridad de entidad
Ningn atributo componente de una clave primaria contiene
nulo
Definicin de BD : indicar los Atributos Componentes de la Clave Primaria
Comprobar la restriccin de Integridad Referencial...
El valor de la clave ajena en cualquier tupla, o es nulo, o
coincide con un valor de clave primaria de alguna tupla en la
relacin referenciada
Definicin de BD : indicar los Atributos Componentes de las Claves Ajenas
... y mantenerla frente operaciones que puedan violar la
Tema integridad
2. Modelo relacional de datos

38

Dominio

Definicin del Dominio

CODPEL
CODGUI
CODDIR
CODDIS
CODACT
CODAGE
SEXOS
TEXTO
PORCENT
DINERO
NIF
TITULOS
GENEROS
PAISES
AOS
FECHAS
NOMBRES
APELLIDOS
DOMICILIOS
TELEFONOS
TIPO_PAPEL

enteros(3)
enteros(3)
enteros(3)
enteros(2)
enteros(4)
enteros(2)
{ M, F }
cadena caracteres variable (500)
enteros (2)
enteros(9)
cadena caracteres fija (12)
cadena caracteres variable (120)
{comedia,drama,terror,suspense,accion,romantica,gore,pulp,roadmovie}
{espaa,francia,gran_bretaa,eeuu,australia,alemania,la_india,argentina}
AO
FECHA
cadena caracteres variable (35)
cadena caracteres variable (80)
cadena caracteres variable (50)
cadena caracteres variable (15)
{protagonista, secundario, reparto, figuracion}

Tema 2. Modelo relacional de datos

39

Esquema PRODUCTORA
PELICULA

(codP:CODPEL, titulo:TITULOS, ao:AO, genero:GENEROS, guion:CODGUI,


director:CODDIR, directorFotog:CODDIR, distrib:CODDIS, nacio:PAISES,
estreno:FECHA, numOscar:enteros(2), taquilla:DINERO)

DIRECTOR

(codDir:CODDIR, nombre:NOMBRES, apellidos:APELLIDOS, nacio:PAISES,


fechaNacim:FECHA, operaPrima:CODPEL)

DIREC_FOTOG (codDF:CODDIR, nombre:NOMBRES, apellidos:APELLIDOS, nacionalidad:PAISES,


fechaNacim:FECHA, ultTrabajo:CODPEL)
GUION

(codG:CODGUI, titulo: TITULOS, resumen: TEXTO,


nomAutorPpal:NOMBRES, fechaFin:FECHA, fechaEntrega:FECHA)

DISTRIBUIDORA (codDis:CODDIS, nombre:NOMBRES, cif:NIF, direccion:DOMICILIO,


telefono:TELEFONOS, porcentaje:PORCENT)
ACTOR

(codA:CODACT, nombre:NOMBRES, nomReal:NOMBRES, nacionalidad:PAISES,


fechaNacim:FECHA, sexo:SEXOS, agencia:CODAGE, cache:DINERO)

AGENCIA

(codAg:CODAGE, nombre:NOMBRES, direccion:DOMICILIO, telefono:TELEFONOS)

ACTUA_EN

(actor:CODACT, film:CODPEL, papel:TIPO_PAPEL, paga:DINERO)

Tema 2. Modelo relacional de datos

40

Das könnte Ihnen auch gefallen