Defensa del Proyecto de Grado: SISTEMA DE REGISTRO

Anuncio
MODELO RELACIONAL
BASE DE DATOS RELACIONALES
Base de Datos Relacional (BDR)
Una BDR es una colección de relaciones de
de
diversos grados (numero de atributos), qque
ue varían
con el tiempo (numero de tuplas,
tuplas, estado)
äLas relaciones (tablas) son la estructura lógica de
la BD, corresponden a los Niveles externo y
conceptual.
Presentación y Orígenes del
Modelo Relacional
El modelo Relacional fue introducido por Codd en el
año 1970.
ä Es un Modelo de Datos Lógico - basado en registros
ä El modelo más usado en las aplicaciones comerciales de
procesamiento de datos convencional.
Esta dividido en 3 partes:
1. Estructura de Datos
2. Integridad de Datos (características generales)
3. Manipulación de Datos
ä
1. Estructura de datos
relacional
Relación está representada mediante una Tabla con
filas y columnas. Representa una entidad genérica,
Términos Básicos en el Modelo
Relacional
-Relación (Tabla):
(Tabla):.. Es una estructura simple en el
cual los datos son organizados y almacenados.
Tupla (Fila). Cada fila describe una ocurrencia de
una relación
Atributo(columna)
Atributo
(columna).. Debe tener un nombre único
dentro de cada relación. es usada para almacenar
un tipo de valor.
valor.
Cardinalidad.. Numero de tuplas en una relación.
Cardinalidad
Grado.. Numero de atributos en una relación
Grado
Propiedades de una relación
Estado = conjunto matemático de tuplas
ä No existen tuplas repetidas
ä Las tuplas no están ordenadas
ä Los atributos no están ordenados
esquema = conjunto de pares Atributo:Dominio
ä Los valores de atributos son Atómicos
Relación vs. Tabla
Relación: Representación abstracta de elemento o
Relación:
entidad de datos
Tabla: Representación concreta de tal elemento abstracto
Fácil de utilizar, entender, razonar...
pedi-num
cli-num
emb-fech
1
32
1/3
2
33
1/2
3
17
1/4
Definiciones Formales
Dominio Conjunto de valores atómicos del mismo tipo,
donde toman su valor los atributos
Una relación R, sobre conjunto de dominios Dn se
compone de dos partes:
Esquema o Cabecera
Cabecera:: Conjunto de pares
Atributo:Dominio
Atributo:
Dominio { (A
(A1
1:D
:D1
1), (A
(A2
2:D
:D2
2) ... (A
(An
n:D
:Dn
n) }
Cada Aj
Aj tiene asociado sólo un Dj
Dj
Los Di
Di no tienen por qué ser distintos entre sí
Estado, Cuerpo o Instancia
Conjunto de tuplas que contiene en un instante
tupla = conjunto de pares Atributo:Valor
{ { (A1:vi1), (A2:vi2) ... ((An:vin
An:vin)) } }, donde i=1..m
Ejemplo
Un esquema de relación es:
EMPLEADO (Id:Ids,
Id:Ids, Nombre:Nombres,
Nombre:Nombres,
Dirección:Direcciones,, Fecha_Nacimiento:Fechas,
Dirección:Direcciones
Fecha_Nacimiento:Fechas,
Id_Dpto:Ids )
Un estado de la relación es:
{ { (Id:126), (Nombre:Flores
(Nombre:Flores),
), (Dirección: 2,Munaypata),
(Fecha_nacimiento:03--03(Fecha_nacimiento:03
03-66) ((Id_dpto
Id_dpto:: 10) }
{ { (Id:349), (Nombre:Leon
(Nombre:Leon),
), (Dirección: 53,El Alto),
(Fecha_nacimiento:10--08(Fecha_nacimiento:10
08-77) ((Id_dpto
Id_dpto:: 20) }
2.Integridad de datos
El modelo relacional tiene dos reglas que ayudan a
asegurar la integridad de los datos. Estas son
•La regla de integridad de entidad establece que una clave
primaria no puede tener valores nulos. Las claves ajenas
pueden contener valores nulos. No hay ningún requisito
en el modelo relacional que obligue a que una clave ajena
sea única.
•La regla de integridad referencial considera la asociación
entre las claves primarias y las claves ajenas. La
integridad referencial establece que una clave ajena debe
existir en una tabla que contenga la clave primaria.
Reglas de Integridad
Las reglas de integridad informan al SGBD de
restricciones del mundo real.
Gracias a las reglas de Integridad
ä El SGBD evita configuraciones de datos imposibles
ä Aumentan la capacidad expresiva del modelo
relacional
ä Cada BD particular, incluye:
ä
ä
ä
Características generales de integridad importantes y
necesarias en toda BD
Claves Candidatas y Primarias
Claves Ajenas (o foráneas o externas)
Superclave y clave de una relación
Sea R una relación
ä Una superclave de R es un subconjunto SK de atributos
tal que cumple la restricción de Unicidad es decir: No
existen dos tuplas distintas con la misma combinación
de valores para SK
ä Una clave de R es una superclave tal que cumple la
restricción de Irreductibilidad esto significa que:
Ningún subconjunto de SK cumple la restricción de
Unicidad
ä Clave Simple (1 atributo) o Compuesta (varios
atributos)
ä Cada clave es una restricción de integridad
Clave candidata, primaria y
alternativa
Si R tiene varias claves à Claves Candidatas
ä Claves (ACTOR) = { {nombre}, {nombreArtistico} }
ä Claves (EMPLEADO) = { {Id}, {nombre, fecha_Nacimiento,},{nss}
}
ä La Clave Primaria (Primary Key, PK ) es la clave candidata elegida
para identificar las tuplas de R
ä Clave Primaria (ACTOR) = {nombreArtistico}
ä Clave Primaria (EMPLEADO) = {nss}
ä Las Claves Alternativas (AK) son el resto de claves candidatas
ä Claves Alternativas (ACTOR) = {nombre}
ä Claves Alternativas (EMPLEADO) = { {dni}, {nombre, fechaNac} }
clave ajena (externa o foránea)
Conjunto de atributos FK de una relación R2,
tal que:
1. Existe otra relación R1 con clave primaria PK
2. Cada valor de FK en R2 es idéntico al de PK en
alguna tupla de R1
“Una clave foránea es un conjunto de atributos
de una relación que hace referencia a la clave
primaria de otra relación (o la misma).”
clave ajena (externa o foránea)
Cada componente de una FK debe estar
definido sobre el mismo dominio que el
correspondiente atributo de la PK a la que
referencia
ä La clave Ajena puede ser Simple o Compuesta
ä El uso de Claves Ajenas facilita a:
ä
ä Eliminación de
la Redundancia: Integridad entre
ficheros
ä Mecanismo del Modelo Relacional de datos para
establecer VÍNCULOS ENTRE RELACIONES
Mantenimiento de la Integridad
Referencial
Las operaciones que no satisfacen la Integridad Referencial,
dejan la BD en un estado incorrecto. Ejemplo
Sea el ambiente de aplicación Hotel: ¿Qué pasaría si se
eliminara la tupla (501, D, ...) en HABITAC?
ä ¿Y si se eliminara la tupla (100, D, ...)?
Mantenimiento de la Integridad
Referencial
¿Cómo evita el SGBD esos estados incorrectos?
El SGBD puede...
ä Rechazar toda operación que pueda provocar un estado
ilegal,
ä Aceptar (y ejecutar) tales operaciones, pero realizar
acciones que restauren la integridad de los datos
Diseñador de la BD puede especificar al SGBD: Acciones
de Mantenimiento de la Integridad Referencial para
que la BD SIEMPRE alcance un estado final legal
Valores Nulos
En el mundo real existe...
ä Información perdida fechaNacimiento
desconocida
ä Ausencia de información ¿tiene teléfono
teléfono??
ä Valores no aplicables a ciertos atributos
fechJubilac a empleado activo
ä Para representar estas situaciones en los
sistemas de BD se utiliza el NULO (null
null))
Valores Nulos
Si una tupla tiene un atributo que contiene un
nulo, significa que el valor real de tal
atributo es desconocido
ä Es posible especificar si un atributo puede o
no contener nulo. Nulo no es un valor en sí
mismo, sino un indicador de ausencia de
información.
ä No hay dos nulos iguales (num_telefono
NULL <> edad NULL
ä
Implicaciones de los Nulos en la
Integridad
NULO y Claves Primarias:
ä Restricción de Integridad de Entidad: Ningún
atributo componente de una clave primaria puede
contener nulo.
NULO y Claves Ajenas
ä El Modelo Relacional permite nulo como valor de
clave ajena
ä depto = null àempleados no asignado a ningún
departamento
ä jefe = null à empleados sin jefe
3. Acciones de mantenimiento
de la Integridad Referencial
R2 àR1
Operación: Eliminar una tupla t de R1 que es referenciada
por otras de R2
Acciones posibles:
ä 1. Rechazar la operación (acción por defecto)
ä 2. Cascada
Cascada.. Propagar la eliminación
ä 3. Establecer nulos Sólo si la FK de R2 permite NULO
- Toda tupla de R2 que referencia a t pasa a contener NULL en
FK
- Eliminar la tupla t
ä
Acciones de mantenimiento
de la Integridad Referencial
Operación: Modificar el valor de la PK de una tupla t de
R1 que es referenciada por otras tuplas de R2.
Acciones posibles:
1. Rechazar la operación (acción por defecto)
2. Cascada. Propagar la modificación
3. Establecer nulos.Sólo si la FK de R2 permite NULO
äToda
tupla de R2 que referencia a t pasa a
contener NULL en FK
äModificar el valor de la PK de t
Continuamos
Doc. Lic. Roberta Mallcu
Descargar