Está en la página 1de 22

MODELOS LGICOS : Modelo

Relacional
Clase 8

Gloria Luca Giraldo Gmez Universidad Nacional de Colombia glgiraldog@unalmed.edu.co Bloque M8A - 313

Antecedentes
Edgar Codd, 1970: Artculo: A Relational Model of Data for Large Shared Data Banks Basado en teora de conjuntos Gran avance respecto a los modelos de red y jerrquico (que son difciles de administrar, de ejecucin compleja,, con carencia de independencia estructural, etc.) Evita el uso de punteros Operaciones sobre conjuntos de datos

Representacin
Datos en tablas bidimensionales. Se basa en el concepto de relacin Informalmente en el modelo relacional: relacin = tabla Se apoya en el lgebra y el clculo de relaciones Gener los RDBMS (SGBD Relacionales)

Ventajas
Separacin clara del nivel lgico y el fsico Sencillo y fcil de modificar Operadores con gran poder de manipulacin de datos Fundamentacin terica slida Compatibilidad y estandarizacin Confiabilidad y estabilidad

Ventajas
Garanta de Independencia de los datos Es empleado por numerosos sistemas comerciales y conectividad garantizada con los lenguajes de programacin estndar (Java, C++, VBasic etc.) Se consigue fcilmente apoyo tcnico

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 Cmo cules? No se puede manejar herencia* Descompone los elementos de inters en varias tablas** Presenta dificultades para el manejo de datos no atmicos (confrontar con los atributos grupales y multivaluados del modelo semntico)
* Aunque la herencia puede ser simulada de forma incmoda ** Esto implica la recomposicin del elemento

Elementos del Modelo Relacional


ATRIBUTOS Nombre de la RELACION

PELICULA
TITULO El seor de los anillos Mar adentro El viaje de Chihiro AO DURACION La guerra de las galaxias 1997 120

TUPLAS

2001 180 2004 90 2001 120

El DOMINIO del atributo TITULO = TEXTO

Dominio de AO y DURACION = ENTEROS

Elementos del Modelo Relacional: RELACION = TABLA


Concepto abstracto de estructura bidimensional: filas y columnas Se pueden definir por comprensin y por extensin: Ej. por comprensin: R={x|x (identificacin, nombre, telfono) es estudiante de la Universidad Nacional de Colombia} Por extensin implica que hay que listar uno por uno los elementos de la relacin Una relacin es un conjunto de filas, entonces por definicin stas no tienen orden En una relacin no hay filas (tuplas) repetidas Las columnas de una relacin tienen un nombre nico dentro de la tabla y no tienen orden Cada celda es atmica o UNIVALUADA La relacin es el nico elemento utilizado para representar tanto entidades como asociaciones entre ellas.

Notacin para RELACIN


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

Ejemplo:
EMPLEADO(cdula,nombre,direccin,salario)

Elementos del modelo relacional: TUPLA


Un conjunto de tuplas es una relacin Cada instancia o fila o registro de una relacin es una tupla Una tupla puede representar tanto instancias de entidades como instancias de asociaciones (modelo conceptual) Nmero de tuplas: cardinalidad o extensin de la relacin

Notacin para tuplas


t = <La guerra de las galaxias, 1997, 120> Pelcula

Para un subconjunto de tuplas:


t[titulo,ao] = <La guerra de las galaxias,1997>

Elementos del modelo relacional: ATRIBUTO


Cada campo o columna de una relacin es un atributo El nmero de atributos se denomina grado o aridad de la relacin El conjunto de atributos forman la cabecera de la relacin Cada atributo est valuado o basado sobre un nico dominio Ver siguiente

Elementos del modelo relacional: DOMINIO


Es el conjunto de los posibles valores que puede tomar un atributo No es ms 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

Notacin para DOMINIO


Dominio: el dominio del atributo A se denota dom(A)

Restriccin 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

Una definicin formal de relacin:

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) ) Relacin es Subconjunto de todas las posibles combinaciones

CLAVES
Clave candidata:
Atributo o atributos que identifican de manera nica una tupla dada Por qu toda relacin tiene al menos una clave candidata? Deben cumplir unicidad y minimalidad (irreducibilidad)

EJEMPLO
Claves candidatas candidatas a qu? a ser claves primarias

Automvil

Un automvil puede identificarse por el nmero de matrcula o por el nmero del motor

CLAVES : Clave primaria


Elegida a partir de las claves candidatas de la relacin. Las dems quedan como claves alternativas o secundarias (si las hay) Es el equivalente al identificador nico del Modelo Entidad/Asociacin (#) o al ID nico del modelo semntico

Ningn componente de la clave primaria acepta nulos. Qu es un nulo?

Regla de integridad de las claves primarias

CLAVES: Clave Fornea o Ajena o Externa


Atributo (puede ser compuesto) de una relacin R1 que es clave primaria en una relacin R2 (R1 y R2 no necesariamente diferentes) Especifica de forma explcita la forma en que dos tablas se relacionan Mecanismo para asegurar la integridad

Regla de integridad referencial


Ningn componente de una clave fornea puede contener valores que no estn presentes en la clave primaria (alternativa) a la que referencia Puede una clave fornea admitir nulos? Cmo es el dominio de una clave fornea frente al dominio de la clave primaria a la que referencia?

Guardar la integridad referencial


Qu pasa si la referencia(Padre) de una clave fornea intenta ser borrada? Posibles cursos de accin: - Cascada - Restringido - Nulificacin - Programada La misma pregunta en el caso de actualizacin del padre

Otros tipos de Claves


Superclave Natural Inteligente o Semntica Artificial o Subrogada Solapadas INVESTIGA !!!

FIN