0% encontró este documento útil (0 votos)
20 vistas33 páginas

Modelo Relacional en Bases de Datos

Ing

Cargado por

rnicky43
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas33 páginas

Modelo Relacional en Bases de Datos

Ing

Cargado por

rnicky43
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad Nacional de Chilecito

“Modelo Relacional”
Estática
Alberto Eduardo Riba
Curso: Base de Datos

Ingeniería en Sistemas – Licenciatura en Sistemas - TUDAW


Escuela de Ingeniería – Universidad Nacional de Chilecito
Índice

✓ Historia
✓ Objetivos
✓ Elementos
✓ Restricciones
✓ Valores Nulos
Evolución Histórica
A finales de los 60 E. Codd introdujo la teoría matemática de
las relaciones en el campo de las Bases de Datos.
Propuesto por Codd, 1970 en su artículo:
“A relational model of data for large shared data banks”
Esta compuesto por 2 partes:

LA ESTATICA (definición de estructuras y restricciones)

LA DINAMICA (cálculo y algebra relacional)

Codd definió las relaciones utilizando un lenguaje matemático.


Basado en la lógica de predicados y teoría de conjuntos
Objetivos
Independencia física: almacenamiento/manipulación. Un cambio
físico no afecta a los programas.

Independencia lógica: Añadir, eliminar o modificar elementos en


la BD no debe repercutir en los prgs y usrs que acceden a ellos.

Flexibilidad: ofrecer al usuario/aplicación los datos en la forma


más adecuada.

Uniformidad: Las estructuras lógicas de los datos son tablas.


Facilita la concepción y utilización de la BD por parte de los usrs.

Sencillez: por el lenguaje sencillos, el modelo relacional es fácil de


comprender y utilizar por parte del usuario final.

Toma el concepto de RELACIÓN (tabla)


como estructura básica.
Evolución Histórica
1970 Codd publica las bases del modelo relacional
71-72 Primeros desarrollos teóricos
73-78 1°prototipos de BDR. SystemR-SEQUEL (IBM) Ingres-QUEL (Berkeley)
1978 Aparece el lenguaje QBE (IBM)
1979 Aparece Oracle, el primer SGBD implementa SQL
81-84 Aparecen Informix, Sybase, DB2 (IBM)
1986 ANSI normaliza el SQL
1987 ISO normaliza SQL (9075)
1992 Estándar ISO. SQL 92
1999 Estándar ISO. SQL 99
2003 Estándar ISO. SQL 2003
2006 Estándar ISO. SQL 2006
2008 Estándar ISO. SQL 2008
2011 Estándar ISO. SQL 2011
Principales SGBDR
Estructura

La relación es el elemento básico del Modelo y se puede


representar como una tabla:

Representación de la relación “AUTOR” en forma de tabla de:


• Grado “N”
• Cardinalidad “M”
Elementos del modelo

Relación: estructura básica del modelo relacional. Se


representa mediante una tabla.
Atributo: propiedades de la relación. Se representa con una
columna.
Dominio: conjunto válido de valores que toma un atributo.

Tupla: una ocurrencia. Se representa mediante una fila.

Grado: número de atributos (columnas de la tabla).

Cardinalidad: número de tuplas (filas de la tabla).


Elementos del modelo
Terminología
Definición Formal de Relación
El Universo del Discurso (UD) de una base de datos 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. Cada dominio se especifica lógicamente mediante un nombre
y un formato, el cual puede definirse por:
Extensión (dando sus posibles valores)
Intensión (con un tipo de datos y restricciones, como un rango de val.)
Un atributo (A) es la interpretación de un determinado dominio en una
relación, es decir el “papel” que juega en la misma; si D es el dominio de
A se denota:

Una relación definida sobre un conjunto de dominios D1...Dn (no


necesariamente distintos) es un subconjunto del producto cartesiano de
los n dominios (n es el grado de la relación).
Definición Formal de Relación

