220 likes | 605 Views
MODELOS LÓGICOS : M odelo Relacional. Profr . Julián Alejandro González Arellano Universidad Juárez Autónoma de Tabasco Master_alexjulian@yahoo.com.mx Lectura para el segundo parcial. Antecedentes. Edgar Codd, 1970: Artículo: “ A Relational Model of Data for Large Shared Data Banks ”
E N D
MODELOS LÓGICOS : Modelo Relacional Profr. Julián Alejandro González Arellano Universidad Juárez Autónoma de Tabasco Master_alexjulian@yahoo.com.mx Lectura para el segundo parcial
Antecedentes • Edgar Codd, 1970: Artículo: “A RelationalModel 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 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 ATRIBUTOS Nombre de la RELACION PELICULA TUPLAS El DOMINIO del atributo TITULO = TEXTO Dominio de AÑO y DURACION = ENTEROS
Elementos del Modelo Relacional: RELACION = TABLA • 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 pordefinició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.
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>
Elementos del modelo relacional: ATRIBUTO • 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: 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) • Restricción del dominio: t[A] = <x> x dom(A) • Ej: en algunos casos NULLdom(A), lo cual significa que el atributo A acepta valores nulos • Una definición formal de relación: 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) ) Subconjunto de todas las posibles combinaciones Relación es
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 Claves candidatas … ¿ candidatas a qué? … a ser claves primarias Automóvil Un automóvil puede identificarse por el número de matrícula o por el número del motor
CLAVES : Clave primaria • 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”. ¿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 !!!