PASO DEL ESQUEMA ER AL MODELO RELACIONAL

sábado, 14 de marzo de 2015

 transformaciones de entidades fuertes

  En principio las entidades fuertes del modelo Entidad Relación son transformados al modelo relacional siguiendo estas instrucciones: 

  Entidades. Las entidades pasan a ser tablas
   
  Atributos. Los atributos pasan a ser columnas

   Identificadores principales. Pasan a ser claves primarias

   Identificadores candidatos. Pasan a ser claves candidatas.

  Esto hace que la transformación sea de esta forma:















transformación de relaciones 

 La idea inicial es transformar a cada relación en una tabla en el modelo relacional. Pero hay que distinguir según el tipo de relación.

relaciones varios a varios

 En las relaciones varios a varios, la relación se transforma en una tabla cuyos atributos son: los atributos de la relación y las claves de las entidades relacionadas (que pasarán a ser claves externas). La clave de la tabla la forman todas las claves externas: 



















   relaciones de orden n 

  Las relaciones ternarias, cuaternarias y n-arias que unen más de dos relaciones se transforman en una tabla que contiene los atributos de la relación más los identificadores de las entidades relacionadas. La clave la forman todas las claves externas:






















   relaciones uno a varios y uno a uno 

  Las relaciones binarios de tipo uno a varios no requieren ser transformadas en una tabla en el modelo relacional. En su lugar la tabla del lado varios (tabla relacionada) incluye como clave externa1 el identificador de la entidad del lado uno (tabla principal):





















  relaciones recursivas 

  Las relaciones recursivas se tratan de la misma forma que las otras, sólo que un mismo atributo puede figurar dos veces en una tabla como resultado de la transformación:








Read more ...

MODELO RELACIONAL

sábado, 14 de marzo de 2015

 Edgar Frank Codd a finales definió las bases del modelo relacional a finales de los 60. Trabajaba para IBM empresa que tardó un poco en implementar sus bases. Pocos años después el modelo se empezó a implementar cada vez más, hasta ser el modelo de bases de datos más popular.

 En las bases de Codd se definían los objetivos de este modelo:

>€Independencia física. La forma de almacenar los datos, no debe influir en su manipulación lógica
>€Independencia lógica. Las aplicaciones que utilizan la base de datos no deben ser modificadas por que se modifiquen elementos de la base de datos. 
>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) € 

En 1978, IBM desarrolla el lenguaje QBE. Que aproximaba la idea relacional a sus ficheros VSAM. En 1979 Oracle se convierte en el primer producto comercial DBMS relacional (RDBMS). En 1980 aparece Ingres que utilizaba el lenguaje Que que implementaba el cálculo relacional. 





















tablas

 Las bases de datos relacionales se basan en el uso de tablas (también se las llama relaciones). Las tablas se representan gráficamente como una estructura rectangular formada por filas y columnas. Cada columna almacena información sobre una propiedad determinada de la tabla (se le llama también atributo), nombre, dni, apellidos, edad,.... Cada fila posee una ocurrencia o ejemplar de la instancia o relación representada por la tabla (a las filas se las llama también tuplas). 





terminología relacional


€ >Tupla. Cada fila de la tabla (cada ejemplar que la tabla representa)
>€ Atributo. Cada columna de la tabla 
€ >Grado.Número de atributos de la tabla €
> Cardinalidad. Número de tuplas de una tabla € 
>Dominio. Conjunto válido de valores representables por un atributo.

 tipos de tablas 
€ Persistentes. Sólo pueden ser borradas 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. Si los datos de las tablas base cambian, los de la vista que utiliza esos datos también cambia.
 Instantáneas. Son vistas (creadas de la misma forma) que sí que almacenan los datos que muestra, además de la consulta que dio lugar a esa vista. Sólo modifican su resultado (actualizan los datos) siendo refrescadas por el sistema cada cierto tiempo.
 € Temporales. Son tablas que se eliminan automáticamente por el sistema. Pueden ser de cualquiera de los tipos anterior

dominios

 Los dominios suponen una gran mejora en este modelo ya que permiten especificar los posibles valores válidos para un atributo. Cada dominio incorpora su nombre y una definición del mismo. Ejemplos de dominio:

 € Dirección: 50 caracteres € 
Nacionalidad: Español, Francés, Italiano,...

 Los dominios pueden ser también compuestos a partir de otros (año, mes y día = fecha)

 claves 
clave candidata Conjunto de atributos de una tabla que identifican unívocamente cada tupla de la tabla. 
clave primaria Clave candidata que se escoge como identificador de las tuplas. 
clave alternativa Cualquier clave candidata que no sea primaria
 clave externa o secundaria Atributo de una tabla relacionado con una clave de otra tabla.

 nulos 
Los valores nulos indican contenidos de atributos que no tienen ningún valor. En claves secundarias indican que el registro actual no está relacionado con ninguno. En otros atributos indica que no se puede rellenar ese valor por la razón que sea. Las bases de datos relacionales admiten utilizar ese valor en todo tipo de operaciones. Eso significa definir un tercer valor en la lógica. Además de el valor verdadero o falso, existe el valor para los nulos. La razón de este tercer valor ambiguo es que comparar dos atributos con valor nulo, no puede resultar ni verdadero, ni falso. De hecho necesitamos definir la lógica con este valor: € 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.

