Tema 38 – Modelo de datos relacional.

Tema 38 – Modelo de datos relacional.

1. INTRODUCCIÓN.. 1

1. ESTRUCTURA.. 2

1.1 Relaciones. 2

1.2 Tipos de claves. 2

2.3 Restricciones. 3

2.4 Propiedades de una relación. 3

3. OPERACIONES. ÁLGEBRA RELACIONAL. 7

3.1 Operaciones fundamentales. 7

3.2 Operaciones adicionales no fundamentales. 7

4. CÁLCULO RELACIONAL. 8

4.1 Cálculo orientado a tuplas. 8

4.2 Cálculo orientado a dominios. 8

1. INTRODUCCIÓN

· Un modelo de datos es una colección de conceptos, normas y acuerdos que permitirán representar los hechos que queremos plasmar y la posterior manipulación de los datos descritos.

· Todo modelo, sea el que sea, se construye teniendo que diferenciar en él 2 partes:

-Estática: Parte no modificable en el tiempo e implica a las estructuras de datos.

-Dinámica: Parte susceptible de modificación tras la aplicación de operaciones sobre dichas estructuras de datos.

· El modelo relacional fue introducido por Codd en los 70. Es el más utilizado.

· Los objetivos del modelo son:

image

1. ESTRUCTURA

La base de datos consta de:

1. Una estructura: Se denomina “relación”

2. Una manipulación: Formada por los operadores que manipulan la estructura.

3. Una semántica: Restricciones que definen el modelo junto con unas reglas que garanticen la integridad de los datos.

1.1 Relaciones

El modelo relacional está basado en la teoría de las matemáticas (en el concepto de “relación”).

Proporciona fiabilidad y seguridad (se le puede aplicar todas las normas que dicho concepto lleva consigo)

image

1.2 Tipos de claves

Superclave

Formada por uno o más atributos que identifica de forma única una entidad de otra.

Clave candidata

Atributos pertenecientes a la relación que pueden diferenciar de forma inequívoca cada tupla.

Clave primaria

Clave candidata por la que ha optado el diseñador para diferenciar las tuplas o entidades.

Clave ajena

Atributos de una relación que son clave primaria de otra relación. No es obligatoria.

Clave alterna

Claves candidatas que no ha optado el diseñador como primarias.

Claves traslapadas

Cuando las claves candidatas tienen algún atributo en común.

Las claves tienen que cumplir unas reglas de integridad:

1. Integridad de identidad: No pueden existir valores nulos en una clave candidata, y por lo tanto, en la clave primaria.

2. Integridad de referencia: El valor del atributo al que se referencia, tiene que estar contenido forzosamente en el conjunto de valores de la clave primaria r1. Puede tomar valor nulo. Esta regla debe cumplirse estrictamente en las claves ajenas.

2.3 Restricciones

Una restricción es aquello no admitido. Puede ser de 2 tipos:

Restricciones inherentes: Restricciones que son originadas por el propio modelo, por ejemplo, el valor de los atributos tiene que ser único.

Restricciones del usuario o semánticas: Dadas por el usuario para determinar el objeto, idea o hecho que queremos representar.

2.4 Propiedades de una relación
2.4.1 Dependencia. Teoría de la normalización

Esta teoría se fundamenta en las formas normales, que parten del concepto de dependencia. Pueden ser:

Dependencia funcional

image

B es funcionalmente dependiente de A.

Una dependencia funcional es una conexión entre uno o más atributos. Por ejemplo, si se conoce el valor de DNI tiene una conexión con Apellido o Nombre.

Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera:

FechaDeNacimiento {\displaystyle \rightarrow }à Edad

De la normalización (lógica) a la implementación (física o real) puede ser sugerible tener estas dependencias funcionales para lograr la eficiencia en las tablas.

Multivaluadas:

image

Dependencia de JOIN: Los atributos de una relación se forman a partir de las proyecciones de su relación.

2.4.2 Propiedades de las dependencias funcionales

A) Axiomas Armstrong

Dependencia funcional reflexiva

Si “y” está incluido en “x” entonces x {\displaystyle \rightarrow }à y

A partir de cualquier atributo o conjunto de atributos siempre puede deducirse él mismo. Si la dirección o el nombre de una persona están incluidos en el DNI, entonces con el DNI podemos determinar la dirección o su nombre.

Dependencia funcional aumentativa

xày entonces xzà yz

DNI à nombre

DNI,dirección {\displaystyle \rightarrow }à nombre,dirección

