modelo relacional

22
MODELOS LÓGICOS : Modelo Relacional Clase 8 Gloria Lucía Giraldo Gómez Universidad Nacional de Colombia [email protected] Bloque M8A - 313

description

 

Transcript of modelo relacional

MODELOS LÓGICOS : Modelo Relacional

Clase 8

Gloria Lucía Giraldo GómezUniversidad Nacional de [email protected] M8A - 313

Antecedentes

Edgar Codd, 1970:Artículo: “A Relational Model of Data for Large Shared Data Banks”

Basado en teoría de conjuntos Gran avance respecto a los modelos de red y

jerárquico (que son difíciles de administrar, de ejecución compleja,, con carencia de independencia estructural, etc.)

Evita el uso de punteros Operaciones sobre conjuntos de datos

Representación

Datos en tablas tablas bidimensionales. Se basa en el concepto de relación Informalmente en el modelo relacional:

relación = tabla Se apoya en el álgebra y el cálculo de

relaciones Generó los RDBMS (SGBD Relacionales)

Ventajas

Separación clara del nivel lógico y el físico

Sencillo y fácil de modificar Operadores con gran poder de

manipulación de datos Fundamentación teórica sólida Compatibilidad y estandarización Confiabilidad y estabilidad

Ventajas

Garantía de Independencia de los datos

Es empleado por numerosos sistemas comerciales y conectividad garantizada con los lenguajes de programación estándar (Java, C++, VBasic etc.)

Se consigue fácilmente apoyo técnico

Desventajas No incluye comportamiento de los datos a diferencia

del objetual y objeto relacional por ejemplo No se puede representar conocimiento en forma de

reglas ¿Cómo cuáles? No se puede manejar herencia* Descompone los elementos de interés en varias

tablas** Presenta dificultades para el manejo de datos no

atómicos (confrontar con los atributos grupales y multivaluados del modelo semántico)

* Aunque la herencia puede ser simulada de forma incómoda** Esto implica la recomposición del elemento

Elementos del Modelo Relacional

1202001El viaje de Chihiro

902004Mar adentro

1802001El señor de los anillos

1201997La guerra de las galaxias

DURACIONAÑOTITULO

1202001El viaje de Chihiro

902004Mar adentro

1802001El señor de los anillos

1201997La guerra de las galaxias

DURACIONAÑOTITULO

PELICULANombre de la RELACION

ATRIBUTOS

TUPLAS

El DOMINIO del atributo TITULO = TEXTO Dominio de AÑO y DURACION = ENTEROS

Concepto abstracto de estructura bidimensional: filas y columnas

Se pueden definir por comprensión y por extensión: Ej. por comprensión: R={x|x (identificación, nombre,

teléfono) es estudiante de la Universidad Nacional de Colombia}

Por extensión implica que hay que listar uno por uno los elementos de la relación

Una relación es un conjunto de filas, entonces por definición éstas no tienen orden

En una relación no hay filas (tuplas) repetidas Las columnas de una relación tienen un nombre único dentro

de la tabla y no tienen orden Cada celda es atómica o UNIVALUADA La relación es el único elemento utilizado para representar

tanto entidades como asociaciones entre ellas.

Elementos del Modelo Relacional: RELACION = TABLA

Notación para RELACIÓN

El esquema de una relación R se denota R(A1,A2, …An) donde R es el nombre de la relación y A1,A2, …An son los atributos de R

Ejemplo:

EMPLEADO(cédula,nombre,dirección,salario)

Elementos del modelo relacional: TUPLA

Un conjunto de tuplas es una relación Cada instancia o fila o registro de una

relación es una tupla Una tupla puede representar tanto

instancias de entidades como instancias de “asociaciones” (modelo conceptual)

Número de tuplas: cardinalidad o extensión de la relación

Notación para tuplas

t = <La guerra de las galaxias, 1997, 120> Película

Para un subconjunto de tuplas:

t[titulo,año] = <La guerra de las galaxias,1997>

Cada campo o columna de una relación es un atributo

El número de atributos se denomina grado o aridad de la relación

El conjunto de atributos forman la cabecera de la relación

Cada atributo está valuado o basado sobre un único dominio Ver siguiente

Elementos del modelo relacional: ATRIBUTO

Elementos del modelo relacional: DOMINIO

Es el conjunto de los posibles valores que puede tomar un atributo

No es más que un tipo de datos. Ej: Booleano, Entero, cadena de caracteres, etc.

Puede servir para valuar a varios atributos Se puede restringir para velar por la

integridad de la base de datos

Notación para DOMINIO• Dominio: el dominio del atributo A se denota dom(A)

Relación es todas las posibles combinacionesSubconjunto de

R(A1, A2, …An) ( dom(A1) x dom(A2) x … dom(An) )

R es el subconjunto del producto cartesiano de los dominios de A1, A2, …, An

R(A1, A2, …An) ( dom(A1) x dom(A2) x … dom(An) )

• Una definición formal de relación:

• Restricción del dominio: t[A] = <x> x dom(A)

Ej: en algunos casos NULL dom(A), lo cual significa que el atributo A acepta valores nulos

CLAVES

Clave candidata: Atributo o atributos que identifican de

manera única una tupla dada ¿Por qué toda relación tiene al menos

una clave candidata? Deben cumplir unicidad y minimalidad

(irreducibilidad)

EJEMPLO

Automóvil

Claves candidatas … ¿ candidatas a qué? … a ser claves primarias

Un automóvil puede identificarse por el número de matrícula o por el número del motor

Elegida a partir de las claves candidatas de la relación.

Las demás quedan como claves alternativas o secundarias (si las hay)

Es el equivalente al identificador único del Modelo Entidad/Asociación (#) o al ID único del modelo semántico

Regla de integridad de las claves primarias

“Ningún componente de la clave primaria acepta nulos”.

CLAVES : Clave primaria

¿Qué es un nulo?

CLAVES: Clave Foránea o Ajena o Externa

Atributo (puede ser compuesto) de una relación R1 que es clave primaria en una relación R2 (R1 y R2 no necesariamente diferentes)

Especifica de forma explícita la forma en que dos tablas se relacionan

Mecanismo para asegurar la integridad

Regla de integridad referencial

“Ningún componente de una clave foránea puede contener valores que no están

presentes en la clave primaria (alternativa) a la que referencia”

¿Puede una clave foránea admitir nulos? ¿Cómo es el dominio de una clave foránea

frente al dominio de la clave primaria a la que referencia?

Guardar la integridad referencial ¿Qué pasa si la referencia(“Padre”) de una

clave foránea intenta ser borrada? Posibles cursos de acción:

- Cascada- Restringido- Nulificación- Programada

La misma pregunta en el caso de actualización del padre…

Otros tipos de Claves

Superclave Natural Inteligente o Semántica Artificial o Subrogada Solapadas

¡¡¡ INVESTIGA !!!

FIN