SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
1
Tema 2. Modelo relacional de datos
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
problemática asociada a la modificación de datos a
través de vistas
• Conocer los lenguajes formales álgebra relacional y
cálculo relacional de tuplas, así como el lenguaje
relacional estándar SQL-92
2
Tema 2. Modelo relacional de datos
Modelo relacional de datos
Contenidos
2.1 Presentación y orígenes del modelo relacional
2.2 Estructura de datos relacional
2.3 Características generales de integridad de datos
2.4 Manipulación de datos: lenguajes relacionales
2.4.1 Álgebra relacional
2.4.2 Cálculo relacional de tuplas
2.4.3 SQL-92
3
Tema 2. Modelo relacional de datos
Modelo relacional de datos
Bibliografía
[EN 2002] Elmasri, R.; Navathe, S.B.: Fundamentos de Sistemas de
Bases de Datos. 3ª Edición. Addison-Wesley. (Cap. 7, 8 y 9)
[EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos.
Conceptos fundamentales. 2ª Edición. Addison-Wesley
Iberoamericana. (Cap. 6 y 7)
[D 2001] Date, C.J.: Introducción a los sistemas de bases de datos. 7ª Edición.
Prentice-Hall. (Cap. 3 al 9)
[SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.: Fundamentos de bases de
datos. 3ª Edición. McGraw-Hill. (Cap. 3 y 4)
...
4
Tema 2. Modelo relacional de datos
• Introducido por Codd, 1970
• Es un Modelo de Datos Lógico - de Representación -
(basado en registros)
• El modelo más usado en las aplicaciones comerciales de
procesamiento de datos convencional
• Dividido en 3 partes:
1. Estructura de Datos
2. Integridad de Datos (características generales)
3. Manipulación de Datos
Presentación y orígenes del MR
5
Tema 2. Modelo relacional de datos
Base de Datos = Conjunto de Relaciones
• Relación
– Estructura de datos fundamental del modelo
– Tiene un nombre y representa una entidad genérica
– 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 Teoría matemática
– Analogía entre “Relación” (concepto matemático) y “Tabla”
– Teoría de Conjuntos y Lógica de Predicados de 1er orden
» Sólida Base Formal
Estructura de datos relacional
6
Tema 2. Modelo relacional de datos
Estructura de datos relacional
duración
nacionalidad
rodaje
género
director
título
117
122
118
110
138
145
España
Francia
España
España
EEUU
México
2002
2001
2001
1997
1999
2000
Drama
Comedia
Policiaco
Comedia
Ciencia-ficción
Drama
F. León
J. P. Jeunet
N. López
S. Segura
A. Wachowsky
A. González
Los lunes al sol
Amelie
Nos miran
Torrente
The Matrix
Amores Perros
tuplas
cardinalidad
grado
atributos
La relación PELICULA
--- ---
--- ---
Ciencia-ficción,
Drama,Thriller,
Comedia...
--- ---
--- ---
2002, 1997,
1999, 2001,
1994, 1972...
Italia,Argentina,
España, EEUU,
Francia,Japón..
--- ---
--- ---
dominios
Títulos Nombres
Géneros Años Países
Tiempo
7
Tema 2. Modelo relacional de datos
Términos básicos
Estructura de datos relacional
SQL-92
Formal
Procesamiento
de Archivos
Modelo Relacional
=
=
=
cabecera de
Columna
Fila
Tabla
Nombre de
Campo de registro
Registro concreto
Archivos
colección de valores permitidos
para ciertos atributos
nº atributos en una relación
nº de tuplas en una relación
Debe tener un nombre único
dentro de cada relación
Si la tupla t está en la relación
R, entonces t∈R
Dominio
Grado
Cardinalidad
Atributo
Tupla
Relación
8
Tema 2. Modelo relacional de datos
• Conjunto de valores atómicos del mismo tipo, de
donde toman su valor los atributos
– La definición de dominios forma parte de la definición 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 ningún atributo
{valores de A} ⊆ Dominio(A)
• Comparaciones Restringidas a Dominio
– La comparación de dos atributos sólo tiene sentido si ambos toman
valores del mismo dominio
– Si el SGBD soporta dominios, podrá detectar este tipo de errores
Definiciones formales: DOMINIO
Estructura de datos relacional
9
Tema 2. Modelo relacional de datos
Una relación 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 sólo 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
– tupla = conjunto de pares Atributo:Valor
{ { (A1:vi1), (A2:vi2) ... (An:vin) } }, donde i=1..m
Definiciones formales: RELACIÓN (1)
Estructura de datos relacional
10
Tema 2. Modelo relacional de datos
Un esquema de relación:
PELICULA (titulo:Titulos, duracion:Tiempo, director:Nombres, estreno:Fechas)
Un estado de la relación:
{ { (titulo:Torrente), (duracion:110), (director:S.Segura), (estreno:1997) }
{ (titulo:The Matrix), (duracion:138), (director:A.Wachowski), (estreno:1999) }
... }
• El estado de una relación es variable en el tiempo
– nuevas tuplas, modificación 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 verá)
Definiciones formales: RELACIÓN (2)
Estructura de datos relacional
11
Tema 2. Modelo relacional de datos
• Propiedades de una Relación
1. No existen tuplas repetidas
2. Las tuplas no están ordenadas
3. Los atributos no están ordenados
esquema = conjunto de pares Atributo:Dominio
4. Los valores de atributos son Atómicos
dominio = conjunto de valores atómicos
ƒ Intersección fila/columna = un solo valor (no lista de valores)
ƒ Si R cumple esta propiedad, R está en 1FN
Definiciones formales: RELACIÓN (3)
Estructura de datos relacional
12
Tema 2. Modelo relacional de datos
• FORMAS NORMALES
R está en <determinada> FN si
cumple <cierto> conjunto de condiciones o restricciones
necesarias para estar bien diseñada
de acuerdo con el modelo relacional de datos.
• Toda relación ha de estar en 1FN (estructura de datos simple)
Definiciones formales: RELACIÓN (4)
Estructura de datos relacional
13
Tema 2. Modelo relacional de datos
• Relación vs. Tabla
– Relación: Representación abstracta de un elemento de datos
– Tabla: Representación concreta de tal elemento abstracto
– Ventajas
ƒ Representación muy sencilla (tabla) del elemento abstracto
básico (relación) del Modelo Relacional
ƒ Fácil de utilizar, entender, razonar...
– Inconveniente
ƒ Aparente orden entre filas y entre columnas de la tabla
Definiciones formales: RELACIÓN (5)
Estructura de datos relacional
14
Tema 2. Modelo relacional de datos
• Percibida por usuarios como una colección de relaciones
– de diversos grados (nº de atributos)
– que varían con el tiempo (nº de tuplas, estado)
• Las relaciones (tablas) son la estructura lógica de la BD
– Niveles externo y conceptual ANSI/X3/SPARC
• Toda BDR cumple el Principio de Información:
Todo contenido de información de la BD está representado
de una y sólo una forma: como valores explícitos
dentro de posiciones de columnas dentro de filas dentro de tablas
• Conexión lógica entre Relaciones (vínculo o interrelación)
– Representada mediante valores
– No existen punteros (visibles al usuario)
Definiciones formales: BD RELACIONAL (1)
Estructura de datos relacional
15
Tema 2. Modelo relacional de datos
• En una BDR distinguimos...
– Esquema de base de datos
ƒ Descripción de la base de datos
ƒ Conjunto de esquemas de relación
PELICULA ( titulo:Títulos, director:Nombres, género:Géneros,
rodaje:Años, nacionalidad:Países, duración:Tiempo )
ACTOR ( nombre:Nombres, nombreArtistico: Nombres,
agente:Nombres, cache:Dinero )
DIRECTOR ( nombre:Nombres, nacionalidad:Países, operaPrima:Títulos )
...
– Estado o instancia de base de datos
ƒ Visión del contenido de la base de datos en cierto instante
ƒ Conjunto de estados de relación
Definiciones formales: BD RELACIONAL (2)
Estructura de datos relacional
16
Tema 2. Modelo relacional de datos
• Todo estado de BD refleja la realidad
– es un modelo de una porción del mundo real (minimundo)
• Algunas configuraciones de valores NO tienen SENTIDO
– pues no representan ningún estado posible del minimundo
2 personas distintas con el mismo DNI
Un empleado sin NSS
Un alumno con -29 años
Una película sin director
Ö Definición de la BD (esquema) necesita incluir
REGLAS DE INTEGRIDAD
Características generales de
integridad de datos
17
Tema 2. Modelo relacional de datos
Claves Candidatas y Primarias
Claves Ajenas (o foráneas o externas)
• 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 varían con el tiempo
• Son específicas de cada BD particular, pero el
Modelo Relacional incluye...
características generales de integridad
importantes y necesarias en toda BD
Características generales de
integridad de datos
Reglas de integridad
18
Tema 2. Modelo relacional de datos
Sea R una relación R(A1:D1 , A2:D2 ,... An:Dn )
• Una superclave de R es un subconjunto SK de atributos
tal que cumple la restricción de Unicidad:
No existen dos tuplas distintas con la misma
combinación de valores para SK
• Una clave de R es una superclave tal que cumple la
restricción de Irreductibilidad:
Ningún subconjunto de CK cumple la r. Unicidad
• Clave Simple (1 atributo) o Compuesta (varios atributos)
• Cada clave es una restricción de integridad
Características generales de
integridad de datos
Superclave y Clave de una relación
19
Tema 2. Modelo relacional de datos
• Claves como restricción de integridad
CLIENTE (codCliente, nombre, ciudad, telefono,...)
¿Qué implicaciones tiene establecer como clave...
a) CK = {codCliente, ciudad}
b) CK = {codCliente} …?
• Varias claves en una relación
«Relación para registrar las visitas de pacientes a sus médicos de familia. Un mismo
paciente puede visitar a su médico varias veces en un mismo día»
VISITAMEDICA (nssPaciente, historial, fecha, hora, numVisita, medico, observ)
Claves (VISITAMEDICA)={ {nssPaciente, numVisita}, {nssPaciente, fecha, hora},
{historial, numVisita}, {historial, fecha, hora} }
Características generales de
integridad de datos
Superclave y Clave: Ejemplos
20
Tema 2. Modelo relacional de datos
• 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} }
Características generales de
integridad de datos
Clave Candidata, Primaria y Alternativa
21
Tema 2. Modelo relacional de datos
• Conjunto de atributos FK de una relación R2, tal que:
1. Existe otra relación R1 con clave primaria PK , y
2. Cada valor de FK en R2 es idéntico al de PK en alguna tupla de R1
Conjunto de atributos de una relación que hace referencia a
la clave primaria de otra relación (o la misma)
• PELICULA (título, género, duración, director, ...)
DIRECTOR (nombre, nacionalidad, ...)
• EMPLEADO (codEmp, nombre, jefe, nss, ...)
• LIBRO (título, isbn, autor, editorial, edición, año, ...)
ESCRITOR (dni, nombre, ...)
ARTICULO (título, tema, autor, revista, página, ...)
Características generales de
integridad de datos
Clave Ajena (Externa o Foránea)
22
Tema 2. Modelo relacional de datos
• 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, dirección, ...)
HISTORIAL (nss, especialidad, fechaApert, ...)
VISITA (nss, especialidad, numVisita, fecha, ...)
• Clave Ajena Simple o Compuesta
• El uso de Claves Ajenas facilita...
– Eliminación de la Redundancia: Integridad entre archivos
– Mecanismo del Modelo Relacional de datos para establecer
VÍNCULOS ENTRE RELACIONES
Características generales de
integridad de datos
Clave Ajena (Externa o Foránea) (2)
23
Tema 2. Modelo relacional de datos
CLIENTE
CUENTA
Características generales de
integridad de datos
Clave Ajena (Externa o Foránea) (3)
...
505
Valencia
Plaza Mayor, 2
Pérez, C
821
Murcia
Ronda Norte, 3
López, B
505
Valencia
Paseo Nuevo, 9
Azorín, C
200
Murcia
Gran Vía, 6
García, A
cuenta
ciudad
dirección
nombre
...
50000
40000
35000
saldo
821
505
200
...
número
Cada cliente sólo puede tener
una cuenta a su nombre.
Una cuenta puede tener más de
un cliente como titular.
Vínculo
Cliente-Cuenta
24
Tema 2. Modelo relacional de datos
• Restricción 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 relación hace referencia a otra relación, debe
referirse a una tupla existente en esa relación
• 1 Puede existir algún valor de PK al que NO haga referencia
ningún valor de la FK
– ESCRITOR que no haya escrito artículos: ninguna tupla de ARTICULO
hará referencia a la tupla correspondiente a dicho escritor
Características generales de
integridad de datos
Clave Ajena (Externa o Foránea) (4)
ESCRITOR
ARTICULO
FK
25
Tema 2. Modelo relacional de datos
• Diagrama Referencial
– Expresión de la existencia de Claves Ajenas
• Camino Referencial
Características generales de
integridad de datos
Clave Ajena (Externa o Foránea) (y 5)
... editorial
nombre
dni
ESCRITOR
editorial ...
autor
isbn
título
LIBRO
revista pág ...
autor
tema
título
ARTICULO
...
dirección
nombre
EDITORIAL
• Ciclo Referencial
– Camino que empieza y acaba en la misma relación
– Caso especial: Autorreferencia jefe
...
codEmp
EMPLEADO
dep
...
codEmp
EMPL dire
...
codDep
DEPTO
26
Tema 2. Modelo relacional de datos
• Las operaciones que no satisfacen –violan– la Integridad
Referencial, dejan la BD en un estado incorrecto
Ejemplo de un Hotel:
– ¿Qué pasaría si se eliminara la tupla (501, D, ...) en HABITACIÓN?
– ¿Y si se eliminara la tupla (100, D, ...)?
– ¿Y si se anotara la ocupación de la habitación 900?
Características generales de
integridad de datos
Mantenimiento de la Integridad Referencial
...
OCUPACIÓN habit
codClie
100
115
420
100
CLI10
CLI05
CLI02
CLI04
HABITACIÓN
D
501
I
405
304
100
420
115
numHabit ...
tipo
D
D
I
I
27
Tema 2. Modelo relacional de datos
• ¿Cómo evita el SGBD esos estados incorrectos?
El SGBD puede...
‰ Rechazar toda operación que pueda provocar un estado ilegal,
o
‰ Aceptar (y ejecutar) tales operaciones, pero
realizar acciones que restauren la integridad de los datos
Ù Diseñador de la BD puede especificar al SGBD
Acciones de Mantenimiento
de la Integridad Referencial
para que la BD SIEMPRE alcance un estado final legal
Características generales de
integridad de datos
Mantenimiento de la Integridad Referencial (2)
28
Tema 2. Modelo relacional de datos
R2 ⎯→ R1
Operación: Eliminar una tupla t de R1 que es referenciada
por otras de R2
Ejemplo: Eliminar la tupla (100, D, ...) de HABITACIÓN
Acciones posibles:
1. Rechazar la operación (acción por defecto)
Sólo permite borrar t si ninguna otra tupla hace referencia a t
2. Cascada. Propagar la eliminación
1º Borrar todas las tuplas de R2 que referencian a t
2º Eliminar t
3. Establecer nulos – (* se verá después *)
Características generales de
integridad de datos
Mantenimiento de la Integridad Referencial (3)
29
Tema 2. Modelo relacional de datos
R2 ⎯→ R1
Operación: Modificar el valor de una FK a un valor no
existente en la PK de R1
Ejemplo: Modificar (CLI02, 420,...) a (CLI02, 900,...) en OCUPACIÓN
Acción:
1. Rechazar la operación (SIEMPRE)
Õ Intento de violación de la restricción de Integridad
Referencial
Características generales de
integridad de datos
Mantenimiento de la Integridad Referencial (4)
30
Tema 2. Modelo relacional de datos
Operación: 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 HABITACIÓN
Acciones posibles:
1. Rechazar la operación (acción por defecto)
Sólo permite modificar la PK de t si ninguna tupla referencia a t
2. Cascada. Propagar la modificación
- 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
3. Establecer nulos – (* se verá después *)
Características generales de
integridad de datos
Mantenimiento de la Integridad Referencial (5)
31
Tema 2. Modelo relacional de datos
R2 ⎯→ R1
Operación: Inserción de una tupla t en R2 cuyo valor de FK
no se corresponde con ningún valor de la PK en
ninguna tupla de R1
Ejemplo: Insertar una tupla (CLI03, 555, ...) en OCUPACIÓN
Acciones posibles:
- Rechazar la operación (SIEMPRE)
Õ Intento de violación de la restricción de Integridad
Referencial
Características generales de
integridad de datos
Mantenimiento de la Integridad Referencial (6)
32
Tema 2. Modelo relacional de datos
• Encadenamiento de eliminaciones (análogo para Modificación)
R2 → R1, Acción de Eliminación en Cascada
R3 → R2, Acción de Eliminación X
X
- Eliminar una tupla de R1 Ö eliminar tuplas de R2 que la referencian
- Pero existen tuplas en R3 que referencian esas tuplas de R2...
¿cómo afecta la Acción de Eliminación X
X en esta operación?
ƒ Si X
X = en CASCADA, no-problem! Ö eliminar esas tuplas de R3
ƒ Si X
X = RECHAZAR Ö La operación completa fallará
• Las operaciones de actualización en una BD son siempre
atómicas: se realiza “TODO o NADA”
PROFESOR → ÁREA → DEPARTAMENTO
ASIGNATURA → TITULACIÓN → UNIVERSIDAD
Características generales de
integridad de datos
Mantenimiento de la Integridad Referencial (y 7)
R3 → R2 → R1
33
Tema 2. Modelo relacional de datos
• En el mundo real existe...
– información perdida fechaNacimiento desconocida
– ausencia de información ¿tiene teléfono?
– 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
0 nulo no es un valor en sí mismo,
sino un indicador de ausencia de información
" No hay dos nulos iguales (num_telefono NULL ≠ edad NULL)
Características generales de
integridad de datos
Nulos
34
Tema 2. Modelo relacional de datos
• Nulo y Claves Primarias
Restricción de Integridad de Entidad:
Ningún atributo componente de una
clave primaria puede contener nulo
EMPLEADO (codEmp, nss, nombre, telefono, depto, jefe...)
¿Qué pasaría 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 ningún departamento
jefe = null Ö empleados sin jefe
Características generales de
integridad de datos
Implicaciones de los nulos en la integridad
35
Tema 2. Modelo relacional de datos
• Hemos de extender la definición de clave ajena
Sea R2 una relación. FK es una clave ajena en R2 si es un
subconjunto de sus atributos tal que:
1. Existe otra relación R1 con clave primaria PK y
2. En todo momento, cada valor de FK en R2
a) es NULO, o
b) es idéntico a un valor de PK en alguna tupla de R1
• Restricción de Integridad Referencial
La Base de Datos no debe contener valores no nulos
de clave ajena sin correspondencia
Características generales de
integridad de datos
Implicaciones de los nulos en la integridad (2)
36
Tema 2. Modelo relacional de datos
• Hay que extender algunas acciones de mantenimiento de
la Integridad Referencial: R2 ⎯→ R1
Operación: Eliminar una tupla t de R1 que es referenciada
por otras de R2
Acciones posibles:
1. Rechazar la operación (acción por defecto)
2. Cascada. Propagar la eliminación
3. Establecer nulos
1 Sólo si la FK de R2 permite NULO
- Toda tupla de R2 que referencia a t pasa a contener NULL en FK
- Eliminar la tupla t
Características generales de
integridad de datos
Implicaciones de los nulos en la integridad (3)
37
Tema 2. Modelo relacional de datos
R2 ⎯→ R1
Operación: 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 operación (acción por defecto)
2. Cascada. Propagar la modificación
3. Establecer nulos
1 Sólo 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
Características generales de
integridad de datos
Implicaciones de los nulos en la integridad (y 4)
38
Tema 2. Modelo relacional de datos
• Comprobar las claves candidatas (primaria y alternativas):
No existen dos tuplas distintas con igual valor para una clave
 Definición de BD : indicar los Atributos Componentes de las Claves Candidatas