Un esquema de relación (intensión) se compone de un nombre de


relación “R”, de un conjunto de “n” atributos {Ai} y de un conjunto de
“n” dominios (no necesariamente distintos) {Di}, donde cada atributo
será definido sobre un dominio:

Una relación r(R) (extensión) es un conjunto de “m” elementos


denominados tuplas {tj}. Cada tupla “j” es conjunto de pares
(<A1:v1j>,...<Ai:vij>,...<An:vnj>) donde cada Ai es el nombre de un
atributo y vij es un valor del correspondiente dominio Di sobre el que
está definido el atributo:
Definición formal de Relación
ESQUEMA DE RELACIÓN (INTENSIÓN):
AUTOR (Nombre:Nombres, Nacionalidad:Nacionalidades, Institución:Instituciones)

RELACIÓN (EXTENSIÓN, ESTADO u OCURRENCIA):


Clases de Relación
Tipos de atributos

IDENTIFICADORES: identifican unívocamente


cada instancia de la entidad.

DESCRIPTIVOS: características intrínsecas


de cada instancia de la entidad.

REFERENCIALES: relacionan una instancia


de la entidad con una o más de otra entidad
Clave Candidata (Primaria-Alternativa)
Clave Candidata
Es el conjunto no vacío de atributos que identifica unívoca y
mínimamente cada tupla de una relación. Pueden existir varias
claves candidatas y se debe distinguir entre:

1- Clave Primaria (Primary Key)


Es la clave candidata que elige el usuario para identificar las
tuplas de la relación. Se dice que una clave primaria es
compuesta cuando está formada por más de un atributo.

REGLA DE INTEGRIDAD DE ENTIDAD


Ningún atributo principal, es decir, ningún atributo que forme
parte de la clave primaria, puede tomar un valor nulo.

2- Clave Alternativa (Unique)


Aquella clave candidata que no ha sido elegida como clave
primaria.
Claves Primaria – (PK)
Representación en Modelo Relacional
SOCIO (dni, nombre, apellido, dirección, telefono)

Representación Gráfica (PK)


Claves Ajena - Foreing Key
La clave ajena de una relación R2 es un conjunto no vacío de atributos
cuyos valores han de coincidir con los valores de la clave primaria de
una relación R1 (R1 y R2 no son necesariamente distintas).
La clave ajena y la correspondiente clave primaria han de estar
definidas sobre los mismos dominios.

“La clave ajena se utiliza para RELACIONAR TABLAS”


Claves Ajena - Foreing Key
Representación Modelo Relacional
PRESTAMO (idPrestamo, fecha, dni)

SOCIO (dni, nombre, apellido, dirección, telefono)

Representación Gráfica (FK)


Análisis de FK 1 a 1
Esquema Descriptivo
Un empleado puede ser gerente de un solo departamento y
un departamento debe ser dirigido por un solo empleado.

DEPARTAMENTO (id, nombre, fechaInicio, gerente)

EMPLEADO (legajo, nombre, dni, dirección, teléfono)

E1
D1
E2
D2
E3
D3
E4

E5
Análisis de FK 1 a N
Esquema Descriptivo
Todos los empleados de la empresa pertenecen a un
departamento y un departamento debe tener al menos un
empleado.

EMPLEADO (legajo, nombre, dni, dirección, teléfono, idDpto)

DEPARTAMENTO (idDpto, nombre, fechaInicio, gerente)

E1
D1
E2
D2
E3
D3
E4

E5
Análisis de FK M a N
Esquema Descriptivo
Un libro puede ser escrito por varios autores y un autor
puede escribir varios libros.

L1
A1
L2
A2
L3
A3
L4

L5
Regla Integridad Referencial

Si una relación R2 tiene un atributo que es clave


primaria de la relación R1, entonces los valores de
dicho atributo deben concordar con los de la clave
primaria de la tabla referenciada o tener valores nulos.
Restricciones

En el MR como en otros modelos existen restricciones, es


