Modelo Entidad Relación
:Es una herramienta para modelar datos. Esta basado en una percepción del mundo real que consta de una colección de objetos básicos,llamados entidades,y de relaciones entre estos objetos.Una entidad es una cosa u objeto en el mundo real que es distinguible de otros objetos.Las entidades se describen en una base de datos mediante un conjunto de atributos.Una relación es una asociación entre varias entidades.Una relación agrupa los datos de forma independiente a lo que será su almacenamiento físico.Este modelo oculte completamente conceptos y términos de la computadora en sí, es decir se abstrae más que los modelos anteriores.
Objetivos:
Independencia física
La forma de almacenar los datos, no debe influir en su manipulación lógica.Si el almacenamiento físico cambia,los usuarios no tienen ni siquiera porqué enterarse, seguirán funcionando sus aplicaciones.Independencia lógica
Las aplicaciones que utilizan la base de datos no deben ser modificadas porque se modifiquen elementos de la base de datos.Es decir,añadir,borrar y suprimir datos,no influye en las vistas de los usuarios.Flexibilidad:
La base de datos ofrece fácilmente distintas vistas en función de los usuarios y aplicaciones.Uniformidad
Las estructuras lógicas siempre tienen una única forma conceptual(las tablas).Sencillez
Modelo de datos:
es una colección de herramientas conceptuales que se emplean para especificar datos y las relaciones entre ellos,de allí es que podremos afirmar que el modelo Entidad-Relación es un mecanismo formal para representar información de manera general y sistemática.
Características:*
Refleja tan sólo la existencia de los datos,no lo que se hace con ellos.*Es independiente del sistema operativo y del DBMS que se emplee.*Es independiente de las restricciones de almacenamiento y de tiempo de ejecución.
Componentes del Modelo E/R:
Entidad
Se trata de cualquier objeto u elemento (real o abstracto)acerca del cual se puede almacenar información en la base de datos. No es una prpiedad concreta sino un objeto que puede poseer múltiples propiedades.
Conjunto de entidades:
Las entidades que poseen las mismas Propiedades forman conjuntos de entidades.Todas las entidades de un conjunto tiene los mismos Atributos.Cada conjunto de entidades tiene una clave principal.Cada atributo tiene un dominio.Tipos de entidades:*
Fuertes o regulares: Son las entidades normales que tienen existencia por sí mismas sin depender de otras.*Débiles: Su existencia depende de otras.Por ejemplo la entidad tarea laboral sólo podrá tener existencia si existe la entidad trabajo.
Relaciones:
Representan asociaciones entre entidades.Es el elemento del modelo que permite relacionar en sí los datos del modelo.
Tipos de relaciones:
Relaciones Binarias:Son las relaciones típicas.Se trata de relaciones que asocian dos entidades.*Relaciones Ternarias:Relacionan tres entidades.Muchas veces se pueden simplificar en relaciones binarias,pero no siempre es posible.*Relaciones n-arias
RelacionanN entidades.Igual que en la anterior,ya se encuentra en desuso.*Relaciones Dobles
Se llaman así a dos relaciones distintas que sirven para relacionar a las mismas relaciones. Son las más difíciles de manejar ya que al manipular las entidades hay que elegir muy bien la relación a utilizar para relacionar los datos.*Relación Reflexiva:Es una relación que sirve para relacionar ejemplares de la misma entidad.
Cardinalidad:
Indica el número de relaciones en las que una entidad puede aparecer,expresa en numero máx*mo de entidades de un conjunto que se relaciona con una entidad de otro conjunto y viceversa.*Cardinalidad mínima:Indica el número mínimo de asociaciones en las que aparecerá cada ejemplar de la entidad.*Cardinalidad máxima.Indica el número máximo de relaciones en las que puede aparecer cada ejemplar de la entidad.Se indica la cardinalidad de la relación de la siguiente manera:*1:1(uno a uno):Una entidad del primer conjunto sólo puede relacionarse con una entidad del segundo conjunto y viceversa.*1:N(uno a muchos):Una entidad del primer conjunto puede relacionarse con varias del segundo,pero una entidad del segundo conjunto sólo puede relacionarse con una entidad del primero.*N:N(muchos a muchos):Una entidad del primer conjunto puede relacionarse con varias entidades del segundo y viceversa.
Roles
A veces en las líneas de la relación se indican roles.Los roles representan el papel que juega una entidad en una determinada relación.
Atributos:
Describen propiedades o carácterísticas de un conjunto de entidades y sus relaciones.El conjunto de valores permitidos para un determinado atributo es lo que se denominadominio.En este modelo se representan con un círculo,dentro del cual se coloca el nombre del atributo.
Tipos de Atributos:
Aparte de los atributos»normales»de los que ya hablamos en el ítem anterior,podemos encontrar otros dos tipos adicionales a este,que son:*Atributos simples o atómicos:Son atributos no divisibles(normales).*Compuesto:Es cuando un atributo está formado a su vez por subatributos,o sea, que se pueden dividir en sus componentes,pudiendo formar jerarquías.*Opcionales:Lo son si pueden tener valor nulo.
Identificador o Clave:
Se trata de uno o más campos cuyos valores son únicos en cada ejemplar de una entidad.Para que un atributo sea considerado un buen identificador tiene que cumplir con lo siguiente:Deben distinguir a cada ejemplar teniendo en cuenta las entidades que utiliza el modelo.No tiene que ser un identificador absoluto.Todos los ejemplares de una entidad deben tener el mismo identificador.Cuando un atributo es importante aun cuando no tenga una entidad concreta asociada,entonces se trata de una entidad y no de un atributo.
Identificador Alternativo:
Se trata de uno o más campos cuyos valores con únicos para cada ejemplar de una entidad,pero que no son identificadores ya que existen identificadores mejores en la entidad.
Modelo de Entidad-Relación Extendido
Relaciones(is a) o Relaciones de Herencia:
Se utilizan para unificar entidades agrupándolas en una entidad más general(generalización) o bien para dividir una entidad general en entidades más específicas(especificación).
Obligatoriedad:
En relaciones ISA (y también en otros tipos de relaciones),se puede indicar el hecho de que cada ejemplar obligatoriamente tiene que participar en una de entre varias ramas de una relación.
Entidades Débiles:
Ya se ha comentado antes que una entidad débil es aquella cuya existencia depende de otra.
Estructuras de las BBDD Relacionales
Estructura de las BBDD relacionales
Relación o Tabla
Según el modelo relacional el elemento fundamental es lo que se conoce comorelación,aunque más habitualmente se le llamatabla.Las relaciones constan de:Atributos:Referido a cada dato que se almacena en la relación.Tuplas:Referido a cada elemento de la relación.
Tuplas
Es cada una de las filas de la tabla.Se corresponde con la idea deregistro.Representa por tanto cada elemento individual de esa relación.Tiene que cumplirse:Cada tupla se debe corresponder con un elemento del mundo real.No puede haber dos tuplas iguales.
Dominio
Un dominio contiene todos los posibles valores que puede tomar un determinado atributo.Dos atributos distintos pueden tener el mismo dominio. Un dominio en realidad es un conjunto finito de valores del mismo tipo.A los dominios se les asigna un nombre y aai podemos referirnos a ese nombre en más de un atributo. La forma de indicar el contenido de un dominio se puede hacer utilizando dos posibles técnicas:*Intensión:Se define el dominio indicando la definición exacta de sus posibles valores.*Extensión:Se indican algunos valores y se sobreentiende el resto gracias a que se autodefinen con los anteriores.
Sinónimos
Los términos vistos anteriormente tienen distintos sinónimos según la nomenclatura utilizara.A ese respecto se utilizan tres nomenclaturas:*Grado:Indica el tamaño de una relación en base al número de columnas(atributos)de la misma.Lógicamente cuanto mayor es el grado de una relación, mayor es su complejidad al manejarla.*Cardinalidad:Número de tuplas de una relación,o número de filas de una tabla.
Definición formal de una relación:
Una relación está formada por estos elementos:*Nombre: Identifica la relación.*Cabecera de relación
Conjunto de todos los pares atributo-dominio de la relación.*Cuerpo de la relación:Representa el conjunto de m tuplas que forman la relación.*Esquema de la relación
Se forma con el nombre R y la cabecera.*Estado de la relación
Lo forman el esquema y el cuerpo.
Tipos de Tablas(o Relaciones)
Permanente:
Sólo pueden ser eliminados por los usuarios:*Base:Independientes,se crean indicando su estructura y sus ejemplares.*Vistas:Son tablas que sólo almacenan una definición de consulta,resultado de la cual se produce una tabla cuyos datos proceden de las bases o de otras vistas e instantáneas.
Instantáneas:Son vistas que sí que almacenan los datos que muestra,ademas de la consulta que dio lugar a esa vista.
Temporales:
Son tablas que se eliminan automáticamente por el sistema.
Claves
Clave candidata:
Conjunto de atributos que identifican unívocamente cada tupla de la relación.Es decir columnas cuyos valores no se repiten en ninguna otra tupla de esa tabla.
Clave primaria
Clave candidata que se escoge comoidentificador de las tuplas.
Clave alternativa:
Cualquier clave candidata que no sea primaria.
Clave externa,ajena o secundaria:
Son los datos de atributos de una tabla cuyos valores están relacionados con atributos de otra tabla.
Nulos:
En los lenguajes de programación se utiliza el valor nulo para reflejar que un identificador no tiene ningún contenido.El uso de operadores lógicos con el nulo da lugar a que:*Verdadero Y (AND) nulo da como resultado, nulo.*Falso Y (AND) nulo da como resultado, falso.*Verdadero O (OR) nulo da como resultado,verdadero.*Falso O nulo da como resultado nulo.*La negación de nulo,da como resultado nulo.
Restricciones:
Se trata de unas condiciones de obligado cumplimiento por los datos de la base de datos.Las hay de varios tipos,a saber:
Inherentes:
Son aquellas que no son determinadas por los usuarios,sino que son definidos por el hecho de que la base de datos sea relacional.Las más importantes son:No puede haber dos tuplas iguales.El orden de las tuplas no es significativo.El orden de los atributos no es sifnificativo.Cada atributo sólo puede tomar un valor en el dominio en el que está inscrito.
Semánticas:
El modelo relacional permite a los usuarios incorporar restricciones personales a los datos.Se comentan las diferentes reglas semánticas a continuación:*Clave primaria:Hace que los atributos marcados como clave primaria no puedan repetir valores.
Unicidad:
Impide que los valores de los atributos marcados de esa forma,puedan repetirse.
Obligatoriedad:
Prohíbe que el atributo marcado de esta forma no tenga ningún valor.
Integridad referencial
Sirve para indicar una clave externa. Eso causa problemas en las operaciones deborrado y modificaciónde registros;ya que si se ejecutan esas operaciones sobre la tabla principal quedarán filas en la tabla secundaria con la clave externa haciendo referencia a un valor que ya no existe. Esto último se puede controlar de estas formas:*Prohibiendo la operación.Modificación/Borrado restringidos.*Transmitiendo la operación en cascada es decir si se modifica o borra un cliente;también se modificaran o borrarán los alquileres relacionados con él.Modificación/Borrado en cascada.
Colocando nulos las referencias al cliente en la tabla de alquileres se colocan como nulos.Modificación/Borrado con puesta a nulo.*Usando el valor por defecto se colocan un valor por defecto en las claves externas relacionadas.Modificación y Borrado con puesta a un valor.
Regla de validación:
Condición que debe de cumplir un dato concreto para que sea actualizado.
Disparadores:
Nos permiten,además de indicar una condición,especificar la acción que queremos que se ejecute si la condición se cumple.