Modelo Relacional
Es el modelo lógico en el que se basan la mayoría de los SGBD comerciales en uso hoy en día. Éste se basa en dos ramas de las matemáticas: la teoría de conjuntos y la lógica de predicados de primer orden. Comentar que el modelo relacional representa la segunda generación de los SGBD.
Estructura de datos relacional
El modelo relacional se basa en el concepto matemático de relación, Una relación es una tabla con columnas y filas. Esta percepción solo es aplicable a la estructura lógica de la base de datos, no a la física.
Definición de componentes.
-Un atributo es el nombre de una columna de una relación.
-Una relación se representa gráficamente como una tabla bidimensional en la que las filas corresponden a registros individuales y las columnas corresponden a los campos o atributos de esos registros.
-Un dominio es el conjunto de valores legales de uno o varios atributos.
-Una tupla es una fila de una relación.
-El grado de una relación es el número de atributos que contiene.
-La cardinalidad de una relación es el número de tuplas que contiene.
Una base de datos relacional es un conjunto de relaciones normalizadas.
Las relaciones tienen las siguientes características:
• Cada relación tiene un nombre y éste es distinto del nombre de todas las demás.
• Los valores de los atributos son atómicos: en cada tupla, cada atributo toma un solo valor. Se dice que las relaciones están normalizadas.
• No hay dos atributos que se llamen igual.
• El orden de los atributos no importa: los atributos no están ordenados.
• Cada tupla es distinta de las demás: no hay tuplas duplicadas.
• El orden de las tuplas no importa: las tuplas no están ordenadas.
Tipos de relaciones.
-Relaciones base. Forman parte de la base de datos.
-Vistas. También denominadas relaciones virtuales
-Instantáneas. Son relaciones con nombre y derivadas. Pero a diferencia de las vistas, son reales, no virtuales. Son solo de lectura y se actualizan periódicamente
-Resultados de consultas.
-Resultados intermedios. Son las relaciones que contienen los resultados de las
subconsultas. Normalmente no tienen nombre y tampoco persisten en la base de datos.
-Resultados temporales. Son relaciones con nombre, similares a las relaciones base o a las instantáneas, pero la diferencia es que se destruyen automáticamente en algún momento apropiado.
Tipos de Claves.
Una superclave es un atributo o un conjunto de atributos que identifican de modo único
Las tuplas de una relación.
Una clave candidata es una superclave en la que ninguno de sus subconjuntos es una
superclave de la relación.
La clave primaria de un relación es aquella clave candidata que se escoge para identificar sus tuplas de modo único.
Las claves candidatas que no son escogidas como clave primaria son denominadas claves alternativas.
Una clave ajena es un atributo o un conjunto de atributos de una relación cuyos valores coinciden con los valores de la clave primaria de alguna otra relación (puede ser la misma).
Reglas de integridad
Se utilizan reglas de integridad para garantizar que los resultados de los datos sean correctos.
Restricciones de dominios:
Al definir cada atributo sobre un dominio se impone una restricción sobre el conjunto de valores permitidos
Reglas de integridad de entidades:
– Ninguno de los atributos que componen la clave primaria puede ser nulo.
– Si en una relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos.
Regla de modificación.
Esto ocurre cuando se intenta modificar el valor de la clave primaria de la tupla referenciada por la clave ajena.
Y se debe solucionar o bien restringiendo (no se puede), propagando (modificando el valor de la clave primaria de la tuplas que la referencian).
-Anular (Se modifica la tupla y se referencia a nulo la clave ajena).
Diseño conceptual de bases de datos.
Modelo entidad-relación.
Un esquema conceptual es una descripción de alto nivel de la estructura de la base de datos, independientemente del SGBD que se vaya a utilizar para manipularla. Un modelo conceptual es un lenguaje que se utiliza para describir esquemas conceptuales.
El diseño físico parte del esquema lógico y da como resultado un esquema físico. Un esquema físico es una descripción de la implementación de una base de datos en memoria secundaria: las estructuras de almacenamiento y los métodos utilizados para tener un acceso eficiente a los datos. Por ello, el diseño físico depende del SGBD concreto y el esquema físico se expresa mediante su lenguaje de definición de datos.
Modelos de datos
Hay dos tipos de modelos de datos: los modelos conceptuales y los modelos lógicos.
Los modelos conceptuales se utilizan para representar la realidad a un alto nivel de abstracción. Mediante los modelos conceptuales se puede construir una descripción de la realidad fácil de entender.
Cualidades del modelo conceptual:
• Expresividad: deben tener suficientes conceptos para expresar perfectamente la realidad.
• Simplicidad: deben ser simples para que los esquemas sean fáciles de entender.
• Minimalidad: cada concepto debe tener un significado distinto.
• Formalidad: todos los conceptos deben tener una interpretación única, precisa y bien definida
El modelo entidad-relación
Éste es el modelo conceptual más utilizado para el diseño conceptual de bases de datos.
Ahora se utiliza el denominado modelo entidad-relación extendido.
En los que aparte de entidad, relación y atributos, también hay atributos compuestos y jerarquías de generalización.
-Entidad (se representa con un rectángulo) dos tipos de entidades: fuertes y débiles. Una entidad débil es una entidad cuya existencia depende de la existencia de otra entidad.
-Relación recursiva es una relación donde la misma entidad participa más de una vez en la relación con distintos papeles.
La cardinalidad con la que una entidad participa en una relación especifica el número mínimo y el número máximo de correspondencias en las que puede tomar parte cada ocurrencia de dicha entidad. La participación de una entidad en una relación es obligatoria (total) si la existencia de cada una de sus ocurrencias requiere la existencia de, al menos, una ocurrencia de la otra entidad participante. Si no, la participación es opcional (parcial).
-Los atributos representan las propiedades básicas de las entidades y de las relaciones. Toda la información extensiva es portada por los atributos. Gráficamente, se representan mediante bolitas que cuelgan de las entidades o relaciones a las que pertenecen. Los atributos pueden ser simples o compuestos. También pueden clasificarse en monovalentes o polivalentes.
Un atributo derivado es aquel que representa un valor que se puede obtener a partir del valor de uno o varios atributos, que no necesariamente deben pertenecer a la misma entidad o relación.
Un identificador de una entidad es un atributo o conjunto de atributos que determina de modo único cada ocurrencia de esa entidad.
Metodología de diseño conceptual
El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los usuarios tienen de la información. (Esquemas conceptuales locales.)
1. Identificar las entidades.
2. Identificar las relaciones.
3. Identificar los atributos y asociarlos a entidades y relaciones.
4. Determinar los dominios de los atributos.
5. Determinar los identificadores.
6. Determinar las jerarquías de generalización (si las hay).
(En cada jerarquía hay que determinar si es total o parcial y exclusiva o superpuesta.)
7. Dibujar el diagrama entidad-relación.
8. Revisar el esquema conceptual local con el usuario.
Metodología de diseño lógico en el modelo relacional
• Construir y validar los esquemas lógicos locales para cada vista de usuario.
1. Convertir los esquemas conceptuales locales en esquemas lógicos locales.
a.- Eliminar las relaciones de muchos a muchos, sustituyendo cada una de ellas por una nueva entidad intermedia y dos relaciones de uno a muchos de esta nueva entidad con las entidades originales.
b.- Eliminar las relaciones entre tres o más entidades, sustituyendo cada una de ellas por una nueva entidad (débil) intermedia que se relaciona con cada una de las entidades originales.
c.- Eliminar las relaciones recursivas, sustituyendo cada una de ellas por una nueva entidad (débil) y dos relaciones binarias de esta nueva entidad con la entidad original.
d.- Eliminar las relaciones con atributos, sustituyendo cada una de ellas por una nueva entidad (débil) y las relaciones binarias correspondientes de esta nueva entidad con las entidades originales.
e.- Eliminar los atributos multievaluados, sustituyendo cada uno de ellos por una nueva entidad (débil) y una relación binaria de uno a muchos con la entidad original.
f.- Revisar las relaciones de uno a uno, ya que es posible que se hayan identificado dos entidades que representen el mismo objeto (sinónimos).
g.- Eliminar las relaciones redundantes.
2. Derivar un conjunto de relaciones (tablas) para cada esquema lógico local.
a.- Organizar entidades fuertes y débiles, jerarquías y relaciones, también escoger la clave candidata.
3. Validar cada esquema mediante la normalización.
El objetivo de este paso es obtener un conjunto de relaciones que se encuentren en la forma normal de Boyce-Codd. Para ello, hay que pasar por la primera, segunda y tercera formas normales.
4. Validar cada esquema frente a las transacciones del usuario.
5. Dibujar el diagrama entidad-relación.
6. Definir las restricciones de integridad.
7. Revisar cada esquema lógico local con el usuario correspondiente.
• Construir y validar el esquema lógico global.
1. Mezclar los esquemas lógicos locales en un esquema lógico global.
2. Validar el esquema lógico global.
3. Estudiar el crecimiento futuro.
4. Dibujar el diagrama entidad-relación final.
5. Revisar el esquema lógico global con los usuarios.