Elementos de Bases
de Datos
DCIC – UNS
2020
#04 Vista Lógica – Modelo
Relacional
Teoría Relacional – Pasaje a tablas
Mercedes Vitturini
mvitturi@cs.uns.edu.ar
Temas de Hoy Llaves
• Superllave, llave candidata, llave
DER tablas primaria
Entidades
• Llave conjunto entidad
• Conjunto entidad fuertes • Llave conjunto relación
• Conjunto entidad débil El Modelo Relacional
• Atributos especiales • Definiciones
Relaciones • Esquema de Bases de Datos
• Conjunto relación sin atributos: • Instancia de Base de Datos
relaciones m:1 y 1:1 sin atributos
• Relaciones con atributos • Esquema de Relación
• Relación IS-A • Relación
• Agregación • Llaves
• Llaves Foráneas
4
Servicios del SMBD - Repaso
1. Soporte de al menos un MODELO DE DATOS.
2. Disponibilidad de Lenguajes de alto nivel para administrar o manipular la
base de datos
• Lenguaje de Manipulación de Datos (LMD/DML).
• Lenguaje de Definición de Datos (LDD/DDL).
3. Eficiencia al consultar los datos almacenados.
4. Provea manejo de transacciones (commit y rollback).
• Mantener integridad y consistencia de datos.
• Provea control de concurrencia y capacidades para compartir datos.
• Permita recuperaciones de fallos.
5. Brinde seguridad y facilidades en la administración el acceso a los datos.
5
Servicios del SMBD: Soporte de un Modelo de Datos
Nivel MER (el
Conceptual diagrama DER)
SMBD
Nivles de Modelo
abstracción Nivel lógico
Relacional
Archivos e
Nivel Físico
Indices
6
Representación Tabular
Un diseño conceptual representado por el Diagrama Entidad Relación
se puede traducir a una representación lógica como un grupo de varias
tablas.
Este proceso de conversión se conoce como “pasaje a Tablas del DER”.
Vamos a estudiar:
• El proceso de conversión.
• Cómo representar las restricciones en las “tablas”.
7
Pasaje a Tablas
Del DER a Tablas
Entidad Fuerte
Sea E un conjunto de entidad fuerte con n atributos descriptivos
a1,a2,…,an.
E (a1,a2,…,an)
La tabla para E constará de n columnas, una por cada atributo
Cada atributo tiene definido su dominio.
Cada fila de la tabla representa a una entidad del conjunto entidad E.
La llave primaria de E representa la llave primaria de la tabla de E.
E (a1,a2,…,an)
9
Conjunto Entidad Fuerte - Ejemplo
Cuenta
Nro-Cuenta Saldo
Cuenta 12345 120
12456 1000
20321 500
Nro-Cuenta Saldo
31124 2500
32100 170
1- vista del ME-R
54881 3000
Tabla para la entidad fuerte Cuentas.
CUENTA (Nro-Cuenta, Saldo) La llave primaria es el número de
cuenta.
10
Conjuntos Entidad Débil
Sea A un conjunto entidad débil con los atributos n descriptivos a1,a2,…,an.
Sean, por ejemplo los atributos a1,a2,…,ai el discriminador para A.
Sea B el conjunto entidad fuerte que domina a A con atributos b1,b2,…,bm , y sea
pk(b1,b2,…,bj) la los atributos que forma la llave primaria para B-
La tabla para la entidad débil A constará de n+j columnas:
{a1,a2,…,an } {b1,b2,…,bj}
La llave primaria de la tabla para la entidad débil A está formada por la pk(B)
discriminador (A)
pk(A) = {a1,a2,…,ai } {b1,b2,…,bj}
11
Conjunto Entidades Débil
Nro-Cuenta Nro-Transacción Monto
Saldo Fecha
Cuentas Log Transacciones
Transacción
Nro-Cuenta Nro-Transacción Fecha Monto
1126 5 12/02/2001 100 TRANSACCIONES
1126 6 20/03/2001 -50 (nro-cuenta, nro-
3270 5 14/05/2001 90 transacción, fecha,
3270 6 02/06/2001 -600
1691 6 05/06/2001 1000
monto)
5501 7 15/07/2001 3000
7632 8 23/08/2001 -200 La llave de entidad débil:
Tabla que representa a la entidad débil Transacción Llave entidad fuerte + discriminador
12
Atributos Especiales Segundo-Nombre
Los atributos derivados no se incluyen, se Primer-Nombre
calcula. Ejemplo: edad
Apellido
Los atributos compuestos. Se incluye un
ApNom
atributo por cada elemento. Ejemplo:
apNom
Los atributos multivalorados son como Legajo_docente
una entidad débil. Ejemplo Teléfono- Docentes
Docente
edad
DOCENTES (Legajo-docente, Título- Título-Docente
Fecha-Nac
Docente, Fecha-Nac, Primer-Nombre,
Segundo-Nombre, Apellido)
Teléfono-Docente
DOC-TELÉFONOS (Legajo-Docente,
Teléfono-Nro)
13
Conjuntos Relación
Sea R un conjunto relación definido entre los conjuntos entidad E1, E2,…,
En (n > 1). Sean pk(E1),…,pk(En) las llaves primerias de E1, E2,…, En
respectivamente.
Si R no tiene atributos propios se crea una tabla con una columna por
cada elemento del conjunto
pk(E1) … pk(En)
Si R tiene como atributos propios, {a1,…,am} entonces se crea una tabla
con una columna por cada elemento del conjunto
pk(E1) … pk(En) {a1,…,am}
14
Conjunto Relación sin atributos - Ejemplo
ISBN
LibAut
Libros Nombre-Libro
ISBN DNI
84-481-0079-4 22222222
96-665-1238-4 32000123 Editorial
12-236-9812-1 45678678
44-128-9365-8 20666999 Nro-Páginas
51-326-4588-7 18987345 LibAut
87-123-9699-0 5698772
71-439-2541-1 25006897
DNI
Tabla que representa a la relación
LibAut
Nombre-Autor
Autores
LibAut (ISBN, DNI) Dirección-Autor
15
CtaCli
Con Atributos... Nro-Seguridad-Social Nro-Cuenta Fecha
8448100794 1111 17/01/2003
9666512384 2222 24/01/2001
1223698121 3146 04/02/2002
CtaCli (nro-seguridad-social, 4412893658 2222 12/02/2001
nro-cuenta, fecha) 5132645887 5987 03/01/2003
8712396990 4329 18/03/2002
7143925411 7452 05/08/2003
Tabla que representa a la relación CtaCli
Nro-Seguridad
Social
Fecha
Nombre-Cliente Nro-Cuenta
Clientes CtaCli Cuentas
Dirección-Cliente Ciudad-Cliente Saldo
16
Conjuntos Relación “1:m”
Id Nombre
Caso 1: relaciones m:1 sin
atributos
Departamentos La relación podría eliminarse:
a) Agregando el atributo ID-
Departamento en el conjunto de
Dirige entidades Gerente (del lado del
muchos).
Gerentes Gerente + Dirige:
GERENTES (legajo, apellido, nombre,
Legajo Apellido Nombre id-dpto)
17
Conjuntos Relación “1:1”
Id Nombre
Esta relación podría eliminarse de 2
formas:
a) Agregando el atributo ID-
Departamentos Departamento en el conjunto de
entidades Gerente.
b) Agregando el atributo Legajo en el
conjunto de entidades
Dirige Departamento.
Gerentes + Dirige:
a) DEPARTAMENTOS (Id-dpto, nombre,
Gerentes legajo)
ó
Legajo Apellido Nombre b) GERENTES (legajo, apellido, nombre, id-
dpto)
18
Relaciones IS-A
Existen distintas alternativas para traducir a tablas una relación “es-un” (is_a)
Opción 1 Opción 2
1. Se crea una tabla para el conjunto de 1. NO se crea una tabla para el conjunto
entidades de nivel más alto. de entidades de nivel más alto.
2. Para cada conjunto de entidades de 2. Para cada conjunto de entidades de
nivel más bajo se crea una tabla con
los atributos de ese conjunto de nivel más bajo se crea una tabla que
entidades más una columna por cada con los atributos de ese conjunto de
atributo que es clave primaria del entidades más una columna por cada
conjunto de entidades de nivel más atributo del conjunto de entidades de
alto. nivel más alto.
• Esta opción es válida para • Esta conversión es una posible
generalizaciones solapadas o disjuntas y representación si se trata de
parciales o totales. generalizaciones totales y disjuntas
19
Especialización y Generalización
Nro-Cuenta
Cuenta Saldo
Es-un
Cuenta-Ahorro Cuenta-Cheque
Tasa-Interés Saldo-Deudor
20
Opciones para Relaciones de Herencia
Opción 1
Cuenta Cuenta-Ahorro Cuenta-Cheque
Nro-Cuenta Saldo Nro-Cuenta Tasa-Interés Nro-Cuenta Saldo-Deudor
Opción 2
Cuenta-Ahorro Cuenta-Cheque
Nro-Cuenta Saldo Tasa-Interés Nro-Cuenta Saldo Saldo-Deudor
21
Ejercicio
• De acuerdo a la clasificación de las relaciones “IS-A” en
• Por Nivel inferior
• Solapadas
• Disjuntas
• Distribución
• Totales
• Parciales
• Identificar la/s representaciones como tabla más adecuadas. Justificar
22
Agregación
Nombre Horas Nro-Proyecto
DNI Presupuesto
Empleado Trabaja Proyecto
Trabaja
Usa
Nombre id-LP
Lenguaje de Programación
23
Esquema para Agregados
La transformación de una relación de agregación es directa, respetando las msmas
reglas vistas.
Consideremos el ejemplo, se necesitan tablas para las entidades fuertes:
Empleado, Proyecto y Maquinaria.
Y para las relaciones:
Trabaja.
Usa.
Incluye una columna para cada atributo en la clave primaria del conjunto
de entidades maquinaria y para cada atributo de la clave primaria de
trabaja.
24
Ejemplo
• EMPLEADO (DNI, nombre).
• PROYECTO (Nro-Proyecto, presupuesto).
• LENGUAJE-PROGRAMACION (id-LP, nombre)
• TRABAJA (DNI, Nro-Proyecto, horas) Encontrar los atributos llave
para los conjuntos relación es,
• USA (id-LP, DNI, Nro-Proyecto) tal vez, lo más complejo
Las multiplicidades de la
relación orientan la elección
25
Llaves
Llaves de entidades y relaciones
Restricciones
El modelo de datos de una empresa impone ciertas restricciones que
garanticen la calidad del contenido de una base de datos.
Herramientas para expresar restricciones:
• Cardinalidad de Mapeos
• Llaves (o claves).
• Llave del conjunto entidad.
• Llave del conjunto relación.
27
Superllave de Conjunto Entidad
Definición: se define como superllave (o superclave) a uno o más
atributo de la entidad que distingue unívocamente a un único elemento
o entidad de su conjunto entidad.
• Ejemplos:
• Nro-SeguridadSocial es superllave del conjunto de entidades Clientes.
• Nro-SeguridadSocial + Nombre-Cliente también es superllave del
conjunto de entidades Clientes.
• …
La definición de superllave no exige un conjunto mínimo de atributos
28
Llave candidata – Llave Primaria
Definición: se define como llave candidata a una superllave que no
contiene ningún subconjunto propio que también sea superllave. Esto
es, es una superllave mínima.
Definición: se define como llave primaria a una llave candidata elegida
por el diseñador como llave del esquema.
Observaciones:
• La llave está definida por uno o más atributos del conjunto entidad.
• La designación de una llave representa una restricción del mundo real que se
modela en el Conjunto Entidad.
29
Keys (Llaves o Claves)
SUPERLLAVE: es un conjunto de atributos que permite distinguir
unívocamente a un elemento de un conjunto de entidades.
• Nro-Seguridad-Social es superllave del conjunto de entidades
Clientes.
• Nro-Seguridad-Social y Nombre-Cliente es superllave del
conjunto de entidades Clientes.
LLAVE CANDIDATA: es una superllave que no contiene ningún
subconjunto propio que sea superllave. Es decir, es una
superllave minimal.
LLAVE PRIMARIA: es la llave candidata elegida por el diseñador de
la base de datos.
30
Observaciones
Conceptualmente las entidades son distinguibles.
Desde el punto de vista del MER, las diferencias se expresan en
términos de sus atributos.
En el conjunto entidad no pueden coexistir dos entidades idénticas en
todos sus valores.
31
En el ejemplo
Clientes (Nro-SeguridadSocial, Nombre-
Cliente, Direccion-Cliente, Ciudad-Cliente)
Cuentas(Nro-Cuenta, Saldo)
32
Llaves de entidades débiles
• Un conjunto de entidades débiles no tiene
atributos suficientes que lo distingan.
• Una entidad débil requiere de la llave primaria de
su entidad fuerte (de la que depende) para
identificarse. En el ejemplo:
Ejemplares (ISBN, Nro-Ejemplar, Fecha-
Adquisición, Precio-Compra)
33
Llave del Conjunto Relación
Desde un punto de vista conceptual cada relación del conjunto relación
es distinguibles y las diferencias se expresan en términos de sus
atributos.
Superllave de un conjunto relación distingue unívocamente una
relación del conjunto y está formada por un subconjunto de los
atributos de R.
Llave candidatas de un conjunto relación es una superllave mínima.
Llave primaria es la que el diseñador elige como principal.
34
Formalmente un Conjunto Relación se define
Sean E1, E2, …, En (con n > 1) conjuntos entidad, el conjunto relación R es un
subconjunto de:
R {(e1,e2,…,en): e1 E1, e2 E2,…, en En}
Sea pk(E1),…,pk(En) las llaves primarias de E1,…,En.
Si R no tiene atributos propios entonces el conjunto de atributos que
describe las relaciones de R es:
R = pk(E1) … pk(En).
Si R tiene como atributos descriptivos a {a1,…,am} entonces su conjunto de
atributos que describe las relaciones de R es:
R = pk(E1) … pk(En) {a1,…,am}
35
Observaciones
• Si se trata de un conjunto de relaciones sin atributos propios, la combinación
de las claves primarias de los conjuntos de entidades participantes son una
superllave para el conjunto relación.
• La llave primaria de un conjunto de relaciones dependerá de la cardinalidad
de dicho conjunto.
• Al momento de identificar las claves de un conjunto de relaciones, las
restricciones de multiplicidad ayudan a tomar la decisión.
• Si el conjunto de relaciones tiene atributos, para seleccionar la clave se debe
tener en cuenta la semántica del problema que se está modelando.
36
Ejemplo #1
Editorial
Libro Libros(Editorial, Nombre-Libro,
Nombre-Libro
ISBN, Nro-Páginas)
Llave ISBN
ISBN
Nro-Páginas Autores (Nro-Autor, Nombre-
LibAut Autor, Dirección-Autor)
Llave Nro_Autor
Nro-Autor
LibAut (ISBN, Nro-Autor)
Nombre-Autor
Autor
Dirección-Autor
37
Conjunto Relación - Llaves
LIBAUT
nro-autor ISBN
aa001 LI1
aa002 LI1
aa002 LI4
LibAut: llave
aa003 LI4
ISBN + Nro_Autor
aa001 LI8
LIBROS AUTORES
isbn nombre-libro editorial nro-paginas nro-autor nombre-autor dirección-autor
LI1 FBD e1 587 aa001 AIS d1
LI4 PBD e1 628 aa002 KFK d2
LI8 IBDR e2 596 aa003 CDG d3
38
Ejemplo
Socio (Nro-Socio, Nombre-
Nombre-Socio
Socio, Fecha-Ingreso)
Socio llave Nro-Socio
Nro-Socio
Ciudad (Cód-Postal, Nombre-
Ciudad, Nro-Habitantes)
Fecha-Ingreso
vive llave cod-postal
Cod-Postal
Vive (Nro-Socio, Cód-Postal)
Nombre-Ciudad Llave ?
Ciudad
Nro-Habitantes
39
Conjunto Relación - Llaves
Socios: llave Nro-Socio
Ciudades:
llave cod-postal
Viven: ? – nro-socio
CIUDADES
cod-postal nombre-ciudad nro-habitantes
8000 BB n1
SOCIOS
8102 PA n2
nro-socio nombre-socio fecha-ingreso
s001 DCM 10/05/2008 VIVEN
s002 MMV 10/05/2008 nro-socio cod-postal
s003 TFV 13/07/2009 s001 8000
s004 DLG 19/11/2009 s002 8000
s003 8102
s001 8102 40
Ejemplo
Nombre-Obra
Obra
Nro-Obra
Obra: llave Nro-Obra
Fecha
Salón:
Expone llave ID_Salón
Expone?
ID-Salón
Nombre-Salón
Salón
Dirección-Salón
41
Relaciones no binarias
Nombre-Prof Nombre-Mat
Legajo-Prof Nro-Materia
Docente Materia
Cursa
Cursa: Legajo-Prof +
Nro-Materia + Nro-
Registro
Llave: ?
Alumno
Nombre-Alumno Nro-Registro
42
Relaciones no binarias
Nombre-Prof Nombre-Mat
Legajo-Prof Nro-Materia
Profesor Materia
Período-Lectivo
Cursa
Cursa: Legajo-Prof +
Nro-Materia + Nro-
Registro + Período-
Lectivo
Llave: ?
Alumno
Nombre-Alumno Nro-Registro
43
Relaciones no binarias MATERIAS
Nro-materia nombre-mat
ALUMNOS 7642 EBD
PROFESORES
nro-registro nombre-alumno 5551 AM1
legajo nombre-prof
r021 RMV 5973 RPA
pp01 DCM
pp04 MAF r032 GFD
pp11 MMV r056 PR CURSAN
r067 MCA nro-registro nro-materia Legajo Periodo-lectivo
r021 5973 pp01 2010-1
r021 5973 pp11 2010-2
r032 5973 pp11 2010-2
r032 5551 pp04 2010-2
r032 7642 pp04 2011-1
… … … …
r032 7642 pp11 2011-1
44
En resumen
• La llave primaria para un conjunto de relación / conjunto entidad siempre está
definida entre sus atributos y es independiente de la instancia en un momento.
• Conjunto entidad débil (ED), cuya llave es Llave primaria(EF) Discriminador(ED)
• Conjunto relación m:n sin atributos propios: se define como la unión de Llave
primaria(E) de las entidades que vincula.
• Conjunto relación m:1 sin atributos propios: se define como la Llave primaria(E) de
las entidades que es el muchos en la relacióm.
• Conjunto relación 1:1 sin atributos propios: se define como la Llave primaria(E) de
cualquiera de las entidades, ambas son llave candidata.
• Si el conjunto de relación tiene atributos propios la selección de la llave dependerá
de la semática.
45
Modelo Relacional
Conceptos teóricos
Modelo Relacional
El modelo relacional define una colección de tablas o esquemas donde
administrar las entidades y las relaciones entre los datos.
Está basado en el concepto de relaciones (relations).
Las relaciones modelan tanto a las entidades y como a las relaciones
del modelo MER.
Cada relación se ve como una tabla compuesta por varias filas o
tuplas. Todas las filas con los mismos atributos
Los atributos tienen asociado un dominio de atributo.
47
Sobre el modelo
→Una relación se compone por un conjunto de tuplas.
→El orden en que las tuplas están dentro de la relación no es de interés.
→Una relación no contiene dos tuplas exactamente iguales.
→Eldominio de cada atributo es atómico. Varios atributos pueden tener el
mismo dominio asociado.
→Los nombres de los atributos de una relación deben ser distintos.
→El valor null es miembro de múltiples dominios es el.
→Enuna base de datos relacional no existen dos relaciones con el mismo
nombre.
48
El Modelo de Datos “Relacional”
MODELO RELACIONAL define la colección de tablas donde representar los
datos y sus relaciones.
Relación r
Esquema A1 A2 … An
Relación
Tupla o
fila o
relationship
49
Modelo Relacional - Definiciones
Esquema de Base de Datos – es el diseño lógico de la base de datos.
• El esquema de base de datos se compone de varios esquemas de
relación
• Para el ejemplo de cuentas esq-cuentas, esq-clientes, esq-ctacli
Instancia de Base de Datos – el contenido de la base de datos en un
instante de tiempo. El contenido queda distribuido en distintas ‘tablas’
o relaciones.
50
Modelo Relacional – Definiciones
Esquema de Relación – se corresponde con el diseño lógico de una
relación.
Esquema-Cuentas (nro-cuenta, saldo)
Relación – es el contenido de un esquema de relación.
cuentas (Esquema-Cuentas)
51
Relación attributes
(or columns)
tuples
(or rows) Esquema Instructor
Instructor (ID, name, dept_name,
salary)
• La relación no está ordenada.
• El dominio de cada atributo es
atómico.
• El valor null es un valor posible
Ref: Database System Concepts – A. Silberschatz 52
Ejemplo Esquema de la base de datos Biblio
Esquema-libro (ISBN, título,
ISBN editorial)
Libro Nombre-Libro Esquema-autor (id, apellido,
nombre)
Editorial
Esquema-escrito-por (ISBN, ID)
Escrito-por Instancias
libro (Esquema-libro).
ID
autor (Esquema-autor)
Apellido escrito-por (Esquema-escrito-por)
Autor
Nombre
53
Modelo E-R a Modelo Relacional
Para las siguientes definiciones sobre relaciones binarias definidas en el
modelo ER asumimos los conjuntos de entidades:
A (A1,…,Am) y B (B1,…,Bn)
Y llaves primarias (pk):
(A1,…,Ai) para A y (B1,…,Bj) para B
Notación:
• (A1,…,Ai ,…,Am) para A
• (B1,…,Bj ,…,Bn) para B
55
Modelo E-R a Modelo Relacional
Sea R una relación “binaria” del modelo E-R que la vincula A y B con
cardinalidad muchos a muchos sin atributos:
Esquema de Base de Datos (general):
A (A1,…,Ai,…,,Am)
B (B1,…,Bj,…,Bn)
R (A1,…,Ai,B1,…,Bj)
56
Modelo E-R a Modelo Relacional
Sea R una relación “binaria” del modelo E-R que la vincula A y B con
cardinalidad muchos a uno:
Solución Costosa (general):
A (A1,…,Ai,…,,Am).
B (B1,…,Bj,…,Bn).
R (A1,…,Ai,B1,…,Bj).
Solución Económica:
A (A1,…,Ai,…,,Am,B1,…, Bj).
B (B1,…,Bj,…,Bn).
57
Modelo E-R a Modelo Relacional
Sea R una relación “binaria” del modelo E-R que la vincula A y B, con
cardinalidad uno a uno:
• Como caso particular de relación muchos a uno.
A (A1,…,Ai,…,,Am,B1,…,Bj).
B (B1,…,Bj,…,Bn).
ó
A (A1,…,Ai,…,Am).
B (B1,…,Bj,…,,Bn,A1,…,Ai).
58
Generalizando
Sean los conjuntos de entidades E1,E2,…,En, con llaves k1,…,kn
respectivamente.
Sea R una relación n-aria del modelo E/R que vincula E1,E2, … y En:
E1= (A1,…,Ai1,…,Am1)
E2= (B1,…,Bi2,…,Bm2)
...
En= (N1,…,Njn,…,Nmn)
R= (A1,…,Ai1,B1,…,Bi2,…,N1,…,Njn).
59
Modelo E-R a Modelo Relacional
Sea R una relación n-aria del modelo E/R, con atributos propios, se agregan
los atributos a la relación:
E1= (A1,…,Ai1,…,Am1)
E2= (B1,…,Bi2,…,Bm2)
...
En= (N1,…,Njn,…,Nmn)
R= (A1,…,Ai1,B1,…,Bi2,…,N1,…,Njn,a1,…,an).
60
Llaves y Llaves Foráneas
• Un conjunto de atributos K R. K es una superllave de R si los valores K son
suficientes para identificar a una única tupla de cualquier relación r(R) posible
• Ejemplo {ID} y {ID,name} son supellaves de instructor
• Una superllave K es una llave candidata si K es mínima
• Ejemplo: {ID} es una llave candidata de instructor
• Una de las llaves cantidatas es llave primaria si es la que elije el diseñador.
Llave Foránea: es un tipo de restricción que exige que el valor que está en una relación
r debe estar en otra relación s
• r se denomina Referencing relation
• s se denomina Referenced relation
• Por ejemplo: el valor del atributo dept_name de Instructor tiene una referencia
foránea al atributo dept_name de la relación Departamento
61
Llaves Foráneas
Llave Foránea: es un tipo de restricción que exige que el valor que está en una
relación r debe estar en otra relación s
• r(R), con R(A1, A2, ... Am) Referencing relation
• s(S), con S(B1, B2, ... Bn) Referenced relation
• Se dice que los atributos de r Ai, ... Aj referencian a los atributos de s Bi, ... Bj y se
especifica como
FK r(Ai, ... Aj ) referencia a s (Bi, ... Bj)
• En general ocurre que (Bi, ... Bj) suelen ser la llave primaria de s, aunque no
necesariamente.
• Ejemplo:
• Sea escrito_por(ISBN, idAutor)
• FK escrito_por(ISBN) referencia a libro(ISBN)
• FK escrito_por(idAutor) referencia a autor(idAutor)
62
id nombre
apellido peso
Caballo monta Jinete dni
fecha_nac
corre posición
es_dueño
categoría Carrera fecha
Dueño
IdCarrera nombre
dni domicilio
apellido
• Esq_caballo (idCab, nombre, dni)
• Primary key: idCab
• Foreign Key: dni referencing dni in esq_duenios BD Relacional
• Esq_duenio (dni, apellido, nombre)
• Primary key: dni
• Esq_jinete (dni, apellido, peso, fecha_nac)
• Primary key: dni
• Esq_carrera (idCarr, nombre, categoría, fecha)
• Primary key: idCarr
• Esq_monta (idCab, dni)
• Primary key: idCab+dni
• Foreign Key: idCab referencing idCab in esq_caballo
• Foreign Key: dni referencing dni in esq_jinete
• Esq_corre (idCarr, idCab, dni, posición)
• Primary key: idCarr+idCab+dni
• Foreign Key: idCarr referencing idCarr in esq_carrera
• Foreign Key: idCab+dni referencing idCab+dni in esq_monta
64
Temas de la clase de hoy
• Pasaje a tablas.
• Modelo Relacional
Bibliografía:
• “Conceptos de Sistemas de Bases de Datos” – Abraham Silberschatz 6ta. Ed –
Capítulo 2 (Ed.2010)
• “Principles of Database and Knowledge-Base Systems” – J. Ullman. Capítulo 2.
65