• Comprobar la restricción de Integridad de entidad
Ningún atributo componente de una clave primaria contiene nulo
 Definición de BD : indicar los Atributos Componentes de la Clave Primaria
• Comprobar la restricción 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 relación referenciada
 Definición de BD : indicar los Atributos Componentes de las Claves Ajenas
• ... y mantenerla frente operaciones que puedan violar la integridad
 Definición de BD : indicar Acciones de Mantenimiento de la Integridad Referencial
Características generales de
integridad de datos
Resumiendo, el SGBD se encarga de...
39
Tema 2. Modelo relacional de datos
• Ejemplo de una Base de Datos y Definición de
algunos dominios
40
Tema 2. Modelo relacional de datos
Esquema “PRODUCTORA”
PELICULA (codP:CODPEL, titulo:TITULOS, año:AÑO, 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)
41
Tema 2. Modelo relacional de datos
Dominio Definición del Dominio
CODPEL enteros(3)
CODGUI enteros(3)
CODDIR enteros(3)
CODDIS enteros(2)
CODACT enteros(4)
CODAGE enteros(2)
SEXOS { M, F }
TEXTO cadena caracteres variable (500)
PORCENT enteros (2)
DINERO enteros(9)
NIF cadena caracteres fija (12)
TITULOS cadena caracteres variable (120)
GENEROS {comedia,drama,terror,suspense,accion,romantica,gore,pulp,roadmovie}
PAISES {españa,francia,gran_bretaña,eeuu,australia,alemania,la_india,argentina}
AÑOS AÑO
FECHAS FECHA
NOMBRES cadena caracteres variable (35)
APELLIDOS cadena caracteres variable (80)
DOMICILIOS cadena caracteres variable (50)
TELEFONOS cadena caracteres variable (15)
TIPO_PAPEL {protagonista, secundario, reparto, figuracion}

