View
221
Download
0
Category
Preview:
Citation preview
Docente:
Ing. Francisco Rodríguez
Base de Datos
BASE
DATOS
Resultados
RequerimientosInternet
UNIVERSIDAD NACIONAL DE TRUJILLO
ESCUELA DE INGENERIA INDUSTRIAL
1. Modelo Relacional
2. Elementos
3. Relaciones
4. Claves
5. Restricciones
6. Conversión del MEIR al MR
Tema 4: Modelo Relacional
MODELO RELACIONAL
• Es un Modelo de Datos Lógico.
• – Se usa como Modelo implementado por DBMS.
• Creado por Codd en 1970.
• – Se comenzó con una definición teórica.
• – Se proponía un modelo con fuertes elementos
• matemáticos para BDs.
• Actualmente : modelo lógico dominante.
• – Los DBMS Relacionales son la enorme
• mayoría.
VISION GENERAL DEL MODELO RELACIONAL
– Las estructuras consisten en TABLAS, cuyas
columnas corresponden a ATRIBUTOS de tipo
atómico y las filas corresponden a registros de
datos.
– Las operaciones están fundamentalmente
orientadas a manejo de TABLAS, como conjuntos
de registros.
– Es un modelo de datos extremadamente simple y
claro, que también ha resultado potente para la
mayor parte de las aplicaciones de BDs.
• El UD de una BD relacional está compuesto por un
conjunto de dominios {Di} y de relaciones { Ri } definidas
sobre los dominios.
• Un dominio es un conjunto nominado, finito y homogéneo
de valores atómicos =>
– el dominio se identifica por un nombre,
– tiene un número finito de valores,
– todos los valores son del mismo tipo, y
– los valores son atómicos respecto del MR, es decir, no
pueden ser a su vez una relación, un grupo repetitivo,
etc.
ELEMENTOS DEL MR
• Cada dominio puede definirse de dos maneras:
– Extensión (dando sus posibles valores):
• días de la semana = {lunes, martes, miércoles, jueves, viernes, sábado, domingo}
– Intensión (mediante un tipo de datos):
• edad = entero
– A veces se asocia unidad de medida (kilos, metros,
etc.) y/o ciertas restricciones
ELEMENTOS DEL MR
• Un atributo (A) es la interpretación de un determinado dominio
en una relación, es decir el “papel” que juega en la misma.
• Notación:
D = Dom (A) => D es el dominio de A
• Un atributo y un dominio pueden llamarse igual, pero ..
– Un atributo está siempre asociado a una relación, mientras que un
dominio tiene existencia propia con independencia de las
relaciones.
– Un atributo representa una propiedad de una relación.
– Un atributo toma valores de un dominio.
– Varios atributos distintos (de la misma o de diferentes relaciones)
pueden tomar sus valores del mismo dominio.
ELEMENTOS DEL MR
• Matemáticamente, una relación definida sobre un conjunto de
dominios
D1...Dn (no necesariamente distintos) es un subconjunto del producto
cartesiano de los n dominios, donde cada elemento de la relación (tupla)
es una serie de n valores ordenados:
• R D1 x D2 x ... x Dn siendo n es el grado de la relación
• Esta definición no tiene en cuenta a los atributos, por eso en Bases de
Datos
se utiliza otra definición que incluye los siguientes elementos:
– nombre,
– cabecera,
– cuerpo,
– esquema, y
– estado.
ELEMENTOS DEL MR
UNA RELACIÓN DESDE EL PUNTO DE VISTA MATEMÁTICO
101 102
103
110 123
Dominio D1
Tuerca
Tornillo
Platón
Abrazadera
Escuadra
Dominio D2
Rojo Azul
Verde
Naranja
Dominio D3
9 11
17
7 23
14 21
Dominio D4
Relación
Tupla
Cod_Piez Nom_Piez Color Peso
101
102
103
104
105
106
Tuerca
Pistón
Pletina
Tornillo
Pistón
Tuerca
Negro
Azul
Rojo
Verde
Rojo
Naranja
3
9
11
4
13
21
ARTÍCULO
Atributos
• Nombre: Las relaciones se identifican por un nombre.
– ciertas relaciones que no necesitan identificarse (por ejemplo,
resultados intermedios) pueden no tener nombre.
• Cabecera de relación: Conjunto de n pares atributo-dominio
subyacente,
{ (Ai : Di) }i=1
n donde n es el grado;
– Se corresponde con la primera fila cuando la relación se
representa como tabla.
– El conjunto A de atributos sobre los que se define la relación se
llama contexto de la misma.
ELEMENTOS DEL MR
• Cuerpo de la relación: Conjunto de m tuplas, • { t1, t2, ..., tm }
• siendo cada tupla un conjunto de n pares atributo-valor:
{ (Ai : Vij) } siendo Vij el valor j del dominio Di asociado al atributo
Ai.
• el número de tuplas m es la cardinalidad.
• Mientras que la cabecera es invariante, el cuerpo varía en el
transcurso del tiempo, al igual que la cardinalidad.
• El esquema de una relación está constituido por el nombre R -si
existe- y la cabecera:
R ({ Ai : Di } n i=1 )
– representa la parte definitoria y estática y también se
denomina intensión;
– se corresponde con lo que hemos llamado tipo (de entidad)
en el ME/R.
ELEMENTOS DEL MR
• El estado r de una relación de esquema R, al que
también denominaremos simplemente relación, se
representa como r(R) y está constituido por el esquema y
el cuerpo de la relación:
r(R) = <esquema, cuerpo>
– siendo el cuerpo el conjunto de tuplas que, en un
instante dado, satisface el correspondiente esquema de
relación.
– también se llama extensión
ELEMENTOS DEL MR
• Clave Candidata (Candidate Key): conjunto de atributos que
identifican unívoca y mínimamente cada tupla de la relación.
– De la propia definición de relación se deriva que siempre
existe, al menos, una clave candidata (al ser una relación un conjunto y no existir dos tuplas iguales, el conjunto de todos los atributos siempre tiene que identificar unívocamente a cada tupla).
– La propiedad de minimalidad implica que no se incluye
ningún atributo innecesario: KC cumple la propiedad de minimalidad si no existe un atributo X tal que {KC-X} sea clave candidata.
CLAVES
CLAVES (Cont...)
• Una relación puede tener más de una clave candidata. En
este caso se debe distinguir entre:
– Clave Primaria (Primary Key):
• Es la clave candidata que el usuario escoge para identificar
las tuplas de la relación.
• Cuando sólo existe una clave candidata, ésta es la clave
primaria (siempre existe clave primaria).
– Claves Alternativas (Alternative Key):
• Las claves candidatas que no han sido escogidas como clave
primaria.
• Una BD relacional es una colección de relaciones (o tablas
en términos de implementación);
• Pero ... entonces, ¿Representa la figura una BD relacional?
CLAVES (Cont...)
• Respuesta: NO, porqué una BD (relacional o de otro tipo)
es una colección de datos interrelacionados.
=> Necesitamos asociar unas relaciones con otras
CLAVES (Cont...)
Se denomina clave ajena de una relación R2 a un
conjunto no vacío de atributos cuyos valores han de
coincidir con los valores de la clave candidata de una
relación R1.
- R1 y R2 pueden ser la misma relación.
- La clave ajena y la correspondiente clave candidata han
de estar definidas sobre el mismo dominio.
CLAVES (Cont...)
Ejemplo de claves primarias y ajenas
• AUTOR (cod_autor, nombre, nacionalidad)
• clave primaria
• LIBRO (cod_libro, titulo, idioma, editorial)
• clave primaria
• ESCRIBE (cod_autor, cod_libro)
• clave ajena clave ajena
• Las restricciones inherentes vienen impuestas por el propio MD.
• En el caso del MR, una relación tiene unas propiedades
intrínsecas que no tiene una tabla, y que se derivan de la misma
definición matemática de relación, ya que, al ser un conjunto, en
una relación:
• No puede haber dos tuplas iguales.
=> obligatoriedad de la clave primaria
• El orden de las tuplas no es significativo.
• El orden de los atributos no es significativo.
• Cada atributo sólo puede tomar un único valor del dominio
subyacente; no se admiten grupos repetitivos (ni otro tipo de
estructuras) como valores de los atributos de una tupla.
– Se dice que la relación está normalizada (en Primera Forma
Norma).
RESTRICCIONES DEL MR
• Existe otra restricción inherente que es la regla
de integridad de entidades:
"Ningún atributo que forme parte de la clave primaria de una relación puede tomar un valor nulo"; es decir, un valor desconocido o inexistente.
RESTRICCIONES DEL MR
• Los tipos de restricciones semánticas permitidos en el MR
(incorporados a SQL 92) son:
– Clave Primaria (PRIMARY KEY),
– Unicidad (UNIQUE),
– Obligatoriedad (NOT NULL),
– Integridad Referencial (FOREIGN KEY).
– Restricciones de Rechazo:
• Verificación (CHECK), y
• Aserción (ASSERTION).
– Disparador (trigger), incluido en SQL3 pero no en SQL92.
– Dependencia (se estudiará en otro tema).
RESTRICCIONES DEL MR
• Clave Primaria (PRIMARY KEY):
– Permite declarar un atributo o un conjunto de atributos
como clave primaria de una relación.
• => sus valores no se podrán repetir ni se admitirán los
nulos (o valores “ausentes”).
• Ni el SQL92 ni los SGBD’s relacionales obligan a la
declaración de una clave primaria para cada tabla (el
modelo teórico sí la impone), aunque permiten la definición
de la misma.
RESTRICCIONES DEL MR
• Unicidad (UNIQUE):
– Los valores de un conjunto de atributos (uno o más) no pueden
repetirse en una relación. Esta restricción permite la definición de
claves alternativas.
• Obligatoriedad (NOT NULL):
– El conjunto de atributos no admite valores nulos.
• Integridad Referencial (FOREING KEY):
– Si una relación R2 (relación que referencia) tiene un descriptor
(subconjunto de atributos) CA que referencia a una clave
candidata CC de la relación R1 (relación referenciada), todo valor
de dicho descriptor CA debe coincidir con un valor de CC o ser
nulo.
RESTRICCIONES DEL MR
• La condición puede expresarse como R2.CA = R1.CC
• El descriptor CA es, por tanto, una clave ajena de la relación R2.
• Las relaciones R1 y R2 no son necesariamente distintas.
• La clave ajena puede ser también parte (o la totalidad) de la
clave primaria de R2.
• CA puede admitir nulos o tener restricción de obligatoriedad
(NOT NULL).
– Todo atributo de una clave primaria compuesta de una relación
R2 que no está definido sobre un dominio compuesto, debe ser
clave ajena de R2 referenciando a una relación R1, cuya clave
primaria sea simple.
RESTRICCIONES DEL MR
CodEd Nombre Direcc Pais Ciudad
111 Rama Av. EEUU 334 México DF
112 Paraninfo Basauri 65 España Madrid
113 McGrawHill Virtudes 7 España Barcelona
CodLibro Titulo CodEd
856 Base de Datos 111
857 Alebra Linela 113
858 Virus informáticos nulo
Ejemplo de
Integridad
Referencial
EDITORIAL
LIBRO
RESTRICCIONES DEL MR
REGLAS DE CONVERSION
REGLA 1
• Para cada entidad regular se usa un esquema
de relación.
• Para cada atributo compuesto se consideran
los componentes
• La clave de la entidad es la clave del
esquema
Ejemplo Regla 1
Empleado (codigo, dir_calle, dir_numero, sueldo, telefono)
EMPLEADO
codigo
direccion sueldo
telefono
REGLAS DE CONVERSION
REGLA 2
• Para cada tipo de entidad débil se emplea un esquema de relación.
• Los atributos se manejan por la Regla N° 1.
• La clave del esquema está formada por la clave parcial de la entidad débil más la clave de la entidad que lo identifica (entidad fuerte)
Ejemplo Regla 2
Empleado (codigo, ape_emp, sueldo)
Dependiente (codigo, nombre, fechanac)
DEPENDIENTE
fechanac
nombre
tiene
EMPLEADO
Entidad débil
Entidad fuerte
codigo
ape_emp
sueldo
REGLAS DE CONVERSION
REGLA 3
• Para cada tipo de relación 1:1 entre dos
entidades, se elige una de ellas para incluir la
clave primaria del otro.
• Es preferible elegir el que participa totalmente.
Ejemplo Regla 3
Departamento (nrodpto, codigo, nomdpto)
Empleado (codigo, ape_emp, sueldo)
DEPARTAMENTO
nomdpto
nrodpto
Gerente de
EMPLEADO
codigo
ape_emp
sueldo
1:1
REGLAS DE CONVERSION
REGLA 4
• Para cada tipo de relación 1:N se incluye la
clave primaria de la entidad con cardinalidad
1 en la entidad con cardinalidad N.
Ejemplo Regla 4
Departamento (nrodpto, nomdpto)
Empleado (codigo, ape_emp, sueldo, nrodpto)
DEPARTAMENTOnomdpto
nrodpto
Trabaja
EMPLEADO
codigo
ape_emp
sueldo
1:N
REGLAS DE CONVERSION
REGLA 5
• Para cada tipo de relación N:M se crea un
esquema de relación donde la clave está formada
por la clave de las dos entidades que participan
en la relación.
Ejemplo Regla 5
Departamento (nroproy, nomproy)
EmpleadoDpto (codigo, nroproy, horassem)
Empleado (codigo, ape_emp, dir_calle, dir_numero)
PROYECTO
nomproy
nroproy
Trabaja
EMPLEADO
codigo
ape_emp
direccion
N:Mhorassem
REGLAS DE CONVERSION
REGLA 6
• Para cada tipo entidad que incluya un atributo multivaluado se crea un esquema de relación donde la clave es la clave de la entidad mas el atributo multivaluado.
Ejemplo Regla 6
Empleado (codigo, ape_emp, dir_calle, dir_numero, telefono)
EmpleadoTelef (codigo, telefono)
EMPLEADO
codigo
ape_emp
direccion
telefono
Atributo multivaluado
REGLAS DE CONVERSION
REGLA 7
• Para cada tipo de interrelación R de grado n>2 se crea un esquema de relación que represente a R, cuya clave primaria lo forman las claves primarias de las entidades que participan en la interrelación R, incluyendo los atributos simples propios de la interrelación
Ejemplo Regla 7
Suministrar (codprov, numproy, codcomp, cantidad)
PROVEEDOR
codprov
PROYECTO
COMPONENTE
Suministrar
codcomp
nomprov
numproy proyecto
nombcomp
cantidad
Recommended