viernes, 29 de abril de 2016

MODELO DE DATOS

                                   MODELO DE  DATOS

Un modelo de datos es un lenguaje orientado a hablar de una Base de Datos. Típicamente un modelo de datos permite describir:
·         Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan.
·         Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar la realidad deseada.
·         Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.
Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí.
No hay que perder de vista que una Base de Datos siempre está orientada a resolver un problema determinado, por lo que los dos enfoques propuestos son necesarios en cualquier desarrollo de software.
Un modelo de datos es entonces una serie de conceptos que puede utilizarse para describir un conjunto de datos y las operaciones para manipularlos. Hay dos tipos de modelos de datos: los modelos conceptuales y los modelos lógicos. Los modelos conceptuales se utilizan para representar la realidad a un alto nivel de abstracción. Mediante los modelos conceptuales se puede construir una descripción de la realidad fácil de entender. En los modelos lógicos, las descripciones de los datos tienen una correspondencia sencilla con la estructura física de la base de datos. En el diseño de bases de datos se usan primero los modelos conceptuales para lograr una descripción de alto nivel de la realidad, y luego se transforma el esquema conceptual en un esquema lógico. El motivo de realizar estas dos etapas es la dificultad de abstraer la estructura de una base de datos que presente cierta complejidad. Un esquema es un conjunto de representaciones lingüísticas o gráficas que describen la estructura de los datos de interés. Los modelos conceptuales deben ser buenas herramientas para representar la realidad, por lo que deben poseer las siguientes cualidades:
 • Expresividad: deben tener suficientes conceptos para expresar perfectamente la realidad.
 • Simplicidad: deben ser simples para que los esquemas sean fáciles de entender.
 • Minimalidad: cada concepto debe tener un significado distinto.
 • Formalidad: todos los conceptos deben tener una interpretación única, precisa y bien definida. En general, un modelo no es capaz de expresar todas las propiedades de una realidad determinada, por lo que hay que añadir aserciones que complementen el esquema. Algunos modelos con frecuencia utilizados en las bases de datos son: Bases de datos jerárquicas Éstas son bases de datos que, como su nombre indica, almacenan sus datos en una estructura jerárquica.
 En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un BASES DE DATOS MIS 308 7 nodo padre de datos puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de datos y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. Base de datos de red Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar los datos en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales. Base de datos relacional Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos 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á compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen 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 para un usuario esporádico de la base de datos. Los datos pueden ser recuperados o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar los datos. BASES DE DATOS MIS 308 8 El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, 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. Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos. Durante los años '80 (1980-1989) la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestión. Bases de datos multidimensionales Son bases de datos ideados para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos multidimensional podría serlo también en una base de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar. Bases de datos orientadas a objetos Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:
 Encapsulación - Propiedad que permite ocultar los datos al resto de los objetos, impidiendo así accesos incorrectos o conflictos.
 Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.
 Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos. En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación BASES DE DATOS MIS 308 9 de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones. Se está trabajando en SQL3, que es el estándar de SQL92 ampliado, que soportará los nuevos conceptos orientados a objetos y mantendría compatibilidad con SQL92. Bases de datos documentales Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesauro es un sistema de índices optimizado para este tipo de bases de datos. Base de datos deductivas Un sistema de base de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. También las bases de datos deductivas son llamadas base de datos lógica, a raíz de que se basan en lógica matemática. Bases de datos distribuida La base de datos está almacenada en varias computadoras conectadas en red. Surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etcétera. Resumiendo: Un modelo de datos para las bases de datos es una colección de conceptos que se emplean para describir la estructura de una base de datos. Esa colección de conceptos incluyen: entidades, atributos y relaciones. Las bases de datos almacenan datos, permitiendo manipularlos fácilmente y mostrarlos de diversas formas. El proceso de construir una base de datos es llamado diseño de base de datos. La mayoría de los modelos de datos poseen un conjunto de operaciones básicas para especificar consultas y actualizaciones de la base de datos, BASES DE DATOS MIS 308 10 donde los modelos de datos pueden clasificarse en:
