UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO AREA: INGENIERÍA / CARRERA: INGENIERÍA DE SISTEMAS MATERIAL INSTRUCCIONAL DE APOYO NOMBRE: BASE DE DATOS Código: 311 U.C. : 04 CARRERA: Ingeniería de Sistemas Código: 236 SEMESTRE: V AUTOR: Ing. Juana B. Marrero Colmenares (Especialista de Contenido) ASESORES : Ing. Judit Carvallo (Coordinadora de la Carrera) Lic. Carmen Velásquez (Evaluadora) Prof. Antonio Alfonzo ( Diseñador Instruccional) Caracas, Marzo 2006 Base de Datos – 311 2 INTRODUCCIÓN La Universidad Nacional Abierta es una institución que forma profesionales mediante la modalidad de educación a distancia, donde el proceso de enseñanza-aprendizaje no es presencial, es por esta razón que se hace indispensable el uso de un paquete instruccional que sirva de soporte a este proceso, sin embargo, se ha de destacar que los estudiantes cuentan con la ayuda de los asesores de los centros locales para aclarar cualquier duda o inquietud que se les presente. El presente Material Instruccional de Apoyo servirá para complementar el librotexto “Fundamentos de Sistemas de Bases de Datos” y el Plan de Curso. Así mismo orientará al estudiante, de manera didáctica, a seguir fácilmente una secuencia de pasos para el estudio adecuado de las unidades presentes en la estructura del curso, este material se ha organizado de la siguiente manera: a) Para cada módulo se especifican las unidades b) En cada unidad se dará una breve exposición del contenido c) El objetivo de la unidad d) La sinopsis del contenido de cada unidad e) Las recomendaciones que debe seguir el estudiante para el estudio del contenido. Estas recomendaciones incluyen: Tablas: Para que el estudiante ubique cualquier tema en el material de referencia. Recordatorio: Utilizado para enfatizar algunos aspectos importantes de aquellas unidades que así lo requieran. Preguntas ejercicios y actividades a realizar: Le servirán al estudiante para aplicar los conceptos básicos a problemas o situaciones dadas. Estudio de situaciones: mediante la utilización de problemas como ejemplos, ayudará a comprender y compensar sus deficiencias con respecto al tema de interés. Consultas a direcciones electrónicas en la red de Internet: Servirán al estudiante para investigar y profundizar las bases teóricas estudiadas. Sabiendo con antelación que estas páginas pueden caducar en algún momento, se sugiere utilizar un buscador para ubicar otras páginas relativas al tema. Ejercicios o actividades propuestas: Para que el estudiante evalúe su progreso, se incluyen ejercicios propuestos que se recomiendan resolver. Selección de lecturas: Son lecturas que complementarán y ampliaran los conocimientos adquiridos en el libro-texto de la asignatura . Autoevaluación: Para que el estudiante evalúe su progreso, se Incluyen ejercicios propuestos que el estudiante debe realizar y luego compararlos con la respuestas de los mismos. 2 Base de Datos – 311 3 Iconos empleados en el material instruccional A lo largo de la lectura de este material encontrará diversos íconos, cuyo significado se explica a continuación: Ampliación de conocimientos: Está dirigido al estudiante que desea profundizar más en sus conocimientos en un tema determinado. Atención: Se presenta cuando se quiere hacer una aclaratoria, una advertencia o una reflexión sobre algún aspecto del contenido. Consulta en la Web: Indica referencias a páginas Web Consulta en otros libros: Se refiere a un llamado a consulta en libros que no figuran como textos de carácter obligatorio para el curso. Ejercicios o actividades propuestas: son ejercicios o actividades sugeridas a manera de práctica sobre algún tema de la unidad. Ejercicios de autoevaluación: Ejercicios que debe realizar el estudiante. Ejemplo: Es la exposición de un caso alusivo al tema en cuestión y su resolución. Recordatorio: Indica algún aspecto a enfatizar, relacionado con los conocimientos adquiridos previamente por el estudiante. 3 Base de Datos – 311 4 Módulo I Las bases de datos y su contexto El propósito del módulo I es dar a conocer los conceptos de base de datos y su aplicación en la gestión de la información, con ello se pretende que el alumno adquiera los conocimientos básicos relacionados a las bases de datos; para usarlos posteriormente en el diseño y desarrollo del mismo. De igual manera en este primer módulo se dará una visión de la estructura general, los conceptos, objetivos y modelos de datos en los sistemas de bases de datos, es decir se comienza con una amplia introducción al concepto de base de datos, siguiendo por los conceptos y diagrama del modelado Entidad-Relación (E-R) con la finalidad de ilustrar el diseño conceptual de la base de datos y por último lo relacionado con los modelos de datos en Redes, Jerárquico y Relacional. Objetivo del Modulo I: Aplicar los conceptos relacionados con base de datos en la elaboración del modelo Entidad-Relación y los diferentes modelos de datos de manera analítica y lógica. El módulo I está constituido por tres unidades, especificadas de la siguiente manera: Unidad 1: Introducción a los sistemas de Bases de Datos Unidad 2: Modelo Entidad-Relación (E-R) Unidad 3: Modelos de datos. UNIDAD 1: Introducción a los sistemas de base de datos En esta unidad el estudiante podrá adquirir los conocimientos necesarios para entender el funcionamiento básico de cualquier base de datos y la forma de como los datos se organizan en ellas. Así mismo, se dará una orientación del uso del Sistemas de Gestión de Base de Datos (SGBD) donde se presenta la definición, su arquitectura, clasificación, lenguaje y funcionamiento. Por otra parte se exponen los conceptos de modelos de datos, posteriormente se explica el ciclo de vida que atraviesan los sistemas de base de datos, la arquitectura de los sistemas de base de datos, los conceptos de base de datos avanzados y las nuevas aplicaciones. Objetivo de la Unidad 1: Definir los conceptos fundamentales para el uso de las bases de datos. Contenido de la Unidad 1: Se contempla el estudio de los siguientes puntos: Sistemas de Información. Bases de datos. 4 Base de Datos – 311 5 Concepto de SGBD, lenguajes utilizados, ventajas, clasificación, funciones y arquitectura. Modelos de datos. Actores en la escena y trabajadores entre bastidores de la base de datos. Arquitectura de los sistemas de base de datos. Conceptos de bases de datos avanzadas. Recomendaciones para el estudio del contenido de la unidad 1 Sistema de Información 1.- Comenzando con el estudio de la unidad 1 y a objeto de que se tenga una visión amplia del primer tema tratado (Sistema de Información) a continuación le presentamos el contenido de ella: a) Cualidades de la información b) Concepto de Sistema de Información (SI) c) Componentes de un Sistema de Información d) Sistemas de Información para la gestión y la ayuda a la decisión; estos temas se encuentran ubicados en la lectura Nº 1.1 e) El papel de los Sistemas de Información en la organización, situado en el libro-texto: “Fundamentos de Sistemas de Bases de Datos”. 2.- Observe cuidadosamente la tabla 1.1, en ella puede ubicar el tema en el material de referencia, bien sea, en la lectura y en el libro-texto de la asignatura, donde se muestra el capítulo, sección, título y páginas. 5 Base de Datos – 311 6 Tabla 1.1 TEMA MATERIAL DE REFERENCIA CÁPITULO SECCIÓN Cualidades de información. Lectura Nº 1.1 Sistemas Información TÍTULO PÁGINAS la de Libro-Texto:“ Fundamentos de Sistemas de Bases de Datos” 16 16.1 El papel de los sistemas de información en la organización 498-501 3.- Elabore un concepto de Sistema, recordando el concepto que usted vio en la asignatura “Introducción a la Ingeniería de Sistemas” y la definición que se encuentra en la sección 3 de la lectura Nº 1.1. 4.- Con el objeto de tener una visión conceptual de lo que significa Sistema de Información y poder definirlo con sus propias palabras, apóyese en las definiciones presentadas en la sección 3.2 “ Conceptos de Sistemas de Información” de la lectura Nº 1.1 “Cualidades de la información” donde se plantean tres definiciones de los autores Langefors (1997), Nteicheroew (1976), Miguel y Piattini (1999). Discuta con sus compañeros de estudio la definición elaborada y en caso de dudas consulte al asesor de su centro local. 5.- Es importante entender la incidencia de las bases de datos en los Sistemas de Información, para ello plantee la relación que existe entre ellos, tome nota para discutirlo posteriormente con sus compañeros de estudio. 6.- Avancemos un poco más, ofreciéndole algunos puntos que le servirán para ampliar los conocimientos adquiridos hasta ahora. Ciclo de vida de los sistemas de información Desde los años setenta, los sistemas de bases de datos han ido reemplazando a los sistemas de archivos en los sistemas de información de las empresas. Al mismo tiempo, se ha ido reconociendo la gran importancia que tienen los datos que éstas manejan, convirtiéndose en uno de sus recursos más importantes. Esto ha hecho que muchas empresas tengan departamentos que se encarguen de gestionar toda su 6 Base de Datos – 311 7 información, que estará almacenada en una base de datos. Aparecen los papeles de administrador de datos y administrador de la base de datos, que son las personas encargadas de supervisar y controlar todas las actividades relacionadas con los datos de la empresa y con el ciclo de vida de las aplicaciones de bases de datos, respectivamente. Un sistema de información está formado por los siguientes componentes: 9 La base de datos. 9 El SGBD. 9 Los programas de aplicación. 9 Los dispositivos físicos (computadores, dispositivos de almacenamiento, etc.). 9 El personal que utiliza y que desarrolla el sistema. La base de datos es un componente fundamental de un sistema de información. El ciclo de vida de un sistema de información está ligado al ciclo de vida del sistema de base de datos sobre el que se apoya. Al ciclo de vida de los sistemas de información también se le denomina ciclo de vida de desarrollo del software. Las etapas típicas del ciclo de vida de desarrollo del software son: planificación, recolección y análisis de los requisitos, diseño (incluyendo el diseño de la base de datos), creación de prototipos, implementación, prueba, conversión y mantenimiento. Este ciclo de vida hace énfasis en la identificación de las funciones que realiza la empresa y en el desarrollo de las aplicaciones que lleven a cabo estas funciones. Se dice que el ciclo de vida de desarrollo del software sigue un enfoque orientado a funciones, ya que los sistemas se ven desde el punto de vista de las funciones que llevan a cabo. Por esta razón, el análisis estructurado hace énfasis en los diagramas de flujo de datos, siguiendo el movimiento de los datos a través de una secuencia de transformaciones, y refinando éstas a través de una serie de niveles. Lo mismo ocurre en el diseño estructurado, que ve a un sistema como una función que se descompone sucesivamente en niveles o subfunciones. 7.- En este momento ya usted ha concluido la revisión del tema Sistemas de Información (SI), por lo tanto, a continuación le presentaremos algunos aspectos importantes que deben recordar con respecto a lo estudiado hasta ahora. Recordatorio • Además de existir los sistemas de información (SI) de las organizaciones o empresas, también encontramos Sistemas de Información personal, pero en este curso nos centraremos en los Sistemas de Información de las organizaciones. 7 Base de Datos – 311 8 • Un Sistema de Información (SI) ha de tomar los datos del entorno y sus resultados han de ser la información que la organización (empresa o cualquier tipo de institución pública o privada). necesita para su gestión y toma de decisión. • Para el estudio de los SI es importante tener claro el significado de la palabra "información” ya que es el soporte de la transferencia de conocimiento, además de ser la clave para la investigación, la planificación y la toma de decisiones para una comunicación precisa, oportuna, completa y adaptada a las necesidades especificas de cada usuario y de cada circunstancia. • Cuando se están haciendo los estudios que lleven a la implantación de un Sistema de Información, es preciso tener muy en cuenta varios requisitos que da la información y así buscar el punto de equilibrio permitiendo alcanzar los objetivos del sistema a un precio aceptable, ya que mientras más cualidades reúna la información, más se incrementa su valor de obtención y tratamiento. • Las cualidades que debe poseer la información y que hacen de ella un recurso fundamental de la organización y de los individuos, son básicamente: La precisión, la oportunidad, la compleción, el significado e integridad. En caso de no recordar algunas de estos aspectos, revise de nuevo la lectura 1.1 “Cualidades de la información”. • Para organizar los puntos estudiados y obtener una mayor comprensión de ellos, se sugiere hacer uso de un mapa conceptual que lo ayude a visualizar en forma gráfica y de una manera organizada, los tópicos de este primer tema. • Por lo general el macro ciclo de vida incluye las siguientes fases: análisis de factibilidad; obtención y análisis de requisitos; diseño; implementación; validación y prueba de aceptación y despliegue; operación y mantenimiento. Base de Datos 1.- Una vez comprendido el tema “Sistemas de Información”, proceda a realizar el estudio del segundo contenido de la unidad 1 y para ello se presenta a continuación la tabla 1.2 donde se pueden ubicar los tópicos en el material de referencia, es decir, las lecturas y el libro-texto de la asignatura, donde se muestra el capítulo, las secciones, los títulos y las páginas. . 8 Base de Datos – 311 9 Tabla 1.2 TEMA MATERIAL DE REFERENCIA Base de datos CÁPI- SECTULO CIÓN TÍTULO PÁGINAS Lectura Nº 1.2 Visión de datos Lectura Nº 1.3 Concepto de base de datos ¿Qué es un sistema de base de datos? Lectura Nº 1.4 Libro-Texto: “Fundamentos de Sistema de Bases de Datos” 1 1.1 Introducción 4-5 1.2 Un ejemplo 5-7 1.3 Características del enfoque de base de datos. 7-11 2.- Una vez estudiadas las lecturas Nº 1.2 y Nº 1.3, usted estará en capacidad de comprender los conceptos de: Datos, Base de Datos y Sistemas de Bases de Datos. 3.- La tabla que se presenta a continuación es una actividad que tiene como propósito ofrecerle una guía para ejercitarse en el conocimiento de los términos mencionados anteriormente; lo invitamos a responder con mucho cuidado lo que se le presenta y tomar nota para discutirlo posteriormente con sus compañeros de estudio: Términos Pregunta Actividad a realizar ¿Como define usted a)Establezca diferencias entre Datos Datos? datos y base de datos. ¿Como define usted b) Establezca diferencias entre el enfoque de base de datos y “Base de datos”?. Base de datos ¿Por qué utilizar una el enfoque tradicional de programación con archivos. base de datos? ¿Cuáles son las c) Determine cuales pueden ser las ventajas de las bases principales características de una de datos frente a los sistemas informáticos tradicionales. base de datos? d) Establezca diferencias entre ¿Cómo define un Base de datos y Sistemas de Sistema de Base de Sistema de Base de base de datos. e) Determine cuales pueden datos datos? ser los posibles inconvenientes de usar una base de datos. 9 Base de Datos – 311 4..- 10 A continuación te ofrecemos un ejemplo para entender la función de la tecnología de las bases de datos en los negocios o en una organización, se sugiere que lea con detenimiento cada uno de las situaciones presentadas. Ejemplo : Funcionamiento de las bases de datos en los negocios a) Primera situación. Considere un ambiente de base de datos instalado en un computador personal y el planteamiento siguiente relacionado al mismo: Una pequeña compañía dedicada a la pintura profesional, integrada por la señora Ana López, otro pintor profesional y cuando es necesario, pintores contratados a medio tiempo. Ana ha estado en el negocio por mucho tiempo, ganando buena reputación como pintora de calidad y trabajando con precios razonables. Gran parte de sus trabajos los consigue con clientes que la han contratado antes y por referencias personales. Además, Ana obtiene algún trabajo por medio de contratistas de edificios y de diseñadores profesionales de interiores. Los clientes recuerdan a la señora Ana, mejor de lo que ella los recuerda a ellos, por esta razón ella se siente avergonzada cuando un cliente la llama para que pinte su casa o para que pinte la casa de un amigo, Ana sabe que debería recordar al cliente y el trabajo que realizó para el, pero como pinta mas de cincuenta casas por año, le cuesta trabajo acordarse. En vista de lo sucedido, la señora Ana necesita mantener una mejor secuencia en sus registros de negocios, para ello buscó un asesor que desarrollara una base de datos y una aplicación que ella emplee en su computadora personal. La base de datos almacenará los registros de los clientes, de los trabajos y de las referencias, como se muestra en el ejemplo de la figura 1. En este caso, Ana necesita tener una aplicación donde se relacionen entre sí los clientes, los trabajos y las referencias, como se muestra en la figura 1, Por ejemplo, ella requiere saber cuáles trabajos se ha hecho para un cliente en particular o cuáles clientes han sido recomendados por una persona en particular. Para solventar tal necesidad, el asesor de Ana creó una aplicación de base de datos que procesa formas de entrada para los datos (representación de las tablas en la pantalla del computador) y así, por ejemplo, Ana puede teclear por pantalla (con la forma diseñada en el computador) el nombre del cliente y su número de teléfono y de esta manera, la aplicación de la base de datos recupera la información apropiada y los despliega de una manera, en donde Ana pueda determinar cuáles trabajos ha hecho a sus clientes. Además, los registros que son almacenados en las tablas llamadas “clientes, trabajos y referencias” tienen sus datos cruzados y están vinculados uno a otro, como se muestra en la figura 1. De modo tal, que en la tabla llamada “TRABAJOS” se encuentra el código del cliente y es el mismo código que identifica al cliente que encargó el trabajo. A su vez, en la tabla “CLIENTES”, cada cliente contiene el código de 10 Base de Datos – 311 11 identificación de la persona que lo recomendó, de igual manera son usados los datos cruzados que se encuentran vinculados uno a otro en las tablas, por ejemplo, para desarrollar la aplicación y producir la pantalla en la que se presentan todos los datos del cliente, los trabajos realizados a este cliente y el nombre de la persona que sugirió contratar el trabajo de Ana. Figura 1: tablas de datos Tabla: CLIENTES Código-C Nombre-C Área Teléfono Dirección Estado Código-R Tabla: TRABAJOS Código-T Fecha-T Descripción Montocrédito Monto- Código-C contado Tabla: REFERENCIA Código-R Nombre CódigoÁrea Teléfono Nota: Como usted pudo apreciar, en la situación presentada, no es posible que la señora Ana conozca como diseñar las tablas, como usar un SGBD para crearlas y como desarrollar la aplicación que permita obtener los datos de las tablas generadas. b) Segunda Situación. Existen otras bases de datos que tienen más de un usuario, pero menos de veinte o treinta usuarios en total, contiene una cantidad de datos moderada, es la otra situación que se verá a continuación: Una empresa que vende y renta botes de navegación llamada “La Navegación”, tiene dos socios a tiempo completo, cuatro vendedores y un administrador de oficinas. La empresa mantiene su propia marina y conserva la mayoría de los botes que tiene para venta. Sus vendedores también cooperan con el personal de otros negocios para vender botes que no forman parte de su propio inventario. 11 Base de Datos – 311 12 La navegación mantiene una base de datos para registrar a sus clientes y las ventas realizadas, los botes para venta y otros datos de interés para los vendedores. La base de datos es compartida por todo el personal de la oficina y se localiza en un servidor de red de área local, es decir, un computador central que es el servidor de base de datos, dos computadoras de los socios, una computadora del asistente administrativo y cuatro computadoras de los vendedores. Se creó un aplicación de base de datos donde se procesan dos formas (representación de tablas en la pantalla del computador) y son usadas por los vendedores de la empresa; en la primera forma se presenta información concernientes a un tipo particular de bote, incluyendo los clientes que se encuentran interesados en comprarlo y las embarcaciones de ese tipo que también están en venta. La segunda forma se presenta cuando el vendedor seleccione en la primera forma al cliente interesado en comprar un bote en particular. La segunda forma contiene datos sobre un cliente en particular, información de los tipos de botes que esa persona pudiera comprar y la lista de los yates – si tal es el caso – de las que ese cliente es propietario. La base de datos requerida para sustentar las dos formas mencionadas anteriormente, es más complicada que la usada por Ana (en la primera situación), ya que se diseñan varias tablas para generar las formas. Estas tablas hacen referencia una a otra de la misma manera en que lo hacían las tablas que se crearon en la primera situación. Se diseña por ejemplo una tabla llamada TIPO_BOTE, que proporciona información de los botes que han sido comprados en las compañías que lo fabrican, reflejando así en dicha tabla información, como: el código del bote, compañía que lo produce, el monto del bote, etc. De igual manera, existe otra tabla llamada BOTE-NAVEGACIÓN donde se encuentra datos con respecto a los botes de navegación que están en venta. Además ambas tablas están vinculadas a través del “código del bote”. También se crea la tabla CLIENTE que se relaciona con la tabla VENDEDOR por tener el número del vendedor asignado a un cliente. Hay una tabla que solo se usa para registrar cuales clientes están interesados en los modelos de embarcación. Por consiguiente se demuestra que la aplicación de base de datos obtiene datos de las tablas y los relaciona para crear las formas. c) Tercera Situación. A continuación considere usted una aplicación todavía mayor de la tecnología de bases de datos. Este ejemplo concierne a una oficina estatal de licencias y registros de vehículos. Tiene cincuenta y dos centros que realizan pruebas de manejo, emiten y renuevan licencias y también treinta y siete oficinas que venden registros de vehículos. El personal de esta oficina posee acceso a una base de datos para realizar sus labores. Antes de emitir o renovar una licencia de manejo, se verifica en la base de datos el registro de esa persona, en busca de posible violaciones de transito, accidentes o arrestos. Estos datos se usan para determinar si la licencia puede renovarse. De ser así, se deben incluir ciertas restricciones, de igual manera, el personal del departamento de registro de vehículos tiene acceso a una base de datos 12 Base de Datos – 311 13 para determinar si un auto ha sido registrado antes y por quien, o si existe alguna situación importante que prohíba el registro. Esta base de datos posee cientos de usuarios, comprende no sólo al personal de licencias y de registros sino también a la gente en el departamento estatal de impuesto y de cumplimiento de la ley. La base de datos es grande y compleja, con más de cuarenta diferentes tablas de datos, ya que se trabaja con cientos de usuarios. Nota General: La intención de presentar estos tres casos es que usted pueda estar al corriente de la importancia de saber usar la tecnología de la base de datos en cualquier situación que se le presente para desarrollar un sistema computarizado. La presentación de estos tres ejemplos le demuestra que se pueden utilizar aplicaciones diferentes, donde cada una tiene sus propias formas o representación de tablas en pantalla. Es importante mencionar que en este tópico usted no debe preocuparse por el manejo de tablas y la relación que debe existir en ella ya que en la medida que este curso se vaya desarrollando, se le dará las herramientas necesarias para diseñar y manipular estas tablas. 5.- Como habrás podido observar, las bases de datos ocupan un papel importante cuando se quiere utilizar métodos y técnicas de almacenamiento de información, además, constituyen una parte fundamental de los Sistemas de Información, necesaria en la gestión de los recursos de información de una organización. Ahora, avancemos un poco más, dándole algunos puntos que le servirán para ampliar los conocimientos adquiridos hasta ahora. Evolución de las Bases de datos En el momento de la evolución de los Sistemas Operativos se produjo la ejecución de varias aplicaciones al mismo tiempo, ocurriendo así un gran números de dificultades, ya que a medida que se iban desarrollando aplicaciones se creaban simultáneamente nuevos archivos y así, gran número de datos eran almacenados en muchos archivos diferentes, trayendo consecuencias negativas, tales como la exigencia de mucho espacio y múltiples actualizaciones del mismo dato. Fue así que surgió la necesidad de integrar al máximo los archivos por lo que ha llevado al hombre a crear herramientas que le permitan almacenar, clasificar y utilizar grandes cantidades de información, con el fin de agilizar las operaciones que se tengan que realizar con ella; las bases de datos son herramientas de este tipo y con frecuencia se acuden a ellas para realizar una gran cantidad del trabajos que se generan en las empresas. Cuando en 1970, el Dr. Codd propuso el modelo relacional1, no podía pensar que lo que se consideraba más bien una elegante teoría 1 El modelo Relacional se estudiará en el Modulo I, unidad 3 “Modelos de datos”. 13 Base de Datos – 311 14 matemática sin posibilidad de implementación eficiente en productos comerciales iba a convertirse, en los años ochenta, en la segunda generación de productos de bases de datos, que actualmente domina el mercado. En los últimos años venimos asistiendo a un avance espectacular en la tecnología de bases de datos: multimedia, activas, deductivas, orientadas a objetos, seguras, temporales, móviles, paralelas, etc. Esta nueva generación (la tercera) se caracteriza por proporcionar capacidades de gestión de datos, objetos y gestión de conocimientos pretendiendo responder a las necesidades de aplicaciones tales como: CASE (Ingeniería del software asistida por computadores), SIG (sistemas de información geográfica), aplicaciones científicas, sistemas médicos, publicación digital, educación y formación, sistemas estadísticos, comercio electrónico, etc. A la hora de clasificar estos avances en el campo de las bases de datos, se pueden identificar tres dimensiones: - Rendimiento: Hay que tener en cuenta que los datos almacenados en bases de datos crecen de forma exponencial, ya se empieza a hablar de base de datos “petabytes” (10 15 ). Además, los avances en el hardware y el bajo costo del mismo determinan de forma importante la evolución de las bases de datos, Dentro de esta dimensión, destacan los siguientes tipos de tecnologías: bases de datos paralelas, bases de datos en tiempo real y base de datos en memoria principal. - Inteligencia: La funcionalidad de las bases de datos ha ido aumentando de forma considerable, ya que gran parte de la “semántica” de los datos que se encontraba dispersa en los programas ha ido migrando hacia el servidor de datos. Surgen así las bases de datos activas, deductivas, orientadas a objetos multimedia, temporales, seguras, difusas y los almacenes de datos (datawarehousing) y la minería de datos (datamining). - Distribución: El avance espectacular de las comunicaciones así como la difusión cada día mayor del fenómeno Internet/Web, ha evolucionado el mundo de las bases de datos. También la aparición de la “Informática móvil” o “computación nómada” obliga a replantearse algunos conceptos fundamentales de las bases de datos. En esta dimensión se puede destacar las siguientes tecnologías: bases de datos distribuidas, federadas y multibases de datos; bases de datos móviles, etc. Concepto de Bases de datos • Como usted pudo observar al estudiar este tema que las bases de datos surgen como alternativa a los sistemas de archivos, intentando 14 Base de Datos – 311 15 eliminar o al menos reducir sus inconvenientes, ya que la un sistema basado en archivo los datos no se comparten a diferencia de un sistemas de bases de datos. Hay que pensar que si no se compartiesen los datos, en una organización cada grupo o departamento tendrían sus archivos de datos y así cada grupo se beneficiará sólo de sus propios datos. Es por esta razón que a continuación se van ha exponer algunos requisitos que cumpla un sistema de bases de datos: o Acceso múltiple: Diversos usuarios pueden acceder a la base de datos, sin que se produzcan conflictos, ni visiones incoherentes. o Utilización múltiple: Cada usuario podrá tener una imagen o visión particular de la estructura de la base de datos. o Flexibilidad: Se podrán usar distintos métodos de accesos, con tiempos de respuesta razonablemente pequeños. o Confidencialidad y seguridad: Se controlará el acceso a los datos (a nivel de campo), impidiéndoselo a los usuarios no autorizados, es decir, habrá usuarios que podrán acceder a unos datos y a otros no. o Protección contra fallo: Existirán mecanismos concretos de recuperación en caso de fallo de la computadora. o Independencia física: Se puede cambiar el soporte físico de la base de datos (modelo de disco por ejemplo), sin que esto repercuta en la base de datos ni en los programas que la usan. o Redundancia controlada. Los datos se almacenan una sola vez en la base de datos. o Interfaz de alto nivel. Existe una forma sencilla y cómoda de utilizar la base de datos al menos desde un lenguaje de programación de alto nivel. o Interrogación directa (Queri). Existe una utilidad que permite el acceso de los datos de forma conversacional. • El efecto de combinar los datos en una base de datos produce sinergia; es decir, los datos combinados tienen más valor que la suma de los datos en los archivos por separado. Esto no sólo permite que cada grupo continúe teniendo acceso a sus datos, sino que, bajo límites razonables de control, también pueden tener acceso a los otros datos. • Un sistema de base de datos está formado por los siguientes componentes: o Datos: Las características más importantes de la información en estos sistemas es que va a estar integrada y compartida. Integrada: La Base de datos puede considerarse como una unificación de varios archivos de datos, que son tratados como uno solo, y en el que se ha eliminado totalmente, o en parte, la redundancia de datos. Compartida: Los datos pueden compartirse entre varios usuarios distintos; es posible que 15 Base de Datos – 311 16 varios de estos usuarios accedan al mismo tiempo al mismo elemento de información (acceso concurrente). o Equipo (Hardware): Conjunto de dispositivos físicos utilizados para almacenar y procesar los datos. computadores: pueden ser mainframe, minicomputador u computador personal. El mainframe y los minicomputadores fueron utilizados tradicionalmente para soportar el acceso de varios usuarios a una base de datos común. Los computadores personales eran empleados, inicialmente, para manejar bases de datos autónomas controladas y manipuladas por un usuario único. No obstante, actualmente, también pueden conectarse a una red cliente/servidor, garantizando el acceso de varios usuarios a una base de datos común almacenada en unidades de disco y controladas por un computador servidor. El servidor puede ser otro computador personal más potente, o bien, un minicomputador o un mainframe. Volúmenes de almacenamiento: Generalmente son unidades de disco que constituyen el mecanismo de almacenamiento principal para las bases de datos. Otros dispositivos, como unidades de cinta, terminales, impresoras, etc. o Programas (Software). Un sistema de base de datos incluye dos tipos de programas: El software de propósito general, para la gestión de la base de datos, comúnmente llamado Sistema Gestión de Bases de Datos (SGBD., o también DBMS, en inglés). El SGBD maneja todas las solicitudes de acceso a la base de datos formuladas por los usuarios y los programas de aplicación. El software de aplicación, que usa las facilidades del SGBD para manipular la base de datos con el fin de llevar a cabo una función específica en la gestión de la empresa (por ejemplo: la gestión de almacén). Puede estar desarrollado en un lenguaje de programación estándar, tal como COBOL o C, o en un lenguaje propio de los SGBD denominados lenguajes de cuarta generación (4GL). o Personal. En un sistema de base de datos intervienen un número importante de usuarios, que podemos clasificar en dos grupos: las personas cuyo trabajo requiere empleo cotidiano de una base de datos grande y aquellos que trabajan para mantener el entorno del sistema de base de datos, pero que no tienen un claro interés en la base de datos en sí misma. Más adelante cuando se trate el tema “Actores en la escena y trabajadores entre bastidores” se estudiarán las funciones de cada uno de estas personas involucradas en una base de datos. 6.- Es indudable que en este instante usted ha concluido la lectura referente a las bases de datos, pudiendo reforzar por escrito a través de un resumen o un mapa conceptual (fue recomendado al comienzo de la unidad), los conceptos y aspectos más relevantes con el objeto de 16 Base de Datos – 311 17 recapitular si se presenta cualquier duda. Para ayudarlo un poco más en su conocimiento, a continuación se darán algunos aspectos generales que debe recordar al realizar el estudio de las lecturas 1.2, 1.3, 1.2 y el capítulo 1 del libro-texto de la asignatura. Aspectos a enfatizar • Se le recuerda al estudiante que lea el ejemplo del capitulo 1 sección 1.2. presentado en el texto donde se describe una base de datos “UNIVERSIDAD” que contiene información sobre estudiante, cursos, calificaciones en el entorno universitario. • Para diferenciar las características del enfoque tradicional de programación con archivo y el enfoque de bases de datos, se sugiere leer la sección 1.3 del texto, además se muestra un ejemplo de aplicación con archivo. • En la próxima unidad se tratará lo relacionado a los Sistemas de Gestión de Base de Datos que es un punto importante para las bases de datos, pero para este apartado se le recuerda estudiar el tema con respecto a “los distintos niveles de abstracción de una base de datos” donde se da una visión general de este aspecto, sin entrar en detalle. El Sistema de Gestión de Base Datos 1.- Concluido el tema “Bases de datos “, prosiga con el estudio del tercer contenido de la unidad 1 y para abordar este tema se le presenta a continuación la tabla 1.3, en ella puede ubicar fácilmente en el material de referencia (las lecturas y libro-texto de la asignatura) el contenido de este tema. 17 Base de Datos – 311 18 Tabla 1.3 TEMA MATERIAL DE REFERENCIA CÁPI- SECTULO CIÓN Sistema de Gestión de Base Libro-Texto: “Fundamentos de de Datos Sistema de Bases de Datos” (SGBD) 2 TÍTULO PÁGINAS 1.6. Ventaja de utilizar un SGBD 14-17 1.7. Implicación del enfoque de bases de datos 18 1.8. cuando no utilizar un SGBD 18-19 Arquitectura de un SGBD e independencia de datos 27-28 2.3 Lenguaje e interfases de base de datos. 29-31 2.4 El entorno del sistema de base de datos. 2.5 Clasificación de los SGBD. 2.2 32-34 35-36 Lectura Nº 1.5 Lectura Nº 1.6 Lectura Nº 1.7 Lectura Nº 1.8 Lectura Nº 1.9 Conceptos principales funciones de un SGBD. Lenguaje SGBD. de y los Otras facilidades proporcionadas por los SGBD. Interacción del usuario con el Sistema de Gestión de la Base de Datos. Funcionamiento del SGBD: Interacción con el sistema operativo. 18 Base de Datos – 311 2.- 19 Para que usted tenga un enfoque conceptual y pueda producir una definición de un SGBD, se presenta a continuación un cita textual relacionado con este tema de los autores Elmasri y Navathe (2000). “ Un Sistema de Gestión de Base de Datos (SGBD en inglés database management system o DBMS) es una colección de programas que permiten a los usuarios crear y mantener una base de datos” . 3.- Basándose en la definición anterior y sustentando lo estudiado en las lecturas 1.5, 1.6, 1.7, 1.8, 1.9 y el capítulo 2 del libro-texto de la asignatura, usted estará en capacidad de responder con sus propias palabras las siguientes preguntas: • • Explique el propósito de un SGBD ¿Por qué el SGBD es una herramienta indispensable en los sistemas de base de datos? • ¿Cuáles son las ventajas de utilizar un SGBD?. • Explique las funciones que ha de cumplir un SGBD. • ¿Cuándo no se debe utilizar un SGBD? • Describa brevemente la interacción del SGBD con el Sistema Operativo a la hora de insertar datos en la base de datos. Una vez contestada todas las preguntas, discútalas con sus compañeros de estudio y en caso de dudas consulte al asesor de su centro 4.- Ahora, avancemos un poco más, en tal sentido le ofrecemos algunos puntos que servirán para ampliar los conocimientos adquiridos hasta ahora. Tareas que realiza un SGBD El objetivo principal de una base de datos es, almacenar grandes cantidades de datos organizados siguiendo un determinado esquema o modelo de datos que facilite su almacenamiento, recuperación y modificación, sin embargo éstos sólo pueden realizarse de manera efectiva en el marco de un Sistema de Gestión de Bases de Datos (SGBD). Concretamente, un SGBD debe permitir la realización de las siguientes tareas: - Definición del esquema de la base de datos. Una vez diseñado el esquema de la base de datos, hemos de describirlo mediante un conjunto de instrucciones. esto se realiza mediante un lenguaje específico, denominado lenguaje de descripción de datos (LDD). - Acceso de la información desde un lenguaje de alto nivel. Esto se realiza mediante un lenguaje específico, denominado lenguaje de manipulación de datos (LMD). 19 Base de Datos – 311 - - 5.- 20 Interrogación (o recuperación de la información) directa de modo conversacional. El SGBD debe incorporar una interfaz de usuario a través de la cual se introduce sentencias de LMD directamente desde un terminal para obtener información interactiva. Gestión de archivo. Función realizada por un modulo denominado gestor de archivo que se encarga de la comunicación con el sistema operativo. Además, realiza otras funciones, tales como control de usuario, recuperación de la información tras fallos del sistema, organización física de la base de datos, control de seguridad y privacidad de información y gestión de accesos concurrentes. Las tres primeras funciones se realizan mediante dos lenguajes específicos: Lenguaje de Manipulación de Datos y Lenguaje de Descripción de Datos. En este momento consideramos que ha finalizado el estudio de este tema y por ello se sugiere desarrollar un mapa conceptual que lo ayude a organizar y representar sus ideas. A continuación le proporcionamos varios aspectos que debe recordar una vez que haya adquirido los conocimientos necesarios, además le ayudará a clarificar los conceptos relevantes que no están presente en su instrumento de aprendizaje. Aspectos para Recordar • Las ventajas que ofrece un SGBD para ayudar en el diseño, administración y utilización de una base de datos son las siguientes: ¾ Controla la redundancia de los datos almacenados en la base de datos. ¾ Restricciones de accesos no están autorizados. ¾ Suministro de almacenamiento persistente de objetos y estructuras de datos de programas. ¾ Capacidad de realizar inferencias y acciones usando reglas ¾ Suministro de múltiples interfases de usuarios ¾ Representación de relaciones complejos entre los datos ¾ Imposición de restricciones de integridad. ¾ Suministro de respaldo y recuperación. • Algunas ventajas adicionales que ofrece el enfoque de base de datos y que no tienen los sistemas tradicionales de procesamientos de archivos: ¾ Potencial para imponer normas ¾ Tiempo reducido para el desarrollo de aplicaciones ¾ Flexibilidad ¾ Disponibilidad de información actualizada para todos los usuarios ¾ Economías de escala. 20 Base de Datos – 311 6.- 21 • Hay tres características importantes inherentes a los sistemas de bases de datos: la separación entre los programas de aplicación y los datos, el manejo de múltiples vistas por parte de los usuarios y el uso de un catálogo para almacenar el esquema de la base de datos. Se propuso una arquitectura de tres niveles para los sistemas de bases de datos, que resulta muy útil a la hora de conseguir estas tres características. El objetivo de la arquitectura de tres niveles es el de separar los programas de aplicación de la base de datos física. En esta arquitectura, el esquema de una base de datos se define en tres niveles de abstracción distintos: Nivel interno, nivel conceptual y nivel externo o de vista. En el estudio de esta sección es importante que el estudiante comprenda la función que tiene cada uno de estos niveles. • Para definir el esquema conceptual de la base de datos se utiliza el Lenguaje de Definición de Datos (o LDD, del inglés Data Description Language) y para especificar las recuperaciones y actualizaciones de la base de datos se usa el Lenguaje de Manipulación de Datos (o LMD, del inglés Data Manipulation Language). En esta sección, ten en cuenta la función que tienen cada uno de estos lenguajes. • Además de las facilidades suministradas por los lenguajes de definición y de manipulación, los distintos SGBD proporciona otros medios suplementarios para simplificar tareas de mantenimiento y salvaguarda de la base de datos, así como para ayudar a los distintos usuarios a obtener el máximo provecho de los datos contenidos en la misma. Se trata de un conjunto de programas o procedimientos para la carga de archivos, reorganización de la base, obtención de copia de seguridad, generadores de listados o tablas, etc. • Se clasifica los SGBD según varios criterios: el modelo de datos, el número de usuario, el número de sitios, el costo, el tipo de camino de acceso y su generalidad. La principal clasificación de los SGBD se base en el modelo de datos, que es un tema que se tratará mas adelante en al sección 1.4. Si desea obtener más información en los temas estudiados, puede hacer búsqueda en Internet, a través de la siguiente dirección electrónica: Consulta en la web http://tramullas.com/documatica/2-4.html Encontrará aspectos relacionados a los SGBD http://tramullas.com/documatica/2-2.html Encontrará aspecto relacionado al modelo de arquitectura de base de datos. 21 Base de Datos – 311 22 http://www.eubd.ucm.es/html/personales/enred/mantonia/docauto/tema5/ tema5.htm Contiene conceptos y característica de los Sistemas de Gestión de bases de datos Modelos de Datos 1.- Continuando con la Unidad 1 “Introducción a los sistemas de bases de datos “ abordamos el cuarto punto “concepto de modelo de datos” y para comenzar con el estudio examine la tabla 1.4 presentada a continuación, en ella se muestra la lectura Nº 1.10 donde se encuentra las siguientes secciones: Definición de modelo de datos, las restricciones de integridad en los modelos de datos, clasificación de los modelos de datos, los modelos de datos en el diseño de la bases de datos; además se presenta, en el libro-texto: “Fundamentos de Sistema de Bases de Datos”, los Modelos de datos esquemas e instancia. Tabla 1.4 TEMA MATERIAL DE REFERENCIA CÁPI- SECTULO CIÓN Modelo de datos Lectura Nº 1.10 Libro-Texto: “Fundamentos de Sistema de Bases de Datos” TÍTULO PÁGINAS Concepto de modelo de datos 2 2.1 Modelo de esquemas instancia datos, e 24 - 27 2.- En el tema “Base de datos” usted estudio el significado de “datos” ahora para abordar este tema le daremos una definición de modelo: “ Un modelo es una representación de la realidad que contiene las características generales de algo que se va a realizar. “. 3.- Apoyándose en las definiciones: datos y modelo y lo estudiado con respecto a modelo de datos, establezca diferencias entre estos tres términos. Discuta estas diferencias con sus compañeros de estudio. 4.- Una vez aclarado lo que es modelo de datos, prosiga leyendo el ejemplo que se presenta a continuación que le servirá de soporte para entender la importancia de un modelo de datos en la descripción de la estructura de una base de datos. 22 Base de Datos – 311 23 Ejemplo: modelo de datos Pregunta: Explique como se clasifica un modelo de datos y la función que cumple cada uno de estos modelos. Respuesta: Los modelos de datos se pueden clasificar dependiendo de los tipos de conceptos que ofrecen para describir la estructura de la base de datos, en: modelos de datos de alto nivel, o modelos conceptuales, disponen de conceptos muy cercanos al modo en que la mayoría de los usuarios percibe los datos, estos modelos utilizan conceptos como entidades, atributos y relaciones. Los modelos de datos de bajo nivel, o modelos físicos, proporcionan conceptos que describen los detalles de cómo se almacenan los datos en el computador, es decir, el formato de los registros, la estructura de los archivos (desordenados, ordenados, etc.) y los métodos de acceso utilizados (índices, etc.) Los conceptos de los modelos físicos están dirigidos al personal informático, no a los usuarios finales. Los modelos lógicos, cuyos conceptos pueden ser entendidos por los usuarios finales, aunque no están demasiado alejados de la forma en que los datos se organizan físicamente. Los modelos lógicos ocultan algunos detalles de cómo se almacenan los datos, pero pueden implementarse de manera directa en un computador. Cada SGBD soporta un modelo lógico, siendo los más comunes el relacional, el de red y el jerárquico. Estos modelos representan los datos valiéndose de estructuras de registros, por lo que también se denominan modelos orientados a registros. Hay una nueva familia de modelos lógicos, son los modelos orientados a objetos, que están más próximos a los modelos conceptuales. 5.- Basándose en el ejemplo anterior y lo estudiado en la lectura Nº 1.10 y el capítulo 2 del texto, usted estará en capacidad de responder con sus propias palabras las siguientes preguntas: • Defina un modelo de datos. • Determine cuales son los objetivos de los modelos de datos. • ¿Qué entiende usted por esquema de la base de datos?. • Explique la diferencia entre esquema y ocurrencia del esquema. Ponga un ejemplo. • Explique la diferencia entre modelo externo, global e interno. • Explique las diferentes características que presentan los modelos conceptuales y los modelos convencionales. • ¿Qué entiende por estructura de un modelo de datos?. 23 Base de Datos – 311 • 24 Los modelos de datos conceptuales utilizan conceptos como: entidades, atributos y relaciones. Explique que representa cada uno de estos elementos dentro del modelo de datos 6.- Finalizado el estudio de este tema, vamos a presentar algunos puntos importantes que deben recordar con respecto a lo estudiado hasta ahora, en caso de no comprender algunos de los términos tratados en este apartados se recomienda repasar de nuevo los aspectos que se encuentran en la lectura Nº 1.10 y los del capítulo 2 del libro-texto “Fundamentos de Sistemas de Bases de Datos”. Recordatorio • Bajo la estructura de una base de datos se encuentra un modelo de datos que sirven para describir a distintos niveles de abstracción, los datos, las relaciones, la semántica y las restricciones de consistencia. • Los modelos conceptuales (También denominados de alto nivel) facilitan la descripción global del conjunto de información necesaria para el diseño conceptual de una base de datos y el más utilizado es el modelo Entidad-Relación2. • Los modelos convencionales o lógicos se encuentran soportados por el SGBD y está orientado a describir los datos a nivel lógico para este SGBD (de ahí que también reciben el nombre de modelos de base de datos: Redes, Jerárquicos y Relacionales3 ) por lo que sus conceptos son propios de cada SGBD. Actores en la escena y trabajadores entre bastidores 1.- Siguiendo con la unidad 1 se presenta este tema “Actores de la base de datos” y para iniciar el estudio se presenta la tabla 1.5 donde puede identificar en el libro-texto de la asignatura el capítulo, las secciones, el título y las páginas del tema a estudiar. 2 3 El modelo Entidad-Relación se estudiará en la unidad 2. Los modelos: Redes. Jerárquico y Relacional se estudiarán en la unidad 3. 24 Base de Datos – 311 25 Tabla 1.5 TEMA MATERIAL DE REFERENCIA Actores de la Libro-texto de la asignatura: base de datos “Fundamentos de Sistema de Bases de Datos” CÁPITULO SECCIÓN TÍTULO PÁGINAS 1 1.4. Los actores en la escena 11-13 1.5. Los trabajadores entre bastidores 2.- Usted debe realizar cuidadosamente las lecturas de las secciones 1.4 y 1.5, tomando nota sobre los conceptos y aspectos más relevantes presentados en estas secciones. Al culminar la lectura usted habrá comprendido que existen usuarios que trabajan para mantener el entorno del sistema de base de datos y personas que tienen que ver con el diseño, creación y funcionamiento del software y entorno del SGBD. 3.- Una vez comprendido el tema en estudio realiza en tu cuaderno un ejercicio donde pueda describir las responsabilidades de cada uno de las personas involucradas en una base datos de datos que usted conozca. En caso de dudas consulte al asesor de su centro local 4.- Avancemos un poco más, dándole algunos puntos que le servirán para ampliar los conocimientos adquiridos sobre este tópico. Usuarios o Personas que participan en el diseño, utilización y mantenimiento de una base de datos En un sistema de base de datos intervienen un número importante de usuarios, que podemos clasificar en tres grupos: • Administrador de la base de datos (A.B.D.). Son los encargados de diseñar la estructura de la base de datos y los responsables de que el sistema funcione correctamente. El A.B.D. se encarga de autorizar el acceso a la base de datos, de coordinar y vigilar su utilización y de adquirir los recursos necesarios de software y hardware. El A.B.D. es el responsable cuando surgen problemas como violaciones de seguridad o una respuesta lenta del sistema. El A.B.D. tiene, entre otras, las siguientes funciones: Definición del esquema: Decidir el contenido de la base de datos, eligiendo cuales son los datos que interesa tener almacenados y organizarlos de la mejor forma posible, creando el esquema conceptual, que se escribirá mediante un lenguaje de definición de datos (DDL). 25 13 Base de Datos – 311 26 • • Definición de las estructuras de almacenamiento y método de acceso: Debe decidir sobre la forma en que se van a almacenar los datos sobre los soportes físicos en los que se grabará la base de datos y la correspondencia entre esta estructura de almacenamiento y el esquema conceptual. Modificación del esquema y de la organización física si los requerimientos cambian. Decidir los controles de autorizaciones para el acceso a los datos: Es el que concede diferentes tipos de autorizaciones al resto de los usuarios de la base de datos. Especificar las restricciones de integridad: Debe definir los procedimientos de validación que habrán de ejecutarse cada vez que se actualiza la base de datos. Estas restricciones son consultadas por el SGBD cada vez que se realiza una actualización de los datos. Programadores de aplicaciones. Que se encargan de desarrollar las aplicaciones que manejan datos de la base de datos. Estas aplicaciones contendrán solicitudes de datos al SGBD que luego serán procesados por los programas de la aplicación que tendrán como finalidad resolver problemas específicos de la empresa. Usuarios finales. Que son personas que no tienen por que tener conocimientos informáticos y que pueden manipular los datos (examinarlos y actualizarlos) con la ayuda de las aplicaciones, o bien de lenguajes de consulta no procedimentales (no es necesario indicar el algoritmo de acceso a los datos), tipo SQL, o bien, mediante herramientas basadas en sistemas de menús. Se distinguen tres tipos de usuarios finales: Usuarios especializados: Aquellos que son capaces de escribir ciertas aplicaciones para la BD, para su uso propio. Usuarios casuales: Aquellos que realizan consultas a través de un procesador de consultas. Esas consultas pueden ser creadas por ellos mismos o por otras personas. Usuarios ingenuos: Aquellos que solo acceden a la base de datos a través de aplicaciones previamente escritas por otros usuarios. Arquitectura de los sistemas de base de datos 1.- Prosiguiendo con el estudio de la unidad 1 se presenta a continuación la tabla 1.6, en ella se hace referencia a la lectura 1.11 y se encuentra organizada con los siguientes puntos: Arquitecturas Centralizadas y Cliente-Servidor, Arquitecturas de Sistemas Servidores, Sistemas Paralelos y Sistemas Distribuidos, tratando luego, Bases de Datos Distribuidas y Arquitectura Cliente-Servidor localizado en el libro-texto de la asignatura. Tabla 1.6 26 Base de Datos – 311 TEMA MATERIAL DE REFERENCIA 27 CÁPITULO SECCIÓN Arquitecturas de los sistemas de Lectura Nº 1.11 bases de datos TÍTULO PÁGINAS Arquitecturas de los sistemas de bases de datos 17 Libro-Texto: “Fundamentos de Sistema de Bases de Datos” 24 17.1. Arquitecturas del sistema para SGBD. Bases de datos 24.1. al distribuidas y 24.9. arquitectura cliente-servidor 538-541 727-747 2.- Después de estudiar la lectura Nº 1.11 y las secciones de los capítulos Nº 17 y Nº 24 del libro-texto de la asignatura, usted estará en capacidad de responder las siguientes preguntas. ¿Qué entiende usted por Base de Datos Distribuida (BDD)?. ¿Qué entiende usted por Sistema de Gestión de Base de Datos Distribuida (SGBDD) ¿Cuáles son las principales razones de tener una Base de Datos Distribuidas y cuales son las posibles ventajas? . ¿Cuál es, en general, la diferencia entre las Arquitecturas Centralizadas y las Arquitecturas Cliente-Servidor?. ¿Qué diferencia hay entre los Sistemas de Bases de Datos Centralizados o Clientes-Servidor y los Sistemas Paralelos?. 3.- Una vez culminado el estudio correspondiente a las “Arquitecturas de los sistemas de bases de datos” se recomienda organizar sus ideas a través un mapa conceptual que lo ayudará a visualizar en forma grafica el contenido del tema. 4.- Profundizando un poco más sobre las diferentes plataformas para el desarrollo de aplicaciones de bases de datos, a continuación le expondremos algunos aspectos que le ayudarán a ampliar los conocimientos adquiridos hasta ahora. Sistemas cliente-servidor • La funcionalidad de un sistema de base de datos cliente-servidor se puede dividir a grandes rasgos en dos partes: la parte visible al usuario y el sistema subyacente. El sistema subyacente gestiona el acceso a las estructuras, la evaluación y optimización de consultas, 27 Base de Datos – 311 28 el control de concurrencia y la recuperación. La parte visible al usuario está formado por herramientas como formularios, diseñadores de informes y facilidades gráficas de interfaz de usuario. La interfaz entre la parte visible al usuario y el sistema subyacente puede ser SQL4 (Structured Query Language, Lenguaje estructurado de consultas) o una aplicación. • Existen dos normas que se desarrollaron para hacer de interfaz entre clientes y servidores: La norma ODBC (Open Database Connectivity, conectividad abierta de bases de datos) define una Interfaz para programas de aplicación (API5, application program interface) para acceder a la base de datos, y la norma JDBC (Java Database Connectivity, conectividad de bases de datos con Java) que define una API y pueden usar los programas Java para conectarse a los servidores de la base de datos. Por esta razón, cualquier cliente que utilice interfases ODBC o JDBC puede conectarse a cualquier servidor que proporcione esta interfaz. • Ciertas aplicaciones como las hojas de cálculo y los paquetes de análisis estadísticos utilizan la interfaz cliente-servidor directamente para acceder a los datos del servidor subyacente. De hecho, proporcionan interfases visibles especiales para diferentes tareas. Sistemas servidores 4 5 • Los servidores pueden ser servidores de transacciones o servidores de datos, aunque el uso de los servidores de transacciones exceden ampliamente el uso de los servidores de datos para proporcionales servicios de bases de datos. Los servidores de transacciones tienen múltiples procesos, ejecutándose posiblemente en múltiples procesadores. Todos los procesos de la base de datos pueden acceder a los datos en memoria compartida donde múltiples procesos pueden leer o realizar actualizaciones en las estructuras de datos en memoria compartida y debe haber un mecanismo que asegure que sólo uno de ellos está modificando una estructura de datos en un momento dado y que ningún proceso está leyendo una estructura de datos mientras otro la escribe. • Existen los procesos que gestionan las consultas, es decir reciben consultas del usuario (transacciones), las ejecutan y devuelven los resultados. Además hay procesos del sistema que realizan tareas como la gestión de los bloqueos y del registro y los puntos de revisión. SQL se ha establecido como el lenguaje estándar de bases de datos relacionales. Los programadores usan cada vez más estas API para acceder a las bases de datos. 28 Base de Datos – 311 • 29 Los sistemas de servidores de datos se utilizan en redes de área local en las que se alcanza una alta velocidad de conexión entre los clientes y el servidor. Tales sistemas se esfuerzan en minimizar la comunicación entre clientes y servidores usando caché de datos y de bloqueos en los clientes. Las arquitecturas de los servidores de datos se han hecho particularmente populares en los sistemas de bases de datos orientado a objetos. Sistemas paralelos • • El sistema consiste en varios procesadores y varios discos conectados a través de una red de interconexión de alta velocidad. Hay dos aspectos importantes para el estudio del paralelismo y estos son: La ganancia de velocidad que mide cuanto puede incrementarse la velocidad de procesamiento al incrementarse el paralelismo dada una transacción y la ampliabilidad que mide lo bien que se gestiona un mayor número de transacciones cuando se incremento del grado de paralelismo. Las arquitecturas paralelas de base de datos pueden clasificarse en: o Arquitectura de memoria compartida. Todos los procesadores comparten una memoria común o Disco compartido. Todos los procesadores comparten un conjuntos de discos común (algunas veces los sistemas de discos compartidos se denominan agrupaciones). o Sin compartimiento. Los procesadores no comparten ni memoria ni disco. o Jerárquico: este modelo es un híbrido de las arquitecturas anteriores. Estas arquitecturas paralelas de base de datos tienen distintos compromisos entre la ampliabilidad y la velocidad de comunicación. Aspectos de la implementación de los Sistemas Distribuidos La atomicidad de la transacción es un aspecto importante de la construcción de un sistema distribuido de base de datos. Si una transacción se ejecuta a lo largo de dos sitios, a menos que los diseñadores de sistemas sean cuidadosos, pueden comprometerse en un sitio y cancelarse en otro, lo que conduciría a un estado de inconsistencia. Los protocolos de compromisos de transacciones aseguran que tales situaciones no se produzcan. El control de concurrencia es otra característica de una base de datos distribuida. Como una transacción puede acceder a elementos de datos de varios sitios, los administradores de transacciones de varios sitios pueden necesitar coordinarse para implementar el control de concurrencia. Los fallos son más comunes en estos sistemas, dado que no sólo las computadoras pueden fallar, sino que también pueden fallar 29 Base de Datos – 311 30 los enlaces de comunicación. La replica de los elementos de datos, que es la clave para el funcionamiento continuado de la base de datos distribuidas cuando ocurren fallos, complica aún más el control de la concurrencia. En caso de que una empresa tenga que escoger entre una arquitectura distribuida y una centralizada para implementar una aplicación, el arquitecto del sistema debe medir las ventajas frente a las desventajas de la distribución de datos. El principal inconveniente de los sistemas distribuidos de bases de datos es la complejidad añadida que es necesaria para garantizar la coordinación apropiada entre los sitios. Estas crecientes complejidad tiene varias facetas: • Costo de desarrollo de software. La implementación de un sistema distribuido es más difícil y por lo tanto, más costoso. • Mayor probabilidad de error. Como los sitios que constituyen el sistema distribuido operan en paralelo es más difícil asegurarse de la corrección de los algoritmos, del funcionamiento especial durante los fallos de parte del sistema así como la recuperación. • Mayor sobrecarga del procesamiento. El intercambio de mensaje y el cómputo adicional necesario para conseguir la coordinación entre los distintos sitios constituyen una forma de sobrecarga que no surge en los sistemas centralizados. Bases de datos avanzadas 1.- Para culminar con el estudio de la unidad 1, prosiga con la lectura de este tema que se encuentra referenciado en la tabla 1.7, en ella se encuentra el capítulo, las secciones y páginas del libro-texto de la asignatura para ubicar los siguientes puntos: 1) Conceptos de las bases de datos activas 2) Conceptos de las bases de datos temporales 3) bases de datos espaciales y multimedia Tabla 1.7 TEMA MATERIAL DE REFERENCIA Conceptos de bases de datos Texto UNA: “Fundamentos de Sistema de Bases de Datos” avanzadas 2.- CÁPITULO 23 SECCIÓN TÍTULO PÁGINAS Modelo de datos 23.1. al extendidos para 23.4. aplicaciones avanzadas 697-726 A objeto de corroborar que ha comprendido el tema se sugiere que responda las preguntas de repaso propuestas al final del capítulo 23 del libro-texto “Fundamentos de Sistema de Bases de Datos”. 30 Base de Datos – 311 31 Atención: En este momento ha finalizado el estudio de la unidad 1 y si considera estar claro con todo los puntos estudiados hasta ahora, proceda a realizar algunos ejercicios de autoevaluación presentados a continuación. Responda cada pregunta con el propósito de confirmar que ha comprendido el material estudiado, luego compruebe sus respuestas con las dadas en la “Respuesta a los Ejercicios de Autoevaluación”, en caso de no coincidir, estudie nuevamente el tópico correspondiente al ejercicio en el cual desacertó. Ejercicios de autoevaluación 1. Defina los siguientes términos: Catálogo de base de datos, meta-dato, modelo de datos, independencia entre programas y datos 2. Hay personas que trabajan para mantener el entorno del sistema de la base de datos, estos son los que llamamos “trabajadores entre batidores” y uno de ellos son los desarrolladores de herramientas, explique que función cumple esta persona. 3. Defina la responsabilidad del ABD. 4. Una de las ventajas de utilizar un Sistema de Gestión de Base de Datos es La Restricción de los accesos no autorizados, defina en qué consiste. 5. Explique los sistemas de base de datos centralizados. 6. Explique que son las bases de datos multimedia. Atención Cerramos esta unidad introduciendo varios ejercicios propuestos, con el propósito de corroborar que usted ha comprendido el material estudiado. En caso de tener dudas de algunos de estos ejercicios, repase la sección correspondiente en las lecturas complementarias o el libro-texto de la asignatura y trate de responder nuevamente la pregunta. 31 Base de Datos – 311 32 Ejercicios o actividades propuestas 1. Defina los siguientes términos: Base de datos, Sistema de base de datos, SGBD. 2. Explique si se puede considerar los datos como un verdadero recurso de una empresa 3. Defina en que consiste el modelo de datos. 4. Defina qué procesos facilita el Sistema de Gestión de Base de Datos. 5. Con sus propias palabras, explique la diferencia entre un lenguaje de definición de datos y uno de manipulación de datos ¿Qué tanta relación existe entre ambos? 6. Defina un LMD y el LDD 7. Defina los LMD de procedimientos y de no procedimientos 8. Defina los tipos de fallos posibles en los sistemas distribuidos. A continuación se presentan las respuestas de los ejercicios de autoevaluación para que compare y corrobore si ha contestado correctamente las preguntas de los ejercicios de autoevaluación: Respuesta a los Ejercicios de autoevaluación 1. El catálogo de base de datos es donde se almacena la descripción completa de la estructura de la base de datos y sus restricciones, es decir, contiene información tales como la estructura de cada registro, el tipo y formato de almacenamiento de cada elemento y varias restricciones sobre los datos. Se le denomina meta-datos a toda la información almacenada en el catalogo y describe la estructura de la base de datos. La independencia entre programas y datos es una propiedad donde la estructura de los archivos de datos no están integrados con los programas de acceso, debido a que la estructura de los archivos de datos se almacena en el catálogo del SGBD, por lo que se encuentra separado de los programas de acceso. 2. La función que cumplen los desarrolladores de herramientas es la de diseñar e implementar herramientas, es decir, paquetes de software que facilitan el diseño y utilización del sistema de base de datos, ayudando a mejorar su rendimiento. 32 Base de Datos – 311 33 3. El administrador de la base de datos tiene la responsabilidad de coordinar y vigilar la utilización de la base de datos, actuar en el momento de problemas como violación de la seguridad o respuesta lenta del sistema, además es que debe adquirir los recursos de software y hardware que sean necesarios 4. A los usuarios que accedan una base de datos se le deben asignar una contraseña, es por ello que el SGBD debe garantizar automáticamente un sistema de seguridad y autorización que permite las restricciones, a la base de datos de personas no autorizadas. 5. Los sistemas de base de datos centralizados son aquellos que se ejecutan en un único sistema informático sin interaccionar con ninguna otra computadora. 6. Las bases de datos Multimedia son herramientas que permiten a los usuarios almacenar y consultar diferentes tipos de información que incluye imágenes, video clips, audio clips, y documentos. Consulta de libros CC Si desea mejorar su comprensión sobre los conocimientos básicos de las bases de datos, se recomienda que consulte los siguientes libros que se encuentran en la biblioteca de la UNA: • Fundamentos de bases de datos (1987), de Henry F. Korth y Abraham Silberschatz. • Introducción a la base de datos (1988), de Mark L. Gillenson e Introducción a los Sistemas de Bases de Datos (1998). Quinta edición del autor: C. J. Date. 33 Base de Datos – 311 34 UNIDAD 2: Modelo Entidad-Relación El estudiante en la unidad 2 adquirirá conocimientos de los conceptos de un modelo conceptual de datos de alto nivel, como lo es el modelo EntidadRelación (ER). Este modelo es muy utilizado debido a que es una herramienta fundamental en el diseño conceptual de las bases de datos. En esta unidad se presentará el concepto de modelo Entidad-Relación (ER) y los requisitos para aplicarlo en un ejemplo de una base de datos. Posteriormente se tratarán los conceptos básicos del modelo ER, las entidades, sus atributos y claves. Se especificarán los diferentes tipos y conjuntos de entidades, así como los vínculos o interrelaciones, roles, restricciones estructurales y los tipos de entidades débiles. Seguidamente, para incluir los tipos de vínculos se explicará el refinamiento del diseño para la base de datos del ejemplo mencionado anteriormente. Por último, se suministrarán por medio de un ejemplo la notación completa para los diagramas ER, los nombres apropiados para los elementos de esquemas de base de datos, las elecciones de diseño para el diseño conceptual ER y las notaciones esquemáticas alternativas para mostrar los diagramas ER. Objetivo de la Unidad 2: Aplicar el modelo entidad-relación de una base de datos para la solución de problemas o situaciones dadas. Contenido de la Unidad 2: El contenido contempla el estudio de los siguientes puntos: Concepto. Uso de modelos conceptuales de alto nivel para el diseño de base de datos. Ejemplo de aplicación de una base de datos. Tipos de entidades, conjunto de entidades, atributos y claves. Vínculos, tipos de vínculos, roles y restricciones estructurales. Tipos de entidades débiles. Refinamiento del diseño ER para la base de datos EMPRESA. Diagrama ER, convenciones de denominación y cuestión de diseño. Recomendaciones para el estudio del contenido de la unidad 2 1.- A continuación se dará a conocer una tabla en la que puede ubicar en el material de referencia los contenidos de la unidad 2, bien sea en la lectura 7 y en el libro-texto: “Fundamentos de Sistema de Bases de Datos” . 34 Base de Datos – 311 TEMA 35 MATERIAL DE REFERENCIA “Fundamentos Modelado de Libro-texto: datos utilizando el Sistema de Bases de Datos” modelo entidadrelación de CÁPITULO SECCIÓN TÍTULO 3 3.1. Uso de modelos conceptuales de datos de alto nivel para el diseño de bases de datos 3.2. Ejemplo de una aplicación de base de datos 3.3. Tipos de entidades, conjunto de entidad, atributos y claves 3.4. 2.- Vínculos, tipos vínculo, roles restricciones estructurales 42-43 43-49 49-55 entidades 55-56 Tipos de débiles 3.6. Refinamiento del diseño ER para la base de datos EMPRESA. Diagrama ER, convenciones de denominación y cuestión de diseño. Entidad, atributo 40-42 de y 3.5. 3.7. Lectura Nº 2.1 PÁGINAS 56-57 57-61 interrelación Para entrar con el estudio de la unidad 2 empecemos por aclarar que existen dos herramientas distintas de modelado de datos: el modelo Entidad- Relación y el modelo de Objeto Semántico. En esta unidad se estudiará únicamente los conceptos de modelado de Entidad-Relación (ER) que es un modelo conceptual de datos de alto nivel muy utilizado en la actualidad. En este sentido, daremos una explicación de “Modelado de Datos” como lo presenta Kroenke (1995) en su libro “Procesamiento de Bases de datos”. “El modelado de datos es el proceso que implica crear una representación de la visión que tiene los usuarios de los datos. Es la tarea más importante en el desarrollo de eficaces aplicaciones de base de datos. Si el modelo de datos representa en forma incorrecta la visión que posee los usuarios de los datos, encontrarán las aplicaciones difíciles de usar, incompletas y por supuesto frustrante. El modelado de datos es la base de 35 Base de Datos – 311 36 todo el trabajo subsiguiente en el desarrollo de base de datos y de sus aplicaciones”. 3.- Con los conocimientos adquiridos al estudiar la lectura Nº 2.1 y el capítulo 3 del libro-texto de la asignatura, el estudiante debe estar claro en las definiciones de los siguientes términos, los cuales son usados en el modelado ER : 9 9 9 9 9 9 9 9 9 9 9 9 9 Entidades, proporcione un ejemplo Entidad débil, de un ejemplo Tipo y Conjunto de entidades Atributos, proporcione un ejemplo para las entidades que describió en la primera pregunta. Atributos clave Conjunto de valores (dominio) Valor de atributo Atributos: simple o atómicos, compuestos, multivaluado, derivado, complejo, derivado Relación, proporcione un ejemplo Grado de relación Diagrama ER Vínculos y tipos de vínculo Cardinalidad. 4.- Para entender y aplicar eficientemente los conceptos de modelado ER en la resolución de problemas o situaciones dadas, responda las preguntas de repaso que se encuentran en el capítulo 3 del libro-texto de la asignatura. 5.- Basándose en los conceptos estudiados en esta unidad, usted estará en capacidad de responder las siguiente preguntas: 9 ¿Para qué se emplea el modelo ER? . 9 ¿Qué proporciona el modelo ER?. 7.- Como habrá podido observar al estudiar este tema, al diseñar el esquema ER de una base de datos, es necesario saber los tipos de notaciones o las convenciones de denominación, por lo tanto se recomienda que elabore un cuadro donde nombre y trace los símbolos usados en los diagramas entidad-relación 8.- Con el objeto de comprobar que ha comprendido los tipos de notaciones al elaborar el cuadro que se especifica en el punto anterior, se pide que realice la siguiente actividad: represente un diagrama ER y especifique en ella a) entidades, b) atributos, c) relación d) entidad débil, e) atributos claves. 9.- Para organizar los puntos estudiados y obtener una mejor comprensión de ellos, se sugiere hacer uso de un mapa conceptual. Asimismo realice una revisión de los ejemplos y ejercicios de autoevaluación mostrados 36 Base de Datos – 311 37 en este material instruccional, para resolver posteriormente los ejercicios o actividades propuestas, que se encuentran al final de esta unidad. 10.- A continuación se presenta un ejemplo para explicar como representar un diagrama ER, utilizando los siguientes términos: Entidades, Atributos y Claves Ejemplo 2.1 Considere una base de datos llamada BANCO. El banco posee un conjunto de personas que llamaremos clientes y los préstamos que son concedidos por el banco. Se puede definir las entidades como Clientes y Préstamos. Los atributos de la entidad Clientes son: cuenta-cliente, nombre-cliente, dirección-cliente, teléfono-cliente. Los atributos de la entidad Préstamos son: número-préstamo y montoprestamo El atributo cuenta-cliente es una clave del tipo de entidad Clientes. El atributo número-préstamo es una clave del tipo de entidad Préstamos Un tipo de Vínculo es el Prestatario entre los dos tipos de entidades (Clientes y Prestamos). El esquema del diagrama ER quedaría de la siguiente manera: Nombre-cliente Dirección-cliente Número-préstamo Teléfono-cliente Cuenta-cliente CLIENTE PRESTATARIO Monto-préstamo PRÉSTAMO 37 Base de Datos – 311 38 Nota: Los atributos clave están subrayados. 8.- Una vez estudiado los conceptos de modelo ER y aclarado el ejemplo presentado, se invita a leer la sección 3.2 del capítulo 3 del libro-texto “Fundamentos de Sistema de Bases de Datos”, donde se presenta un ejemplo de una aplicación de base de datos usando los conceptos de modelado ER en el diseño de esquema (Diagrama ER). 9.- Ahora, para ampliar un poco más lo estudiado, se presenta a continuación la manera como puede evaluarse una base de datos si se implanta con un diseño de diagrama Entidad-Relación Forma de evaluar un modelo de datos ER Es más fácil y menos costoso corregir errores al principio del desarrollo de la base de datos y no al final. Por ejemplo, cambiar la cardinalidad máxima de una relación de 1:N a N:M, en la etapa del modelado de datos, es sólo cuestión de registrar el cambio en el diagrama ER. Una vez que se ha diseñado y cargado la base de datos con información y programas de aplicación escritos para procesarla, realizar tal cambio requiere mucha reelaboración, incluso ciento de horas de trabajo. Es importante evaluar el modelo de datos antes de diseñarlo. Una técnica de evaluación, que señala David Kroenke (1995, pp. 70), es considerar el modelo de datos ER en el contexto de las consultas que se podrían plantear a la base de datos con la estructura que implica el modelo. Por ejemplo si se diseña un modelo donde estén involucradas las entidades CLIENTES, LECCIONES-PRIVADAS, LECCIONES EN GRUPO, MAESTRO, MAESTRO TIEMPO COMPLETO, MAESTRO POR HORA y BAILE; donde están las relaciones siguientes: Los CLIENTES que pueden tomar LECCIONES-PRIVADAS, LECCIONES EN GRUPO, el MAESTRO que enseña tales lecciones y la entidad BAILE relacionada con el MAESTRO. ¿Cuáles preguntas podrían contestarse con una base de datos que se implantará con un diseño de diagrama ER, donde estén involucrados estas entidades? • • • • ¿A quiénes se impartieron lecciones privadas? ¿Cuáles clientes han tomado una lección privada con jazz? ¿Quiénes son maestro a tiempo completo? Cuáles maestros están programados para asistir al baile del viernes? Cuando se evalúa un modelo de datos ER, se formulan tales preguntas y se muestran a los usuarios para pedirles que hagan su propia lista de preguntas. Sus preguntas se prueban contra el diseño para verificar si son apropiadas. Suponga usted que los usuarios preguntaron cuáles clientes asistieron al baile del viernes en la noche de la semana anterior. Los diseñadores del modelo de datos llegarían a la conclusión 38 Base de Datos – 311 39 que su diseño no fue correcto, debido a que no es posible responder a esta pregunta usando el modelo anterior. Si es necesario una respuesta, entonces debe estructurarse una relación CLIENTE y BAILE. Por consiguiente, es evidente que un proceso estructurado con tan escaso rigor no puede usarse para comprobar que un diseño es correcto. Solo es una técnica práctica para verificar la exactitud potencial de un diseño. 10.- Si desea profundizar en el tema de modelo Entidad-Relación, se sugiere consultar los siguientes textos que se encuentran en la biblioteca de la UNA: Consulta de libros • • 11.- Procesamiento de base de datos: Fundamento, Diseño e Instrumentación (1996), de David M. Kroenke. Concepción Diseño de bases de datos del Modelo E/R al modelo Relacional (1993), de Adoración de Miguel y Mario Piattini. Proceda a realizar el ejercicio de autoevaluación presentado a continuación, luego compruebe sus respuestas con las dadas en la “Respuesta a los Ejercicios de Autoevaluación”, en caso de no coincidir, estudie nuevamente el tópico en el cual desacertó. Ejercicio de autoevaluación Considere el siguiente conjunto de requisitos para una base de datos universitaria que sirve para gestionar las constancias de notas de los estudiantes: a) Para cada estudiante, la universidad mantiene información sobre su nombre, número de cédula de identidad, número telefónico, dirección, fecha de nacimiento, sexo y nivel de estudio (bachillerato, pregrado, doctorado). El número de la cédula de identidad tiene valor único para cada alumno. b) Cada departamento se describe mediante un nombre, código del departamento, número de oficina, teléfono de oficina y facultad. Tanto el nombre como el código tienen valores únicos para cada departamento. c) Cada curso tiene un nombre, descripción, número de curso, número de horas por semestre, nivel y departamento que lo ofrece. El valor del número de curso es único para cada curso. d) Cada sección tiene un profesor, semestre, año, curso y número de sección. El número de sección distingue las diferentes secciones de un mismo curso que se imparte durante el mismo semestre/año; su 39 Base de Datos – 311 40 valores son 1,2,3,..., hasta el número de secciones del curso impartidas durante cada semestre. e) Una constancia de notas tiene un alumno, sección, nota en número (0, 1, 2, 3, 4 y 5). Con base a lo planteado, diseñe el diagrama ER para esta aplicación, especifique los atributos, claves de cada tipo de entidad y las restricciones estructurales de cada tipo de vínculo. 12.- Para terminar con esta unidad le proponemos que realice varios ejercicios que a continuación le presentamos, con el propósito de corroborar que ha comprendido el tema. En caso de tener alguna duda, repase de nuevo el tópico en el cual desacertó y trate de responder otra vez la pregunta. Tome nota de las dudas que no haya podido resolver hasta el momento y consulte al asesor de su centro local. Ejercicio o actividad propuesta 1. Realice los ejercicios propuestos que se encuentran al final de capitulo 3 del libro- texto de la asignatura. 2. Una empresa deportiva desea diseñar una base de datos para llevar la organización de los equipos y los juegos de una liga deportiva: cada equipo tiene varios jugadores, aunque no todos participan en un juego dado. Se desea llevar el control de los jugadores que participan en cada juego por parte de cada equipo, de la posición que ocuparon en el juego y del resultado del mismo. Diseñe un diagrama de esquema E-R para esta aplicación, expresando todas las suposiciones que haga. Escoja su deporte favorito (fútbol, béisbol, etc.) Respuesta al Ejercicio de autoevaluación A continuación se presenta el diagrama Entidad-Relación donde se incluyen todo los requisitos planteados en el ejercicio de autoevaluación : 40 Base de Datos – 301 Nombre Código Facultad Teléfono NumeroOficina 1,1 Nombre Nivel NúmeroHoras Profesor Curso 1,N ofrece Año NúmeroCurso Curso Empleado Departamento Descripción Departamento 1,1 Curso Curso Semestre NúmeroSección Sección Se compone 1,N Sección 1,1 Sección Tiene 1,N Constancia Alumno 1,1 1,1 Alumno Constancia Obtiene Nombre P Constancia Notas Iniciales Nombre Apellidos NumeroCed Sexo Teléfono Dirección FechaNacimiento Alumno Sección Nota NivelEstudio 41 Base de Datos – 301 UNIDAD 3: Modelos de datos Existen distintos modos de organizar la información y representar las relaciones entre los datos en una base de datos. Los diseñadores de las bases de datos convencionales usan uno de los tres modelos lógicos para hacer seguimiento de las entidades, atributos y relaciones y estos tres modelos lógicos son: el Jerárquico, de Redes y Relacional. Las bases de datos jerárquicas fueron las primeras en aparecer la información se representa en forma de árbol. El problema con este tipo de estructura es que no todas las bases de datos se adaptan a la estructura de árbol. En un intento de eliminar la rigidez de las bases de datos jerárquicas, se desarrolló la estructura en red, en la cual se permite todo tipo de relaciones, por lo que su instrumentación no resulte nada fácil. Por último aparecieron las bases de datos relacionales, que pretendían obtener mayor flexibilidad y rigor en el tratamiento de los datos. En esta unidad se hará una presentación de estos tres modelos, en el que se abordará primero el modelo de redes, seguidamente, se dará a conocer una perspectiva del modelo de datos jerárquico y por último se presentarán los conceptos de modelado que ofrece el modelo relacional de los datos. Objetivo de la Unidad 3: Obtener el modelo conceptual de una base de datos bajo el enfoque en Redes, Jerárquico o Relacional sobre la base de una situación dada. Contenido de la Unidad 3: El contenido de la unidad contempla el estudio de los siguientes puntos: Concepto del modelo de datos en Red Restricciones, manipulación de los datos, lenguaje de manipulación de datos. Estructura de bases de datos Jerárquicas. Relaciones de integridad y definición de datos. Lenguaje de manipulación de datos para el modelo jerárquico. Concepto del modelo relacional Restricciones relacionales y esquema de base de datos relacionales. Operaciones de actualización y tratamiento de las violaciones a las restricciones. Recomendaciones para el estudio del contenido de la unidad 3 Modelo de datos en red 1.- Observe la tabla 3.1, en ella puede ubicar el material de referencia, presentando los siguientes puntos: Conceptos del modelado de datos en red, las restricciones estructurales, las restricciones de comportamiento, manera de escribir programas que manipulen una base de datos en red y las instrucciones para manipular una base de datos en red. 42 Base de Datos – 301 Tabla 3.1 TEMA MATERIAL DE REFERENCIA Modelo de datos Libro-Texto: “Fundamentos de en red Sistema de Bases de Datos” Lectura Nº 3.1 APENDICE SECCIÓN TÍTULO PÁGINAS C C.1. Conceptos del modelado de datos en red 873-880 C.2. Restricciones en el modelo en red 880-888 C.3. Manipulación de datos en el modelo en red 888-890 C.4. Lenguaje manipulación datos en red 890-895 de de Modelo de Red 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? 43 Base de Datos – 301 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 alumnocursa-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 Caso 2. Cardinalidad Muchos a Uno. (Figura 3.3) 44 Base de Datos – 301 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-cursamateria, donde le agregamos la entidad maestro, quien es el que imparte dicha materia. El diagrama ER quedaría de la siguiente manera: 45 Base de Datos – 301 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. 46 Base de Datos – 301 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. 47 Base de Datos – 301 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.- 6 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. El modelo Jerárquico se estudiará posterior a este tema, en la sección 3.2 48 Base de Datos – 301 Tabla 3.2 TEMA MATERIAL DE REFERENCIA Libro-Texto: “Fundamentos de Sistema de Bases de Datos” Modelo de datos jerárquico APENDICE SECCIÓN D D.1. D.2. D.3. Lectura Nº 3.2 TÍTULO PÁGIN AS Estructura de bases de 897-904 datos jerárquicas Relaciones de integridad y 904-906 definiciones de datos en el modelo jerárquico Lenguaje de manipulación 906-910 de datos para el modelo jerárquico Modelo jerárquico 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? 49 Base de Datos – 301 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. SUCURSAL NÚMERO NOMBRE CIUDAD LOCALIDAD AUTOMOVIL NÚMERO PLACA TIPO SERIAL MOTOR APELLIDO DIRECCIÓN COLOR MANTENIMIENTO EMPLEADO NÚMERO- NOMBRE CEDULA SERIALCARROC TELEFONO FECHA FECHA-ENVIO ENTREGA OPERACIÓN 50 MONTO Base de Datos – 301 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 51 Base de Datos – 301 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 librotexto 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ÁPITULO Modelo de datos relacional SECCIÓN TÍTULO PÁGINAS 7.1. Concepto del modelo relacional 186-191 Restricciones relacionales y esquemas de base de datos relacionales 191-197 Operaciones de actualización y tratamiento de las violaciones a las restricciones 197-200 7.2. Libro-Texto: “Fundamentos de Sistema de Bases de Datos” 7 7.3. 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. Ejemplo 3.3 52 Base de Datos – 301 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 Tuplas F4256 D4569 I8907 Odisea del espacio El día después La escalera de caracol 134 188 105 Ficción Drama Intriga 23.000,00 26.000,00 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 53 Base de Datos – 301 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. Las características más importantes de los modelos relacionales son: 54 Base de Datos – 301 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 datos explícitos, no existen apuntadores o ligas entre las tablas. e. En el modelo relacional, 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). 8.- El enfoque relacional es sustancialmente distinto de otros enfoques en términos de sus estructuras lógicas y del modo de las operaciones de entrada/salida. A continuación presentamos varios puntos importantes que debe enfatizar, sobre el estudio del modelo de datos relacional y que lo ayudará reforzar las ideas para el enriquecimiento de la representación de su instrumento de aprendizaje (mapa conceptual). Recordatorio 9.- • Establecer diferencia entre los siguientes términos: Dominio, tuplas, atributos y relación y realice un ejercicio donde considere una pequeña base de datos que usted conozca y estén involucrados estos términos. • Analizar los diversos tipos de restricciones sobre los datos que se pueden especificar en un esquema de una base de datos relacional. • Las operaciones de actualización básicas que se efectúan con relaciones son tres: Insertar, eliminar y modificar ( o actualizar ), repase estos términos y realice ejercicios donde estén involucrados cada una de estas operaciones. Si desea obtener más información en el tema “Modelo de datos relacional” de esta unidad 3, consulte la siguiente dirección electrónica: 55 Base de Datos – 301 Consulta en la web http://www3.uji.es/~mmarques/f47/apun/node43.html En está dirección encontrará la estructura de datos en el modelo relacional. http://mysql.conclase.net/curso/index.php?cap=003 Encontrará a aspectos relacionados con el modelo relacional de la base de datos. 10.- Para ampliar sus conocimientos sobre el modelo relacional con respecto a la estructura de las bases de datos relacionales, se sugiere que consulte los siguientes textos que se encuentran en la biblioteca de la UNA: Consulta de libros 1. Fundamentos de Bases de datos (1998), Tercera edición de Henry F. Korth y Abraham Silberschatz. 2. Introducción a los Sistemas de Bases de datos (1998). Quinta edición de C. J. Date. 11.- Proceda a realizar el ejercicio de autoevaluación presentado a continuación y así podrá evidenciar que ha entendido el material estudiado, luego compruebe sus respuestas con la dada en la “Respuesta a los Ejercicios de Autoevaluación”, en caso de no coincidir, estudie nuevamente el tópico en el cual desacertó. Ejercicio de autoevaluación Una compañía turística llamada “Turismo para Todos “ está dedicada a organizar giras para diversas regiones de Venezuela y para ello requiere implantar un sistema de base de datos con la finalidad de registrar los viajes que se realizan a diferentes lugares del país en un momento determinado y el grupo de excursionistas involucrados en los paseos turísticos. Probablemente la compañía puede estar dirigiendo varias salidas a la vez con diferentes destinos para cada una de las regiones del país: Occidente, Oriente, Sur, Centro y Litoral, es decir, puede haber excursión en la Región Occidental para los siguientes lugares: Mérida, Los Llanos, Zulia, etc. Además para los viajes se tendrán grupos que estarán conformados por un máximo de veinticinco excursionistas y dos o tres guías turísticas, de acuerdo al número de viajeros . Considerando los requerimientos mencionados anteriormente, diseñe una base de datos relacional de un esquema TURISMO y en su respuesta: 56 Base de Datos – 301 a) Escriba las relaciones involucradas en el modelo. b) Diseñe el Diagrama del esquema para la base de datos relacional llamada TURISMO y presente las claves primarias de cada relación. 12.- Proceda a realizar el ejercicio propuesto que se da a continuación: Ejercicio o actividad propuesta El director de la escuela “ABC” necesita mejorar el proceso de emisión de Constancia de Notas y para ello requiere de una base de datos donde se almacene información concerniente a los estudiantes que cursan determinadas materias cuyas calificaciones se van acumulando durante su período de estudio. Considerando los requerimientos mencionados anteriormente, diseñe una base de datos bajo el modelo jerárquico y en su respuesta, diseñe la estructura del modelo y especifique en ella lo siguiente: las entidades, los elementos de datos más generales involucrados y las claves de cada una de estas entidades. 13.- Una vez desarrollado el Ejercicio de Autoeveluación, podrá comparar su repuesta con la dada a continuación: Respuesta al Ejercicio de autoevaluación a) b) RELACIONES: REGIÓN DESTINO GUIAS EXCURSIONISTA Diagrama del esquema para la base de datos relacional TURISMO, las claves primarias están subrayadas. REGIÓN NOMBRER CÓDIGOR LOCALIZACIÓN DESTINO LUGARD CÓDIGOD COSTO NUMERO TIPO NUMHORAP HORALL NOMDIRECCIÓN TRANSPORTE TRANSPORTE PERSONA CENTROLL GUÍAS NOMBREG APELLIDOG NUMCEDG SEXO TELEFONO DIRECCIÓNG CANTIDAD EXCURSIONISTA NOMBR EE APELLID OE NUM SEX O - DIRECCIÓ NE TELEFON OE EDA D LUGA R- FECHA HOR PARTID A 57 Base de Datos – 301 CED E VIAJE A 58