1
Práctica 2:
Representación de la realidad en el modelo relacional de
datos.
Práctica 1. Introducción al uso de una BD relacional (ACCESS).
Práctica 2. Representación de la realidad en el modelo relacional de datos.
Práctica 3. El lenguaje SQL. (ORACLE8)
Práctica 4. Estudio del SGBD ORACLE8.
Programa de prácticas:
2
Representación de la realidad en el modelo relacional
• ser capaz de resolver ejercicios sencillos de estructuración de datos en el modelo relacional
• conocer básicamente las directrices para representar un sistema de información en un esquema relacional
• ser capaz de interpretar un esquema relacional ya definido.
Objetivos:
Representación de la realidad en el modelo relacional.
B.D.relacional
Diseño / Modelado
Interpretación
Representación de la Realidad
Mundo Real
objetos con sus propiedades.
relaciones o asociaciones entre objetos.
esquema relacional: (definición de relaciones).
relaciones (datos).
3
Representación de la realidad en el modelo relacional.
B.D.relacional
Diseño / Modelado
Para cada objeto del mundo real del que se desea tener información en la base de datos, se define una relación cuyos atributos representan las propiedades del objeto (código, nombre, …). Cada tupla de la relación representará una instancia particular del objeto en el mundo real.
Las asociaciones entre objetos se representan por medio de referencias explícitas: atributos de referencia definidos en las relaciones.
Mundo Real Representación de la Realidad
Representación de la realidad en el modelo relacional.
Directrices de modelado:
satisfacer los requisitos de información
evitar redundancias
ajustarse a las estructuras de datos del modelo (relación)
los dominios deben ser escalares
4
Sistema de Información: Información geográfica.
Requisitos de Información:
De cada mar: código, nombre, detalles y ríos que desembocan en él.
De cada río: código, nombre, longitud, mar en el que desemboca y provincias por las que pasa, indicando los kilómetros.
De cada provincia: código, nombre, extensión, y límites entre provincias.
Representación de la realidad en el modelo relacional.
código
nombre
longitudRío
código
nombre
detalles
Mar
código
nombre
extensión Prov
inci
a
Sistema de información: información geográfica.
Representación de la realidad en el modelo relacional.
N
1
desemboca
N Npasa por
NN
limita con
5
Representación de la realidad en el modelo relacional.
rcod
nombre
longitud
Río
mcod
nombre
detalles
Mar
mcod
¿información sobre la desembocadura de un río?
Representación de la realidad en el modelo relacional.
mcod
nombre
detalles
Mar
rcod
nombre
longitud
Río
mcod
pcod
nombre
extensión
Provincia
rcod
pcod
km
Pasa_por
¿información sobre el paso de los ríos por las provincias?
6
Representación de la realidad en el modelo relacional.
mcod
nombre
detalles
Mar
rcod
nombre
longitud
Río
mcod
pcod
nombre
extensión
Provincia
rcod
pcod
km
Pasa_por
pcod1
pcod2
Limita_con
¿información sobre los límites entre provincias?
Representación de la realidad en el modelo relacional.
rcod
nombre
longitud
mcod
Río
mcod
nombre
detalles
Mar
pcod
nombre
extensión
Provincia
rcod
pcod
km
Pasa_por
atributos identificadores atributos de referencia
pcod1
pcod2
Limita_con
7
RÍO (rcod: d_rcod, nombre: d_nom, longitud: d_long, mcod: d_mcod)
CP: {rcod}
CAj: {mcod} -> MAR
MAR (mcod: d_mcod, nombre: d_nom, detalles: d_det)
CP: {mcod}
PROVINCIA (pcod: d_pcod, nombre: d_nom, extensión: d_ext)
CP: {pcod}
Esquema relacional (I)
Representación de la realidad en el modelo relacional.
PASA_POR (rcod: d_rcod, pcod: d_pcod, km: d_km)
CP: {pcod,rcod}
CAj: {pcod} -> PROVINCIA
CAj: {rcod} -> RIO
LIMITA_CON (pcod1: d_pcod, pcod2: d_pcod)
CP: {pcod1,pcod2}
CAj: {pcod1} -> PROVINCIA
CAj: {pcod2} -> PROVINCIA
Esquema relacional (II)
Representación de la realidad en el modelo relacional.
8
Sistema de Información: Gestión de pedidos.Requisitos de Información:
De cada proveedor: código, nombre, ciudad donde reside y los pedidos de material que le han solicitado.
De cada pieza: código, nombre, color, peso, ciudad de farbicación y qué proveedores la suministran a los proyectos.
De cada proyecto: código, nombre, ciudad donde se desarrolla el proyecto y las piezas compradas a los proveedores para ese proyecto.
Nota: En la organización por pedido se entiende la solicitud de una pieza de material, realizada a un proveedor determinado con destino a un proyecto.
Representación de la realidad en el modelo relacional.
código
nombre
color
peso
ciudad
Piez
a
código
nombre
ciudad
Proveedor
código
nombre
ciudad Proy
ecto
Sistema de información: Gestión de pedidos.
Representación de la realidad en el modelo relacional.
N Npedido
N
9
Representación de la realidad en el modelo relacional.
zcod
nombre
color
peso
ciudad
Pieza
vcod
nombre
ciudad
Proveedor
ycod
nombre
ciudad
Proyecto
vcod
zcod
ycod
cant
Pedido
¿información sobre los pedidos?
PROVEEDOR (vcod: d_vcod, nombre: d_nom1, ciudad: d_ciu)
CP:{vcod}
PIEZA(zcod: d_zcod, nombre: d_nom2, color: d_color, peso: d_peso, ciudad: d_ciu)
CP:{zcod}
PROYECTO(ycod: d_ycod, nombre: d_nom3, ciudad: d_ciu)
CP: {ycod}
Esquema relacional (I)
Representación de la realidad en el modelo relacional.
10
PEDIDO (vcod: d_vcod, zcod: d_zcod, ycod: d_ycod, cant: d_cant)
CP:{vcod, zcod, ycod}
CAj:{vcod} -> PROVEEDOR
CAj:{zcod} -> PIEZA
CAj:{ycod} -> PROYECTO
Esquema relacional (II)
Representación de la realidad en el modelo relacional.
Sistema de Información: Biblioteca 1.
Requisitos de Información:
De cada socio: código, nombre, dirección y los libros que ha leído.
De cada libro: código, título, autor, tema y los socios que lo han leído.
También se desea establecer una jerarquía entre los distintos temas.
Representación de la realidad en el modelo relacional.
11
código
nombre
longitudTem
a
código
título
autor
Libro
Sistema de información: biblioteca1.
Representación de la realidad en el modelo relacional.
1
N
trataHa leído
código
nombre
detalles
Socio
N
N
SOCIO
scod
nombre
dir
LIBRO
lcod
título
autor
tema
HA_LEÍDO
lcod
scod
TEMA
tema
descripción
TEMÁTICA
tema
subtema
Representación de la realidad en el modelo relacional.atributos identificadores atributos de referencia
12
SOCIO (scod: d_scod, nombre: d_nom, dir: d_dir)
CP: {scod}
LIBRO (lcod: d_lcod, título: d_tit, autor: d_autor, tema: d_tema)
CP: {lcod}
CAj:{tema} -> TEMA
HA_LEIDO (scod: d_scod, lcod: d_lcod)
CP: {scod, lcod}
CAj: {scod} -> SOCIO
CAj: {lcod}-> LIBRO
Esquema relacional (I)
Representación de la realidad en el modelo relacional.
TEMA (tema: d_tema, descripción: d_desc)
CP: {tema}
TEMÁTICA (tema: d_tema, subtema: d_tema)
CP:{tema, subtema}
CAj:{tema} -> TEMA
CAj:{subtema} -> TEMA
Esquema relacional (II)
Representación de la realidad en el modelo relacional.
13
Sistema de Información: Discoteca .
Requisitos de Información:
De cada compositor: nombre, año de nacimiento, nacionalidad y obras que ha compuesto.
De cada director: nombre, año de nacimiento, biografía breve y qué obras dirige en los discos.
De cada obra: código de la obra, título, año de composición y autor y en qué discos se incluye.
De cada disco: número de referencia, nombre, año de aparición, compañía discográfica y las obras que contiene (incluyendo información sobre el director de la interpretación).
Representación de la realidad en el modelo relacional.
nombre
año
biografíaDire
ctor
nombre
año
nacionalidad
Compositor
Sistema de información: Discoteca.
Representación de la realidad en el modelo relacional.
1
N
dirige
Compone
código
título
año
Obra
1
Nreferencia
nombre
año
compañía
Disco
N NEstá_en
N
14
Representación de la realidad en el modelo relacional.atributos identificadores atributos de referencia
OBRAcod_obratítuloañonom-comp
COMPOSITORnom_compañonación
DISCOrefnombrecompañía
ESTÁ_ENcod_obrarefnom_dir
DIRECTORnom_dirañobiografía
COMPOSITOR (nom_comp: d_nom, año: d_año, nación: d_nación)
CP: {nom_comp}
DIRECTOR (nom_dir: d_nom, año: d_año, biografía: d_bio)
CP: {nom_dir}
OBRA (cod_obra: d_cod_obra, título: d_título, año: d_año, nom_comp: d_nom)
CP: {cod_obra}
CAj: {nom_comp} -> COMPOSITOR
Esquema relacional (I)
Representación de la realidad en el modelo relacional.
15
DISCO (ref: d_ref, nombre: d_nom, año: d_año, compañía: d_comp)
CP: {ref}
ESTÁ_EN (cod_obra: d_cod_obra, ref: d_ref, nom_dir: d_nom)
CP: {cod_obra, ref}
CAj: {cod_obra} -> OBRA
CAj: {ref} -> DISCO
CAj: {nom_dir} -> DIRECTOR
Esquema relacional (II)
Representación de la realidad en el modelo relacional.
Sistema de Información: Agencia de Viajes.
Requisitos de Información:
De cada VIAJE: código, fecha, precio, guía asignado, conductores y las ciudades que se visitan.
De cada GUÍA: dni, nombre, idioma que domina, edad, viajes en los que participa.
De cada CHÓFER: dni, nombre, edad, sexo, viajes en los que participa.
De cada CIUDAD: nombre ciudad, número de habitantes, breve descripción de su historia.
Representación de la realidad en el modelo relacional.
16
dni
nombre
idioma
edad
Gui
a
código
fecha
precio
Viaje
Sistema de información: Agencia de viajes.
Representación de la realidad en el modelo relacional.
1
N
Conduce
dni
nombre
edad
sexo
Chófer
N
N
nombre
habitantes
historia
Ciudad
N
NVisita
Tiene
Representación de la realidad en el modelo relacional.atributos identificadores atributos de referencia
VIAJE
cod
fecha
precio
dni_g
GUÍA
dni
nombre
idioma
edad
CIUDAD
nom_ciu
historia
habitantes
VISITA
cod
nom_ciu
CHÓFER
dni
nombre
dir
edad
sexo
CONDUCE
cod
dni
17
VIAJE(cod: d_cod, fecha: d_fecha, precio: d_pre, dni_g: d_dni)
CP: {cod}
CAj: {dni_g} -> GUÍA
VNN: {fecha}
GUÍA(dni_g: d_dni, nombre: d_nom, idioma: d_idi, edad: d_edad)
CP: {dni_g}
CHÓFER(dni: d_dni, nombre: d_nom, dir: d_dir, edad: d_edad, sexo: d_sex)
CP:{dni}
Esquema relacional (I)
Representación de la realidad en el modelo relacional.
CIUDAD(nom_ciu: d_nom1, historia: d_his, habitantes: d_hab)
CP:{nom_ciu}
• VISITA(cod: d_cod, nom_ciu: d_nom1)
CP:{cod, nom_ciu}
CAj:{cod} -> VIAJE
CAj: {nom_ciu} -> CIUDAD
• CONDUCE(dni: d_dni, cod: d_cod)
CP: {dni, cod}
CAj: {cod} -> VIAJE
CAj: {dni} -> CHÓFER
Esquema relacional (II)
Representación de la realidad en el modelo relacional.
18
Realidad
B.D.
relacionalInterpretación
Representación de la Realidad
Representación de la realidad en el modelo relacional.
Sistema de Información: Vuelta ciclistaDescripción:
En una vuelta ciclista:
participan ciclistas organizados en equipos.
la vuelta ciclista se estructura en etapas. Cada etapa la gana un ciclista.
a lo largo de la vuelta hay puertos de montaña en diferentes etapas. Cada puerto de montaña lo gana un ciclista.
durante el desarrollo de la vuelta los ciclistas consiguen premios (maillots). Un maillot lo puede llevar un ciclista en una o en varias etapas.
Representación de la realidad en el modelo relacional.
19
EQUIPO(nomeq: d_eq, director: d_nom)
CP: {nomeq}
CICLISTA(dorsal: d_dor, nombre: d_nom, edad: d_edad, nomeq: d_eq)
CP: {dorsal}
CAj: {nomeq}→ EQUIPO
VNN: {nomeq}
VNN: {nombre}
Esquema relacional (I)
Representación de la realidad en el modelo relacional.
ETAPA(netapa: d_nº, km: d_km, salida: d_ciu, llegada: d_ciu, dorsal: d_dor)
CP: {netapa}
CAj: {dorsal}→ CICLISTA
PUERTO(nompuerto: d_nom, altura: d_alt, categoria: d_cat, pendiente: d_pen, netapa: d_nº,
dorsal: d_dor)
CP: {nompuerto}
CAj: {netapa}→ ETAPA
CAj: {dorsal}→ CICLISTA
VNN: {netapa}
Esquema relacional (II)
Representación de la realidad en el modelo relacional.
20
MAILLOT(codigo: d_cod, tipo: d_tipo, premio: d_pre, color: d_col)
CP: {codigo}
LLEVAR(dorsal: entero, netapa: d_nº, codigo: d_cod)
CP: {netapa,codigo}
CAj: {netapa}→ ETAPA
CAj: {dorsal}→ CICLISTA
CAj: {codigo}→ MAILLOT
VNN: {dorsal}
Esquema relacional (III)
Representación de la realidad en el modelo relacional.
Equiponomeq: cómo se llama el equipo ciclista. (atributo identificador)director: nombre del preparador técnico del equipo.
Ciclistadorsal: nº de dorsal asignado al ciclista durante la carrera. (atributo
identificador)nombre: cómo se llama el corredor.edad: cuántos años tiene.nomeq: nombre del equipo al que pertenece.
(atributo de referencia a Equipo)
Representación de la realidad en el modelo relacional.
21
Etapanetapa: número de la etapa en la vuelta. (atributo identificador)km: cuántos kilómetros tiene la etapa.salida: nombre de la ciudad de donde parte la etapa.llegada: nombre de la ciudad donde está la meta de la etapa.dorsal: dorsal del ciclista que ha ganado la etapa. (atributo de
referencia a Ciclista)Puerto
nompuerto: nombre del puerto de montaña. (atributo identificador)
altura: altura máxima del puerto.categoria: categoría del puerto (1ª, especial, …).pendiente: % de pendiente media del puerto.
netapa: número de la etapa en la que se sitúa el puerto. (atributo de referencia a Etapa)dorsal: dorsal del ciclista que ha ganado el puerto. (atributo de referencia a Ciclista)
Representación de la realidad en el modelo relacional.
Maillotcodigo: código del maillot. (atributo identificador)tipo: indica qué clasificación premia ese maillot.color: cómo es la camiseta asociada a ese premio.premio: cuánto dinero gana el ciclista que acabe la vuelta conese maillot.Llevar:El ciclista con dorsal dorsal ha llevado en la etapa de número netapael maillot identificado por codigo.(netapa, maillot): atributos identificadoresnetapa: atributo de referencia a Etapamaillot: atributo de referencia a Maillotdorsal: atributo de referencia a Ciclista
Representación de la realidad en el modelo relacional.
22
netapa
km
salida
llegada Etap
a
nomeq
director
Equipo
nombre
altura
Categoría
pendiente
netapa
dorsal
Puer
todorsal
nombre
edad
nomeq
Cic
lista1
N
1
N
1
N
código
tipo
premio
color Mai
llot
N 1
1 N
Representación de la realidad en el modelo relacional.
Representación de la realidad en el modelo relacional.
netapa
km
salida
llegada
dorsal
Etapa
nomeq
director
Equipo
nompuerto
altura
categoría
pendiente
netapa
dorsal
Puerto
dorsal
nombre
edad
nomeq
Ciclistadorsal
netapa
código
Llevarcódigo
tipo
premio
color
Maillot
23
Sistema de Información: Música.
Requisitos de Información (I):
De cada COMPAÑÍA: código, nombre, dirección, fax, teléfono y discos editados.
De cada DISCO: código, nombre, fecha, compañía que ha edita el disco, grupo que lo ha grabado y canciones que contiene.
De cada GRUPO: código, nombre, fecha en la que se constituyo el grupo, país, artistas que lo forman, compañía que lo ha editado y club de admiradores.
Representación de la realidad en el modelo relacional.
Sistema de Información: Música.
Requisitos de Información (II):
De cada ARTISTA: DNI, nombre y grupo al que pertenece.
De cada CANCIÓN: código, título, duración y disco en el que se ha grabado.
De cada CLUB: código, nombre, sede, número de personas y grupo al que admiran.
Representación de la realidad en el modelo relacional.
24
código
título
duraciónCan
ción
código
nombre
sede
personas
Club
Sistema de información: Música.
Representación de la realidad en el modelo relacional.
N N
Está Pertenece
código
nombre
dirección
fax
teléfono
Compañía
1
código
nombre
fecha
…
GrupoDNI
nombre
Artista
código
nombre
fecha
…
Disco
N1
N
1N N N
Representación de la realidad en el modelo relacional.atributos identificadores atributos de referencia
COMPAÑÍA
cod
nombre
dir
fax
tlfno
CANCIÓN
cod
título
duración
ESTA
can
cod
CLUB
cod
nombre
sede
num
cod_gru
ARTISTA
dni
nombre
GRUPO
cod
nombre
fecha
pais
PERTENECEdni
cod
funcion
DISCOcod
nombre
fecha
cod_comp
cod_gru
25
CANCION(cod: d_can, título: d_tit, duración: d_dur)
CP: {cod}
VNN: {título}
COMPAÑIA(cod: d_comp, nombre: d_nom, dir: d_dir, fax: d_tel, tfno: d_tel)
CP: {cod}
VNN: {nombre}
Esquema relacional (I)
Representación de la realidad en el modelo relacional.
DISCO(cod: d_dis, nombre: d_nom, fecha: d_fecha, cod_comp: d_comp, cod_gru: d_gru)
CP: {cod}
CAj: {cod_comp}→ COMPANYIA
VNN: {cod_comp}
CAj: {cod_gru}→ GRUPO
VNN: {cod_gru}
ESTA(can: d_can, cod: d_dis)
CP: {can, cod}
CAj: {can}→ CANCIÓN
CAj: {cod}→ DISCO
Esquema relacional (II)
Representación de la realidad en el modelo relacional.
26
GRUPO(cod: d_gru, nombre: d_nom, fecha: d_fecha, pais: d_pais)
CP: {cod}
VNN: {nombre}
ARTISTA(dni: d_dni, nombre: d_nom)
CP: {dni}
VNN: {nombre}
Esquema relacional (III)
Representación de la realidad en el modelo relacional.
CLUB(cod: d_club, nombre: d_nom, sede: d_dir, num: d_num, cod_gru: d_gru)
CP: {cod}
CAj: {cod_gru}→ GRUPO
VNN: {cod_gru}
VNN: {nombre}
PERTENECE(dni: d_dni, cod: d_gru, funcion: f_fun)
CP: {dni, cod}
CAj: {dni}→ ARTISTA
CAj: {cod}→ GRUPO
Esquema relacional (IV)
Representación de la realidad en el modelo relacional.
27
Sistema de Información: Biblioteca 2.
Requisitos de Información :
De cada AUTOR: identificador del autor, nombre, nacionalidad y obras que ha escrito.
De cada OBRA: código de la obra, título, año, temática, autor y libros en los que está incluida.
De cada TEMA: identificador del tema y una breve descripción.
De cada LIBRO: identificador del libro, título, año, obras que contiene, el número de obras y amigos que lo tienen prestado.
De cada AMIGO: número identificador, nombre, teléfono y libros que tiene prestados.
Representación de la realidad en el modelo relacional.
id
nombre
nacionalidad
obras
Autor
Sistema de información: biblioteca2.
Representación de la realidad en el modelo relacional.
Escrito
código
titulo
año
…
Obra
N
N
id
título
año
Libro
id
nombre
teléfono
Amigo
NN
Está en
N
N
Prestado
id
descrip.
Tema
N
1
28
Representación de la realidad en el modelo relacional.atributos identificadores atributos de referencia
AMIGO
num
nombre
teléfono
AUTOR
autor_id
nombre
nacionalidad
ESCRIBIR
cod_obra
autor_id
OBRA
cod_ob
título
año
temática
ESTA_EN
cod_ob
id_lib
PRESTAMO
num
id_lib
LIBROid_lib
título
año
num_obras
TEMA
temática
descripción
AUTOR(autor_id: tira(4), nombre: tira(35), nacionalidad: tira(20))
CP: {autor_id}
VNN: {nombre}
LIBRO(id_lib: tira(10), titulo: tira(80), año: entero, num_obras: entero)
CP: {id_lib}
TEMA(tematica: tira(20), descripcion: tira(50))
CP: {tematica}
Esquema relacional (I)
Representación de la realidad en el modelo relacional.
29
OBRA(cod_ob: entero, titulo: tira(80), año: d_cat, tematica: tira(20))
CP: {cod_ob}
CAj: {tematica}→ TEMA
VNN: {titulo}
AMIGO(num: entero, nombre: tira(60), telefono: tira(10))
CP: {num}
VNN: {nombre}
Esquema relacional (II)
Representación de la realidad en el modelo relacional.
PRESTAMO(num: entero, id_lib:tira(10))
CP: {num,id_lib}
CAj: {num} → AMIGO
CAj: {id_lib} → LIBRO
ESTA_EN(cod_ob: entero, id_lib:tira(10))
CP: {cod_ob,id_lib}
CAj: {cod_ob} → OBRA
CAj: {id_lib} → LIBRO
Esquema relacional (III)
Representación de la realidad en el modelo relacional.
30
ESCRIBIR(cod_ob: entero, autor_id:tira(4))
CP: {cod_ob,autor_id}
CAj: {cod_ob}→ OBRA
CAj: {autor_id}→ AUTOR
Esquema relacional (IV)
Representación de la realidad en el modelo relacional.
Representación de la realidad en el modelo relacional.
Ejercicios:
Contestar las preguntas del punto 3 del boletín
Top Related