* Modelos de datos de alto nivel o conceptuales: disponen de conceptos cercanos a la forma en que los usuarios finales perciben una base de datos.
* Modelos de datos de bajo nivel o físicos: disponen de conceptos que describen detalles sobre el almacenamiento de los datos en la computadora.
* Modelos de datos de representación (o de implementación): disponen de conceptos que pueden entender los usuarios finales, pero que no están alejados de la forma en que se almacenan los datos en la computadora. Los modelos de datos sirven para clasificar los distintos tipos de SGBD. Los modelos más conocidos y utilizados son:
* Modelo entidad-relación
* Modelo jerárquico
* Modelo de red
* Modelo relacional
 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 número 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. BASES DE DATOS MIS 308 11 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: Símbolo Representa BASES DE DATOS MIS 308 12 Así nuestro ejemplo anterior quedaría representado de la siguiente forma: Existen más aspectos a considerar con respecto a los modelos entidad relación, estos serán considerados en el tema Modelo Entidad Relación. 2.2 Jerárquico Este modelo utiliza árboles para la representación lógica de los datos. Este árbol esta compuesto de unos elementos llamados nodos. El nivel más alto del árbol se denomina raíz. Cada nodo representa un registro con sus correspondientes campos. La representación gráfica de este modelo se realiza mediante la creación de un árbol invertido, los diferentes niveles quedan unidos mediante relaciones. En este modelo solo se pueden representar relaciones 1:M, por lo que presenta varios inconvenientes:
• No se admiten relaciones N:M
• Un segmento hijo no puede tener más de un padre. BASES DE DATOS MIS 308 13
• No se permiten más de una relación entre dos segmentos.
• Para acceder a cualquier segmento es necesario comenzar por el segmento raíz
• El árbol se debe de recorrer en el orden designado. 2.3 De red En este modelo las entidades se representan como nodos y sus relaciones son las líneas que los unen. En esta estructura cualquier componente puede relacionarse con cualquier otro. A diferencia del modelo jerárquico, en este modelo, un hijo puede tener varios padres. Los conceptos básicos en el modelo en red son:
• El tipo de registro, que representa un nodo.
• Elemento, que es un campo de datos.
• Agregado de datos, que define un conjunto de datos con nombre. Este modelo de datos permite representar relaciones N:M Aquí se 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: BASES DE DATOS MIS 308 14 2.4 Relacional Este modelo es el más utilizado actualmente ya que utiliza tablas bidimensionales para la representación lógica de los datos y sus relaciones. Algunas de sus principales características son:
 • Puede ser entendido y usado por cualquier usuario.
• Permite ampliar el esquema conceptual sin modificar las aplicaciones de gestión.
• Los usuarios no necesitan saber dónde se encuentran los datos físicamente. El elemento principal de este modelo es la relación que se representa mediante una tabla. 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 Existen más aspectos a considerar con respecto a los modelos entidad relación, estos serán considerados en el tema de Modelo Relacional.
          

    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.
1. 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 número 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:

           Símbolo                                                                             Representa





    Así nuestro ejemplo anterior quedaría representado de la siguiente forma:




Modelo Orientado a Objetos: 
Los objetos encapsulan atributos (forman el estado) y métodos (servicios que brinda) lo que le da una cierta funcionalidad. Los objetos coordinan sus actividades a través del llamado mutuo de métodos.
En los ’09 hubo un gran interés en combinar el modelo orientado a objetos con el paralelo/distribuido, teniendo en cuenta las características del primero que ayudan a la creación de grandes sistemas:
Encapsulación: dada por una clara separación entre interfaz e implementación. Los objetos pueden implementarse en diferentes lenguajes, solo se necesita una forma común de definir la interfaz. Esto ayuda para el mantenimiento, debbuging, y el desarrollo en forma colaborativa.
Herencia: los objetos relacionados pueden compartir parte del código. Mejora la productividad.
El modelo orientado a objetos tiene un gran número de objetos autónomos con distinta funcionalidad disponibles en un sistema distribuido. Los objetos corren en espacios de direccionamiento disjuntos. A partir de rutinas de comunicación explicitas ellos invocan y usan la funcionalidad de los otros objetos.
Se distinguen tres enfoques para combinar el modelo orientado a objetos con el paralelo/distribuido:
Paralelismo oculto dentro del objeto.
Procesos independientes de los objetos, que llaman a distintos métodos de distintos procesos. Se necesitan mecanismos de sincronización. Modelo Java Threads.
Cada objeto está asociado con uno o más procesos que ejecutan los accesos al objeto. A este modelo llamaremos Modelo Orientado a Objetos.
Se ven dos clases de Modelo Orientado a Objetos:
Objetos Distribuidos.
Objetos Activos.
MODELO LÓGICOS BASADO EN        
               REGISTROS