inherentes 
Son aquellas que no son determinadas por los usuarios, sino que son definidas por el hecho de que la base de datos sea relacional. Por ejemplo: 
  No puede haber dos tuplas iguales

 € El orden de las tuplas no importa
 € El orden de los atributos no importa 
€ Cada atributo sólo puede tomar un valor en el dominio en el que está inscrito
semánticas
 El modelo relacional permite a los usuario incorporar restricciones personales a los datos. Las principales son: 

€ 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. Prohíbe colocar valores en una clave externa que no estén reflejados en la tabla donde ese atributo es clave primaria. 
€ 
Regla de validación. Condición que debe de cumplir un dato concreto para que sea actualizado. 









Read more ...

UNA BASE DE DATOS RELACIONAL

sábado, 14 de marzo de 2015


U
na base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos  ya planificadas y permiten establecer interconexiones (relaciones)  entre los datos  ( que están guardados en tablas) , y a través de dichas conexiones relacionar los datos de ambas tablas , de ahí proviene su nombre : “Modelo Relacional”  


Características
Una base de datos relacional se compone de varias tablas o relaciones. 
No pueden existir dos tablas con el mismo nombre. 
Cada tabla es a su vez un conjunto de registros (filas y columnas). 
La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o foráneas)
Las claves primarias son la clave principal de un registro dentro de una tabla y éstas deben cumplir con la integridad de datos. 
Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de éstas se hacen las relaciones





Relaciones base y derivadas

En una base de datos relacional, todos los datos se almacenan y se accede a ellos por medio de relaciones
Las relaciones que almacenan datos son llamadas "relaciones base" y su implementación es llamada "tabla".
Otras relaciones no almacenan datos, pero son calculadas al aplicar operaciones relacionales.
Estas relaciones son llamadas "relaciones derivadas" y su implementación es llamada "vista" o "consulta".
Las relaciones derivadas son convenientes ya que expresan información de varias relaciones actuando como si fuera una sola.



Que Restricciones

Una restricción es una condición que obliga el cumplimiento de ciertas condiciones en la base de datos.
Características Restricciones
Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la base de datos sea relacional.
Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10






 Dominios
Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "todos los valores de este atributo deben de ser elementos del conjunto especificado"

Clave única
Cada tabla puede tener uno o más campos cuyos valores identifican de forma única cada registro de dicha tabla, es decir, no pueden existir dos o más registros diferentes cuyos valores en dichos campos sean idénticos


Procedimientos almacenados
Es código ejecutable que se asocia y se almacena con la base de datos. 
Los procedimientos almacenados usualmente recogen y personalizan operaciones comunes, como insertar un registro dentro de una tabla, recopilar información estadística, o encapsular cálculos complejos. Son frecuentemente usados por un API por seguridad o simplicidad.
Los procedimientos almacenados
no son parte del modelo relacional, pero todas las implementaciones comerciales los incluyen


Estructura
La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o instancia).
El esquema es la definición de la estructura de la base de datos y principalmente almacena los siguientes datos:
El nombre de cada tabla 
El nombre de cada columna 
El tipo de dato de cada columna 
La tabla a la que pertenece cada columna


Manipulación de la información
Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el álgebra relacionaly el cálculo relacional.
El álgebra relacional permite describir la forma de realizar una consulta, en cambio, el cálculo relacional sólo indica lo que se desea devolver.
El lenguaje más común para construir las consultas a bases de datos relacionales es SQL (StructuredQueryLanguage), un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales


Manejadores de base de datos relacionales
Existe software exclusivamente dedicado a tratar con bases de datos relacionales. 
Este software se conoce como SGBD (Sistemas gestión de Base de Datos Relacional) o RDBMS (del inglés RelationalDatabase Management System).
Entre los gestores o manejadores actuales más populares encontramos: MySQL, PostgreSQL, Oracle, DB2,INFORMIX, Interbase, FireBird, Sybase y Microsoft SQL Server



 Ventajas y desventajas
Ventajas
Provee herramientas que garantizan evitar la duplicidad de registros. 
Garantiza la integridad referencial, así, al eliminar un registro elimina todos los registros relacionados dependientes. 
Favorece la normalización por ser más comprensible y aplicable.
Desventajas

Presentan deficiencias con datos gráficos, multimedia,CAD y sistemas de información geográfica
No se manipulan de forma manejable los bloques de texto como tipo de dato


 Diseño de las bases de datos relacionales
El primer paso para crear una base de datos, es planificar el tipo de información que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la información disponible y la información que necesitamos.
La planificación de la estructura de la base de datos, en particular de las tablas, es vital para la gestión efectiva de la misma. El diseño de la estructura de una tabla consiste en una descripción de cada uno de los campos que componen el registro y los valores o datos que contendrá cada uno de esos campos.
Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definición de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc







Read more ...