Está en la página 1de 33

Prof.

Jos Ignacio Vzquez Herrera


Bibliografa:
Fundamentos de sistemas de bases de datos
Ramez Elmasri y Shamkant B. Navathe
Fundamentos de bases de datos
Henry F. y Abraham Silverschatz
Sistemas de Bases de Datos. Diseo, Implementacin y Admn
Peter Rob y Carlos Coronel
Modelos de datos
Alto nivel o Conceptuales
De implementacin o Lgicos
Bajo nivel o Fsicos
El Modelo Relacional cae dentro de la clasificacin de
Modelos de Datos de Implementacin o Lgicos. El
objetivo es llevar nuestro modelo entidad-relacin inicial
al servidor de Bases de Datos
Proceso del diseo de Bases de Datos
Minimundo
Recoleccin de anlisis
de requerimientos
Diseo Conceptual
Diseo Lgico
Diseo Fsico
Modelo Entidad-Relacin
Modelo Relacional
Independiente
Del SGBD
Especfico para
Cada SGBD
LUGARES_DEPTOS NUMEROD LUGARD
1 Tlaquepaue
4 Guadalajara
5 Zapopan
5 Zapotlanejo
5 Guadalajara
PROYECTO NOMBREP NUMEROP LUGARP NUMD
ProductoX 1 Guadalajara 5
ProductoY 2 Zapotlanejo 5
ProductoZ 3 Tlaquepaque 5
Automatizacin 10 Guadalajara 4
Reorganizacin 20 Tlaquepaque 1
NuevasPrestaciones 30 Zapopan 4
DEPARTAMENTO NOMBRED NUMEROD NSSGTE FECHAINICGTE
Investigacin 5 333445555 22-MAY-78
Administracin 4 987654321 01-ENE-85
Direccin 1 888665555 19-JUN-71
TRABAJA_EN NSS NUMP HORAS
123456789 1 32.5
123456789 2 7.5
666884444 3 40.0
453453453 1 20.0
453453453 2 20.0
333445555 2 10.0
333445555 3 10.0
333445555 10 10.0
333445555 20 10.0
999887777 30 30.0
999887777 10 10.0
987987987 10 35.0
987987987 30 5.0
987987987 30 20.0
987987987 20 15.0
888665555 20 NULO
El Modelo Relacional fue
introducido en 1970 por
Ted Codd (IBM).
Representa la BD como
una Coleccin de
Relaciones.
Una Relacin se visualiza
como una tabla de valores.
Conceptos bsicos del Modelo Relacional
LUGARES_DEPTOS NUMEROD LUGARD
1 Tlaquepaue
4 Guadalajara
5 Zapopan
5 Zapotlanejo
5 Guadalajara
PROYECTO NOMBREP NUMEROP LUGARP NUMD
ProductoX 1 Guadalajara 5
ProductoY 2 Zapotlanejo 5
ProductoZ 3 Tlaquepaque 5
Automatizacin 10 Guadalajara 4
Reorganizacin 20 Tlaquepaque 1
NuevasPrestaciones 30 Zapopan 4
DEPARTAMENTO NOMBRED NUMEROD NSSGTE FECHAINICGTE
Investigacin 5 333445555 22-MAY-78
Administracin 4 987654321 01-ENE-85
Direccin 1 888665555 19-JUN-71
TRABAJA_EN NSS NUMP HORAS
123456789 1 32.5
123456789 2 7.5
666884444 3 40.0
453453453 1 20.0
453453453 2 20.0
333445555 2 10.0
333445555 3 10.0
333445555 10 10.0
333445555 20 10.0
999887777 30 30.0
999887777 10 10.0
987987987 10 35.0
987987987 30 5.0
987987987 30 20.0
987987987 20 15.0
888665555 20 NULO
Cada Fila representa una
coleccin de valores de
datos relacionados entre s.
Dichos valores son hechos
del mundo real. El nombre
de la tabla y columnas
ayudan a interpretar su
significado.
Conceptos bsicos del Modelo Relacional
ESTUDIANTE Nombre NSS TelParticular Direccin TelOficina Edad Prom
Benjamn Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21
Karla Armenta 381-62-1245 36-56-72-35 Maz 125 Nulo 18 2.89
Diego Domnguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53
Carlos Corts 489-22-1100 38-56-23-45 Libertad 265 36-45-79-34 28 3.25
Los elementos del modelo relacional son llamados
Relaciones, Tuplas y Atributos.
Tradicionalmente, en las aplicaciones DBMS (SGBD)
son conocidos como tablas, registros (o filas) y
campos (o columnas).
Atributos Nombre de la relacin
Tuplas
Conceptos bsicos del Modelo Relacional
ESTUDIANTE Nombre NSS TelParticular Direccin TelOficina Edad Prom
Benjamn Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21
Karla Armenta 381-62-1245 36-56-72-35 Maz 125 Nulo 18 2.89
Diego Domnguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53
Dominio: Conjunto de valores atmicos, es decir: no indivisibles:
Nmeros de Seguro Social, Calificaciones, Edades, Nmeros
Telefnicos, etc. Debe tener un Nombre, Tipo de Datos y Formato.
Grado de una Relacin: Nmero de atributos n del esquema R.
Cardinalidad de una Relacin: Nm. de tuplas que la forman.
Cardinalidad de la relacin: 3 El atributo NSS cuyo dominio son los nmeros del seguro social
Grado de la relacin: 7 Nombre de
La relacin
Conceptos bsicos del Modelo Relacional
Esquema de relacin : R(A
1
, A
2
, ..., A
n
)
Tupla de grado n : t=<v
1
,v
2
, ..., v
n
>
Valor de t para el atributo A
i
: t[A
i
]
Dominio de A
i
: dom(A
i
)
Subtupla de t : t[A
1
, A
2
, ..., A
z
]
Ejemplo:
Esquema de relacin : Clientes(nombreCli, dniCli, domicilio)
Dominio de dniCli : Nmeros enteros postivos
Tupla : t=<Johnson, 1, La Reina n7>
Valor de tupla : t[nombreCli]
Subtupla : t[nombreCli, domicilio]
Notacin del Modelo Relacional
Un Esquema de Relacin R se compone de un
nombre de relacin R, y una lista de atributos A
1
, A
2
A
3
, .., A
n
; cada uno de los cuales es el nombre de
un papel desempeado por un dominio D o
dom(A
i
). Un esquema de relacin se define dentro
del catlogo.
Un Ejemplar de Relacin o relacin r(R) es un
subconjunto del producto cartesiano de los
dominios que definen a R. Cambia constantemente
con el tiempo.
Esquemas y Ejemplares de Relacin
Un Esquema de Relacin es relativamente esttico (no
cambia mucho con el tiempo), mientras que un
Ejemplar de Relacin en un momento dado refleja el
estado actual de la relacin.
Es posible que varios atributos tengan el mismo
dominio, siempre y cuando indiquen diferentes papeles
(o roles) como en los atributos TelParticular y TelOficina
de la siguiente relacin:
Esquemas de Relacin
ESTUDIANTE Nombre NSS TelParticular Direccin TelOficina Edad
Benjamn Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10
Karla Armenta 381-62-1245 36-56-72-35 Maz 125 Nulo 18
Diego Domnguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25
Un Ejemplar de Relacin o relacin r(R) es un
subconjunto del producto cartesiano de los dominios
que definen a R:
r(R) dom(A
1
) X dom(A
2
) X X dom(A
n
)
Ejemplares de Relacin
r1 A
1
A
2
a d
c e
r2 A
1
A
2
b d
c d
A
1
A
2
a d
a e
b d
b e
c d
c e
r3 A
1
A
2
a e
b e
Dado el esquema de relacin R(A
1
,A
2
),
donde los dominios de los atributos
A
1
y A
2
son:
dom(A
1
) = {a,b,c}
dom(A
2
) = {d,e}
El producto cartesiano de los dominios
que definen a R { dom(A
1
) X dom(A
2
) }
dara:
Los ejemplares de relacin:
r
1
(R), r
2
(R) y r
3
(R):
Cumplen con la definicin
anterior, pues son todos
subconjuntos de los
dominios que definen a R
El producto cartesiano se refiere a todas las
combinaciones posibles que se pueden
presentar con los dominios de R
Ejemplares de Relacin
ESTUDIANTE Nombre NSS TelParticular Direccin TelOficina Edad
Benjamn Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10
Karla Armenta 381-62-1245 36-56-72-35 Maz 125 Nulo 18
Diego Domnguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25
Carlos Corts 489-22-1100 38-56-23-45 Libertad 265 36-45-79-34 28
Sobre las Tuplas
Por ser una relacin un conjunto de tuplas, se
infiere que cada tupla es diferente.
Una Relacin se define como un conjunto de
tuplas. Ya que en la teora matemtica de
conjuntos los elementos no estn ordenados, las
tuplas de una relacin no tienen orden especfico.
En el modelo Relacional no se admiten atributos
multivaluados o atributos compuestos.
Una Tupla se define como una lista ordenada de
valores, as que el orden de los valores de una
tupla s es importante.
ESTUDIANTE Nombre NSS TelParticular Direccin TelOficina Edad
Benjamn Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10
Karla Armenta 381-62-1245 36-56-72-35 Maz 125 Nulo 18
Diego Domnguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25
Carlos Corts 489-22-1100 38-56-23-45 Libertad 265 36-45-79-34 28
Sobre los atributos
Esquema de BD Relacional
NUMEROD LUGARD
Un esquema de base de datos relacional es un
conjunto de esquemas de relaciones y un conjunto
de restricciones de integridad.
NSSE NUMP HORAS
NOMBREP NUMEROP LUGARP NUMD
NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO
NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND
NOMBRED NUMEROD NSSGTE FECHAINICGTE
EMPLEADO
DEPARTAMENTO
LUGARES_DEPTOS
PROYECTO
TRABAJA_EN
DEPENDIENTE
Conjunto de
esquema de
relaciones. Falta
definir el conjunto
de restricciones de
integridad
LUGARD NUMEROD
HORAS NUMP NSSE
NUMD LUGARP NUMEROP NOMBREP
PARENTESCO FECHAN SEXO NOMBRE_DEPENDIENTE NSS
SEXO DIRECCION FECHAN NSS APELLIDO INIC ND NSSUPER SALARIO NOMBREP
FECHAINICGTE NSSGTE NUMEROD NOMBRED
EMPLEADO
DEPARTAMENTO
LUGARES_DEPTOS
PROYECTO
TRABAJA_EN
DEPENDIENTE
Esquema de BD Relacional
Los esquemas
de bases de
datos son
almacenados
en el catlogo
del SGBD
Ejemplar de una BD Relacional
EMPLEADO NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND
Jos B Silva 123456789 09-ENE-55 Fresno 731, Guadalajara M 30000 333445555 5
Federico T Vizcarra 333445555 08-DIC-45 Valle 638, Len M 40000 888665555 5
Alicia J Zapata 999887777 19-JUL-58 Castillo 3321, Monterrey F 25000 987654321 4
Jazmn S Valds 987654321 20-JUN-31 Bravo 291, Guadalajara F 43000 888665555 4
Ramn K Nieto 666884444 15-SEP-52 Independencia 35, Len M 38000 333445555 5
Josefa A Esparza 453453453 31-JUL-62 Cancin 1450, Zapopan F 25000 333445555 5
Ahmed V Jabbar 987987987 29-MAR-59 Dallas 980, Tlaquepaque M 25000 987654321 4
Jaime E Botello 888665555 10-NOV-27 Sorgo 450, Zapopan M 55000 Nulo 1
LUGARES_DEPTOS NUMEROD LUGARD
1 Tlaquepaue
4 Guadalajara
5 Zapopan
5 Zapotlanejo
5 Guadalajara
El ejemplar de BD cambia
constantemente con el tiempo.
DEPENDIENTE NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO
333445555 Alicia F 05-ABR-76 HIJA
333445555 Teodoro M 25-OCT-73 HIJO
333445555 Jobita F 03-MAY-48 CONYUGE
987654321 Abdiel M 29-FEB-32 CONYUGE
123456789 Miguel M 01-ENE-78 HIJO
123456789 Alicia F 31-DIC-78 HIJA
123456789 Elizabeth F 05-MAY-57 CONYUGE
PROYECTO NOMBREP NUMEROP LUGARP NUMD
ProductoX 1 Guadalajara 5
ProductoY 2 Zapotlanejo 5
ProductoZ 3 Tlaquepaque 5
Automatizacin 10 Guadalajara 4
Reorganizacin 20 Tlaquepaque 1
NuevasPrestaciones 30 Zapopan 4
DEPARTAMENTO NOMBRED NUMEROD NSSGTE FECHAINICGTE
Investigacin 5 333445555 22-MAY-78
Administracin 4 987654321 01-ENE-85
Direccin 1 888665555 19-JUN-71
TRABAJA_EN NSS NUMP HORAS
123456789 1 32.5
123456789 2 7.5
666884444 3 40.0
453453453 1 20.0
453453453 2 20.0
333445555 2 10.0
333445555 3 10.0
333445555 10 10.0
333445555 20 10.0
999887777 30 30.0
999887777 10 10.0
987987987 10 35.0
987987987 30 5.0
987987987 30 20.0
987987987 20 15.0
888665555 20 NULO
Restricciones de Dominio. El valor de cada atributo A
debe ser un valor atmico del dominio dom(A) para
ese atributo.
Restricciones de clave. Debido a que en un conjunto
todos los elementos son diferentes, todas las tuplas
en una relacin son diferentes. Una Clave est
formada por uno o ms atributos y describe a una
tupla unvocamente (le da carcter de unicidad).
Restriccin de Integridad de Entidades. Puesto que
una clave primaria identifica unvocamente a una
relacin, no puede ser nula.
Tipos de Restricciones
Restriccin de Integridad Referencial. Una tupla en
una relacin que haga referencia a otra relacin
deber referirse a una tupla existente en esa
relacin.
Restricciones de Integridad Semntica
(opcionales). Se imponen a partir de determinadas
reglas de negocios, por ejemplo: Un empleado no
debe exceder el salario de un supervisor.
Tipos de Restricciones (cont.)
Restricciones de clave
NUMEROD LUGARD
NSSE NUMP HORAS
NOMBREP NUMEROP LUGARP NUMD
NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO
NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND
NOMBRED NUMEROD NSSGTE FECHAINICGTE
EMPLEADO
DEPARTAMENTO
LUGARES_DEPTOS
PROYECTO
TRABAJA_EN
DEPENDIENTE
Cada uno de los esquemas
de relacin que conforman
el esquema de BD debe
tener uno o ms atributos
claves, que sirven para
identificar de manera nica
a una tupla.
Tipos de Claves
Superclave. Es un conjunto de uno o ms atributos
que tomados colectivamente, permiten identificar de
manera nica a una entidad.
Clave Candidata. Una superclave mnima, tal que no
contenga otras superclaves.
Tipos de Claves
Clave Primaria. Clave candidata que es elegida para
identificar una entidad, buscando que los atributos
que la conforman nunca cambien.
Clave Fornea. Se dice de la clave primaria de la cual
dependen otras entidades (como las entidades
dbiles).
Clave Parcial. En el caso de una entidad dbil, es un
atributo que se utiliza como discriminador y que
junto con la clave fornea forma la clave principal.
NUM_ECO MATRICULA SERIE_MOTOR MARCA MODELO CHOFER
Tcnicamente, el conjunto de todos los
atributos forman una superclave, porque le dan
unicidad a la relacin
Pero igual cumplen los siguientes subconjuntos:
num_eco, matricula;
maticula, serie_motor; serie_motor, marca;
Etc,etc.
VEHICULO
SuperClaves
Claves Candidatas y Claves Primarias
En VEHICULO se pueden encontrar dos superclaves
mnimas (no se pueden dividir en otras superclaves):
matricula y serie_motor
Como ambas describen unvocamente a la entidad se
les denomina claves candidatas
Es probable que el atributo matricula cambie con el
tiempo (como en un robo de placas), se elige pues
el atributo serie_motor como clave primaria
(o clave principal).
NUM_ECO MATRICULA SERIE_MOTOR MARCA MODELO CHOFER
VEHICULO
Claves Forneas
El atributo chofer se puede considerar como
clave fornea, si en lugar de escribir nombres de
personas como valores, se indican cdigos que
hacen referencia al nombre del chofer (o nmero
del seguro social) en otra relacin.
NUM_ECO MATRICULA SERIE_MOTOR MARCA MODELO CHOFER
VEHICULO
NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND
EMPLEADO
Son aquellas que no describen unvocamente a una
relacin. La relacin DEPENDIENTE no cuenta con una clave
primaria o principal propia. Su clave principal la forman: la
clave fornea NSS y la clave parcial NOMBRE_DEPENDIENTE.
NOMBRE_DEPENDIENTE por s solo no puede ser clave
principal puesto que sus valores se pueden repetir.
NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND
EMPLEADO
NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO
DEPENDIENTE
Clave parcial o atributo
discriminador
Claves Parciales
Clave fornea
Restriccin de Integridad Referencial
LUGARD NUMEROD
HORAS NUMP NSSE
NUMD LUGARP NUMEROP NOMBREP
PARENTESCO FECHAN SEXO NOMBRE_DEPENDIENTE NSS
SEXO DIRECCION FECHAN NSS APELLIDO INIC ND NSSUPER SALARIO NOMBREP
FECHAINICGTE NSSGTE NUMEROD NOMBRED
EMPLEADO
DEPARTAMENTO
LUGARES_DEPTOS
PROYECTO
TRABAJA_EN
DEPENDIENTE
Vincula a 2 relaciones, mediante una llave
fornea en una relacin que apunta a una
llave primaria en otra relacin
Operaciones del Modelo Relacional
Insertar
Eliminar
Modificar
Seleccionar
Proyectar
Reunin
Unin
Interseccin
Diferencia
Producto Cartesiano
Teora de
Conjuntos
Algebra
Relacional
Operaciones de
Actualizacin
Operaciones
de BD
Relacionales
Propias del Sistema
Gestor de Base de
Datos (SGBD)
Operaciones de Actualizacin
Insertar.- Aade una nueva tupla o registro en una
relacin de Base de Datos.
Eliminar.- Elimina una tupla o registro de una
relacin en una Base de datos.
Modificar.- Modifica uno o ms atributos de una
relacin en una BD. Equivale en realidad a la
combinacin de las operaciones Eliminar e Insertar.
Operaciones de Actualizacin
PROYECTO NOMBREP NUMEROP LUGARP NUMD
ProductoX 1 Guadalajara 5
ProductoY 2 Zapotlanejo 5
ProductoZ 3 Tlaquepaque 5
Automatizacin 10 Guadalajara 4
NuevasPrestaciones 30 Zapopan 4
Insertar.- proporciona una lista de atributos para una
nueva tupla t que se ha de insertar en la relacin R. No
deber violar ninguno de los cuatro tipos de
restricciones (de Dominio, de Clave, Integridad de
Entidades, Integridad Referencial).
Insertar < ProductoW, 3, Zapotlanejo, 4 >
Insertar < ProductoH, 4, Guadalajara, 5 >
Es aceptada
Viola la
restriccin de
clave, pues ya
existe otra tupla
con el mismo
valor de
NUMEROP
NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND
Jos B Silva 123456789 M 30000 333445555 5
Federico T Vizcarra 333445555 M 40000 888665555 5
Josefa A Esparza 453453453 F 25000 333445555 5
Ahmed V Jabbar 987987987 M 25000 987654321 4
Jaime E Botello 888665555 M 55000 Nulo 1
Eliminar.- Solo puede violar la integridad referencial, si
las claves forneas (externas) de otras tuplas de la BD
hacen referencia a la tupla que se ha de eliminar.
Eliminar la tupla EMPLEADO con NSS = 123456789
No es aceptable pues dos
tuplas de TRABAJA_EN hacen
referencia a esta tupla
EMPLEADO TRABAJA_EN
Operaciones de Actualizacin
NSS NUMP HORAS
123456789 1 32.5
123456789 2 7.5
987987987 30 5.0
987987987 20 15.0
888665555 20 NULO
NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND
Jos B Silva 123456789 M 30000 333445555 5
Federico T Vizcarra 333445555 M 40000 888665555 5
Josefa A Esparza 453453453 F 25000 333445555 5
Ahmed V Jabbar 987987987 M 25000 987654321 4
Jaime E Botello 888665555 M 55000 Nulo 1
Modificar.- Modificar un atributo que sea clave primaria puede
violar las restricciones de integridad, puesto que equivale a
eliminar una tupla e insertar una nueva en su lugar. Modificar un
atributo que no sea clave primaria o clave externa (fornea) casi
nunca causa problemas, solo hay que constatar que sea del tipo de
datos correcto y que est en el dominio.
Modificar la tupla EMPLEADO
con NSS = 123456789
Cambindolo a 987654321
Viola la Integridad Referencial, pues
en la tabla TRABAJA_EN hay una clave
externa que hace referencia a NSS.
EMPLEADO TRABAJA_EN
Operaciones de Actualizacin
NSS NUMP HORAS
123456789 1 32.5
123456789 2 7.5
987987987 30 5.0
987987987 20 15.0
888665555 20 NULO
Preguntas: