Diferencia entre revisiones de «Usuario:ManuelRomero/micursos/INAEM2017/Bases datos/nivel logico»

De WikiEducator
Saltar a: navegación, buscar
 
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/BasesDatos/nivel_logico/nav}}
 
{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/BasesDatos/nivel_logico/nav}}
{{Bases_datos/Nivel_Logico}}
+
{{Bases_Datos/Modelo_Logico}}

Última revisión de 21:48 14 may 2018


Nivel Lógico

  • A este nivel vamos a usar el modelo relacional
  • Es importante tener claro que lo que queremos realizar a este nivel es aplicar una serie de reglas para transformar el modelo entidad/interrelación o modelo de Chen en un modelo relacional


Icon key points.gif

Paso del modelo E/R a modelo Relacional

Transformacion er mr.png




Icon key points.gif

Comparativa de términos

Vamos a usar una serie de términos quizá nuevos, pero por todas conocidos
  • Vemos la relación de ellos

Comparativa terminos.png


  • En este nivel hay que estudiar una serie de conceptos sencillos, que convienen dejar claros


Icon activity.jpg
Elementos del nivel lógico
Dominio y atributo
Relación y tupla
Restricciones



Conceptos del nivel lógico: Elementos del modelo



Icon define.gif
Dominio
Un dominio es el conjuntos de valores
que puede tomar un determinado atributo (campo).
de un elemento concreto (tupla o fila) del objeto (relación o tabla).

Valores del Dominio.png

  • Podemos ver un dominio como un tipo de datos con restricciones.


Icon key points.gif

características de los valores de un dominio

homogéneos
Son volares todos del mismo tipo
atómicos
Son indivisibles
Si dividiéramos el valor, perdería su significado


Dice que el valor que ha de tomar cada atributo (campo) 
dentro de una tupla (fila) ha de ser atómico y pertenecer al dominio



Icon define.gif
Atributo
Un atributo son cada una de las características 
o propiedades de los elementos de información (tablas)
Se define como el papel que desempeña un determinado
dominio en una relación (tabla)

Atributo 1.png

  • Podemos ver un dominio como un tipo de datos con restricciones.



Icon define.gif
Tupla
Es cada una de las filas que vamos a tener en la tabla
  • Se define como (no hace falta aprenderlo)
Un conjunto de pares de la forma 

T ={(A1,D1),(A2,D2),....,(An,Dn)}

donde

{A1,,A2,....,An} (n>0) es el conjunto de nombres de atributos del esquema necesariamente distintos.
{D1,,D2,....,Dn} son los dominios asociados a dichos atributos
que no tienen que ser necesariamente distintos.
Relacion tuplas.png



Icon define.gif
Relación
Una relación es la tabla que se va a formar
Es el conjunto de tuplas que constituyen el contenido de la información del mundo real
  • Una definición más formal
Una relación es un conjunto de tuplas del mismo esquema , 
y un esquema de relación es el esquema de las tuplas que lo 
forman. Notación : 

R (A1:D1, A2:D2, ....., An:Dn)

define una relación de esquema  {(A1,D1),(A2,D2),....,(An,Dn)}.
A partir de esta definición, diremos que dos
relaciones R y S son compatibles si sus esquemas son idénticos.

Relación.png




Icon define.gif
Restricciones
Una restricción es una limitación que se va asociar 
a los posibles valores que se pueden dar en un momento dado


Icon key points.gif

Tipos de restricciones

De dominio
De clave
De valor no nulo
De integridad de entidades
De integridad referencial





Icon key points.gif

Restricción de dominio

  • Es un concepto básico
Dice que el valor que ha de tomar cada atributo (campo) 
dentro de una tupla (fila) ha de ser atómico y pertenecer al dominio




Icon key points.gif

Restricción de valores no nulos

  • En un momento dado, el valor de un atributo puede ser no conocido o que no se aplique.
  • Dado ese caso se han de permitir valores nulos además de los valores del dominio.
  • Dos valores nulos nunca se consideran iguales. (Se consideran difrentes entre si).




Icon key points.gif

Restricción de clave

  • Una relación se define como un conjunto de tuplas.
  • Por definición, todos los elementos de un conjunto son distintos;
  • En consecuencia, todas las tuplas de una relación deben ser distintas.
  • Esto implica que no puede haber dos tuplas que tengan los mismos valores para todos sus atributos.
Para cumplir esta restricción va a haber un conjunto de atributos (1 o más)
cuyos valores nunca se pueden repetir
para dadas dos tuplas cualesquiera de la relación


Icon key points.gif

Tipos de claves

Clave candidata
Cada conjunto de atributos que satisfacen esta restricción se llaman clave candidata
Clave principal
Siempre hemos de elegir una de las claves candidatos como clave principal
Claves alternativas
Serán el resto de claves

Claves candidatas.png




Icon key points.gif

Valores de la clave

Valor único
Los valores de la clave nunca se pueden repetir
Esto se aplica al conjunto de atributos que forman la clave
Valor no nulo (También llamada restricción de integridad de entidades)
Los valores de las claves nunca pueden ser nulo.
Esto se aplica para cada atributo que forme parte de alguna clave candidata


Valores unicos.png



Restricción de Integridad Referencial



Icon preknowledge.gif
Conocimiento previo
  • Para explicar este concepto hay que tener claros los siguientes conceptos:
Propagación de clave
Clave extranjera o foránea
Integridad referencial


Icon key points.gif

Propagación de clave

  • Cuando creemos el modelo relacional solo vamos a tener relaciones (tablas) y atributos (campos)
  • La forma de mantener la relación entre dos tablas o entidades va a ser propagando la clave
  • Propagar la clave consiste en llevar la clave principal de una entidad a otra.




Icon key points.gif

Clave extranjera o foránea

  • El atributo propagado en la relación o tabla no es una caracterísca del objeto o relación.
  • Se conoce como elemento externo o extragero
  • Como hace referencia a una clave principal se conoce como clave extragera o foránea




Icon key points.gif

Integridad referencial

  • Integridad hace referencia a que algo sea bueno válido (integro)
  • Referencia es que está señalando o haciendo alusión a otro elemento
La integridad referencial es que los valores de las claves extranjeras o foráneas
Han de ser valores que existan en la tabla donde el atributo referenciado es clave principal
o bien ser nulos si se permite que no haya referencia (el mínimo de las cardinalidades).



Propagacion clave.png



Paso del modelo Entidad/Interrelación al modelo Relacional



Icon define.gif
Modelo Relacional
Es la representación gráfica de la futura base de datos
  • En este modelo solo vamos a tener dos elementos
Relaciones o tablas
Atributos o campos
  • Ademas vamos a incorporar una serie de las restricciones vistas anteriormente
  • Lo que nos queda ahora es determinar qué hacemos con cada elementos del modelo entidad/interrelacion (entidades, atributos y interrelaciones) en el modelo relacional.
  • Podemos volver a ver la imagen del principio del tema:

Transformacion er mr.png


Entidades



Icon key points.gif

Transformación de entidades no débiles

Cada entidad del modelo E-R genera una tabla.

Entidades2relaciones.png



Atributos




Icon key points.gif

Atributos

Cada atributo pasa a ser un campo en el modelo relacional.
  • Si el atributo es clave en la tabla será clave también
  • Si no lo es lo especificaremos tal cual

Atributo2relaciones.png




Icon key points.gif

Atributos multivaluados

Los atributos multivaluados generarán una nueva tabla o relación.
  1. El la tabla propagamos la clave principal
  2. de la entidad donde el atributo está multivaluado.
  3. Este atributo será clave extranjera
  4. La clave principal será el conjunto de los dos atributos

Atributo multivaluado2relaciones.png




Icon key points.gif

Atributos derivados