decir, estructuras y ocurrencias que no están permitidas

Inherentes

Semánticas
Restricciones Inherentes

❑ Derivadas de la definición de relación:


➢ Cada relación debe tener un nombre distinto
➢ No pueden existir 2 atributos con el mismo nombre (misma tabla)
➢ No hay 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 sobre
el que está definido (no multivaluados ni compuestos).

❑ Regla de Integridad de Entidad: ningún atributo que forme parte


de la clave primaria, puede tomar un valor nulo.
Restricciones Semánticas
❑ Clave primaria (PRIMARY KEY): declara un atributo o un conjunto
de atributos como clave primaria, por lo que sus valores no se
podrán repetir ni se admitirán los nulos (o valores “ausentes”).
❑ Unicidad (UNIQUE): indica que 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): de uno ó mas atributos, con lo que
se indica que el conjunto de atributos no admite valores nulos.
❑ Integridad Referencial (FOREIGN KEY): si una relación R2
(relación referencia) tiene un descriptor que es una clave candidata
de la relación R1 (relación referenciada), el valor del descriptor
debe, concordar con un valor de la clave candidata de R1, o ser
nulo. El descriptor es, por tanto, una clave ajena de la relación R2.
Las relaciones R1 y R2 no son necesariamente distintas. Además,
cabe destacar que la clave ajena puede ser también parte (o la
totalidad) de la clave primaria de R2.
Restricciones on update – on delete
Cuando se borra una tupla o actualiza la clave primaria de una
relación referenciada se pueden realizar las siguientes acciones:

❑ NO ACCION: rechazar la operación de borrado o


actualización.
❑ CASCADE: propagar la modificación o borrar las
tuplas de la tabla que referencia.
❑ SET NULL: poner a valor nulo en la Clave Ajena de la
tabla que referencia.
❑ SET DEFAULT: poner valor por defecto en la Clave
Ajena de la tabla que referencia.

La opción seleccionada en caso de borrado o modificación puede


ser distintas.
Restricciones on update – on delete
Otras restricciones
De Rechazo
❑ Verificación (CHECK): comprueba, en toda operación de
actualización, si el predicado es cierto o falso y, si es falso,
rechaza la operación. La restricción de verificación se define
sobre un único elemento (dominio, relación) y puede o no tener
nombre.
❑ Aserción (ASSERTION): actúa igual al anterior, pero se
diferencia en que puede afectar a varios elementos (ejemplo, a
dos relaciones distintas).

Disparador o Trigger
❑ El usuario puede especificar la acción ante una condición dada.
Las anteriores reglas de integridad son declarativas, los triggers
son procedimentales, y el usuario escribe el procedimiento que
ha de aplicarse en caso de que se cumpla la condición.
Lógica Trivaluada – El valor NULL

Valor nulo:
Señal utilizada para representar información desconocida,
inaplicable, inexistente, no válida, indefinida, etc.

Porque son necesarios los valores nulos en la BD

❑ Crear tuplas (filas) con ciertos atributos desconocidos en ese


momento, Ejemplo: el año de edición de un libro.
❑ Añadir un nuevo atributo a una relación existente; atributo
que, en el momento de añadirse, no tendría ningún valor para
las tuplas de la relación.
❑ Atributos inaplicables a ciertas tuplas, por ejemplo, la editorial
para un artículo (la profesión de un menor)
Tratamiento de NULL
Con distinto tipo de operaciones:
• Operaciones de comparación La lógica trivaluada trae
• Operaciones aritméticas aparejado varios
inconvenientes y
• Operaciones algebraicas depende de cómo se
• Funciones de agregación implemente

Tabla de verdad de la lógica trivaluada:


Resumen

Análisis de Requisitos

Esquema Descriptivo

Diseño
Modelo E/R
Conceptual

Esquema Conceptual

Diseño
Lógico Modelo Relacional

Esquema Lógico
Preguntas

También podría gustarte