Se utilizan para describir los datos en los niveles conceptual y externo. A diferencia de los modelos de datos basados en objetos, estos modelos sirven para especificar la estructura lógica general de la BD; sin embargo no permiten especificar en forma clara los limitantes de los datos.

De estos modelos los más ampliamente aceptados son: El modelo jerárquico, el modelo de red y el modelo relacional.

En otros conceptos son usados  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.

MODELO RELACIONAL

El modelo relacional de datos supuso un gran avance con respecto a los modelos anteriores. Este modelo está basado en el concepto de relación. Una relación es un conjunto de n-tuplas. Una tupla, al contrario que un segmento, puede representar tanto entidades como interrelaciones N:M. Los lenguajes matemáticos sobre los que se asienta el modelo relacional, el álgebra y el cálculo relacionales, aportan un sistema de acceso y consultas orientado al conjunto. La repercusión del modelo en los DBMSs comerciales actuales ha sido enorme, estando hoy en día la gran mayoría de los gestores de bases de datos basados en mayor o menor medida en el modelo relacional.

El concepto de modelo de datos en sí, surgió al mismo tiempo que el modelo relacional de datos fuera propuesto por su creador Ted Codd, después de que los modelos jerárquico y de red estuvieran en uso. Posteriormente, estos dos modelos fueron definidos independientemente de los lenguajes y sistemas usados para implementarlos. Con anterioridad no eran más que colecciones de estructuras de datos y lenguajes sin una teoría subyacente definida.

En cuanto al modelo relacional, no se puede decir que sea en sí un modelo semántico de datos. Su enorme éxito no se debe a que permite de forma implícita operaciones conceptualmente abstractas sobre los datos, sino a los altos niveles de fiabilidad e integridad que aporta en el manejo de grandes cantidades de datos.

Desde su comienzo en 1970 y durante mucho tiempo después, los sistemas gestores de bases de datos relacionales (RDBMS : Relational Database Management System) estuvieron restringidos al ámbito de los mainframes y mini-computadores. Con la irrupción masiva en el mercado de los micro-computadores, aparecieron algunas implementaciones de RDBMSs que intentaban emular las propiedades de los grandes sistemas, aunque no contaban con la mayor parte de las características necesarias para ser denominados "relacionales", especialmente en lo que se refiere al cumplimiento de las reglas de integridad relacional.

Hoy en día contamos con RDBMSs para micro-computadores que sí pueden ser considerados plenamente relacionales y que, si bien no llegan alcanzar las prestaciones de los grandes sistemas en cuanto a velocidad de ejecución, seguridad, integridad de datos, recuperación y estabilidad, no tienen nada que envidiar a éstos cualitativamente, y sus deficiencias se deben sobre todo al tipo de máquina en el que funcionan y a los sistemas operativos que estas máquinas utilizan.

Lo que realmente marca la diferencia entre los sistemas relacionales y los sistemas anteriores es el hecho de que su creador, Ted Codd, basó expresamente su funcionamiento sobre un modelo matemático muy específico: el álgebra relacional y el cálculo relacional, así como la progresiva adopción, por parte de su creador y algunos colaboradores, de un número de Reglas de Integridad Relacional y de Formas Normales.

En este modelo los datos y las relaciones entre los datos se representan por una serie de tablas, cada una de las cuales tiene varias columnas con nombres únicos. Este modelo conecta registros mediante valores de campos. Ej.: BD que incluye a los Profesores y sus Cursos.






MODELO JERARQUICO
Un DBMS jerárquico utiliza jerarquías o árboles para la representación lógica de los datos. Los archivos son organizados en jerarquías, y normalmente cada uno de ellos se corresponde con una de las entidades de la base de datos. Los árboles jerárquicos se representan de forma invertida, con la raíz hacia arriba y las hojas hacia abajo. 



