martes, 24 de marzo de 2015

MODELOS DE UNA BASE DE DATOS



¿Qué es modelo de datos?
Es una colección de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semántica asociada a los datos y restricciones de consistencia.
Los modelos de datos se dividen en tres grupos:
  • Modelos lógicos basados en objetos.
  • Modelos lógicos basados en registros.
  • Modelos físicos de datos.
Modelos lógicos basados en objetos.

Se usan para describir datos en los niveles conceptual y de visión, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuración bastante flexible y permiten especificar restricciones de datos explícitamente. Existen diferentes modelos de este tipo, pero el más utilizado por su sencillez y eficiencia es el modelo Entidad-Relación.

* Modelo Entidad-Relación. 

Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de entidades, que son objetos  que existen y que se distinguen de otros por sus características, por ejemplo: un alumno se distingue de otro por sus características particulares como lo es el nombre, o el numero de control asignado al entrar a una institución educativa, así mismo, un empleado, una materia, etc. Las entidades pueden ser de dos tipos:


  • Tangibles :
    Son todos aquellos objetos físicos que podemos ver,
    tocar o sentir.

  • Intangibles:
    Todos aquellos eventos u objetos conceptuales que no
    podemos ver, aun sabiendo que existen, por ejemplo:
    la entidad materia, sabemos que existe, sin embargo, no la
    podemos visualizar o tocar.
Las características de las entidades en base de datos se llaman atributos,por ejemplo el nombre, dirección teléfono, grado, grupo, etc. son atributos de la entidad alumno; Clave, número de seguro social, departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o relacionar con más entidades a través de relaciones.
Pero para entender mejor esto, veamos un ejemplo:
Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artículo (que es el producto en venta), y las características que los identifican son:
Empleado:       Artículo:
Nombre            Descripción
Puesto              Costo
Salario              Clave
R.F.C.

La relación entre ambas entidades la podemos establecer como Venta.
Bueno, ahora nos falta describir como se representa un modelo E-R gráficamente, la representación es muy sencilla, se emplean símbolos, los cuales son:
  • Modelos lógicos basados en registros.
Se utilizan para describir datos en los niveles  conceptual y físico.
Estos modelos utilizan registros  e instancias para representar la realidad, así como las relaciones que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura lógica global de la base de datos y para proporcionar una descripción a nivel más alto de la implementación.

Los tres modelos de datos más ampliamente aceptados son:
  • Modelo Relacional
  • Modelo de Red
  • Modelo Jerárquico
* Modelo relacional.

En este modelo se representan los datos y las relaciones entre estos, a través de una colección de tablas, en las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendrá la base de datos y las columnas corresponden a las características(atributos) de cada registro localizado en la tupla;

Considerando nuestro ejemplo del empleado y el artículo:
Tabla del empleado
Ahora te preguntaras ¿cómo se representan las relaciones entre las entidades en este modelo?
Existen dos formas de representarla; pero para ello necesitamos definir que es una llave primaria: Es un atributo el cual definimos como atributo principal, es una forma única de identificar a una entidad. Por ejemplo, el RFC de un empleado se distingue de otro por que los RFC no pueden ser iguales.
Ahora si, las formas de representar las relaciones en este modelo son:
1. Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la relación.
Tomando en cuenta que la llave primaria del empleado es su RFC, y la llave primaria del articulo es la Clave.
2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla.
* Modelo de red.
Este modelo representa los datos mediante colecciones de registros
y sus relaciones se representan por medio de ligas o enlaces,
los cuales pueden verse como punteros.  Los registros se organizan
en un conjunto de gráficas arbitrarias.

Ejemplo:


Para profundizar en este tema visitemos: Modelo de datos de red.
* Modelo jerárquico.


Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por  medio de registros  y sus ligas. La diferencia radica en que están organizados por conjuntos de arboles en lugar de gráficas arbitrarias.

Para profundizar más en el tema visita: Modelo de datos jerárquico.
Bien, ya hemos visto esto, ahora un poco de Modelo relacional :P

Modelo relacional

El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicado y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Su idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados «tuplas». Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, esto es, pensando en cada relación como si fuese una tabla que está compuestas por registros (cada fila de la tabla sería un registro o tupla), y columnas (también llamadas campos).

Descripción

En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que estos se almacenen no tiene mayor relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de «consultas» que ofrecen una amplia flexibilidad y poder para administrar la información.
Este modelo considera la base de datos como una colección de relaciones. De manera simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila también se puede denominar tupla o registro y a cada columna también se le puede llamar campo o atributo.
Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el Álgebra relacional y 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 esSQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.




No hay comentarios:

Publicar un comentario