Modelado de Datos - Universidad de Carabobo

Anuncio
UNIVERSIDAD DE CARABOBO
FACULTAD EXPERIMENTAL DE CIENCIAS Y TECNOLOGÍA
DEPARTAMENTO DE COMPUTACIÓN
BASES DE DATOS
Valencia - Edo. Carabobo
Modelo De Datos Jerárquico y De Red.
Elaborado por:
Camargo Danny C.I 17.257.550
Peña Bernardo C.I 12.245.499
Romero Haydée C.I. 15.865.688
Prof.: Bena Leung
Sección 01
Valencia; 07 de Marzo del 2005
1. Modelado de Datos:
Ya se han explicado con anterioridad los conceptos de Archivos y de Base
de Datos, sus ventajas, debilidades y diferencias entre cada uno.
Para describir la estructura de una BD es necesario definir el concepto de
modelo de datos, “es el enfoque utilizado para la representación de las entidades y
sus características dentro de la base de datos, semántica asociada a los datos y
restricciones de consistencia”.
1.1
Tipos de modelos de Datos
Los diversos modelos de datos se dividen en tres grupos:
• modelos lógicos basados en objetos
• modelos lógicos basados en registros
• modelos físicos de datos
1.1.1 Modelos lógicos basados en objetos
Los modelos lógicos basados en objetos se usan para describir datos
en el nivel conceptual y de visión. Se caracterizan porque proporcionan
capacidad de estructuración bastante flexible y permiten especificar
restricciones de datos explícitamente. Hay muchos modelos diferentes, y
aparecerán más. Algunos de los más conocidos son el modelo entidadrelación (E/R), el orientado a objetos, el binario, el semántico de datos,
el infológico y el modelo funcional de datos.
El modelo entidad-relación ha ganado aceptación y se utiliza ampliamente
en la práctica, el modelo orientado a objetos incluye muchos conceptos del
anterior, y esta ganado aceptación rápidamente.
1.1.1.1 Modelo Entidad-Relación (E/R)
El modelo de datos entidad-relación se basa en una percepción de
un mundo real que consiste en una colección de objetos básicos
llamados entidades, y relaciones entre estos objetos. Una entidad es un
objeto distinguible de otros por medio de un conjunto de atributos. Por
ejemplo, en la fig. 1.1, los atributos número y saldo describen una
cuenta particular. Una relación es una asociación entre varias entidades.
En la fig. 1.1, una relación CtaCli asocia a un cliente con cada cuenta
que posee. El conjunto de todas las entidades del mismo tipo y
relaciones del mismo tipo se denomina conjunto de entidades y conjunto
de relaciones.
Calle
Ciudad
Nombre
Cliente
CtaCli
Número
Saldo
Cuenta
Fig 1.1
1.1.1.2 Modelo Orientado a Objetos
Al igual que el modelo E/R, el modelo orientado a objetos se basa en
una colección de objetos. Un objeto contiene valores acumulados en
variables dentro de él, y estos valores son objetos por si mismos. Así,
los objetos contienen objetos a un nivel de anidamiento arbitrario. Un
objeto también contiene partes de código que operan sobre el objeto,
que se denominan métodos.
Los objetos que contienen los mismos tipos de valores y los mismos
métodos se agrupan en clases. Una clase puede se vista como una
definición de tipo para objetos.
La única forma en la que un objeto puede acceder a los datos de otro
objeto es invocando a un método de ese otro objeto. Esto se llama envío
de un mensaje al objeto. Así, la interfaz de llamada de los métodos de
un objeto define su parte visible externamente, la parte interna del objeto
(las variables de instancia y el código de método) no son visibles
externamente. El resultado es dos niveles de abstracción de datos.
Algunos autores definen estos modelos como “modelos semánticos”.
1.1.2 Modelos lógicos basados en registros
Los modelos lógicos basados en registros se utilizan para describir
datos en los modelos conceptual y físico. A diferencia de los modelos
lógicos basados en objetos, se usan para especificar la estructura lógica
global de la BD y para proporcionar una descripción a nivel más alto de la
implementación.
Los modelos basados en registros se llaman así porque la BD está
estructurada en registros de formato fijo de varios tipos. Cada tipo de
registro define un número fijo de campos, o atributos, y cada campo
normalmente es de longitud fija. La estructura más rica de estas BD a
menudo lleva a registros de longitud variable en el nivel físico.
Los modelos basados en registros no incluyen un mecanismo para la
representación directa de código de la BD, en cambio, hay lenguajes
separados que se asocian con el modelo para expresar consultas y
actualizaciones.
Los tres modelos de datos más aceptados son los modelos
relacional, de red y jerárquico. El modelo relacional ha ganado aceptación
por encima de los otros.
1.1.2.1 Modelo relacional
El modelo relacional representa los datos y sus relaciones mediante
tablas bidimensionales, que contienen datos tomados de los dominios
correspondientes.
Nombre
Juan Perez
Juan Perez
Luis Yepez
María Guerrero
Calle
Comercio
Comercio
48
Humbolt
Ciudad
Valencia
Valencia
Barquisimeto
Caracas
Número
500
99
752
45
Luis Yepez
48
Barquisimeto
99
Número
500
99
752
45
Saldo
500.000,00
60.000.000,00
85.623,52
450.000,00
1.1.2.2 Modelo de red
El modelo de red está formado por colecciones de registros,
relacionados mediante punteros o ligas en grafos arbitrarios.
Juan Perez
Comercio
Valencia
Luis Yepez
48
Barquisimet
o
Ma Guerrero
Humbolt
500
500.000
99
60.000.000
752
85.623,52
45
450.000
Caracas
1.1.2.3 Modelo jerárquico
El modelo jerárquico es similar al modelo de red, los datos y las
relaciones se representan mediante registros y enlaces. Se diferencia
del modelo de red en que los registros están organizados como
colecciones de árboles.
Juan
Perez
Luis
Yepez
48
Comercio
Barquisim
eto
Ma
Guerrero
500
500
500.000
752
Valencia
Humbolt
Caracas
500.000
85.623,5
2
99
60.000.0
00
45
450.000
Los modelos relacionales se diferencian de los modelos de red y
jerárquico en que no usan punteros o enlaces. En cambio, el modelo
relacional conecta registros mediante los valores que éstos contienen. Esta
libertad del uso de punteros permite que se defina una base matemática
formal. Algunos autores definen estos modelos como "modelos de datos
clásicos".
1.1.3 Modelos físico de datos
Los modelos físicos de datos se usan para describir datos en el nivel
más bajo. Hay muy pocos de modelos físicos de datos en uso, siendo los
más conocidos el modelo unificador y de memoria de elementos.
1.2
Objetivos del modelo de datos
Los objetivos del modelo de datos son dos:
1.2.1 Formalización:
El modelado de datos permite definir formalmente las estructuras
permitidas y sus restricciones a fin de representar los datos y
también establece las bases para un lenguaje de datos.
1.2.2 Diseño:
El modelo de datos es uno de los elementos básicos (Herramienta
obligada) para el desarrollo de la metodología de diseño de la base de
datos.
1.3
Elementos del modelo de datos
Los diferentes modelos de datos comparten, aunque con diferentes
nombres y notaciones, unos elementos comunes, componentes básicos de la
representación de la realidad que realizan. Estos componentes se identifican
gracias a la clasificación, y pueden identificarse conceptos estáticos y conceptos
dinámicos.
1.3.1 Conceptos estáticos
Los conceptos estáticos corresponden a:
1.3.1.1
Objeto: cualquier entidad con existencia independiente sobre
el que almacenan datos. Puede ser simple o compuesto.
1.3.1.2
Relación: asociación entre objetos.
1.3.1.3
Restricción estática: propiedad estática del mundo real que
no puede expresarse con los anteriores, ya que sólo se da en
la base de datos; suele corresponder a valores u ocurrencias,
y puede ser sobre atributos, entidades y relaciones.
1.3.1.4
Objeto compuesto: definidos como nuevos objetos dentro de
la base de datos, tomando como punto de partida otros
existentes, mediante mecanismos de agregación y asociación.
1.3.1.5
Generalización: se trata de relaciones de subclase entre
objetos, es decir, parte de las características de diferentes
entidades pueden resultar comunes entre ellas.
1.3.2 Conceptos dinámicos
Por su parte, los conceptos dinámicos responden a:
1.3.2.1
Operación: acción básica sobre objetos o relaciones (crear,
modificar, eliminar...).
1.3.2.2
Transacción: conjunto de operaciones que deben ejecutarse
en su conjunto obligatoriamente.
1.3.2.3
Restricción dinámica: propiedades del mundo real que
restringen la evolución en el tiempo de la base de datos.
2. Modelo de Datos de Red
2.1 Historia
Las estructuras y construcciones del lenguaje para el modelo de red
fueron definidas por el comité CODASYL (Conference on Data Systems
Languages: Conferencia sobre lenguajes para sistemas de datos), por lo
que suele denominársele modelo de red CODASYL. El modelo de red
original se dio a conocer en 1971 en un informe publicado por el Grupo de
trabajo sobre bases de datos (Data Base Task Group, DBTG) de CODASYL,
este modelo se conoce como Modelo DBTG; en 1978 y 1984 se
incorporaron nuevos conceptos.
2.2 Estructuras de una Base de Datos de Red
Una base de datos de red está formada por una colección de
registros, los cuales están conectados entre sí por medio de enlaces. Las
estructuras de datos básicas en este modelo son los registros y los
conjuntos.
Un registro es la unidad mínima de manejo de datos en un sistema
de bases de datos de red, es una colección de campos (atributos), cada
uno de los cuales contiene solamente almacenado un solo valor. Los
registros se clasifican en tipos de registros, cada uno de los cuales
describe la estructura de un grupo de registros que almacenan el mismo
tipo de información. Cada registro posee un nombre y cada elemento de
información (atributo) aparte de poseer un nombre, también posee un
formato (tipo de dato).
En el modelo de red es posible definir elementos de información
complejos: vector y grupo repetitivo. Un vector es un elemento de
información que puede tener múltiples valores en un solo registro. Un
grupo repetitivo permite incluir un conjunto de valores compuestos para un
campo en un solo registro.
Los elementos de información antes mencionados se denominan
elementos de información reales, porque sus valores se almacenan
realmente en los registros. También es posible definir elementos de
información virtuales (derivados), cuyos valores no se almacenan
realmente en los registros, en vez de ello, se derivan de los elementos de
información reales mediante algún procedimiento definido específicamente
para tal fin.
Una aplicación de base de datos común tiene muchos tipos de
registro, hasta varios centenares. Para representar los vínculos entre los
registros, el modelo de red proporciona la construcción de modelado
llamada tipo de conjuntos.
Un tipo de conjuntos es una descripción de un vínculo 1:N entre
dos tipos de registros. Una representación diagramático común de los tipos
de conjuntos es la llamada diagrama de Bachean. Cada definición dsew
tipos de conjuntos consta de tres elementos básicos:
- Un nombre para el tipo de conjuntos.
- Un tipo de registros propietarios.
- Un tipo de registros miembro.
DEPARTAMENTO
R
e
g
i
s
t
r
o
s
NombreD
…
…
DEPTO_CARRERA
DEPARTAMENTO
NombreD
…
…
Ejemplo de un tipo de conjunto y de tipos de registro.
En el ejemplo el tipo de conjuntos se llama DEPTO_CARRERA,
DEPARTAMENTO es el tipo de registros propietario y ESTUDIUANTE es
el tipo de registros miembro. Esto representa el vínculo 1:N entre los
departamentos académicos y los estudiantes que cursan una carrera en
esos departamentos.
En la base de datos habrá muchas ocurrencias de conjunto
(ejemplares de conjunto) que corresponderán a un tipo de conjuntos.
Cada ejemplar relaciona un registro del tipo de registros propietario con el
conjunto de registros del tipo de registros miembro relacionado con él. Cada
ocurrencia de conjunto se compone de:
-
Un registro propietario del tipo de registros propietario.
Cero o más registros relacionados del tipo de registros miembro.
Un registro del tipo de registros miembro no puede ocurrir en más de
una ocurrencia de conjunto de un tipo de conjuntos particular, esto
mantiene la restricción de que un tipo de conjuntos representa un vínculo de
1:N.. En el ejemplo, un registro ESTUDIANTE puede estar relacionado
cuando más con un DEPARTAMENTO de carrera y, por tanto, es miembro
de cuando más una ocurrencia de conjunto del tipo de conjuntos
DEPTO_CARRERA.
En el modelo de red un ejemplar conjunto se diferencia del conjunto
matemático debido a que el ejemplar de conjunto tiene un elemento
distinguido (el registro propietario) y en el conjunto matemático no hay
distinción entre los elementos; además en el modelo de red los registros
miembro están ordenados, mientras que en el conjunto matemático no
existe ningún tipo de orden.
2.3 Tipos Especiales de Conjuntos
Existen dos tipos especiales de conjuntos en el modelo original de
CODASYL: los conjuntos propiedad del sistema y los conjuntos
multimiembro. Luego se incorporó un tercer tipo: llamado conjunto
recursivo.
2.3.1 Conjuntos Propiedad del Sistema (Singulares)
Es un conjunto sin tipo de registros propietario, en este caso el
sistema gestor de base de datos actúa como un tipo de registro
propietario “virtual” especial en el que sólo hay una ocurrencia de
registro. Los conjuntos singulares sirven como puntos de entrada a la
base de datos a través de los registros del tipo de registros miembro
especificado. También sirven para ordenar los registros de un tipo de
registros dado mediante los criterios de ordenamiento del conjunto.
2.3.2 Conjuntos Multimiembro
Se utilizan en casos en los que los registros miembro de un conjunto
pueden pertenecer más de un tipo de registros. Los registros miembros
en una ocurrencia de conjunto de un tipo de conjuntos multimiembro
pueden contener registros de cualquier combinación de tipos de
registros miembro.
DEPARTAMENTO
EMP_DEPTO
EMP_ADMVO
EMP_TECNICO
EMP_GERENCIAL
Ejemplo de un Conjunto Multimiembro
2.3.3. Conjuntos Recursivos
Es un tipo de conjuntos en el que al mismo tipo de registros
desempeña el papel tanto de propietario como de miembro. En el
modelo CODASYL original estaban prohibidos los conjuntos
recursivos debido a su dificultad de implementación. En los conjuntos
recursivos, el mismo registro puede ser propietario de una ocurrencia
de conjunto y miembro de otra, si ambas ocurrencias de conjuntos
son del mismo tipo de conjuntos. Se acostumbra a representarlos
con un tipo de registros de enlaces (ficticio) adicional. Esta técnica
se usa para representar vínculos de 1:N y de N:M.
EMPLEADO
SUPERVISOR
SUPERVISADO
SUPERVISION
Ejemplo de Conjunto Recursivo
2.4 Representación Almacenada de Ejemplares de
Conjuntos
Los ejemplares de conjuntos suelen representarse como anillos
(listas enlazadas circulares) que enlazan el registro propietario con todos
los registros miembro del conjunto, esto se conoce también como cadena
circular. En esta representación el SGBD cuenta con un campo especial,
llamado campo de tipo, que tiene un valor distinto (asignado por el SGDB)
para cada tipo de registros. Al examinar el campo de tipo, el sistema puede
saber si el registro es el propietario del ejemplar de conjunto o es uno de los
registros miembro, este campo es invisible al usuario.
Además del campo de tipo, el SGBD asigna automáticamente a cada
tipo de registros un campo apuntador por cada tipo de conjuntos en el que
participa como propietario o como miembro. Podemos considerar que este
apuntador está rotulado con el nombre del tipo de conjunto correspondiente,
así el sistema mantiene internamente la correspondencia entre estos
apuntadores y sus tipos de conjuntos.
Registro
DEPARTAMENTO
Ciencias de la Computación
Manuel Rivera
…
Guillermo Silva
Registros
EMPLEADOS
•
…
•
…
Juana Velasco
•
…
Ramón Paredes
•
…
•
Ejemplo de Representación de lista enlazada
La representación de conjuntos que hemos visto es un método para
implementar los ejemplares de conjuntos. En general un SGBD puede
implementar los conjuntos de diversas maneras, pero la representación
elegida deberá permitir al sistema realizar las siguientes operaciones:
-
-
-
Dado un registro propietario, encontrar todos los registros miembro
de la ocurrencia de conjunto.
Dado un registro propietario, encontrar el primero, el i-ésimo o último
registro miembro de la ocurrencia de conjunto. Si no existe ningún
registro así, indicar ese hecho.
Dado un registro miembro, encontrar el siguiente registro miembro (o
el anterior) de la ocurrencia de conjunto. SI no existe ningún registro
así, indicar ese hecho.
Dado un registro miembro, encontrar el registro propietario de la
ocurrencia de conjunto.
Existen otras representaciones de conjuntos que es posible
implementar para mejorar la eficiencia de algunas operaciones, entre ellas
están:
-
Lista circular con doble enlace: Tendría un apuntador al siguiente
registro miembro y uno al anterior.
-
-
-
-
Apuntador al propietario: Puede utilizarse con la lista enlazada o
con la doblemente enlazada, para cada tipo de conjuntos, se incluye
un apuntador directo al propietario adicional en el tipo de registros
miembro.
Registros miembros contiguos: En vez de estar enlazados por
apuntadores, los registros miembros se colocan físicamente uno al
lado del otro, casi siempre seguida del registro propietario.
Arreglo de apuntadores: Un arreglo de apuntadores se almacena
junto con el registro propietario, el i-ésimo elemento del arreglo
apunta al i-ésimo registro miembro de la ocurrencia de conjunto.
Representación indizada: Se guarda un índice pequeño con el
registro propietario por cada ocurrencia de conjunto. Cada entrada
del índice contiene un valor de un campo clave de indización y un
apuntador al registro miembro que tiene ese valor en dicho campo.
Empleo de conjuntos para representar vínculos 1:1 y N:M
Por definición un tipo de conjuntos representa un vínculo 1:N entre
dos tipos de registros. Esto significa que un registro miembro sólo puede
aparecer en una ocurrencia del conjunto. Cuando se quiere representar un
vínculo 1:1 entre dos tipos de registros con un tipo de conjuntos, se debe
restringir que cada ocurrencia de conjunto sólo pueda tener un registro
miembro, esto debe comprobarlo el programador.
Un vínculo N:M entre dos tipos de registros no puede representarse
con un solo tipo de conjuntos. La forma correcta de representar un vínculo
de este tipo es utilizando dos tipos de conjuntos y un tipo de registros
adicionales. Este tipo de registros adicional se llama tipo de registros de
enlace (ficticios).
EMPLEADO
NUMEROE
EMPLEADO
NUMEROE
…
E T
…
P T
TRABAJA E
HORAS
2.5
Restricciones en el Modelo de Red
Aparte de las restricciones estructurales de los tipos de registros y de
conjuntos, están las restricciones de comportamiento que se aplican a los
miembros de los conjuntos (o al comportamiento de dichos miembros)
cuando se realizan operaciones de inserción, eliminación y actualización
con esos conjuntos.
Para determinar estas restricciones durante el diseño de la base de
datos hay que conocer cómo deberá comportarse un conjunto cuando se
inserten registros miembro o cuando se eliminen registros miembro o
propietario. Estas restricciones se especifican al SGBD cuando se declara
la estructura de la base de datos.
•
Opciones (restricciones) de inserción de conjuntos
Las restricciones de inserción sobre la pertenencia a conjuntos,
especifican lo que sucede cuando se inserta en la base de datos un registro
nuevo que es de un tipo de registros miembro. Hay dos opciones de
inserción:
- AUTOMATIC: El nuevo registro se conecta automáticamente a una
ocurrencia de conjunto apropiada cuando se inserta el registro.
- MANUAL: El nuevo registro no se conecta a ninguna ocurrencia de
conjunto. Se puede conectar luego explícitamente (manualmente) el
registro a una ocurrencia de conjunto.
•
Opciones (restricciones) de retención en conjuntos
Las restricciones de retención especifican si un registro de un tipo de
registros miembro puede existir en la base de datos por sí solo o siempre
debe estar relacionado con un propietario como miembro de algún ejemplar
de conjunto. Hay tres opciones de retención:
- OPTIONAL: Un registro miembro puede existir por sí solo sin ser
miembro de ninguna ocurrencia del conjunto. Se le puede conectar y
desconectar de las ocurrencias de conjunto a voluntad.
- MANDATORY: Ningún registro miembro puede existir por sí solo,
siempre debe ser miembro de una ocurrencia de conjunto. Se le puede
reconectar en una sola operación de una ocurrencia de conjunto a otra.
- FIXED: Al igual que en MANDATORY, ningún registro miembro puede
existir por sí solo. Una vez insertado en una ocurrencia de conjunto
queda fijo, no se le puede reconectar a otra ocurrencia de conjunto
3. Modelo de Datos Jerárquico.
3.1. Definición
Una base de datos jerárquica consiste en una colección de registros que se
conectan entre si por medio de enlaces. Cada registro es una colección de
campos (atributo) que contienen un solo valor cada uno de ellos. Un enlace se
conoce como una unión o asociación entre dos registros exclusivamente.
Es un modelo muy rígido en el que las diferentes entidades de las que está
compuesta una determinada situación, se organizan en niveles múltiples de
acuerdo a una estricta relación PADRE/HIJO, de manera que un padre puede
tener más de un hijo, todos ellos localizados en el mismo nivel, y un hijo
únicamente puede tener un padre situado en el nivel inmediatamente superior al
suyo.
Las entidades se denominan en el caso particular del modelo jerárquico
SEGMENTOS, mientras que los atributos reciben el nombre de CAMPOS.
Los segmentos, se organizan en niveles de manera que en un mismo nivel
estén todos aquellos segmentos que dependen de un segmento de nivel
inmediatamente superior.
El contenido de un registro específico puede repetirse en varios sitios (en el
mismo árbol o en varios árboles).
La repetición de los registros tiene dos desventajas principales:
* Puede producirse una inconsistencia de datos
* El desperdicio de espacio.
Una base de datos jerárquica está formada por una colección o bosque de árboles
disjuntos.
3.2. Características De La Estructura Jerárquica.
Los segmentos, en función de su situación en el árbol y de sus
características, pueden denominarse como:
* Segmento Padre: Es aquél que tiene descendientes, todos ellos
localizados en el mismo nivel.
* Segmento Hijo: Es aquél que depende de un segmento de nivel
superior. Todos los hijos de un mismo padre están en el mismo nivel del
árbol.
* Segmento Raíz: El segmento raíz de una base de datos jerárquica
es aquel padre que no tiene padres. La raíz siempre es única y ocupa el
nivel superior del árbol.
La relación PADRE/HIJO en la que se apoyan las bases de dato 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.
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.
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.
Una estructura jerárquica, tiene las siguientes características:
-. El árbol se organiza en un conjunto de niveles.
-. El nodo raíz, el más alto de la jerarquía, se corresponde con el nivel 0.
-. Los arcos representan las asociaciones jerárquicas entre dos entidades y
no tienen nombre, ya que no es necesario porque entre dos conjuntos de datos
sólo puede haber una interrelación.
-. Mientras que un nodo de nivel superior (padre) puede tener un número
ilimitado de nodos de nivel inferior (hijos), al nodo de nivel inferior sólo le puede
corresponder un único nodo de nivel superior. en otras palabras, un progenitor o
padre puede tener varios descendientes o hijos, pero un hijo sólo tiene un padre.
-. Todo nodo, a excepción del nodo raíz, ha de tener obligatoriamente un
padre.
-. Se llaman hojas los nodos que no tienen descendientes.
-. Se llama altura al número de niveles de la estructura jerárquica.
-. Se denomina momento al número de nodos.
-. El número de hojas del árbol se llama peso.
-. Sólo están permitidas las interrelaciones 1:1 ó 1:N
-. Cada nodo no terminal y sus descendientes forman un subárbol, de forma
que un árbol es una estructura recursiva.
El árbol se suele recorrer en preorden; es decir, raíz, subárbol izquierdo y
subárbol derecho.
Entre las restricciones propias de este modelo se pueden resaltar:
-. Cada árbol debe tener un único segmento raíz.
-. No puede definirse más de una relación entre dos segmentos
dentro de un árbol.
-. No se permiten las relaciones reflexivas de un segmento consigo
mismo.
-. No se permiten las relaciones N:M.
-. No se permite que exista un hijo con más de un padre.
-. Para cualquier acceso a la información almacenada, es obligatorio
el acceso por la raíz del árbol, excepto en el caso de utilizar un índice
secundario.
-. El árbol debe recorrer siempre de acuerdo a un orden prefijado: el
camino jerárquico.
-. La estructura del árbol, una vez creada, no se puede modificar.
3.3. Estructuras De Base De Datos Jerárquica.
3.3.1.1
Vínculos Padre / Hijo (VPH): en ésta sección tocamos dos puntos
importantes que son registros o colección de valores de campos
que proporcionan información sobre una entidad o un ejemplar de
vínculo; y vínculo padre / hijo, este tipo de vínculo es 1:N entre dos
tipos de registros. El tipo de registros del lado 1 se denomina tipo
de registro padre y el del lado N se denomina tipo de registro hijo
del tipo de VPH.
Departamento
NombreD
NúmeroD NombreGte
Fecha
Proyecto
Empleado
NombreE
FechaINIC Dirección
NombreP
NumeroP
LugarP
Este esquema tiene tres tipos de registros y dos tipos de VPH.
Los tres tipos de registros son: Departamento, Empleado y Proyecto;
y lo dos tipo de VPH son: Departamento, Empleado y Departamento,
Proyecto.
Cada ocurrencia del tipo de VPH (Departamento, Empleado)
relaciona un registro del departamento con los registros de los
múltiples empleados que pertenecen a ese departamento. Una
ocurrencia del tipo de VPH (Departamento, Proyecto) relaciona un
registro de departamento con los registros de los proyectos
controlados por ese departamento.
2.3.1.2
Propiedades De Los Esquemas Jerárquicos:
-. Un tipo de registro, la raíz del esquema jerárquico, no
participa como tipo de registro hijo en ningún tipo de VPH.
-. Todo tipo de registros, con excepción de la raíz, participa
como tipo de registros hijos en uno y solo un tipo de VPH.
-. Un tipo de registros puede participar como tipo de registros
padres en cualquier cantidad (cero o más) de tipos de VPH.
- . Un tipo de registros que no participa como tipo de registros
padre en ningún tipo de VPH se denomina hoja del esquema
jerárquico.
-. Si un tipo de registros participa como padre en más de un
tipo de VPH, entonces sus tipos de registros hijos están ordenados.
El orden se visualiza, por convención, de izquierda a derecha en los
diagramas jerárquicos.
2.3.1.3
Árboles De Ocurrencias Jerárquicas:
Un árbol de ocurrencia se puede definir como el subárbol de
un registro cuyo tipo es del tipo de registro raíz.
Cada ocurrencia jerárquica es una estructura de árbol que
además de cumplir con lo antes señalado, el mismo contiene todas
las ocurrencias de registros hijo del registro raíz, todas las
ocurrencias de registros hijo dentro de los VPH de cada uno de los
registros hijos del registro raíz, y así sucesivamente, hasta los
registros de los tipos de registros hojas.
La raíz de un árbol de ocurrencia es una solo ocurrencia del
registro del tipo de registros raíz. Puede haber un número variable de
ocurrencias de cada tipos de registros no raíz, y cada una de ellas
debe tener un registro padre en el árbol de ocurrencia.
3.3.1.4
Problemas De Datos Jerárquico:
El modelo de datos jerárquico presenta importantes
inconvenientes, que provienen principalmente de su rigidez, la cual
deriva de la falta de capacidad de las organizaciones jerárquicas
para representar sin redundancias ciertas estructuras muy difundidas
en la realidad, como son las interrelaciones reflexivas y N:M.
Además de este problema, existe otro importante
inconveniente en este tipo de solución como es la no conservación
de las simetrías naturales existentes en el mundo real.
Las actualizaciones en las bases de datos jerárquicas pueden
también originar problemas, debido a las restricciones inherentes al
modelo:
-. Toda alta, a no ser que corresponda a un nodo raíz, debe
tener un padre. Por ejemplo, sería imposible insertar en la base de
datos profesor, alumno; un alumno que aún no tuviera asignado
profesor.
Se podría resolver el problema creando un padre ficticio para
este registro, pero con ello se complicaría la labor del usuario de la
base de datos, que tendría, cuando deseara conectar el registro a su
padre real, que eliminarlo de la base de datos y volver a introducirlo
ligado a su verdadero padre además, el sistema no podría distinguir
entre padre ficticio y real y cuando contara el número de profesores
de la base de datos nos daría uno más
-. La baja de un registro implica que desaparezca todo el
subárbol que tiene dicho registro como nodo raíz, con lo que pueden
desaparecer datos importantes que convendría conservar en la base
de datos.
Como se describió anteriormente, en las relaciones muchos a
muchos se requerían la repetición de datos para conservar la
organización de la estructura del árbol de la base de datos.
La repetición de la información genera 2 grandes problemas:
•
•
La actualización puede generar inconsistencia de los datos.
Se genera un desperdicio considerable de espacio.
Para solventar estos problemas se introdujo el concepto de
registro virtual, el cual no contiene datos almacenados, si no un
puntero lógico a un registro físico determinado.
Cuando se va a repetir un registro en varios árboles de la base
de datos, se mantiene una sola copia de ese registro en uno de los
árboles y empleamos en los otros registros la utilización de un
registro virtual que contiene la dirección del registro físico original.
Proyecto
Empleado
Apunte
Proyecto
ApuntP
Representación del vínculo N:M con
Padre virtual Empleado.
3.3.1.5
Empleado
Representación del vínculo N:M con
Padre virtual Proyecto.
Restricciones de Integridad en el Modelo Jerárquico
1) Ninguna ocurrencia de registro, con excepción de la raíz, puede
existir si no esta relacionado con una ocurrencia de registro padre.
Esto tiene las siguientes implicaciones:
-. Ningún registro hijo puede insertarse si no esta enlazado a un
registro padre.
-. Un registro hijo se puede eliminar independientemente de su
padre; pero la eliminación de un padre causa automáticamente la
eliminación de todos sus registros hijos y descendientes.
-. Un apuntador en un registro hijo virtual debe apuntar a una
ocurrencia real de un registro padre virtual. No debe permitirse la
eliminación de un registro en tanto existan apuntadores a él en
registros hijo virtuales, lo que lo convierte en un registro padre virtual.
2) Si un registro hijo tiene dos o más registros padre del mismo tipo de
registros, el registros hijo debe duplicarse una vez bajo cada registro
padre.
3) Un registro hijo que tenga dos o más registros padre de diferentes
tipos de registros solo puede tener un padre real; todos los demás
deben representarse como padre virtuales.
Bibliografía.
Hhttep://www3.uji.es/~mmarques/f47/apun/node79.htmlH
Hhttp://www.itlp.edu.mx/publica/tutoriales/basedat1/temas6.htmH
Hhttp://alarcos.inf-cr.uclm.es/doc/bda/doc/trab/T0001_IGarcia.pdfH
Hhttp://www.itlp.edu.mx/publica/tutoriales/basedat1/temas1.htmH
ELMASRI, R,; NAVATHE, S.;Sistema de Base De Datos (2º Edición). Addison Wesley
Longman de Mexico.
Descargar