Un DBMS jerárquico recorre los distintos nodos de un árbol en un preorden que requiere tres pasos:

1. Visitar la raíz.

2. Visitar el hijo más a la izquierda, si lo hubiera, que no haya sido visitado.

3. Si todos los descendientes del segmento considerado se han visitado, volver a su padre e ir al punto 1. 


Cada nodo del árbol representa un tipo de registro conceptual, es decir, una entidad. A su vez, cada registro o segmento está constituido por un número de campos que los describen - las propiedades o atributos de las entidades. Las relaciones entre entidades están representadas por las ramas (internamente apuntadores). En la figura cada departamento es una entidad que mantiene una relación de uno a muchos con los profesores, que a su vez mantienen una relación de uno a muchos con los cursos que imparten. 


A modo de resumen, enumeramos las siguientes características de las bases de datos jerárquicas:

1. Los segmentos de un archivo jerárquico están dispuestos en forma de árbol.

2. Los segmentos están enlazados mediante relaciones uno a muchos.

3. Cada nodo consta de uno o más campos.

4. Cada ocurrencia de un registro padre puede tener distinto número de ocurrencias de registros hijos.

5. Cuando se elimina un registro padre se deben eliminar todos los registros hijos (integridad de los datos).

6. Todo registro hijo debe tener un único registro padre excepto la raíz. 

  MODELO DE RED
Éste es un modelo ligeramente   distinto del jerárquico; su diferencia funda- mental es la modificación del concepto  de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida  en  el modelo jerárquico).

Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa  administrar  la  información  en  una  base  de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.


    
      MODELOS FÍSICOS DE DATOS

Se usa para describir datos en un nivel más bajo.
Los más conocidos son:
modelo de unificación
modelo de memoria por marcos.
Un esquema de bases de datos se expresa mediante un conjunto de definiciones que se expresa en un lenguaje de definición de datos (LDD). Las instrucciones del LDD se compilan dando lugar a un conjunto de tablas que se almacenan en un archivo especial, el diccionario de datos contiene meta datos que son datos acerca de los datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios acceder o manipular datos. Hay dos tipos: LMD procedí mentales que requieren que se especifiquen los datos requeridos y como se buscarán, y los LMD no procedí mentales que solo requiere que se especifique que datos se requieren.
El gestor de transacciones es el responsable de asegurar que la base de datos permanezca en un estado consistente a pesar de los fallos del sistema. El gestor de transacciones también se asegura que las transacciones ocurran sin conflictos.
Un gestor de almacenamiento es un módulo de programa que proporciona la interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicación y las consultas enviadas al sistema. El gestor de almacenamiento es responsable de la interacción con los datos almacenados en el disco.

                                RESUMEN
                           MODELO DE  DATOS
Un modelo de datos es un lenguaje orientado a hablar de una Base de Datos. Típicamente un modelo de datos permite describir:
·         Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan.
·         Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar la realidad deseada.
·         Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.
Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí.
No hay que perder de vista que una Base de Datos siempre está orientada a resolver un problema determinado, por lo que los dos enfoques propuestos son necesarios en cualquier desarrollo de software.
Un modelo de datos es entonces una serie de conceptos que puede utilizarse para describir un conjunto de datos y las operaciones para manipularlos. Hay dos tipos de modelos de datos: los modelos conceptuales y los modelos lógicos. Los modelos conceptuales se utilizan para representar la realidad a un alto nivel de abstracción. Mediante los modelos conceptuales se puede construir una descripción de la realidad fácil de entender.
Herramientas para representar la realidad, por lo que deben poseer las siguientes cualidades:
 • Expresividad: deben tener suficientes conceptos para expresar perfectamente la realidad.
 • Simplicidad: deben ser simples para que los esquemas sean fáciles de entender.
 • Minimalidad: cada concepto debe tener un significado distinto.
 • Formalidad: todos los conceptos deben tener una interpretación única, precisa y bien definida.
   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.
1. 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 número 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.
 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:
                               Símbolo                                    Representa


    Así nuestro ejemplo anterior quedaría representado de la siguiente forma:



