Вы находитесь на странице: 1из 18

Bases de Datos

INF5102
Prof: Mariella Gutirrez Valenzuela
marielag@ucsc.cl

Horario: Martes Mdulos 7 y 8
Contenido
4. Modelos de Datos

Concepto de Modelo de Datos
Modelo Entidad Relacin y Formalismo individual
Modelos de red y jerrquico
Modelo relacional
Modelo Relacional
Este modelo fue propuesto por Codd en 1970 y se divide en tres
partes, las cuales separan la estructura, la integridad y la
manipulacin de los datos.

Estructura: Componentes del modelo

Integridad: Se expresa a travs de restricciones

Manipulacin: A travs del lgebra relacional
Componentes del MR
Relacin: Tabla o relacin que puede provenir de una entidad o una
interrelacin.

Tupla: Fila o registro de una relacin.

Atributo: Columna o campo de una relacin.

Dominio: Un dominio es el conjunto de valores que puede tomar uno o
varios atributos.



Atributo 1 Atributo 2 .. Atributo n
Tupla 1
Tupla 2
Tupla m
Nombre_relacin
Cardinalidad= # tuplas
Grado = # atributos
Componentes del MR
CLAVES

Una clave candidata de una relacin es un conjunto no vaco
de atributos que identifican unvoca y mnimamente cada
tupla. Siempre hay al menos una y cuando son varias se debe
distinguir entre:

Clave primaria: es aquella clave candidata que el usuario
escoger para identificar a las tuplas de una relacin.

Clave alternativa: son aquellas claves candidatas que no han
sido elegidas.

Se denomina clave fornea o ajena de una relacin R2 a un
conjunto no vaco de atributos cuyos valores han de coincidir
con los valores de la clave primaria de otra relacin R1. La
clave ajena y la correspondiente clave primaria han de estar
definidas sobre los mismos dominios.



Componentes del MR
Notacin

Intensin o Esquema de relacin: R (A1:D1, A2:D2, ...,
An:Dn) es un conjunto de n pares atributo-dominio
subyacente (Ai:Di). La intensin es la parte definitoria y
esttica de la relacin, que se corresponde con el encabezado
cuando la relacin se percibe como una tabla.

Extensin u ocurrencia (instancia) de relacin (llamada a
veces simplemente relacin), denotada por r(R) es un
conjunto de m tuplas {t1, t2, ... tm} donde cada tupla es un
conjunto de n pares atributo-valor.



Componentes del MR
Ejemplo:

Intencin:

AUTOR (NOMBRE,
NACIONALIDAD:Nacionalidades,INSTITUCION:Instituciones)

Extensin:



AUTOR
Nombre Nacionalidad Institucion
Pepe Espaa O.N.U.
John EE.UU. O.M.S.
Pierre Francia N.A.S.A.

Dominios: Nacionalidades = {Chile, Espaa, EE.UU., Francia, Brazil}
Instituciones = {O.N.U., N.A.S.A,O.E.A,O.M.S}
Integridad del MR
Una relacin se puede representar en forma de tabla, pero va a
tener una serie de elementos caractersticos o restricciones:

No hay dos tuplas iguales.
El orden de las tuplas no es significativo.
El orden de los atributos (columnas) no es significativo.
Cada atributo, en una tupla, slo puede tomar un nico valor del
dominio, no admitindose los grupos repetitivos.

Adems de estas restricciones existe:

Regla de integridad de entidad: Ningn atributo que forme parte
de la clave primaria de una relacin puede tomar un valor nulo

Regla de integridad referencial: Los valores de clave ajena deben
coincidir con los de clave primaria asociada a ella o ser nulos



Integridad del MR
Ejemplo:

EDITORIAL (NOMBRE_E, DIRECCION, CIUDAD, PAIS)


LIBRO (CODIGO, TITULO, IDIOMA, ..., NOMBRE_E)


ESCRIBE (NOMBRE, COD LIBRO)


AUTOR (NOMBRE, NACIONALIDAD, INSTITUCION, ..)




Integridad del MR
Restricciones asociadas a la Integridad Referencial:

Operacin restringida: el borrado o la modificacin de tuplas de la
relacin que contiene la clave primaria referenciada; slo se permite si
no existen tuplas con dicha clave en la relacin que contiene la clave
fornea.

Por ejemplo: es posible borrar una editorial si no existe ningn libro
publicado por ella.

Operacin con transmisin en cascada: el borrado o la modificacin de
tuplas de la relacin que contiene la clave primaria referenciada implica
el borrado o modificacin en cascada de las tuplas de la relacin que
contienen la clave fornea.

Por ejemplo: Si se permite eliminar una editorial, se eliminan todos los
libros publicados en ella. O bien, si se permite modificar el nombre de
una editorial, se modifica el nombre en todas las tuplas de la relacin
libro que hacen referencia a esta editorial.
Integridad del MR
Restricciones asociadas a la Integridad Referencial:

