1. Introduction
1.6. Chapter outline
SEC- CIÓN TÍTULO PÁGINAS Modelo de datos en red Libro-Texto: “Fundamentos de Sistema de Bases de Datos”
Lectura Nº 3.1 C C.1. C.2. C.3. C.4. Conceptos del modelado de datos en red Restricciones en el modelo en red Manipulación de datos en el modelo en red Lenguaje de manipulación de datos en red Modelo de Red 873-880 880-888 888-890 890-895
2.- Para comenzar con el estudio de esta unidad, lea la explicación que se presenta en la lectura Nº 3.1 con el propósito de poder responder con sus propias palabras las siguientes preguntas: ¿En que consiste un base de datos en red?, discuta con sus compañeros de estudio lo planteado y en caso de dudas consulte al asesor de su centro local.
3.- Una vez aclarado el punto anterior, prosiga a responder las siguientes preguntas, a objeto de repasar los conceptos que aplicará para representar la estructura de una base de datos en red:
¿Qué es para usted un registro en le modelado de datos en red? ¿Qué entiende por tipos de registros?
¿Cómo define usted los siguientes términos: tipo de conjunto, tipo de registro propietario y tipo de registro miembro?
¿Qué entiende por elementos de datos? ¿A qué se le denomina Diagrama de Bachean?
¿Qué entiende por registro propietario y registro miembro? ¿Qué es para usted una ocurrencia de conjunto?
¿Qué es un conjunto propiedad del sistema y conjunto singular? Defina los siguientes términos: Anillo, Cadena circular, Campo de tipo
y campo de puntero
¿Qué son los diagramas de estructura de datos? ¿Qué es un lenguaje de manipulación de datos en red? ¿Qué se entiende por lenguaje anfitrión?
4.- Lea los ejemplos que están presentes en la lectura Nº 3.1, para comprender como se simbolizan dos registros y las asociaciones entre ellos, de igual manera, entenderá como se representan los esquemas para el diseño de las base de datos en red.
5.- Veamos el siguiente ejemplo, en el cual se muestra el diagrama de la estructura de una base de datos en red.
Ejemplo
Consideremos la figura 3.1 en la que se presenta la relación alumno- cursa-materia, donde la relación cursa no tiene atributos descriptivos La forma del diagramado en este ejemplo constará de dos componentes básicos:
Las celdas: representan los campos del registro. Las líneas: representan los enlaces entre los registros.
figura 3.1
Las estructuras de datos según la cardinalidad se representan en los siguientes casos:
Cuando el enlace no tiene atributos descriptivos Caso 1.Cardinalidad Uno a Uno. (figura 3.2)
Figura 3.2
Figura 3.3
Caso 3.Cardinalidad Muchos a Muchos.(Figura 3.4)
Figura 3.4
Cuando el enlace tiene atributos descriptivos.
Consideremos la figura 3.5 donde a la relación cursa le agregamos el atributo Cal (calificación), el modelo ER quedaría de la siguiente manera:
Figura 3.5
Diagramas de estructura de datos cuando intervienen más de dos entidades y el enlace no tiene atributos descriptivos.
Consideremos en la figura 3.6 donde se presenta relación alumno-cursa- materia, donde le agregamos la entidad maestro, quien es el que imparte dicha materia.
Figura 3.6
La transformación a diagramas de estructura de datos se realiza mediante los siguientes pasos:
9 Crear los respectivos registros para cada una de las entidades que intervienen en el modelo.
9 Crear un nuevo tipo de registro que llamaremos Reenlace, que puede no tener campos o tener solo uno que contenga un identificador único, el identificador lo proporcionará el sistema y no lo utiliza directamente el programa de aplicación, a este registro se le denomina también como registro ficticio o de enlace o unión.
En la Figura 3.7 se siguen los pasos anteriores, quedando la estructura de la siguiente manera:
Figura 3.7
Ahora si el enlace tuviera atributos descriptivos, se crea el registro con los campos respectivos y se relaciona indicando el tipo de cardinalidad de que se trate.
En este caso se toma el ejemplo anterior y le agregamos a la relación el atributo calif. (calificación), ver figura 3.8.
Figura 3.8
En la figura 3.9 se puede observar la siguiente estructura, considerando el anterior diagrama de estructura de datos, una instancia de este seria:
Figura 3.8
Este diagrama nos indica que los alumnos Luis A. Laura M. y Leticia L. cursaron la materia Base de datos 2 con la profesora Lourdes A. Campoy M obteniendo una calificación de 100,80,95 respectivamente. 6.- En este momento usted ha estudiado los conceptos de modelado que
ofrece el modelo en red, ahora le daremos una explicación de uno de los problemas que se pueden presentar si se usa una base de datos en red.
Dificultad de utilizar el modelo de datos en red
Aparece el modelo en red como respuestas a las limitaciones del modelo jerárquico6 en cuanto a representaciones de relaciones más compleja. El modelo en redes 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. En el modelo de red no existen restricciones en lo que respecta a las interrelaciones entre cualquier números de entidades. Esto quizás haga del modelo en red un modelo tremendamente sencillo de utilizar, pero nos deja 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.
7.- Si desea obtener más información sobre este tema, puede hacer búsqueda en Internet, a través de la siguiente dirección electrónica:
Consulta en la web
http://www.itlp.edu.mx/publica/tutoriales/basedat2/unidad5.htm En esta dirección encontrarás los conceptos básicos y el diagrama de estructura de datos de una base de datos en el modelo de red.
El modelo de datos Jerárquico
1.- A continuación se presenta la tabla 3.2 donde usted puede ubicar, en el material de referencia los siguiente contenidos: conceptos de registros y relaciones padre-hijo, las propiedades de los esquemas jerárquicos, el árbol de ocurrencia, las relaciones padre-hijo virtual, las restricciones de integridad, las definiciones de datos y los lenguajes de manipulación de datos.
6
Tabla 3.2 TEMA MATERIAL DE REFERENCIA APEN- DICE SEC- CIÓN TÍTULO PÁGIN AS Modelo de datos jerárquico Libro-Texto: “Fundamentos de Sistema de Bases de Datos” Lectura Nº 3.2 D D.1. D.2. D.3. Estructura de bases de datos jerárquicas Relaciones de integridad y definiciones de datos en el modelo jerárquico Lenguaje de manipulación de datos para el modelo jerárquico
Modelo jerárquico
897-904
904-906
906-910
2.- Para comenzar con el estudio de esta unidad, apóyese en la explicación que se presenta en la lectura Nº 3.2 con el propósito de responder con sus propias palabras la siguientes preguntas ¿En que consiste un base de datos jerárquica?, discuta con sus compañeros de estudio lo planteado y en caso de dudas consulte al asesor de su centro local.
3.- Una vez aclarado el punto anterior, continué respondiendo las siguientes preguntas, a objeto de repasar los conceptos que aplicará para representar la estructura de una base de datos jerárquica:
¿Qué son los diagramas de estructuras de árbol? ¿Qué es un registro y tipos de registros?
¿Qué es tipo de relación padre-hijo (tipo de RPH), tipo de registro padre y tipo de registro hijo?
¿En que consiste una ocurrencia del tipo de RPH? ¿Como se visualiza un esquema jerárquico? ¿Qué son enlaces?
¿A qué se le llama árboles de ocurrencias?
¿Qué es un nodo, un subárbol y árbol de ocurrencia?
¿Qué es un registro jerárquico, recorrido en preorden, secuencia jerárquica y camino jerárquico?
Defina que es una ocurrencia de base de datos jerárquica. A que se le denomina tipo de relación padre-hijo virtual (RPHV) ¿Qué es un lenguaje de manipulación de datos jerárquico? ¿Qué entiende por lenguaje anfitrión?
4.- Lea los ejemplos que están en la lectura Nº 3.2, para comprender como se representan dos registros y como se organizan el conjunto de estos dos registros en forma de árbol con raíz, así mismo, podrá entender la representación de los diagramas de estructuras de árbol.
5.- El siguiente ejemplo consiste en elaborar un esquema de una base de datos jerárquico:
Ejemplo 3.2
Una empresa manufacturera que posee varias oficinas distribuidas en diferentes regiones del país ha decidido implantar un sistema computarizado con el fin de almacenar en una base de datos toda la información referente a: las sucursales filiales de la empresa, los automóviles asignados a cada una de estas dependencias, los empleados que tienen a su cargo un determinado coche y el mantenimiento que se le debe dar a dichos vehículos en un momento determinado. Este sistema permitirá el control de los vehículos que tienen asignados cada una de las oficinas filiales de esta empresa.
Con base a lo expuesto y al requerimiento de información de la empresa, elabore un modelo lógico conceptual de base de datos, en este modelo se quiere que usted construya un esquema jerárquico.
Un esquema jerárquico se visualiza como un diagrama, en el cual los nombres de los tipos de registros aparecen en cuadro rectangulares y los tipos de relaciones padre-hijo (RPH) , se dibujan como líneas que conectan el tipo de registro padre y el tipo de registro hijo.
AUTOMOVIL NÚMERO PLACA TIPO SERIAL - MOTOR SERIAL- CARROC COLOR SUCURSAL
NÚMERO NOMBRE CIUDAD LOCALIDAD
EMPLEADO
NÚMERO- CEDULA
NOMBRE APELLIDO DIRECCIÓN TELEFONO
MANTENIMIENTO FECHA -ENVIO FECHA- ENTREGA OPERACIÓN MONTO
6.- Ahora, le explicaremos una de las principales limitación que puede haber si se utiliza el modelo de datos Jerárquico
Limitaciones del modelo de datos Jerárquico
Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. La forma de esquematizar la información se realiza a través de representaciones jerárquicas o relaciones de padre/hijo, de manera similar a la estructura de un árbol. Así, el modelo jerárquico puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a muchos. En el primer tipo se dice que existe una relación es de uno a uno si el padre de la estructura de información tiene un solo hijo y viceversa, si el hijo tiene solamente un padre. En el segundo tipo se dice que la relación es de uno a muchos si el padre tiene más de un hijo, aunque cada hijo tenga un solo padre. Por ejemplo en la relación maestro-alumno un maestro tiene varios alumnos, pero un alumno también tiene varios maestros, uno para cada clase. En este caso, si la información estuviera representada en forma jerárquica donde el padre es el maestro y el alumno es el hijo, la información del alumno tendrá que duplicarse para cada uno de los maestros. Otra dificultad que presenta el modelo jerárquico en la representación de los datos es respecto a las bajas, en decir, por ejemplo, si se desea dar de baja a un padre, esto necesariamente implicará dar de baja a todos y cada uno de los hijos que dependen de este padre.
8.- Si desea obtener más información sobre este tema, puede hacer búsqueda en Internet, a través de la siguiente dirección electrónica:
Consulta en la web
http://www.itlp.edu.mx/publica/tutoriales/basedat1/tema6_2.htm En esta dirección se presenta aspectos relacionado al diagrama de estructura de árbol de una base de datos en el modelo jerárquico.
Modelo de datos relacional
Antes de iniciar el estudio de este tema le daremos una explicación breve de la importancia de usar el modelo relacional en el diseño de una base de datos. En este sentido, comencemos por decir que en 1970 el modo en que se veían las bases de datos cambio por completo cuando E. F. Cood introdujo el modelo relacional. Cood planteó una alternativa de las bases de datos jerárquicas y de redes, donde pretendía obtener más flexibilidad y más rigor en el tratamiento de los datos. Por consiguiente, el modelo relacional se ha establecido actualmente como el principal modelo de
datos para las aplicaciones de procesamiento de datos, actualmente consiguió la posición principal debido a su simplicidad, que facilita el trabajo del programador en comparación con los otros modelos descritos anteriormente.
1.- Le recomendamos que lea la tabla 3.2, en ella puede ubicar en el libro- texto de la asignatura, el siguiente contenido: Las características básicas del modelo, las restricciones de integridad, Las operaciones de actualización y el manejo de las violaciones de las restricciones de integridad. Tabla 3.2 TEMA MATERIAL DE REFERENCIA CÁPI- TULO SEC- CIÓN TÍTULO PÁGINAS Modelo de datos relacional Libro-Texto: “Fundamentos de Sistema de Bases de Datos”
7 7.1. 7.2. 7.3. Concepto del modelo relacional Restricciones relacionales y esquemas de base de datos relacionales Operaciones de actualización y tratamiento de las violaciones a las restricciones 186-191 191-197 197-200
2.- Una vez leído el capítulo 7, responda las preguntas de repaso: 7.1 a la 7.10 que se encuentra al final de este capítulo del libro-texto de la asignatura, con el fin de ayudarlo a comprender los conceptos esenciales en la aplicación del modelo conceptual de una base de datos relacional.
5.- lea el ejemplo de la sección 7.1 donde se representa un esquema de relaciones, con los atributos y las tuplas pertenecientes a dicha relación.
6.- Estudie el siguiente ejemplo, en el cual se evidencia la simplicidad de representar un esquema de base de datos relacional mediante una colección de relaciones.
Una tienda de videoclub desea automatizar el proceso de control de préstamos de películas a los socios del club, el cual ha venido haciendo en forma manual y para ello necesita almacenar en una base de datos información referente a: las películas disponibles en el videoclub, los socios registrados para el préstamo y el alquiler de las películas.
Para efectos del diseño de la estructura de la base de datos se debe considerar lo siguiente:
a) Todas las películas asignadas por el videoclub tendrán un código de identificación.
b) Tener en cuenta el tiempo de duración de la película en minuto, con la finalidad de consultar en un momento dado todas las películas que tengan una determinada duración.
c) Las películas tendrán un monto de alquiler diferente, dependiendo si la película es nueva o no en cartelera.
d) Cada socio tendrá un código asignado
e) Poseer un registro de la fecha en que el cliente se asoció al club de video.
f) Tener presente la fecha en la que el socio alquiló la película y la fecha de devolución.
Con base a lo expuesto y al requerimiento de información de la empresa, elabore un estado de relación correspondiente a un esquema llamado VIDEOCLUB de una base de datos relacional, en dicho estado se quiere, mostrar los atributos y tuplas de cada relación.
En este ejemplo se presentan las siguientes relaciones: PELÍCULA, SOCIO y PRESTAMO, pero en este ejercicio se muestra una sola relación, debido a que las demás relaciones tiene un esquema similar.
Nombre
de relación Atributos
PELICULA Código Título Duración Tema Precio F4256 Odisea del espacio 134 Ficción 23.000,00 D4569 El día después 188 Drama 26.000,00 Tuplas
I8907 La escalera de caracol
105 Intriga 15.000,00
Como pudo observar en el ejemplo, en el enfoque relacional, los datos se organizan en tablas llamadas relaciones, cada una de las cuales se implanta como un archivo. En terminología relacional una fila en una relación representa un registro o una entidad; Cada columna en una relación representa un campo o un atributo. Así, una relación se compone de una colección de entidades(o registros) cuyos propietarios están descritos por cierto número de atributos predeterminados implantados como campos.
7.- A continuación se presentan algunos aspectos importantes que le servirán para ampliar un poco más los conocimientos adquiridos hasta ahora
Bases de datos relacionales
La mayoría de los SGBD comerciales actuales están basados en el modelo relacional, mientras que los sistemas más antiguos estaban basados en el modelo de red o el modelo jerárquico. El modelo relacional es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. Además, la información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información. El lenguaje más habitual para construir las consultas en las bases de datos relacionales es el SQL Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los Sistemas de Gestión de Bases de Datos Relacionales (SGBDR). Usted ha podido preciar en el estudio de este tema que una base de
datos relacional está formada por tablas. En este sentido, vamos a definir una tabla como una estructura bidimensional formada por una sucesión de registros del mismo tipo. Si se impone ciertas condiciones a las tablas, se pueden tratar como relaciones matemáticas. De ahí el nombre de este tipo de bases de datos y el hecho de que a las tablas de una base de datos relacional se le denomine tablas relacionales. Las tablas deben cumplir las siguientes condiciones:
o Las tablas están compuestas por filas y columnas.
o Las filas y las columnas, en principio, carecen de orden (p.ej., el orden en el que se muestren las filas y las columnas no importa).
o Las filas sólo se ordenan si se le indica a la base de datos que lo haga, mediante el correspondiente comando. De no ser así, el orden será arbitrario, y puede cambiar en caso de tratarse de una base datos dinámica.
o En ninguna tabla aparecen campos repetidos.
o El orden de las columnas lo determina cada consulta.
o Cada tabla tiene una clave primaria, un identificador único, compuesto por una o más columnas.
o La mayoría de las claves primarias están formadas por una única columna.
o Para establecer una relación entre dos tablas es necesario incluir, en forma de columna, en una de ellas la clave primaria de la otra. A esta columna se le llama clave secundaria. Estos dos conceptos (clave primaria y secundaria) son los más importantes en el diseño de bases de datos. Es importante estudiarlo, para entender bien en qué consisten y cómo funcionan.
a. Es importante saber que las entradas en la tabla tienen un solo valor (son atómicos); no se admiten valores múltiples, por lo tanto la intersección de un renglón con una columna tiene un solo valor, nunca un conjunto de valores.
b. Todas las entradas de cualquier columna son de un solo tipo. Por ejemplo, una columna puede contener nombres de clientes, y en otra puede tener fechas de nacimiento. Cada columna posee un nombre único, el orden de las columnas no es de importancia para la tabla, las columnas de una tabla se conocen como atributos. Cada atributo tiene un dominio, que es una descripción física y lógica de valores permitidos.
c. No existen 2 filas en la tabla que sean idénticas.
d. La información en las bases de datos son representados como