Más contenido relacionado

La actualidad más candente

Diseño Logico - Diseño de bases de datos relacionales
Diseño Logico - Diseño de bases de datos relacionalesDiseño Logico - Diseño de bases de datos relacionales
Diseño Logico - Diseño de bases de datos relacionalesRobert Rodriguez
 
Diseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesDiseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesRobert Rodriguez
 
4.guia modelo relacional
4.guia modelo relacional4.guia modelo relacional
4.guia modelo relacionalZulma Bautista
 
modelo relacional
modelo relacionalmodelo relacional
modelo relacionalponxo90
 
Modelos de bdd y modelos de datos Rafael Olivares
Modelos de bdd y modelos de datos Rafael OlivaresModelos de bdd y modelos de datos Rafael Olivares
Modelos de bdd y modelos de datos Rafael OlivaresRafaelOlivares22
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)claudiachiri
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacionalDenisse C
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2Velmuz Buzz
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacionalUTN
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacionalSuarezJhon
 
Base de Datos. Modelo Relacional
Base de Datos. Modelo RelacionalBase de Datos. Modelo Relacional
Base de Datos. Modelo RelacionalHermes Sosa
 
Bases de Datos - Parte 5/10 Modelo relacional
Bases de Datos - Parte 5/10 Modelo relacionalBases de Datos - Parte 5/10 Modelo relacional
Bases de Datos - Parte 5/10 Modelo relacionalCarlos Castillo (ChaTo)
 