Operacin con puesta a nulos: el borrado o la modificacin de tuplas
de la relacin que contiene la clave primaria referenciada, implica que se
pondrn nulos los valores de las claves forneas de la relacin que la
referencia.

Ejemplo: si se elimina una tupla de editorial, se pondr en nulo el valor
de la clave fornea en las tuplas que la referencian de la relacin libro.

Operacin con puesta a valor por defecto: el borrado o la
modificacin de tuplas de la relacin que contiene la clave primaria
referenciada, implica poner un valor por defecto a la clave fornea de la
relacin que la referencia.

Operacin que desencadena un procedimiento de usuario: en este
caso, el borrado o la modificacin de tuplas de la tabla referenciada
pone en marcha un procedimiento definido por el usuario.
Manipulacin de los datos en el MR
La dinmica del modelo relacional se expresa mediante lenguajes de
manipulacin relacionales que asocian una sintaxis concreta a las
operaciones.

Los lenguajes relacionales operan sobre conjuntos de tuplas, y se
dividen en dos tipos:

Algebraicos: Se caracterizan porque los cambios de estado se
especifican mediante operaciones cuyos operandos son relaciones y
cuyo resultado es otra relacin. Genricamente se conocen como
lgebra relacional.

Predicativos: donde los cambios de estado se especifican mediante
predicados que definen el estado objetivo sin indicar las operaciones
que hay que realizar para llegar al mismo; se seleccionan, as,
conjuntos de tuplas.
Genricamente se conocen como clculo relacional y se dividen en dos
tipos: orientados a la tupla y orientados al dominio.
Manipulacin de los datos en el MR
lgebra Relacional

1. Restriccin. Extrae las tuplas especificadas de una relacin dada
(o sea, restringe la relacin slo a las tuplas que satisfagan una
condicin especificada).

2. Proyeccin. Extrae los atributos especificados de una relacin
dada.

3. Producto. A partir de dos relaciones especificadas, construye una
relacin que contiene todas las combinaciones posibles de tuplas,
una de cada una de las dos relaciones.

4. Unin. Construye una relacin formada por todas las tuplas que
aparecen en cualquiera de las dos relaciones especificadas. Las
tuplas repetidas se eliminan.
Manipulacin de los datos en el MR
Algebra Relacional

5. Interseccin. Construye una relacin formada por todas aquellas
tuplas que aparecen en las dos relaciones especificadas.

6. Diferencia. Construye una relacin formada por todas las tuplas de
la primera relacin que no aparezcan en la segunda de las dos
relaciones especificadas.

7. Reunin. A partir de dos relaciones especificadas, construye una
relacin que contiene todas las posibles combinaciones de tuplas, una
de cada una de las dos relaciones, tales que las dos tuplas
participantes en una combinacin dada satisfagan alguna condicin.

8. Divisin. Toma dos relaciones, una binaria y otra unaria, y
construye una relacin formada por todos los valores de un atributo
de la relacin binaria que concuerdan (en el otro atributo) con todos
los valores en la relacin unaria.
Manipulacin de los datos en el MR
Restriccin Proyeccin
a
b
c
z
y x
=
Producto
a
a
b
b
c
c
z
y
z
y
z
y
a
a
a
b
c
c
x
y
z
x
z
y
Divisin
z
y div
=
a
c
Reunin
a1
a2
a3
b1
b2
b3
c1
c2
c3 b2
b1
b2 JOIN =
a1
a2
a3
b1
b2
b2
c1
c2
c2
Manipulacin de los datos en el MR
lgebra Relacional: Ejemplos en SQL

1. Restriccin.
Select * from libro where nacionalidad =Espaa;

2. Proyeccin.
SQL: Select nombre, nacionalidad from autor;

3. Producto
Select a.nombre_e, a.direccin, a.ciudad, a.pais,
b.codigo, b.titulo, b.nombre_e
From editorial a, libro b;

4. Unin.
Select * from libros1
Union
Select * from libros2;
Manipulacin de los datos en el MR
5. Interseccin. Select * from libros1
INTERSECT
Select * from libros2;

6. Diferencia. Select * from libros1
MINUS
Select * from libros2;

7. Reunin. Select a.nombre_e, a.direccin, a.ciudad, a.pais,
(JOIN) b.codigo, b.titulo, b.nombre_e
From editorial a, libro b
where b.nombre_e = a.nombre_e;


8. Divisin. Select * from autor where nacionalidad in
(select pais from pais_americano)

Pais_americano (pais, ubicacin:tipo_america)
Tipo_america={Norte, Sur, Centro}
Manipulacin de los datos en el MR
Ejercicio: Dado el siguiente modelo relacional, escriba en lenguaje
SQL las consultas que se plantean a continuacin.
1. Seleccione los nombres de las
empresas del Rubro Servicios
Administrativos.
2. Listar todos los proyectos de la
empresa Midas.
3. Seleccione los datos de los
ingenieros que han trabajado en
proyectos del Tipo Desarrollo
de Sistemas.
4. Seleccione el Rut y nombre de
los ingeniero que han trabajado
durante todos los das de un
proyecto.

Вам также может понравиться