CINE
-
Upload
nestor-palacios -
Category
Documents
-
view
215 -
download
2
Transcript of CINE
Tema II:El modelo relacional de datos
(Parte 1)
1.2 Base de datos
colección estructurada de datos
Base de datos:
¿Cómo estructuramos los datos?
Diferentes formas de estructurarlos (modelos de datos)
2.1.- Modelo relacional de datos: aproximación algebraica.
2.2.- Esquema relacional: representación de la realidad.
2.3.- Modelo relacional de datos: aproximación lógica.2.4.- Información faltante: valor nulo.2.5.- Restricciones de integridad.2.6.- El lenguaje estándar SQL.2.7.- Información derivada: vistas.2.8.- Mecanismos de actividad: disparadores.
Índice
2.1Modelo relacional de datos (Aproximación algebraica)2.1.1 Estructuras de datos: tupla, relación.2.1.2 Operadores asociados a la estructura
relación: Álgebra Relacional.
2.2 Esquema relacional: representación de la realidad.
El modelo relacional de datos.
[Apartados 3.1.1 y 3.2 del libro]
Tupla y relación
Álgebra Relacional
2.1 El modelo relacional: Aproximación algebraica
� El modelo relacional se presenta como un conjunto de estructuras de datos y sus operadores asociados
2.1.1 Estructuras de datos: tupla, relación
:
Blasco Ibáñez 35José Álvarez1294569
Cuenca 20Juan Pérez2040120
Colón 15Pepa Gómez1234567
direccionnombredni
EmpleadoEmpleado
2:00
20:00
14:00
8:00
Inicio
8:00
2:00
20:00
14:00
Fin
4
3
2
1
Código
TurnoTurno
Ejemplo: BD de turnos de empleados (modelo de datos relacional)
31/1/2008
31/1/2008
fin
1/1/2008
1/1/2008
inicio
:
1
3
turno
:
1294569
1235678
dni
Asignacion_TurnoAsignacion_Turno
Tablas (Relaciones)Filas = Instancias de empleados/turnos/asignaciones (Tuplas)Columnas = propiedades (Atributos)
Tablas (Relaciones)Filas = Instancias de empleados/turnos/asignaciones (Tuplas)Columnas = propiedades (Atributos)
2.1.1 Estructuras de datos: tupla, relación.
Tupla: tupla registro (struct)
Un esquema de tupla τ es un conjunto de pares (nombre_atributo, dominio), de la forma:
τ = {(A1, D1), (A2, D2),…, (An, Dn)}
Una tupla de esquema τ= {(A1, D1), (A2, D2),…, (An, Dn)} es un conjunto de pares (nombre_atributo, valor) de la forma:
t = {(A1, v1), (A2, v2),…, (An, vn)} tal que ∀i vi ∈ Di
2.1.1 Estructuras de datos: tupla, relación
Consultar (t, Ai)
Asignar (t, Ai, wi)
t.Ait(Ai)
t.Ai ← wit(Ai) ← wi
Operadores de la estructura tupla:
�Consultar el valor de un atributo de una tupla:
�Asignar un valor a un atributo de una tupla:
�Generar una tupla:t ← ((A1,v1), ..., (An,vn))t ← Tupla((A1,v1), ..., (An,vn)) o bien
o bien
o bien
2.1.1 Estructuras de datos: tupla, relación
Ejemplo:
Tupla:
t ← ((dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Paz 10”))
Operaciones:
Consulta atributo: t.nombre
Asignación atributo: t.dirección ← “Colón 15”
:
Blasco Ibáñez 35José Álvarez1294569
Cuenca 20Juan Pérez2040120
Colón 15Pepa Gómez1234567
direccionnombredni
EmpleadoEmpleado
2.1.1 Estructuras de datos: tupla, relación
Una relación es un conjunto de tuplas del mismo esquema al que se denomina esquema de la relación
{(A1, D1), (A2, D2),…, (An, Dn)}
R (A1:D1, A2:D2,…, An:Dn)
R = {t: t={(A1,v1), (A2,v2),…, (An,vn)} ∀i vi ∈ Di}
esquema de R
relación R
definición de R
los dominios del esquema de una relación deben ser escalares
2.1.1 Estructuras de datos: tupla, relación
EjemploDefinición de una relación del esquema Empleado:
{ {(dni, 1234567), (nombre, “Pepa Gómez”), (dirección, “Colón 15”)}
{(dni, 2040120),(nombre, “Juan Pérez”), (dirección, “Cuenca 20”) }{(nombre, “José Álvarez”),(dni, 1294569),(dirección, “Blasco Ibáñez 35”)}
{(nombre, “María Gutiérrez”),(dni, 3574843),(dirección, “Reina 7”)} }
Empleado (dni: dom_dni, nombre:dom_nom, dirección:dom_dir)
Posible valor o extensión de la relación Empleado:
2.1.1 Estructuras de datos: tupla, relación
Representación tabular de una relación:
Empleado (dni: dom_dni, nombre:dom_nom, dirección:dom_dir)
Reina 7María Gutiérrez3574843
Blasco Ibáñez 35José Álvarez1294569
Cuenca 20Juan Pérez2040120
Colón 15Pepa Gómez1234567
direccionnombredni
EmpleadoEmpleado
2.1.1 Estructuras de datos: tupla, relación
Representación tabular de una relación
El orden de las filas y de las columnas de la tabla es irrelevante
En una relación:
� no existe un orden definido entre las tuplas
� no existe un orden definido entre los atributos de una tupla
2.1.1 Estructuras de datos: tupla, relación
Propiedades de una relación:
� Grado de una relación: número de atributos de su esquema
� Cardinalidad de una relación: número de tuplas que la forman
� Compatibilidad: dos relaciones R y S son compatibles si sus esquemas son idénticos
Ejemplo: en la relación Empleado:• ¿grado?• ¿cardinalidad?• ¿con qué relaciones es compatible?
2.1.1 Estructuras de datos: tupla, relación
Concepción relacional
relación
tupla
atributo
grado
cardinalidad
Concepción tabular
..............
..............
..............
..............
..............
Representación tabular de una relación:
Esquema relacional conjunto de definiciones de relaciones
Base de datos relacional
valores o extensionesde las relaciones definidas en el esquema
2.1.1 Estructuras de datos: tupla, relación
2.1 Modelo relacional de datos (Aproximación algebraica).2.1.1 Estructuras de datos: tupla, relación.2.1.2 Operadores asociados a la estructura
relación: Álgebra Relacional.
2.2Esquema relacional: representación de la realidad.
El modelo relacional de datos.
Sistema de información: Cartelera de cine
2.2 E.R.: representación de la realidad
Requisitos de información:
� De cada cine: código, nombre, dirección, teléfono, películas que hacen y a qué hora.
� De cada película: código, título, duración, director, cines en los que la hacen y a quéhora.
� De cada director: código, nombre, nacionalidad, películas que ha dirigido.
¿cómo organizar los datos que aparecen en los requisitos de información mediante un conjunto de estructuras relación?
Directrices:� Satisfacer los requisitos de información� Evitar redundancias� Ajustarse a las estructuras de datos del modelo (relaciones)
los dominios han de ser escalares
2.2 E.R.: representación de la realidad
Cine:•código•nombre•dirección•teléfono
Cine:•código•nombre•dirección•teléfono
Película:•código•título•duración
Película:•código•título•duración
Director:•código•nombre•nacionalidad
Director:•código•nombre•nacionalidad
N
N
Sistema de información: cartelera de cine
2.2 E.R.: representación de la realidad
1N
Película:•código•título•duración•director
Película:•código•título•duración•director
Director:•código•nombre•nacionalidad
Director:•código•nombre•nacionalidad
2.2 E.R.: representación de la realidad
Sistema de información: cartelera de cine
2.2 E.R.: representación de la realidad
PM120Esta es falsaFAL
AG9421 gramos21G
PJ116La vida en juegoVID
PM135La sombra de nadieSOM
AG142BabelBAB
directordur.títulocód
EEUUPhil JoanouPJ
EspañaAlejandro AmenábarAA
MéxicoAlejandro GonzálezAG
EspañaPablo MaloPM
nac.nombrecód
PelículaDirector
Ejemplo del contenido de las relaciones Película y Director:
Se puede responder a preguntas en los 2 sentidos
Cine:•código•nombre•dirección•teléfono
Cine:•código•nombre•dirección•teléfono
Película:•código•título•duración
Película:•código•título•duración
Director:•código•nombre•nacionalidad
Director:•código•nombre•nacionalidad
N
N
2.2 E.R.: representación de la realidad
1N
Sistema de información: cartelera de cine
Cine:•código•nombre•dirección•teléfono
Cine:•código•nombre•dirección•teléfono
Película:•código•título•duración•director
Película:•código•título•duración•director
2.2 E.R.: representación de la realidad
Sesión:•cod_peli•cod_cine•hora
Sesión:•cod_peli•cod_cine•hora
Sistema de información: cartelera de cine
2.2 E.R.: representación de la realidad
AG9421 gramos21G
PJ116La vida en juegoVID
PM135La sombra de nadieSOM
AG142BabelBAB
directordur.títulocód
...
dir
KinepolisKIN
AquaAQA
AlbatrosALB
...LysLYS
telefnombrecód
Película
Cine
Ejemplo del contenido de las relaciones Película, Cine, Sesión:
22:30LYSVID
22:00
20:30
hora
AQAVID
LYSBAB
cod_cinecód_peli
Sesión
Sistema de información: cartelera de cine
Se puede responder a preguntas en los 2 sentidos
Cine:•código•nombre•dirección•teléfono
Cine:•código•nombre•dirección•teléfono
Película:•código•título•duración•director
Película:•código•título•duración•director
2.2 E.R.: representación de la realidad
Sesión:•cod_peli•cod_cine•hora
Sesión:•cod_peli•cod_cine•hora
Director:•código•nombre•nacionalidad
Director:•código•nombre•nacionalidad
Esquema relacional: cartelera de cine
2.2 E.R.: representación de la realidad
PELÍCULA(código:tira(3), título:tira(30), duración:entero, director:tira(3))CP: {código}CAj: {director} � DIRECTOR
DIRECTOR(código:tira(2), nombre:tira(30), nacionalidad:tira(15))CP: {código}
CINE(código:tira(3), nombre:tira(15), dirección:tira(20), telef:tira(12))CP: {código}
SESIÓN(cod_peli:tira(3), cod_cine:tira(3), hora:tira(5))CP: {cod_peli, cod_cine, hora}CAj: {cod_peli} � PELÍCULACAj: {cod_cine} � CINE
Esquema relacional: cartelera de cine
2.2 E.R.: representación de la realidad
� En el sistema de información anterior, se quiere añadir el siguiente requisito de información:
� De cada película: sus intérpretes.
� De cada intérprete: código, nombre, nacionalidad, películas que ha interpretado.
� ¿Qué modificaciones habría que hacer en el esquema relacional anterior?
2.2 E.R.: representación de la realidad
Sistema de información: Librería
Requisitos de información:
� De cada libro: código, título, editoriales que lo han publicado y en qué año lo han hecho, número de páginas de la edición, autores del libro.
� De cada editorial: NIF, dirección, teléfono, libros que han publicado.
� De cada autor: código, nombre, nacionalidad, año de nacimiento, libros que ha publicado.