Base de datos-objeto-relacional
Base de datos-objeto-relacionalBase de datos-objeto-relacional
Base de datos-objeto-relacionalEduar Alfons Leon
 

La actualidad más candente (18)

Diseño Logico - Diseño de bases de datos relacionales
Diseño Logico - Diseño de bases de datos relacionalesDiseño Logico - Diseño de bases de datos relacionales
Diseño Logico - Diseño de bases de datos relacionales
 
Diseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesDiseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos Relacionales
 
Unidad 3 Fundamentos de bases de datos
Unidad 3 Fundamentos de bases de datosUnidad 3 Fundamentos de bases de datos
Unidad 3 Fundamentos de bases de datos
 
Bdrelacional
BdrelacionalBdrelacional
Bdrelacional
 
4.guia modelo relacional
4.guia modelo relacional4.guia modelo relacional
4.guia modelo relacional
 
modelo relacional
modelo relacionalmodelo relacional
modelo relacional
 
MODELO RELACIONAL
MODELO RELACIONALMODELO RELACIONAL
MODELO RELACIONAL
 
Modelos de bdd y modelos de datos Rafael Olivares
Modelos de bdd y modelos de datos Rafael OlivaresModelos de bdd y modelos de datos Rafael Olivares
Modelos de bdd y modelos de datos Rafael Olivares
 
Base de datos 4
Base de datos 4Base de datos 4
Base de datos 4
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Base de Datos. Modelo Relacional
Base de Datos. Modelo RelacionalBase de Datos. Modelo Relacional
Base de Datos. Modelo Relacional
 
Bases de Datos - Parte 5/10 Modelo relacional
Bases de Datos - Parte 5/10 Modelo relacionalBases de Datos - Parte 5/10 Modelo relacional
Bases de Datos - Parte 5/10 Modelo relacional
 
Base de datos-objeto-relacional
Base de datos-objeto-relacionalBase de datos-objeto-relacional
Base de datos-objeto-relacional
 

Similar a ModeloRelacional_intro.pdf

Similar a ModeloRelacional_intro.pdf (20)

Tema2 disenio logico
Tema2 disenio logicoTema2 disenio logico
Tema2 disenio logico
 