Modelo Orientado a Objetos: 
Los objetos encapsulan atributos (forman el estado) y métodos (servicios que brinda) lo que le da una cierta funcionalidad. Los objetos coordinan sus actividades a través del llamado mutuo de métodos.
En los ’09 hubo un gran interés en combinar el modelo orientado a objetos con el paralelo/distribuido, teniendo en cuenta las características del primero que ayudan a la creación de grandes sistemas:
Encapsulación: dada por una clara separación entre interfaz e implementación. Los objetos pueden implementarse en diferentes lenguajes, solo se necesita una forma común de definir la interfaz. Esto ayuda para el mantenimiento, debbuging, y el desarrollo en forma colaborativa.
Herencia: los objetos relacionados pueden compartir parte del código. Mejora la productividad.
El modelo orientado a objetos tiene un gran número de objetos autónomos con distinta funcionalidad disponibles en un sistema distribuido.

      MODELO LÓGICOS BASADO EN       
                   REGISTROS
Se utilizan para describir los datos en los niveles conceptual y externo. A diferencia de los modelos de datos basados en objetos, estos modelos sirven para especificar la estructura lógica general de la BD; sin embargo no permiten especificar en forma clara los limitantes de los datos.

De estos modelos los más ampliamente aceptados son: El modelo jerárquico, el modelo de red y el modelo relacional.

En otros conceptos son usados  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.

MODELO RELACIONAL

El modelo relacional de datos supuso un gran avance con respecto a los modelos anteriores. Este modelo está basado en el concepto de relación. Una relación es un conjunto de n-tuplas. Una tupla, al contrario que un segmento, puede representar tanto entidades como interrelaciones N:M. Los lenguajes matemáticos sobre los que se asienta el modelo relacional, el álgebra y el cálculo relacionales, aportan un sistema de acceso y consultas orientado al conjunto. La repercusión del modelo en los DBMSs comerciales actuales ha sido enorme, estando hoy en día la gran mayoría de los gestores de bases de datos basados en mayor o menor medida en el modelo relacional. 
En este modelo los datos y las relaciones entre los datos se representan por una serie de tablas, cada una de las cuales tiene varias columnas con nombres únicos. Este modelo conecta registros mediante valores de campos. Ej.: BD que incluye a los Profesores y sus Cursos.






MODELO JERARQUICO
Un DBMS jerárquico utiliza jerarquías o árboles para la representación lógica de los datos. Los archivos son organizados en jerarquías, y normalmente cada uno de ellos se corresponde con una de las entidades de la base de datos. Los árboles jerárquicos se representan de forma invertida, con la raíz hacia arriba y las hojas hacia abajo. 



Un DBMS jerárquico recorre los distintos nodos de un árbol en un preorden que requiere tres pasos:

1. Visitar la raíz.

2. Visitar el hijo más a la izquierda, si lo hubiera, que no haya sido visitado.

3. Si todos los descendientes del segmento considerado se han visitado, volver a su padre e ir al punto 1. 
  MODELO DE RED
Éste es un modelo ligeramente   distinto del jerárquico; su diferencia funda- mental es la modificación del concepto  de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida  en  el modelo jerárquico).

Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa  administrar  la  información  en  una  base  de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.




                            

MODELOS FÍSICOS DE DATOS

Se usa para describir datos en un nivel más bajo.
Los más conocidos son:
Modelo de unificación
Modelo de memoria por marcos.
Un esquema de bases de datos se expresa mediante un conjunto de definiciones que se expresa en un lenguaje de definición de datos (LDD). Las instrucciones del LDD se compilan dando lugar a un conjunto de tablas que se almacenan en un archivo especial, el diccionario de datos contiene meta datos que son datos acerca de los datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios acceder o manipular datos. Hay dos tipos: LMD procedí mentales que requieren que se especifiquen los datos requeridos y como se buscarán, y los LMD no procedí mentales que solo requiere que se especifique que datos se requieren.
El gestor de transacciones es el responsable de asegurar que la base de datos permanezca en un estado consistente a pesar de los fallos del sistema. El gestor de transacciones también se asegura que las transacciones ocurran sin conflictos.

SUMMARY
                                                   DATA MODEL