En principio los atributos derivados no se ponen De ellos se debe de realizar un estudio y determinar qué hacer



Icon qmark.gif
¿Almaceno los atributos derivados?
  • Almacenarlos implica dedicar espacio de almacenamiento
    y ahorrar tiempo en calcular su valor
  • No almacenarlo es lo complementario





Icon key points.gif

Atributos compuestos

  • En este caso tenemos dos opciones
  1. Almacenar como campos de la tabla los componentes del atributo compuesto
  2. Crear una tabla donde propaguemos la clave principal que pasará a ser a la vez clave principal y foránea



Icon qmark.gif
Genero tabla por los atributos compuestos
  • Analiza el tema de valores nulos
  • Normalmetne son atributos semánticamente relacionados
¿Habrá muchas tuplas que no tengan valor en esos atributos
  • Si es si, hay un problema de nulos, mejor generar una tabla
  • Si es no, sin duda es mejor agregarlo en la tabla acutal


Nulos.png

  • El siguiente ejemplo muestra las dos opciones

Atributo compuesto2relaciones.png


Interrelaciones

  • A continuación vamos a estudiar las relaciones


Icon key points.gif

Interrelaciones o vínculos

  • Estas pueden tener diferente cardinalidad (Luego analizaremos las ternarias):
1:N
1:1
M:N
  • Es importante recordar el concepto de propagar la clave
consiste en llevar la clave de una tabla (clave principal
a otra tabla donde se convierte en clave extranjera o foránea
queda establecida una restricción de integridad referencial
entre ambas tablas




Icon key points.gif

Interrelaciones 1:N

  • En este caso se produce la propagación de clave
  • Siempre propagaremos de la entidad de cardinalidad N a la entidad de cardinalidad 1
  • Pero si lo vemos en el sentido de la Interrelación el sentido es 1-N
  • Si hubiera atributos en la interrelación irán la la tabla a la que se propaga

Relaciones 1N2relacional.png


Icon activity.jpg
Realiza el siguiente ejercicio
Dado el siguiente esquema E/R, 
obtén el modelo de tablas corresondiente

Ejercicio MR 1.png






Icon key points.gif

Interrelaciones M:N

  • En este caso se generamos una nueva relación o tabla
  • La nueva tabla recibe propagada las claves de las entidades relacionadas
  • Si la interrelacińo tuviera atributos, éstos formarían parte de la nueva relación o tabla
  • Cada atributo propagado será una clave extrajera que referenciará a su tabla dónde es clave principal
  • La clave de la nueva tabla será el conjunto de los dos atributos
  • A veces hay que revisar si es suficiente o hay que añadir más información para la clave

Relaciones MN2relacional.png


Icon activity.jpg
Realiza el siguiente ejercicio
Dado el siguiente esquema E/R, 
obtén el modelo de tablas corresondiente

Ejercicio MR 2.png






Icon key points.gif

Interrelaciones 1:1

  • Este es un caso poco frecuente que presenta diferentes opciones de resolución
  • Para determinar qué hacer debemos de observar los mínimos, en cuyo caso tenemos tres opciones
  1. Los dos extremos opcionales
  2. un extremo opcional y otro obligatorio
  3. Los dos extremos obligatorios


Icon key points.gif

1:1 con opcionalidad en un extremo

  • Es este caso propagamos la clave de la entidad con opcionalidad a la entidad obligada
  • Además la clave extranjera debe tener una restricción de valor único

Relaciones 112relacional.png




Icon key points.gif

1:1 con opcionalidad en ambos extremos

  • En este caso,para mantener la información, debemos realizar una doble propagación de claves
  • En ambos casos, la clave propagada, deberá de tener la restricción de valor único

Relaciones 11 opt2relacional.png




Icon key points.gif

1:1 con obligatoriedad en ambos extremos

  • En este caso conviene jutar las dos entidades en una única tabla o relación juntando los atributos
  • La clave será la unión de las dos claves de cada entidad

Realcion 11 obl2relacional.png