Diapositiva_BD_Unidad_02_TES.pdf
Diapositiva_BD_Unidad_02_TES.pdfDiapositiva_BD_Unidad_02_TES.pdf
Diapositiva_BD_Unidad_02_TES.pdf
 
03 Modelo Relacional
03 Modelo Relacional03 Modelo Relacional
03 Modelo Relacional
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Int_Bases_Datos_II.pdf
Int_Bases_Datos_II.pdfInt_Bases_Datos_II.pdf
Int_Bases_Datos_II.pdf
 
DB1 Unidad 2: Modelo ER y modelo relacional
DB1 Unidad 2: Modelo ER y modelo relacionalDB1 Unidad 2: Modelo ER y modelo relacional
DB1 Unidad 2: Modelo ER y modelo relacional
 
Contenido UNIDAD II. COMO SON LAS BASES DE DATOS.
Contenido UNIDAD II.  COMO SON LAS BASES DE DATOS.Contenido UNIDAD II.  COMO SON LAS BASES DE DATOS.
Contenido UNIDAD II. COMO SON LAS BASES DE DATOS.
 
MODELO ENTIDAD RELACION
MODELO ENTIDAD RELACION MODELO ENTIDAD RELACION
MODELO ENTIDAD RELACION
 
El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)
 
modelado de datos
modelado de datosmodelado de datos
modelado de datos
 
Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
MODELO ENTIDAD RELACION
MODELO ENTIDAD RELACIONMODELO ENTIDAD RELACION
MODELO ENTIDAD RELACION
 
BASE DE DATOS.pdf
BASE DE DATOS.pdfBASE DE DATOS.pdf
BASE DE DATOS.pdf
 
Video 2
Video 2Video 2
Video 2
 
Inicio Base de datos(Parte I)
Inicio Base de datos(Parte I)Inicio Base de datos(Parte I)
Inicio Base de datos(Parte I)
 
22modelo R
22modelo R22modelo R
22modelo R
 
5 modelo relacional
5 modelo relacional5 modelo relacional
5 modelo relacional
 
Modelos de datos y BDD
Modelos de datos y BDD Modelos de datos y BDD
Modelos de datos y BDD
 
Modelo relacional ex
Modelo relacional  exModelo relacional  ex
Modelo relacional ex
 

Más de JoseEnriqueRojas4

Más de JoseEnriqueRojas4 (12)

Guillen_Quisca_Lisbeth_Diana .pdf
Guillen_Quisca_Lisbeth_Diana .pdfGuillen_Quisca_Lisbeth_Diana .pdf
Guillen_Quisca_Lisbeth_Diana .pdf
 
Castillo_ap.pdf
Castillo_ap.pdfCastillo_ap.pdf
Castillo_ap.pdf
 
Biblioteca Trabajo de grado .pdf
Biblioteca Trabajo de grado .pdfBiblioteca Trabajo de grado .pdf
Biblioteca Trabajo de grado .pdf
 
3798.pdf
3798.pdf3798.pdf
3798.pdf
 
g-modeloER.pdf
g-modeloER.pdfg-modeloER.pdf
g-modeloER.pdf
 
1526023279_UF1471_demo.pdf
1526023279_UF1471_demo.pdf1526023279_UF1471_demo.pdf
1526023279_UF1471_demo.pdf
 
Tecnicas_avanzadas_de_ingenieria_de_software_(Modulo_3).pdf
Tecnicas_avanzadas_de_ingenieria_de_software_(Modulo_3).pdfTecnicas_avanzadas_de_ingenieria_de_software_(Modulo_3).pdf
Tecnicas_avanzadas_de_ingenieria_de_software_(Modulo_3).pdf
 
UPS - ST003091.pdf
UPS - ST003091.pdfUPS - ST003091.pdf
UPS - ST003091.pdf
 
Tecnicas_avanzadas_de_ingenieria_de_software_(Modulo_3).pdf
Tecnicas_avanzadas_de_ingenieria_de_software_(Modulo_3).pdfTecnicas_avanzadas_de_ingenieria_de_software_(Modulo_3).pdf
Tecnicas_avanzadas_de_ingenieria_de_software_(Modulo_3).pdf
 
1526023279_UF1471_demo.pdf
1526023279_UF1471_demo.pdf1526023279_UF1471_demo.pdf
1526023279_UF1471_demo.pdf
 
3798.pdf
3798.pdf3798.pdf
3798.pdf
 
g-modeloER.pdf
g-modeloER.pdfg-modeloER.pdf
g-modeloER.pdf
 

Último

Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 

Último (20)

Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 