A data model is oriented talk of a database language. Typically a data model allows to describe:
• The data structures of the base: The type of data at the base and how they relate.
• Integrity constraints: A set of conditions to be met by the desired data to reflect reality.
• handling operations data: typically, added operations, deletion, modification and recovery of the data base.
Another approach is to think that a data model for describing the elements of reality involved in a given problem and how these elements relate to each other.
We must not forget that a database is always oriented to solve a particular problem, so the two proposed approaches are necessary in any software development.
A data model is then a series of concepts that can be used to describe a set of data and operations to manipulate them. There are two types of data models: conceptual models and logical models. Conceptual models are used to represent reality to a high level of abstraction. Through conceptual models can be built a description of reality easy to understand.
Tools to represent reality, so they must possess the following qualities:
 • Expressiveness: must have sufficient concepts to perfectly express reality.
 • Simplicity: should be simple so that the schemes are easy to understand.
 • Minimality: each item must have a different meaning.
 • Formality: all items must have a unique interpretation, accurate and well defined.
                             LOGICAL MODELS BASED OBJECTS
Are used to describe data at the conceptual level and vision, that is, with this model represent the data in such a way as we grasp in the real world, have a capacity of fairly flexible structuring and allow you to specify constraints explicitly data. There are different models of this type, but the most used for its simplicity and efficiency is the Entity-Relationship model.
1. Entity-Relationship Model:
Called by its acronym: E-R; This model represents reality through entities, which are objects that exist and that are distinguished from others by its features, for example: a student is distinguished from another by its particular characteristics such as the name or control number assigned upon entering an educational institution, likewise, an employee, a subject, etc. Entities can be of two types:
Tangibles: All those physical objects that we can see, touch or feel.
Intangibles: All those events or conceptual objects that can not see, even knowing that there are, for example, the subject entity, we know exists, however, we can not view or touch.
 But to better understand this, let's look at an example:
Consider a company that requires control and sales vendors they perform; This problem determine that the objects or entities are major to study the employee (seller) and the article (which is the product for sale), and characteristics that identify them are:
                 
                    Employee: Article:
                    name Description
                    since Cost
                  Key salary
                  R.F.C.
The relationship between the two entities can be set as the sale.
Well, now we need to describe as an E-R model is represented graphically, representation is very simple, symbols are used, which are:
                               symbol represents
    Thus our example above would be represented as follows:

Object Oriented Model:
Objects encapsulate attributes (form the state) and methods (services provided) which gives it a certain functionality. Objects coordinate their activities through mutual called methods.
In '09 there was a great interest in combining object-oriented with parallel / distributed model, taking into account the characteristics of the first to help create large systems:
Encapsulation given by a clear separation between interface and implementation. Objects can be implemented in different languages, only a common way to define the interface is required. This helps to maintain, debbuging, and development in a collaborative way.
Inheritance related objects can share part of the code. Improves productivity.
The object-oriented model has a large number of autonomous objects with different functionality available in a distributed system.

                    MODEL-BASED LOGICA  RECORDS
They are used to describe data in conceptual and external levels. Unlike models of object-based data, these models are used to specify the overall logical structure of the database; however not clearly specify allow the limiting of the data.

Of these the most widely accepted models are: The hierarchical model, network model and relational model.

In other concepts they are used to describe data in conceptual and physical levels. These models use records and instances to represent reality as well as the relationships between these records (links) or pointers. Unlike the models based on data objects, they are used to specify the overall logical structure of the database and provide a description of the implementation highest level.
Relational Model
The relational data model was a major advance over previous models. This model is based on the concept of relationship. A relationship is a set of n-tuples. A tuple, unlike a segment, you can represent both entities and interrelationships N: M. The mathematical languages ​​on the relational model, relational algebra and calculus is based, provide an access system and set-oriented queries. The impact of the model in current commercial DBMSs has been enormous, the vast majority of base management based on greater or lesser extent in the relational data model being today.
In this model the data and relationships between data are represented by a series of tables, each of which has several columns with unique names. This model connects records using field values. Ex .: BD which includes teachers and their courses.
HIERARCHICAL MODEL
A hierarchical DBMS uses hierarchies or trees to the logical representation of the data. Files are organized into hierarchies, and normally each corresponds to one of the entities in the database. The hierarchical trees are represented inverted, with the root up and leaves down.

A hierarchical DBMS through the different nodes of a tree in a preorder that requires three steps:

