Está en la página 1de 63

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

También podría gustarte