Sunteți pe pagina 1din 15

Tema II:

El modelo relacional de datos

(Parte 1)

1.2 Base de datos


Base de colección estructurada de
datos: datos

¿Cómo estructuramos los datos?

Diferentes formas de estructurarlos (modelos de datos)


Índice
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.

El modelo relacional de datos.


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.2 Esquema relacional: representación de la
realidad.

[Apartados 3.1.1 y 3.2 del libro]


2.1 El modelo relacional:
Aproximación algebraica

 El modelo relacional se presenta como un


conjunto de estructuras de datos y sus
operadores asociados

Tupla y
relación
Álgebra Relacional

2.1.1 Estructuras de datos: tupla, relación

Ejemplo: BD de turnos de empleados (modelo de datos relacional)

Empleado
Empleado Turno
Turno
dni nombre direccion Código Inicio Fin
1234567 Pepa Gómez Colón 15 1 8:00 14:00
2040120 Juan Pérez Cuenca 20 2 14:00 20:00
1294569 José Álvarez Blasco Ibáñez 35 3 20:00 2:00
Asignacion_Turno
Asignacion_Turno4
: 2:00 8:00
dni turno inicio fin
1235678 3 1/1/2008 31/1/2008
1294569 1 1/1/2008 31/1/2008
: :
Tablas
Tablas(Relaciones)
(Relaciones)
Filas
Filas==Instancias
Instanciasde
deempleados/turnos/asignaciones
empleados/turnos/asignaciones(Tuplas)
(Tuplas)
Columnas = propiedades (Atributos)
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

Operadores de la estructura tupla:


Generar una tupla:
t ← Tupla((A1,v1), ..., (An,vn)) o bien t ← ((A1,v1), ..., (An,vn))

Consultar el valor de un atributo de una tupla:


t.Ai
Consultar (t, Ai) o bien
t(Ai)

Asignar un valor a un atributo de una tupla:


Asignar (t, Ai, wi) o bien
t.Ai ← wi
t(Ai) ← wi
2.1.1 Estructuras de datos: tupla, relación

Ejemplo:
Empleado
Empleado
dni nombre direccion
1234567 Pepa Gómez Colón 15
2040120 Juan Pérez Cuenca 20
1294569 José Álvarez Blasco Ibáñez 35
:

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”

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

esquema de R {(A1, D1), (A2, D2),…, (An, Dn)}

definición de R R (A1:D1, A2:D2,…, An:Dn)


relación R

R = {t: t={(A1,v1), (A2,v2),…, (An,vn)} ∀i vi ∈ Di}

los dominios del esquema de una relación deben ser escalares


2.1.1 Estructuras de datos: tupla, relación
Ejemplo
Definición de una relación del esquema Empleado:
Empleado (dni: dom_dni, nombre:dom_nom, dirección:dom_dir)

Posible valor o extensión de la relación 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”)} }

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)

Empleado
Empleado
dni nombre direccion
1234567 Pepa Gómez Colón 15
2040120 Juan Pérez Cuenca 20
1294569 José Álvarez Blasco Ibáñez 35
3574843 María Gutiérrez Reina 7
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

Representación tabular de una relación:

Concepción relacional Concepción tabular


relación ..............
tupla ..............
atributo ..............
grado ..............
cardinalidad ..............

2.1.1 Estructuras de datos: tupla, relación

Esquema relacional conjunto de definiciones


de relaciones

Base de datos valores o extensiones


relacional de las relaciones
definidas en el
esquema
El modelo relacional de datos.
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.2 Esquema relacional: representación
de la realidad.

2.2 E.R.: representación de la realidad

Sistema de información: Cartelera de cine

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.
2.2 E.R.: representación de la realidad

¿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


Sistema de información: cartelera de cine

Cine:
Cine:
N •código
•código
•nombre
•nombre
•dirección
•dirección
•teléfono
•teléfono
N

Película:
Película: Director:
Director:
•código
N 1 •código
•código •código
•título
•título •nombre
•nombre
•duración
•duración •nacionalidad
•nacionalidad
2.2 E.R.: representación de la realidad
Sistema de información: cartelera de cine

Película:
Película: Director:
Director:
•código
•código •código
•código
•título
•título •nombre
•nombre
•duración
•duración •nacionalidad
•nacionalidad
•director
•director

2.2 E.R.: representación de la realidad

Ejemplo del contenido de las relaciones Película y Director:

Película
Director
cód título dur. director
cód nombre nac.
BAB Babel 142 AG
PM Pablo Malo España
SOM La sombra de nadie 135 PM
AG Alejandro González México
21G 21 gramos 94 AG
PJ Phil Joanou EEUU
VID La vida en juego 116 PJ
AA Alejandro Amenábar España
FAL Esta es falsa 120 PM

Se puede responder a preguntas en los 2 sentidos


2.2 E.R.: representación de la realidad
Sistema de información: cartelera de cine

Cine:
Cine:
N •código
•código
•nombre
•nombre
•dirección
•dirección
•teléfono
•teléfono
N

Película:
Película: Director:
Director:
•código
N 1 •código
•código •código
•título
•título •nombre
•nombre
•duración
•duración •nacionalidad
•nacionalidad

2.2 E.R.: representación de la realidad


Sistema de información: cartelera de cine

Película:
Película: Cine:
Cine:
•código Sesión:
Sesión: •código
•código •código
•título •cod_peli
•cod_peli •nombre
•título •nombre
•duración •cod_cine
•cod_cine •dirección
•duración •dirección
•director •hora
•hora •teléfono
•director •teléfono
2.2 E.R.: representación de la realidad
Sistema de información: cartelera de cine

Ejemplo del contenido de las relaciones Película, Cine, Sesión:


Sesión Cine

cód_peli cod_cine hora cód nombre dir telef


BAB LYS 20:30 LYS Lys ... ...
VID LYS 22:30 ALB Albatros
VID AQA 22:00 KIN Kinepolis
AQA Aqua
Película
cód título dur. director
Se puede responder a
BAB Babel 142 AG preguntas en los 2 sentidos
SOM La sombra de nadie 135 PM
21G 21 gramos 94 AG
VID La vida en juego 116 PJ

2.2 E.R.: representación de la realidad


Esquema relacional: cartelera de cine

Cine:
Cine:
Sesión:
Sesión: •código
•código
•cod_peli
•cod_peli •nombre
•nombre
•cod_cine
•cod_cine •dirección
•dirección
•hora
•hora •teléfono
•teléfono
Película:
Película:
•código
•código
•título
•título
•duración
•duración Director:
Director:
•director
•director •código
•código
•nombre
•nombre
•nacionalidad
•nacionalidad
2.2 E.R.: representación de la realidad
Esquema relacional: cartelera de cine

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ÍCULA
CAj: {cod_cine}  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.

S-ar putea să vă placă și