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.
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.
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.
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.
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.
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.
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