ModeloRelacional_intro.pdf

  • 1. 1 Tema 2. Modelo relacional de datos 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 problemática asociada a la modificación de datos a través de vistas • Conocer los lenguajes formales álgebra relacional y cálculo relacional de tuplas, así como el lenguaje relacional estándar SQL-92 2 Tema 2. Modelo relacional de datos Modelo relacional de datos Contenidos 2.1 Presentación y orígenes del modelo relacional 2.2 Estructura de datos relacional 2.3 Características generales de integridad de datos 2.4 Manipulación de datos: lenguajes relacionales 2.4.1 Álgebra relacional 2.4.2 Cálculo relacional de tuplas 2.4.3 SQL-92 3 Tema 2. Modelo relacional de datos Modelo relacional de datos Bibliografía [EN 2002] Elmasri, R.; Navathe, S.B.: Fundamentos de Sistemas de Bases de Datos. 3ª Edición. Addison-Wesley. (Cap. 7, 8 y 9) [EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos fundamentales. 2ª Edición. Addison-Wesley Iberoamericana. (Cap. 6 y 7) [D 2001] Date, C.J.: Introducción a los sistemas de bases de datos. 7ª Edición. Prentice-Hall. (Cap. 3 al 9) [SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.: Fundamentos de bases de datos. 3ª Edición. McGraw-Hill. (Cap. 3 y 4) ... 4 Tema 2. Modelo relacional de datos • Introducido por Codd, 1970 • Es un Modelo de Datos Lógico - de Representación - (basado en registros) • El modelo más usado en las aplicaciones comerciales de procesamiento de datos convencional • Dividido en 3 partes: 1. Estructura de Datos 2. Integridad de Datos (características generales) 3. Manipulación de Datos Presentación y orígenes del MR
  • 2. 5 Tema 2. Modelo relacional de datos Base de Datos = Conjunto de Relaciones • Relación – Estructura de datos fundamental del modelo – Tiene un nombre y representa una entidad genérica – 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 Teoría matemática – Analogía entre “Relación” (concepto matemático) y “Tabla” – Teoría de Conjuntos y Lógica de Predicados de 1er orden » Sólida Base Formal Estructura de datos relacional 6 Tema 2. Modelo relacional de datos Estructura de datos relacional duración nacionalidad rodaje género director título 117 122 118 110 138 145 España Francia España España EEUU México 2002 2001 2001 1997 1999 2000 Drama Comedia Policiaco Comedia Ciencia-ficción Drama F. León J. P. Jeunet N. López S. Segura A. Wachowsky A. González Los lunes al sol Amelie Nos miran Torrente The Matrix Amores Perros tuplas cardinalidad grado atributos La relación PELICULA --- --- --- --- Ciencia-ficción, Drama,Thriller, Comedia... --- --- --- --- 2002, 1997, 1999, 2001, 1994, 1972... Italia,Argentina, España, EEUU, Francia,Japón.. --- --- --- --- dominios Títulos Nombres Géneros Años Países Tiempo 7 Tema 2. Modelo relacional de datos Términos básicos Estructura de datos relacional SQL-92 Formal Procesamiento de Archivos Modelo Relacional = = = cabecera de Columna Fila Tabla Nombre de Campo de registro Registro concreto Archivos colección de valores permitidos para ciertos atributos nº atributos en una relación nº de tuplas en una relación Debe tener un nombre único dentro de cada relación Si la tupla t está en la relación R, entonces t∈R Dominio Grado Cardinalidad Atributo Tupla Relación 8 Tema 2. Modelo relacional de datos • Conjunto de valores atómicos del mismo tipo, de donde toman su valor los atributos – La definición de dominios forma parte de la definición 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 ningún atributo {valores de A} ⊆ Dominio(A) • Comparaciones Restringidas a Dominio – La comparación de dos atributos sólo tiene sentido si ambos toman valores del mismo dominio – Si el SGBD soporta dominios, podrá detectar este tipo de errores Definiciones formales: DOMINIO Estructura de datos relacional
  • 3. 9 Tema 2. Modelo relacional de datos Una relación 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 sólo 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 – tupla = conjunto de pares Atributo:Valor { { (A1:vi1), (A2:vi2) ... (An:vin) } }, donde i=1..m Definiciones formales: RELACIÓN (1) Estructura de datos relacional 10 Tema 2. Modelo relacional de datos Un esquema de relación: PELICULA (titulo:Titulos, duracion:Tiempo, director:Nombres, estreno:Fechas) Un estado de la relación: { { (titulo:Torrente), (duracion:110), (director:S.Segura), (estreno:1997) } { (titulo:The Matrix), (duracion:138), (director:A.Wachowski), (estreno:1999) } ... } • El estado de una relación es variable en el tiempo – nuevas tuplas, modificación 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 verá) Definiciones formales: RELACIÓN (2) Estructura de datos relacional 11 Tema 2. Modelo relacional de datos • Propiedades de una Relación 1. No existen tuplas repetidas 2. Las tuplas no están ordenadas 3. Los atributos no están ordenados esquema = conjunto de pares Atributo:Dominio 4. Los valores de atributos son Atómicos dominio = conjunto de valores atómicos ƒ Intersección fila/columna = un solo valor (no lista de valores) ƒ Si R cumple esta propiedad, R está en 1FN Definiciones formales: RELACIÓN (3) Estructura de datos relacional 12 Tema 2. Modelo relacional de datos • FORMAS NORMALES R está en <determinada> FN si cumple <cierto> conjunto de condiciones o restricciones necesarias para estar bien diseñada de acuerdo con el modelo relacional de datos. • Toda relación ha de estar en 1FN (estructura de datos simple) Definiciones formales: RELACIÓN (4) Estructura de datos relacional
  • 4. 13 Tema 2. Modelo relacional de datos • Relación vs. Tabla – Relación: Representación abstracta de un elemento de datos – Tabla: Representación concreta de tal elemento abstracto – Ventajas ƒ Representación muy sencilla (tabla) del elemento abstracto básico (relación) del Modelo Relacional ƒ Fácil de utilizar, entender, razonar... – Inconveniente ƒ Aparente orden entre filas y entre columnas de la tabla Definiciones formales: RELACIÓN (5) Estructura de datos relacional 14 Tema 2. Modelo relacional de datos • Percibida por usuarios como una colección de relaciones – de diversos grados (nº de atributos) – que varían con el tiempo (nº de tuplas, estado) • Las relaciones (tablas) son la estructura lógica de la BD – Niveles externo y conceptual ANSI/X3/SPARC • Toda BDR cumple el Principio de Información: Todo contenido de información de la BD está representado de una y sólo una forma: como valores explícitos dentro de posiciones de columnas dentro de filas dentro de tablas • Conexión lógica entre Relaciones (vínculo o interrelación) – Representada mediante valores – No existen punteros (visibles al usuario) Definiciones formales: BD RELACIONAL (1) Estructura de datos relacional 15 Tema 2. Modelo relacional de datos • En una BDR distinguimos... – Esquema de base de datos ƒ Descripción de la base de datos ƒ Conjunto de esquemas de relación PELICULA ( titulo:Títulos, director:Nombres, género:Géneros, rodaje:Años, nacionalidad:Países, duración:Tiempo ) ACTOR ( nombre:Nombres, nombreArtistico: Nombres, agente:Nombres, cache:Dinero ) DIRECTOR ( nombre:Nombres, nacionalidad:Países, operaPrima:Títulos ) ... – Estado o instancia de base de datos ƒ Visión del contenido de la base de datos en cierto instante ƒ Conjunto de estados de relación Definiciones formales: BD RELACIONAL (2) Estructura de datos relacional 16 Tema 2. Modelo relacional de datos • Todo estado de BD refleja la realidad – es un modelo de una porción del mundo real (minimundo) • Algunas configuraciones de valores NO tienen SENTIDO – pues no representan ningún estado posible del minimundo 2 personas distintas con el mismo DNI Un empleado sin NSS Un alumno con -29 años Una película sin director Ö Definición de la BD (esquema) necesita incluir REGLAS DE INTEGRIDAD Características generales de integridad de datos
  • 5. 17 Tema 2. Modelo relacional de datos Claves Candidatas y Primarias Claves Ajenas (o foráneas o externas) • 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 varían con el tiempo • Son específicas de cada BD particular, pero el Modelo Relacional incluye... características generales de integridad importantes y necesarias en toda BD Características generales de integridad de datos Reglas de integridad 18 Tema 2. Modelo relacional de datos Sea R una relación R(A1:D1 , A2:D2 ,... An:Dn ) • Una superclave de R es un subconjunto SK de atributos tal que cumple la restricción de Unicidad: No existen dos tuplas distintas con la misma combinación de valores para SK • Una clave de R es una superclave tal que cumple la restricción de Irreductibilidad: Ningún subconjunto de CK cumple la r. Unicidad • Clave Simple (1 atributo) o Compuesta (varios atributos) • Cada clave es una restricción de integridad Características generales de integridad de datos Superclave y Clave de una relación 19 Tema 2. Modelo relacional de datos • Claves como restricción de integridad CLIENTE (codCliente, nombre, ciudad, telefono,...) ¿Qué implicaciones tiene establecer como clave... a) CK = {codCliente, ciudad} b) CK = {codCliente} …? • Varias claves en una relación «Relación para registrar las visitas de pacientes a sus médicos de familia. Un mismo paciente puede visitar a su médico varias veces en un mismo día» VISITAMEDICA (nssPaciente, historial, fecha, hora, numVisita, medico, observ) Claves (VISITAMEDICA)={ {nssPaciente, numVisita}, {nssPaciente, fecha, hora}, {historial, numVisita}, {historial, fecha, hora} } Características generales de integridad de datos Superclave y Clave: Ejemplos 20 Tema 2. Modelo relacional de datos • 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} } Características generales de integridad de datos Clave Candidata, Primaria y Alternativa
  • 6. 21 Tema 2. Modelo relacional de datos • Conjunto de atributos FK de una relación R2, tal que: 1. Existe otra relación R1 con clave primaria PK , y 2. Cada valor de FK en R2 es idéntico al de PK en alguna tupla de R1 Conjunto de atributos de una relación que hace referencia a la clave primaria de otra relación (o la misma) • PELICULA (título, género, duración, director, ...) DIRECTOR (nombre, nacionalidad, ...) • EMPLEADO (codEmp, nombre, jefe, nss, ...) • LIBRO (título, isbn, autor, editorial, edición, año, ...) ESCRITOR (dni, nombre, ...) ARTICULO (título, tema, autor, revista, página, ...) Características generales de integridad de datos Clave Ajena (Externa o Foránea) 22 Tema 2. Modelo relacional de datos • 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, dirección, ...) HISTORIAL (nss, especialidad, fechaApert, ...) VISITA (nss, especialidad, numVisita, fecha, ...) • Clave Ajena Simple o Compuesta • El uso de Claves Ajenas facilita... – Eliminación de la Redundancia: Integridad entre archivos – Mecanismo del Modelo Relacional de datos para establecer VÍNCULOS ENTRE RELACIONES Características generales de integridad de datos Clave Ajena (Externa o Foránea) (2) 23 Tema 2. Modelo relacional de datos CLIENTE CUENTA Características generales de integridad de datos Clave Ajena (Externa o Foránea) (3) ... 505 Valencia Plaza Mayor, 2 Pérez, C 821 Murcia Ronda Norte, 3 López, B 505 Valencia Paseo Nuevo, 9 Azorín, C 200 Murcia Gran Vía, 6 García, A cuenta ciudad dirección nombre ... 50000 40000 35000 saldo 821 505 200 ... número Cada cliente sólo puede tener una cuenta a su nombre. Una cuenta puede tener más de un cliente como titular. Vínculo Cliente-Cuenta 24 Tema 2. Modelo relacional de datos • Restricción 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 relación hace referencia a otra relación, debe referirse a una tupla existente en esa relación • 1 Puede existir algún valor de PK al que NO haga referencia ningún valor de la FK – ESCRITOR que no haya escrito artículos: ninguna tupla de ARTICULO hará referencia a la tupla correspondiente a dicho escritor Características generales de integridad de datos Clave Ajena (Externa o Foránea) (4) ESCRITOR ARTICULO FK
  • 7. 25 Tema 2. Modelo relacional de datos • Diagrama Referencial – Expresión de la existencia de Claves Ajenas • Camino Referencial Características generales de integridad de datos Clave Ajena (Externa o Foránea) (y 5) ... editorial nombre dni ESCRITOR editorial ... autor isbn título LIBRO revista pág ... autor tema título ARTICULO ... dirección nombre EDITORIAL • Ciclo Referencial – Camino que empieza y acaba en la misma relación – Caso especial: Autorreferencia jefe ... codEmp EMPLEADO dep ... codEmp EMPL dire ... codDep DEPTO 26 Tema 2. Modelo relacional de datos • Las operaciones que no satisfacen –violan– la Integridad Referencial, dejan la BD en un estado incorrecto Ejemplo de un Hotel: – ¿Qué pasaría si se eliminara la tupla (501, D, ...) en HABITACIÓN? – ¿Y si se eliminara la tupla (100, D, ...)? – ¿Y si se anotara la ocupación de la habitación 900? Características generales de integridad de datos Mantenimiento de la Integridad Referencial ... OCUPACIÓN habit codClie 100 115 420 100 CLI10 CLI05 CLI02 CLI04 HABITACIÓN D 501 I 405 304 100 420 115 numHabit ... tipo D D I I 27 Tema 2. Modelo relacional de datos • ¿Cómo evita el SGBD esos estados incorrectos? El SGBD puede... ‰ Rechazar toda operación que pueda provocar un estado ilegal, o ‰ Aceptar (y ejecutar) tales operaciones, pero realizar acciones que restauren la integridad de los datos Ù Diseñador de la BD puede especificar al SGBD Acciones de Mantenimiento de la Integridad Referencial para que la BD SIEMPRE alcance un estado final legal Características generales de integridad de datos Mantenimiento de la Integridad Referencial (2) 28 Tema 2. Modelo relacional de datos R2 ⎯→ R1 Operación: Eliminar una tupla t de R1 que es referenciada por otras de R2 Ejemplo: Eliminar la tupla (100, D, ...) de HABITACIÓN Acciones posibles: 1. Rechazar la operación (acción por defecto) Sólo permite borrar t si ninguna otra tupla hace referencia a t 2. Cascada. Propagar la eliminación 1º Borrar todas las tuplas de R2 que referencian a t 2º Eliminar t 3. Establecer nulos – (* se verá después *) Características generales de integridad de datos Mantenimiento de la Integridad Referencial (3)
  • 8. 29 Tema 2. Modelo relacional de datos R2 ⎯→ R1 Operación: Modificar el valor de una FK a un valor no existente en la PK de R1 Ejemplo: Modificar (CLI02, 420,...) a (CLI02, 900,...) en OCUPACIÓN Acción: 1. Rechazar la operación (SIEMPRE) Õ Intento de violación de la restricción de Integridad Referencial Características generales de integridad de datos Mantenimiento de la Integridad Referencial (4) 30 Tema 2. Modelo relacional de datos Operación: 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 HABITACIÓN Acciones posibles: 1. Rechazar la operación (acción por defecto) Sólo permite modificar la PK de t si ninguna tupla referencia a t 2. Cascada. Propagar la modificación - 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 3. Establecer nulos – (* se verá después *) Características generales de integridad de datos Mantenimiento de la Integridad Referencial (5) 31 Tema 2. Modelo relacional de datos R2 ⎯→ R1 Operación: Inserción de una tupla t en R2 cuyo valor de FK no se corresponde con ningún valor de la PK en ninguna tupla de R1 Ejemplo: Insertar una tupla (CLI03, 555, ...) en OCUPACIÓN Acciones posibles: - Rechazar la operación (SIEMPRE) Õ Intento de violación de la restricción de Integridad Referencial Características generales de integridad de datos Mantenimiento de la Integridad Referencial (6) 32 Tema 2. Modelo relacional de datos • Encadenamiento de eliminaciones (análogo para Modificación) R2 → R1, Acción de Eliminación en Cascada R3 → R2, Acción de Eliminación X X - Eliminar una tupla de R1 Ö eliminar tuplas de R2 que la referencian - Pero existen tuplas en R3 que referencian esas tuplas de R2... ¿cómo afecta la Acción de Eliminación X X en esta operación? ƒ Si X X = en CASCADA, no-problem! Ö eliminar esas tuplas de R3 ƒ Si X X = RECHAZAR Ö La operación completa fallará • Las operaciones de actualización en una BD son siempre atómicas: se realiza “TODO o NADA” PROFESOR → ÁREA → DEPARTAMENTO ASIGNATURA → TITULACIÓN → UNIVERSIDAD Características generales de integridad de datos Mantenimiento de la Integridad Referencial (y 7) R3 → R2 → R1
  • 9. 33 Tema 2. Modelo relacional de datos • En el mundo real existe... – información perdida fechaNacimiento desconocida – ausencia de información ¿tiene teléfono? – 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 0 nulo no es un valor en sí mismo, sino un indicador de ausencia de información " No hay dos nulos iguales (num_telefono NULL ≠ edad NULL) Características generales de integridad de datos Nulos 34 Tema 2. Modelo relacional de datos • Nulo y Claves Primarias Restricción de Integridad de Entidad: Ningún atributo componente de una clave primaria puede contener nulo EMPLEADO (codEmp, nss, nombre, telefono, depto, jefe...) ¿Qué pasaría 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 ningún departamento jefe = null Ö empleados sin jefe Características generales de integridad de datos Implicaciones de los nulos en la integridad 35 Tema 2. Modelo relacional de datos • Hemos de extender la definición de clave ajena Sea R2 una relación. FK es una clave ajena en R2 si es un subconjunto de sus atributos tal que: 1. Existe otra relación R1 con clave primaria PK y 2. En todo momento, cada valor de FK en R2 a) es NULO, o b) es idéntico a un valor de PK en alguna tupla de R1 • Restricción de Integridad Referencial La Base de Datos no debe contener valores no nulos de clave ajena sin correspondencia Características generales de integridad de datos Implicaciones de los nulos en la integridad (2) 36 Tema 2. Modelo relacional de datos • Hay que extender algunas acciones de mantenimiento de la Integridad Referencial: R2 ⎯→ R1 Operación: Eliminar una tupla t de R1 que es referenciada por otras de R2 Acciones posibles: 1. Rechazar la operación (acción por defecto) 2. Cascada. Propagar la eliminación 3. Establecer nulos 1 Sólo si la FK de R2 permite NULO - Toda tupla de R2 que referencia a t pasa a contener NULL en FK - Eliminar la tupla t Características generales de integridad de datos Implicaciones de los nulos en la integridad (3)
  • 10. 37 Tema 2. Modelo relacional de datos R2 ⎯→ R1 Operación: 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 operación (acción por defecto) 2. Cascada. Propagar la modificación 3. Establecer nulos 1 Sólo 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 Características generales de integridad de datos Implicaciones de los nulos en la integridad (y 4) 38 Tema 2. Modelo relacional de datos • Comprobar las claves candidatas (primaria y alternativas): No existen dos tuplas distintas con igual valor para una clave Definición de BD : indicar los Atributos Componentes de las Claves Candidatas • Comprobar la restricción de Integridad de entidad Ningún atributo componente de una clave primaria contiene nulo Definición de BD : indicar los Atributos Componentes de la Clave Primaria • Comprobar la restricción 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 relación referenciada Definición de BD : indicar los Atributos Componentes de las Claves Ajenas • ... y mantenerla frente operaciones que puedan violar la integridad Definición de BD : indicar Acciones de Mantenimiento de la Integridad Referencial Características generales de integridad de datos Resumiendo, el SGBD se encarga de... 39 Tema 2. Modelo relacional de datos • Ejemplo de una Base de Datos y Definición de algunos dominios 40 Tema 2. Modelo relacional de datos Esquema “PRODUCTORA” PELICULA (codP:CODPEL, titulo:TITULOS, año:AÑO, 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)
  • 11. 41 Tema 2. Modelo relacional de datos Dominio Definición del Dominio CODPEL enteros(3) CODGUI enteros(3) CODDIR enteros(3) CODDIS enteros(2) CODACT enteros(4) CODAGE enteros(2) SEXOS { M, F } TEXTO cadena caracteres variable (500) PORCENT enteros (2) DINERO enteros(9) NIF cadena caracteres fija (12) TITULOS cadena caracteres variable (120) GENEROS {comedia,drama,terror,suspense,accion,romantica,gore,pulp,roadmovie} PAISES {españa,francia,gran_bretaña,eeuu,australia,alemania,la_india,argentina} AÑOS AÑO FECHAS FECHA NOMBRES cadena caracteres variable (35) APELLIDOS cadena caracteres variable (80) DOMICILIOS cadena caracteres variable (50) TELEFONOS cadena caracteres variable (15) TIPO_PAPEL {protagonista, secundario, reparto, figuracion}