Modelo de Datos Jerarquico
Los vínculos virtuales padre - hijo
La relación PADRE/HIJO en la que se apoyan las bases de datos jerárquicas, determina que el camino de acceso a los datos sea ÚNICO; este camino, denominado CAMINO SECUENCIA JERÁRQUICA, comienza siempre en una ocurrencia del segmento raíz y recorre la base de datos de arriba a abajo, de izquierda a derecha y por último de adelante a atrás.
El esquema es una estructura arborescente compuesta de nodos, que representan las entidades, enlazados por arcos, que representan las asociaciones o interrelaciones entre dichas entidades.
La estructura del modelo de datos jerárquico es un caso particular de la del modelo en red, con fuertes restricciones adicionales derivadas de que las asociaciones del modelo jerárquico deben formar un árbol ordenado, es decir, un árbol en el que el orden de los nodos es importante.
RESTRICCIONES DE INTEGRIDAD EN EL MODELO JERÁRQUICO
A continuación se mencionan los problemas típicos de las bases de datos jerárquicas y que no existen en las bases de datos relacionales. Todos estos problemas derivan del hecho de que el sistema gestor de base de datos no implementa ningún control sobre los propios datos, sino que queda en manos de las aplicaciones garantizar que se cumplen las condiciones invariantes que se requieran (por ejemplo, evitar la duplicidad de registros). Dado que todas las aplicaciones están sujetas a errores y fallos, esto es imposible en la práctica. Además dichas condiciones suelen romperse ex profeso por motivos operativos (generalmente, ajustes debidos a cambios en el negocio) sin evaluarse sus consecuencias.
Duplicidad de registros
No se garantiza la inexistencia de registros duplicados. Esto también es cierto para los campos "clave". Es decir, no se garantiza que dos registros cualesquiera tengan diferentes valores en un subconjunto concreto de campos.
Integridad referencial
No existe garantía de que un registro hijo esté relacionado con un registro padre válido. Por ejemplo, es posible borrar un nodo padre sin eliminar antes los nodos hijo, de manera que éstos últimos están relacionados con un registro inválido o inexistente..
Desnormalización
Este no es tanto un problema del modelo jerárquico como del uso que se hace de él. Sin embargo, a diferencia del modelo relacional, las bases de datos jerárquicas no tienen controles que impidan la desnormalización de una base de datos. Por ejemplo, no existe el concepto de campos clave o campos únicos.
La desnormalización permite ingresar redundancia de una forma controlada, seguir a una serie de pasos conlleva a:
Combinar las relaciones
Duplicar los atributos no claves
Introducción de grupos repetitivos
Crear tablas de extracción
Cuando se debe desnormalizar:
Se debe desnormalizar para optimizar el esquema relacional
Para hacer referencia a la combinación de 2 relaciones que forman una sola relación
El Modelo de Base de Datos de Red
Estructuras de una Base de Datos de Red
Una base de datos de red esta formado por una colección de registros, los cuales están conectados entre sí por medio de enlaces.
Registro: Es una colección de campos (atributos)
Campos: Contiene almacenado solamente un valor.
Enlace : Asociación entre dos registros, así que podemos verla como una relación estrictamente binaria.
Estructura de datos de red, abarca más que la estructura de árbol porque un nodo "hijo" en la estructura de red puede tener más de un padre.
Diagramas de estructura de datos.Es un esquema que representa el diseño de una base de datos de red. Este modelo se basa en representaciones entre registros por medio de ligas, existen relaciones en las que participan solo dos entidades(binarias) y relaciones en las que participan más de dos entidades (generales) ya sea con o sin atributo descriptivo en la relación.
La forma de diagramado consta de dos componentes básicos:
Celdas: representan a los campos del registro.
Líneas: representan a los enlaces entre los registros
Su representación gráfica se basa en el acomodo de los campos de un registro en un conjunto de celdas que se ligan con otro(s) registro(s).
Restricciones en el modelo de base de datos de red
Como hemos visto, el modelo en red tiene un carácter totalmente general. En el modelo
en red no se ha especificado ningún tipo de restricción en lo que respecta a las interrelaciones.
Esto quizá haga del modelo en red un modelo tremendamente sencillo de utilizar, pero no deja
de tener un carácter general y provoca que en la práctica su instrumentación no resulte nada
fácil.
Es por esto, que los SGBD que se basan en el modelo en red, deben añadir una serie de
restricciones a fin de poder implementar la base de datos físicamente y obtener un mayor
rendimiento del sistema.
Un modelo de datos de este tipo, es el denominado modelo Codasyl. Este modelo es una
simplificación del modelo en red general. Aquí solo se admiten ciertos tipos de interrelaciones,
y además se incluyen otras restricciones adicionales. Estas restricciones no limitan demasiado la
flexibilidad original del modelo en red general, pero nos permiten tener una instrumentación
Programación de una base de datos de red
Lenguajes orientados al procedimiento.- Los lenguajes orientados al procedimiento requieren que los programadores resuelvan problemas de programación utilizando la lógica de programación tradicional; esto es, los programadores codifican o escriben las instrucciones en la secuencia en que deben ejecutar para solucionar el problema. Se dividen en:
Lenguajes empresariales.
Los 3GL orientados a las empresas se diseñan para ser instrumentos efectivos para desarrollar sistemas de información empresarial. La fuerza de la 3GL empresariales consiste en su capacidad de almacenar, recuperar y manejar datos alfanuméricos.
COBOL, el primer lenguaje de programación empresarial, se introdujo en 1959. Este lenguaje sigue siendo el mas popular. La intención original del os 0creadores del COBOL (Common Bussines Oriented Language; lenguajes común orientado a la empresa) era hacer que sus instrucciones se aproximan al inglés.
Lenguaje científicos.
Estos lenguajes del tipo de una formula algebraica están diseñado en particular para satisfacer las necesidades de procedimientos repetitivo, la expresión y la solución de ecuaciones matemáticas y demás operaciones pertinentes.
FORTRAN. (Formula Translator), el primer lenguaje orientado a procedimientos, se desarrollo en 1955. Fue y sigue siendo el lenguaje científico más popula.
APL. (A Programming Language un lenguaje de programación), introducido en 1968, es un lenguaje de programación interactivo que es común entre los ingenieros, matemáticos y científicos. Un tablero especial con símbolos "taquigráficos" ayuda a la rapidez de el proceso de cifrado.
Lenguajes de la cuarta generación orientados a la producción.
Los lenguajes de la cuarta generación orientados a la producción están diseñados sobre todo para profesionales en la computación, quienes usan 4GL como el Ideal de ADR, el Natural 2 de Software AG y el Mantis de Cincom.
Otros lenguajes orientados al procedimiento.
El análisis anterior de los lenguajes al procedimiento no pretende ser exhaustivo. Entre estos se incluyen los siguientes:
LISP ( List Processing [procesamiento de listas], 1959). Un lenguaje de procesamiento de listas eficiente para el manejo de datos no numéricos, tales como símbolos y texto (se utiliza en el desarrollo de la inteligencia artificial y los compiladores).
LOGO (1967). Hace uso de una "tortuga" para enseñar a los niños geometría, matemáticas y programación.
FORTH (1971). Se utiliza para aplicaciones de control de dispositivos, juegos de video y robótica.
Prolog (Programming in Logic [programación en lógica], 1972. Es capaz de manejar relaciones entre hechos ( se utiliza en el desarrollo de sistemas expertos).
Modula-2 (1981). Permite combinar módulos independientes en un programa.
Lenguajes de la cuarta generación orientados al usuario.
Los usuarios escriben programas para consultar (extraer información ) de una base de datos y para crear sistemas de información personales o departamentales. Los lenguajes de la cuarta generación orientados al usuario incluyen el RAMIS II de Mathematica Products Group y el FOCUS de Information Builders.
Para ilustrar la estrutura de los registros en una base de datos de red, mostraremos la base de datos alumno – materia, con los siguientes registros (en el Lenguaje de programación Pascal):