1. Visit the root.
2. Visit the leftmost child, if any, that has not been visited.
3. If all descendants of the segment considered are visited, return to his father and go to step 1.
  NETWORK MODEL
This is a slightly different hierarchical model; Unlike its founding mind is the modification of the concept of node: Allow a single node has several parents (not permitted option in the hierarchical model).

It was a great improvement over the hierarchical model because it offered an efficient solution to the problem of data redundancy; but even so, the difficulty that means managing information in a database network has meant to be a model used mostly by programmers rather than end users.
               
DATA PHYSICAL MODELS
It is used to describe data at a lower level.
The best known are:
Model unification
Memory model frameworks.
A database schema is expressed by a set of definitions that is expressed in a data definition language (DDL). LDD instructions are compiled resulting in a set of tables that are stored in a special file, the data dictionary contains meta data is data about data.
A data manipulation language (DML) is a language that allows users to access or manipulate data. There are two types: LMD proceeded mental that require data required as specified and seek, and proceeded mental LMD not only requires specifying that data are required.
The transaction manager is responsible for ensuring that the database remains in a consistent state despite system failures. The transaction manager also ensures that transactions occur without conflict.

RECOMENDACIONES
Ø Principalmente no percatamos nos percatamos de  la necesidad de conocer cada día mas el entorno de las bases de datos. Aprender de manera didáctica y autodidactica con mayor dedicación.
Ø Es necesario saber conocer bien que la implementación del código debe estar bien estructurado para evitar algunas redundancias innecesarias. Y así poder realizar un buen modelo de datos.

CONCLUSIONES
Ø A través de la información obtenida he conocido las ventajas de las bases, nos da una excelente herramienta en la administración, seguridad y fiabilidad de los datos.

APRECIACIÓN DEL EQUIPO
El modelo de datos ayuda a crear un esquema para los datos que desea almacenar y cuenta con enormes ventajas cuando necesita consumir información de una gran variedad de fuentes diferentes, pero en última instancia brindará algún tipo de información básica de la misma información. Y ayuda a crear un sistema mas flexible y adecuado para el manejo de datos.
GLOSARIO DE TÉRMINOS
ESTRUCTURA: es la disposición y orden de las partes dentro de un todo. También puede entenderse como un sistema de conceptos coherentes enlazados, cuyo objetivo es precisar la esencia del objeto de estudio.
PARADIGMA: Ejemplo o modelo de algo.
"Suecia se suele presentar como paradigma de sistema democrático; esta chica es el paradigma de la belleza; el verbo ‘amar’ se suele poner como paradigma de los verbos de la primera conjugación"

FLEXIBLE: Que puede ser doblado fácilmente sin que se rompa.
"los materiales que recuperan la forma original al cesar la fuerza deformadora se llaman cuerpos elásticos o flexibles; la colección de obras completas están impresas en papel biblia y encuadernadas en piel flexible"


SEGMENTO: Parte que junto con otras se encuentra formando un todo.
"el texto de la telenovela se encuentra fragmentado en segmentos cuyo final queda en suspenso"

DESCENDIENTE: es un término más usado cotidianamente y, por ello, más conocido, pero debemos tener en cuenta que su significado proviene de descender.
MANIPULACIÓN:
Acción de manipular.
"manipulación genética; la manipulación de los alimentos debe llevarse a cabo en condiciones de máxima higiene; la norma periodística del “no mentirás” contiene la condena de toda forma de propaganda ilegítima o de manipulación de la noticia"

ESQUEMA: representación mental o simbólica de una cosa material o inmaterial o de un proceso en la que aparecen relacionadas de forma lógica sus líneas o rasgos esenciales.

LINKOGRAFÍA
https://basesdedatos.wordpress.com/modelos-logicos-basados-en-objetos/
http://juanjose84.tripod.com/BasadoenREgistros.html



TAMBIÉN   SE SUGIERE VER EL SIGUIENTE VÍDEO SOBRE MODELO DE DATOS  




PARA MAYOR INFORMACIÓN VISITAR LA SIGUIENTE DIRECCIÓN DE LA PAGINA EN SLIDESHARE  


http://es.slideshare.net/RAFAELHONORESVERA/modelo-de-datos-61490422

No hay comentarios:

Publicar un comentario