CINE

15
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)

Transcript of CINE

Page 1: 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)

Page 2: CINE

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]

Page 3: CINE

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)

Page 4: CINE

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

Page 5: CINE

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

Page 6: CINE

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

Page 7: CINE

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?

Page 8: CINE

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

Page 9: CINE

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.

Page 10: CINE

¿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

Page 11: CINE

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

Page 12: 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

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

Page 13: 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

Page 14: 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?

Page 15: CINE

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.