Si con el DNI se determina el nombre de una persona, entonces con el DNI más la dirección también se determina el nombre y su dirección.

Dependencia funcional transitiva

image

Sean X, Y, Z tres atributos (o grupos de atributos) de la misma entidad. Si Y depende funcionalmente de X y Z de Y, pero X no depende funcionalmente de Y, se dice entonces que Z depende transitivamente de X. Simbólicamente sería:

xàyàz entonces xàz

FechaDeNacimiento à Edad

Edad à Conducir

FechaDeNacimiento à Edad à Conducir

Entonces tenemos que FechaDeNacimiento determina a Edad y la Edad determina a Conducir, indirectamente podemos saber a través de FechaDeNacimiento a Conducir (En muchos países, una persona necesita ser mayor de cierta edad para poder conducir un automóvil, por eso se utiliza este ejemplo).

“C será un dato simple (dato no primario), B, será un otro dato simple (dato no primario), A, es la llave primaria (PK). Decimos que C dependerá de B y B dependerá funcionalmente de A.”

B) Propiedades

Unión

xày Y xà< entonces xàyz

{\displaystyle x\rightarrow y}{\displaystyle x\rightarrow z} {\displaystyle x\rightarrow yz}Pseudo-Transitiva

xxày Y wyàz entonces wxàz

{\displaystyle x\rightarrow y} {\displaystyle wx\rightarrow z}Descomposición

xxày Y z está incluido en y entonces xàz

2.4.3 Propiedades de dependencia multivaluadas

Repetición

R.a1àR.a2 implica que R.a1à à R.a2

Complementación

Si R.a1à R.a2 se dice que R.a1à à R-R-a2-R-a1

Aumento multivaluado

R.a1ààR.a2 si R.a3 C RR.a4, también R.a1ààR(a1,a4)ààR.(a2a3)

Transitiva multivaluada

R.a1ààR.a2à y R.a2àR.a3 ààR.a3 también R.a1 àà R.(a2a3)

Condensación

R.a1ààRa.2 y R.a4 à R.a3 siempre que R.a3 C R.a2 y a4 C R.a2 y R.a4 ꓵ R.a2= conjunto vacío, se cumple que R.a1àr.a3

2.4.3 Reglas de normalización

· 1ra forma normal (1FN)

image

· 2da forma normal (2FN)

image

· 3ra forma normal (3FN)

image

image

3. OPERACIONES. ÁLGEBRA RELACIONAL

Esta sección presenta la manera de hacer consultas a una base de datos empleando algunos conceptos matemáticos aplicados a un esquema relacional. Los lenguajes que se analizan más adelante se derivan precisamente del algebra relacional.

El álgebra relacional consiste de algunas simples, pero poderosas maneras de construir nuevas relaciones a partir de otras. Si pensamos que las relaciones iniciales son los datos almacenados entonces las nuevas relaciones se pueden ver como respuestas a algunas consultas deseadas.

3.1 Operaciones fundamentales

Conjunto de operaciones que toman como argumentos relaciones y retornan una nueva relación. Las operaciones fundamentales del Algebra relacional son:

Selección σ

Proyección π

Unión

Diferencia −

Producto cartesiano ×

Renombramiento ρ

3.2 Operaciones adicionales no fundamentales

intersección de conjunto:

image

Unión Join o Producto Theta:

image

– División:

image

– Asignación:

Operación auxiliar que se utiliza para almacenar resultados en una nueva relación o para resultados intermedios cuando se desea dividir una operación compleja en una secuencia de operaciones más simples.

NR := Op(R) ¾ Permite copiar una relación en otra nueva (siendo el operador Op la identidad):

NR := R ¾ O renombrar los atributos de la relación original: NR(A1,A2, …, An) := R

4. CÁLCULO RELACIONAL

4.1 Cálculo orientado a tuplas

· Es un lenguaje de consulta no procedimental

· Describe la información deseada sin dar un procedimiento específico para obtenerla.

· Una consulta en el CRT se expresa como:

{t / P(t)} – es decir, el conjunto de todas las tuplas t, tal que el predicado P, es verdadero para t.

4.2 Cálculo orientado a dominios

· Usa variables de dominio que toman valores del dominio de un atributo.

· Una expresión en el CRD es de la forma

{< x1,x2 , … , n > | P(x1, x2 , … , xn)}

– donde

x1 , x2 , . . . , xn representan variables de dominio P es una fórmula compuesta por átomos