UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA
Departamento de Ciencias de la Computación y Electrónica Sección Tecnologías Avanzadas de la Web y SBC
Fundamento de Base de Datos Guía didáctica 4 créditos
Titulación
Ciclo
¡ Ingeniero en Informática
IV
Autores: Juan Carlos Morocho Audrey Romero
Estimado estudiante recuerde que la presente guía didáctica está disponible en el EVA en formato PDF interactivo, lo que le permitirá acceder en línea a todos los recursos educativos.
18408
Asesoría virtual: www.utpl.edu.ec
FUNDAMENTOS DE BASE DE DATOS
Guía didáctica Juan Carlos Morocho Audrey Romero
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
CC Ecuador 3.0 By NC ND Diagramación, diseño e impresión: EDILOJA Cía. Ltda. Telefax: 593-7-2611418 San Cayetano Alto s/n www.ediloja.com.ec
[email protected] Loja-Ecuador Segunda edición Sexta reimpresión ISBN-978-9942-08-202-2
Esta versión impresa, ha sido acreditada bajo las licencias Creative Commons Ecuador 3.0 de reconocimiento -no comercial- sin obras derivadas; la cual permite copiar, distribuir y comunicar públicamente la obra, mientras se reconozca la autoría original, no se utilice con fines comerciales, ni se realicen obras derivadas. http://www.creativecommons.org/licences/by-nc-nd/3.0/ec/ Abril, 2015
2. Índice 2. Índice................................................................................................................................... 3 3. Introducción...................................................................................................................... 7 4. Bibliografía....................................................................................................................... 9 4.1. Básica.............................................................................................................................. 9 4.2 Complementaria.............................................................................................................. 9
5. Orientaciones generales para el estudio............................................................. 11 6. Proceso de enseñanza-aprendizaje para el logro de competencias........ 13 PRIMER BIMESTRE 6.1. Competencias Genéricas................................................................................................. 13 6.2 Planificación para el trabajo del alumno......................................................................... 13 6.3. Sistema de evaluación de la asignatura (primero y segundo bimestres)....................... 17 6.4. Orientaciones específicas para el aprendizaje por competencias.................................... 18
UNIDAD 1: INTRODUCCIÓN A LAS BASES DE DATOS.................................................................... 18 1.1. Importancia de las bases de datos................................................................................. 18 1.2. Sistemas tradicionales basados en archivos................................................................... 18 1.3. Sistema de base de datos............................................................................................... 19 1.4. Papeles en un entorno de base de datos........................................................................ 19 1.5. Historia de los sistemas de gestión de base de datos.................................................... 20 1.6. Ventajas y desventajas de los SGBD............................................................................... 20 Autoevaluación 1.................................................................................................................... 22
UNIDAD 2: ENTORNO DE LA BASE DE DATOS.............................................................................. 23 2.1. La arquitectura en tres niveles de ANSI-SPARC............................................................... 23 2.2. Lenguajes de base de datos............................................................................................ 24 2.3. Modelos de datos y modelado conceptual...................................................................... 24 2.4. Funciones de un SGBD.................................................................................................... 25 2.5. Componentes de un SGBD.............................................................................................. 27 2.6. Arquitecturas de SGBD multiusuario................................................................................ 27 Autoevaluación 2.................................................................................................................... 29
UNIDAD 3: EL MODELO RELACIONAL Y LOS LENGUAJES RELACIONALES....................................... 30 3.1. Breve historia del modelo relacional............................................................................... 30 3.2. Terminología usada en el modelo relacional................................................................... 30 3.3. Restricciones de integridad............................................................................................. 33 3.4. Vistas.............................................................................................................................. 33 Autoevaluación 3.................................................................................................................... 35
UNIDAD 4: ALGEBRA RELACIONAL Y CÁLCULO RELACIONAL........................................................ 36 4.1. Algebra Relacional........................................................................................................... 36 4.2. Operaciones Unarias....................................................................................................... 36 4.3. Operaciones de conjuntos............................................................................................... 37 4.4. Cálculo relacional............................................................................................................ 38 Autoevaluación 4.................................................................................................................... 40
UNIDAD 5: MANIPULACIÓN DE DATOS....................................................................................... 42 5.1. Lenguaje de Consulta Estructurado: SQL........................................................................ 42 5.2. Escritura de comandos SQL............................................................................................. 43 5.3. Manipulación de datos.................................................................................................... 43 5.4. Instrucción de consultas: SELECT.................................................................................... 43 5.5. Actualizaciones de la base de datos............................................................................... 44 Autoevaluación 5.................................................................................................................... 46
SEGUNDO BIMESTRE 6.5. Competencias Genéricas................................................................................................. 47 6.6. Planificación para el trabajo del alumno ........................................................................ 47 6.7. Orientaciones específicas para el aprendizaje por competencias.................................... 50
UNIDAD 6: DEFINICIÓN DE DATOS............................................................................................. 50 6.1. Tipos de datos................................................................................................................. 50 6.2. Características de mejora de la integridad...................................................................... 52 6.3. Definición de datos......................................................................................................... 52 6.4. Privilegios y Seguridad.................................................................................................... 57 Autoevaluación 6.................................................................................................................... 62
UNIDAD 7: MODELO ENTIDAD RELACIÓN................................................................................... 63 7.1. Elementos del modelo ER............................................................................................... 63 7.2. Tipos de entidad.............................................................................................................. 63 7.3. Tipos de relación............................................................................................................. 64 7.4. Atributos.......................................................................................................................... 64 7.5. Atributos de las relaciones.............................................................................................. 65 7.6. Claves.............................................................................................................................. 65 7.7. Tipos de entidades fuertes y débiles............................................................................... 65 7.8. Restricciones estructurales.............................................................................................. 66 7.9. Modelo entidad relación avanzado................................................................................. 67 Autoevaluación 7.................................................................................................................... 70
UNIDAD 8: NORMALIZACIÓN..................................................................................................... 71 8.1. Objetivos del diseño de bases de datos.......................................................................... 71 8.2. Peligros en el diseño de bases de datos Relacionales.................................................... 71 8.3. Normalización................................................................................................................. 73 8.4. El propósito de la normalización..................................................................................... 73
8.5. ¿Cómo ayuda la normalización al diseño de base de datos?........................................ 73 8.6. Redundancia de datos y anomalías de actualización...................................................... 74 8.7. Dependencias funcionales............................................................................................... 74 8.8. El Proceso de normalización........................................................................................... 75 Autoevaluación 8.................................................................................................................... 78
UNIDAD 9: METODOLOGÍA: DISEÑO CONCEPTUAL DE LA BASE DE DATOS .................................... 79 9.1. Metodología de diseño de base de datos....................................................................... 79 9.2. Diseño conceptual de la base de datos........................................................................... 79 9.3. Paso 1 Construcción de un modelo conceptual de los datos ......................................... 80 Autoevaluación 9.................................................................................................................... 83
UNIDAD 10: METODOLOGÍA: DISEÑO LÓGICO DE BASES DE DATOS PARA EL MODELO RELACIONAL............................................................................................................................. 85 10.1............................................................................................................... Metodología de diseño lógico de bases de datos para el modelo relacional.................. 85 10.2............................................................................................................... Paso 2 Construir y validar el modelo lógico de los datos............................................... 85 Autoevaluación 10.................................................................................................................. 91
7. Solucionario...................................................................................................................... 92 8. Anexos................................................................................................................................. 103
Guía didáctica: Fundamento de Base de Datos
PRELIMINARES
3. Introducción
La asignatura de Fundamentos de Base de Datos, es una de las materias troncales de la carrera de Ingeniería Informática, se dicta en el cuarto ciclo y tiene una valoración de cuatro créditos. Su propósito fundamental es brindar al profesional en formación el conocimiento, análisis y claridad de conceptos, reglas y procedimientos que son necesarios de cara al desarrollo de sistemas informáticos de cualquier tipo (sistemas de información, sistemas de gestión, etc.), y que servirán de base para la asignatura de Base de Datos Avanzadas. Adentrarnos en el mundo de las bases de datos es sin lugar a duda, apasionante; a menudo interactuamos con bases de datos, muchas de las veces sin ser conscientes de aquello. Cuando cancelamos las compras del supermercado el cajero accede a una base de datos, así mismo si reservamos nuestros tickets de avión a través de internet estamos accediendo a una base de datos, al hacer alguna transacción a través del cajero automático estamos interactuando con una base de datos; en fin en muchas actividades cotidianas estamos haciendo uso de las bases de datos, y seguramente querrá conocer más a fondo cómo se gestiona la información dentro de ellas, cómo se diseña una base de datos, cuáles son los productos de base de datos que se puede utilizar, y demás preguntas a las que podrá darles respuesta una vez que hayamos desarrollado los contenidos propuestos para la presente asignatura. Así también algunos temas le resultarán difíciles de entender, sin embargo, conforme vaya avanzando y adentrándose en esta temática se irán despejando aquellas dudas, le recuerdo que para ello también puede contar con la ayuda de su profesor. Esta asignatura, al igual que las otras que componen su malla curricular, requiere de su dedicación, esfuerzo, constancia y responsabilidad, virtudes que de ser aplicadas contarán seguro con una gran recompensa: su título profesional. Dentro de cualquier herramienta software, a menudo encontraremos que uno de sus componentes es una base de datos, por tanto es evidente que la utilización de este tipo de herramienta aporta una gran ayuda en términos de manejo de la información, almacenamiento, seguridad, manejo concurrente de usuarios entre otros beneficios, de ahí la importancia de esta asignatura, ya que el desarrollo de los contenidos nos dará la oportunidad de adquirir estos conocimientos y poder gestionar o tomar mejores decisiones en nuestra vida profesional. A continuación exponemos unas líneas de un autor que refuerzan lo que hemos mencionado: “Hoy, la importancia e impacto de las bases de datos es incuestionable a medida que organizaciones gubernamentales, instituciones académicas, y entidades comerciales crean y mantienen importantes bases de datos que contienen toda clase de información desde documentos de texto en lenguaje natural, tablas estadísticas, datos financieros y objetos multimedios hasta datos de naturaleza técnica y científica. Además de la arquitectura y sistema deben proveer integridad, recuperación, concurrencia, y seguridad.” (Ramírez, s.f.) Con el afán de alcanzar las competencias requeridas, esta asignatura se ha organizado en diez unidades, cinco por cada bimestre. En la primera unidad usted conocerá la terminología y conceptos básicos de las bases de datos, la segunda unidad se refiere al entorno de una base de datos, la tercera unidad abarca
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
7
Guía didáctica: Fundamento de Base de Datos
PRELIMINARES
los componentes del modelo relacional, la cuarta unidad hace referencia a las operaciones del álgebra relacional y cálculo relacional, la quinta unidad abarca la manipulación de datos con SQL. Para el segundo bimestre la unidad seis se refiere a definición de datos con lenguaje SQL, la unidad siete estudia el modelo E/R, la unidad ocho desarrolla el tema de la normalización, la unidad nueve se refiere a la fase de diseño conceptual y finalmente, la unidad diez que hace referencia al diseño lógico de base de datos. Le invitamos a que juntos llevemos el estudio de esta importante asignatura, recordándole que estamos para guiar y apoyar su proceso enseñanza/aprendizaje. Finalmente, queremos desearle el mejor de los éxitos en el presente ciclo de estudios y animarle a que realice su mejor esfuerzo para continuar por el camino de superación profesional y personal que contribuyen a su formación integral.
8
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
PRELIMINARES
Guía didáctica: Fundamento de Base de Datos
4. Bibliografía 4.1. Básica •
Connolly, T. y Begg, C.(2005).Sistemas de bases de datos. Un enfoque práctico para diseño, implementación y gestión. Madrid: Pearson Education.
Este texto propone los temas que se deben abordar dentro de la asignatura de Fundamentos de Base de Datos. Su contenido es bastante didáctico, ofrece recursos para que el estudiante pueda autoevaluarse al final de cada unidad, dispone de casos de estudio sobre los cuales se puede ir desarrollando la parte práctica de la asignatura. También ofrece recursos adicionales en la web que ayudan al estudiante a complementar los contenidos del texto.
•
Morocho, J. y Romero, A. (2011). Guía didáctica de Fundamentos de Base de Datos. Loja-Ecuador: UTPL.
Guía didáctica diseñada para el estudio de Fundamentos de Base de Datos en la carrera de Ingeniería en Informática de la Modalidad Abierta y a Distancia de la Universidad Técnica Particular de Loja. En este material encontrará breves explicaciones, comentarios, de cada uno de los temas, además de ejercicios propuestos y autoevaluaciones, que le ayudarán como un indicador del logro de las competencias propuestas para la presente asignatura.
4.2 Complementaria •
Scott, Urman (2002). Oracle 9i PL/SQL Programming. Madrid: McGraw Hill/Osborne.
Este material bibliográfico le puede servir para profundizar sobre el lenguaje SQL, tanto manipulación como definición de datos.
•
Silberschatz, A.; Korth H. y Sudarshan . (1998). Fundamentos de Bases de Datos. Madrid: McGraw Hill.
En este texto encontrará material complementario sobre modelado entidad-relación y sobre normalización, que ayudarán al estudiante en el desarrollo de los temas propuestos para la asignatura.
Direcciones electrónicas Amiagada, A. y Aranda,J. (2006). Curso de Base de Datos. Universidad de las Américas. Recuperado el 28 de febrero del 2011 desde http://nuestro.net78.net/clases_jjaa/Bases_Datos/ Curso de base de datos, en donde puede encontrar temas como conceptos del modelo relacional y algebra y cálculo relacional que ayudarán a complementar sus conocimientos. Camps, R., Casillas, L. A., Costal, et. al. (2007). OCW, M2109 Bases de Datos. Universitat Oberta de Catalunya. Recuperado el 28 de febrero del 2011 desde http://ocw.uoc.edu/informatica-tecnologia-ymultimedia/bases-de-datos/Course_listing.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
9
Guía didáctica: Fundamento de Base de Datos
PRELIMINARES
Curso de base de datos abierto, en donde puede encontrar temas como conceptos del modelo relacional y el proceso del modelado E/R, que le ayudarán a complementar sus conocimientos. Castillo, C. (2007). Convertir Entidad-Relación en Modelo Relacional. Universitat Pompeu Fabra. Este documento contiene información acerca de la transformación del modelo conceptual al modelo lógico. Greenberg, N., Nathan, P. (2001). Introduction to Oracle 9i: SQL. Oracle Corporation. En este documento puede encontrar todo lo referente al lenguaje SQL Oracle en la versión 9i. Oracle home page. Recuperado el 12 de Febrero del 2011 desde http://www.oracle.com/index.html Sitio de uno de los sistemas de gestión de base de datos más reconocido a nivel mundial. Aquí encontrará recursos como documentación, podcast, software y noticias relevantes de la industria de base de datos. Martínez, J. L., Martínez, P. y Mingo, J. M. (2008). OCW: Fundamentos de las bases de datos. Grupo de bases de datos avanzadas, departamento de informática, Universidad Carlos III de Madrid. Recuperado el 28 de febrero del 2011 desde http://ocw.uc3m.es/informatica/fundamentos-de-bases-de-datos. Curso de base de datos abierto, en donde puede encontrar temas como conceptos fundamentales de base de datos, modelo de datos relacional y lenguaje SQL, que le ayudarán a complementar sus conocimientos.
10
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
PRELIMINARES
Guía didáctica: Fundamento de Base de Datos
5. Orientaciones generales para el estudio
Estudiar a distancia es un reto que requiere esfuerzo, dedicación y sobre todo de organización, por ello debe hacer de esta actividad un trabajo continuo y sistemático, organice su tiempo de manera que pueda verdaderamente aprovechar los contenidos que se le están ofreciendo.
Creemos conveniente brindarle algunas recomendaciones de cara al desarrollo de los contenidos en el semestre, para un mejor aprovechamiento de los recursos: Recursos La asignatura de Fundamentos de Base de Datos, tiene como texto base “Sistemas de bases de datos. Un enfoque práctico para diseño, implementación y gestión”, de Connolly y Begg, además como apoyo principal la Guía Didáctica, estos serán los principales recursos con los que usted contará para la revisión de cada uno de los contenidos de esta asignatura y para orientarse en cuanto al avance de la misma. •
El texto base es rico en contenidos, cuenta además con herramientas muy didácticas como: figuras ilustrativas, casos de estudio, resúmenes, actividades recomendadas al final de cada unidad, ejercicios propuestos, un glosario al que usted podrá recurrir cuando encuentre un término desconocido y una serie de apéndices en donde encontrará información relevante a manera de resumen.
•
En cuanto a la guía, su fin principal es el de orientar al estudiante, indicándole los temas del libro que debe revisar y los conceptos a los cuáles deberá poner un mayor énfasis; la guía didáctica servirá también para ir midiendo la asimilación de conocimientos, así que se proponen cuestionarios, ejercicios y otras actividades que complementen su aprendizaje.
•
Es recomendable que desarrolle las autoevaluaciones propuestas en la guía didáctica, al final de cada unidad, pues estas le ayudarán a medir el nivel de asimilación de los contenidos y en caso de ser necesario enfocarse en los temas que debe reforzar.
•
Dentro de la guía también dispone de una herramienta muy importante que es la planificación para el trabajo del alumno, en la cual está la dosificación de contenidos que debe ir desarrollando durante cada semana del semestre académico, que le permitirán ir adquiriendo las competencias que se ha planteado para la asignatura de fundamentos de base de datos.
Técnicas de estudio •
Para comenzar sus estudios, usted deberá primero remitirse a la guía didáctica en donde se le darán instrucciones acerca de la información que deberá revisar, luego se remitirá al libro y cuando los contenidos hayan quedado claros deberá volver una vez más a la guía para concentrarse en aquellos conceptos fundamentales y realizar una serie de actividades complementarias propuestas. Utilice las técnicas de estudio que más se ajusten a usted (subrayados, resúmenes, cuadros sinópticos, esquemas, gráficas, etc.).
•
Es conveniente que siempre considere el calendario académico que le fue entregado y organice su tiempo para que el estudio sea constante. La recomendación es que debe revisar una unidad
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
11
Guía didáctica: Fundamento de Base de Datos
PRELIMINARES
por semana, aunque en ocasiones debido a la dificultad o facilidad de ciertos temas, este tiempo podrá variar. Interactividad Adicional al material básico, usted contará con otros recursos tecnológicos que le servirá para profundizar o complementar lo aprendido, como son: •
Entorno Virtual de Aprendizaje, en donde usted encontrará documentos, videos, foros, chats en el que participan además de su profesor sus compañeros, logrando así una total retroalimentación de los contenidos desarrollados.
•
Biblioteca Virtual, a la que puede acceder a través de la página web de la universidad http://www. utpl.edu.ec/biblioteca, en donde encontrará enlaces a importantes bibliotecas virtuales de todo el mundo que pueden ser consultadas por usted.
•
En sus evaluaciones a distancia usted encontrará los datos completos de su profesor-tutor, con el cual se podrá comunicar constantemente a través de la línea telefónica, correo electrónico, entorno virtual, google talk o skype para hacerle llegar sus inquietudes ya que ud. está en un proceso de aprendizaje y siempre se requiere de ayuda para esclarecer alguna duda o para ratificar sus ideas. Recuerde que siempre será un gusto poder ayudarle.
Evaluación Al final de cada bimestre, deberá entregar las evaluaciones a distancia (30% de la calificación final) en las fechas establecidas para el efecto y luego rendir sus evaluaciones presenciales (70% de la calificación final), que sumados deberán dar un total de 20 puntos por bimestre. Debe obtener una nota mínima de 14 puntos sobre 20, de lo contrario tendrá que rendir una evaluación supletoria que reemplazará a la nota bimestral. Para superar la asignatura debe contabilizar un mínimo de 28 puntos. Estimado profesional en formación, recuerde que de su constancia y esfuerzo depende el cumplir con las metas que se ha planteado para el presente semestre y cuente con la ayuda del profesor tutor para apoyarle en la consecución de sus objetivos.
12
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
6. Proceso de enseñanza-aprendizaje para el logro de competencias PRIMER BIMESTRE 6.1. Competencias Genéricas •
Capacidad de abstracción, análisis y síntesis
•
Capacidad de aplicar los conocimientos en la práctica
•
Conocimiento sobre el área de estudio y la profesión
•
Capacidad de aprender a aprender como política de formación continua
6.2 Planificación para el trabajo del alumno COMPETENCIAS ESPECÍFICAS Analizar las necesidades de conocimiento necesarias para resolver un problema
Realizar la gestión y recuperación de información generada en los sistemas informáticos
INDICADORES DE APRENDIZAJE
CONTENIDOS
• Identifica conceptos Unidad 1 clave de los sistemas de bases de datos, Introducción a las bases sus antecesores y de datos SGBD 1.1. Importancia de las bases de datos 1.2. Sistemas tradicionales basados en archivos 1.3. Sistemas de bases de datos 1.4. Papeles en un entorno de base de datos 1.5. Historia de los sistemas de gestión de base de datos 1.6. Ventajas y desventajas de un SGBD
ACTIVIDADES DE APRENDIZAJE • Lectura comprensiva del primer capítulo del texto base según las indicaciones de la guía didáctica • Desarrollar un cuadro sinóptico a manera de cronología sobre la evolución de las bases de datos • Desarrollo de actividades recomendadas en la guía para la primera unidad. • Revisar anuncios publicados en el EVA • Empezar el desarrollo de la de la evaluación a distancia que corresponda a la primera unidad
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
CRONOGRAMA ORIENTATIVO Tiempo Estimado Semana 1 • 4 horas de autoestudio • 4 horas de interacción
La Universidad Católica de Loja
13
Guía didáctica: Fundamento de Base de Datos
COMPETENCIAS ESPECÍFICAS
INDICADORES DE APRENDIZAJE • Reconoce los beneficios de contar con la arquitectura ANSI-SPARC • Descubre y argumenta las funciones que debe cumplir una base de batos
• Identifica los conceptos elementales en el modelo relacional • Identifica la conexión con las relaciones matemáticas • Analiza la importancia de los elementos de este modelo
14
PRIMER BIMESTRE
CONTENIDOS
ACTIVIDADES DE APRENDIZAJE
CRONOGRAMA ORIENTATIVO Tiempo Estimado
Unidad 2
• Lectura comprensiva Semana 2 del segundo El entorno de la base de capítulo del texto • 4 horas de datos base siguiendo las autoestudio indicaciones de la • 4 horas de 2.1. La arquitectura en guía didáctica interacción tres niveles de ANSI • Interprete con sus -SPARC propias palabras 2.2. Lenguajes de base el gráfico 2.1 del de datos texto base que 2.3. Modelos de hace referencia a la datos – modelado arquitectura ANSIconceptual SPARC 2.4. Funciones de un • Generación de mapa SGBD conceptual sobre 2.5. Componentes de un funciones de una base SGBD de datos 2.6. Arquitecturas de • Desarrollo de SGBD multiusuario actividades recomendadas en la guía para la segunda unidad. • Revisar anuncios publicados en el EVA • Desarrollo de la parte de la evaluación a distancia que corresponda a la segunda unidad Unidad 3 Modelo Relacional 3.1. Breve historia del modelo relacional 3.2. Terminología usada en modelo relacional 3.3. Restricciones de integridad 3.4. Vistas
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
• Lectura comprensiva Semana 3 del tercer capítulo de acuerdo a las • 4 horas de indicaciones de la autoestudio guía didáctica • 4 horas de • Generación de mapa interacción conceptual de los componentes del modelo relacional • Desarrollo de actividades recomendadas en la guía para la tercera unidad • Revisar anuncios en el EVA • Desarrollo de la parte de la evaluación a distancia correspondiente a la tercera unidad
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
COMPETENCIAS ESPECÍFICAS
INDICADORES DE APRENDIZAJE
CONTENIDOS
• Aplica las operaciones de álgebra relacional en tablas relacionales • Aplica las operaciones de cálculo relacional en tablas relacionales
• Analiza la relación entre álgebra relacional y el lenguaje SQL • Analiza la importancia del lenguaje SQL • Utiliza las sentencias SQL para manipulación de datos haciendo consultas simples o compuestas
CRONOGRAMA ORIENTATIVO Tiempo Estimado
ACTIVIDADES DE APRENDIZAJE
Unidad 4
• Lectura comprensiva del cuarto capítulo Algebra relacional/ del texto base Cálculo relacional de acuerdo a las indicaciones de la 4.1. Algebra relacional guía didáctica 4.2. Operaciones unarias • Elaboración de una 4.3. Operaciones de tabla resumen, de conjuntos operaciones del 4.4. Cálculo relacional álgebra y cálculo relacionales. • Desarrollo de actividades recomendadas en la guía para la cuarta unidad • Revisar anuncios en el EVA • Revisar los ejercicios resueltos en el texto base • Desarrollar los ejercicios propuestos al final del capítulo en el texto base • Desarrollo de la parte de la evaluación a distancia que corresponda a la cuarta unidad
Semana 4 • 4 horas de autoestudio • 4 horas de interacción
Unidad 5
• Lectura comprensiva Semana 5 y 6 del quinto capítulo SQL – Manipulación de del texto base • 8 horas de Datos de acuerdo a las autoestudio indicaciones de la • 8 horas de 5.1. Lenguaje de consulta guía didáctica interacción estructurado SQL • Desarrollo de 5.2. Escritura de actividades comandos SQL recomendadas en la 5.3. Manipulación de guía para la quinta datos unidad 5.4. Instrucción de • Revisar anuncios en el consultas: SELECT EVA • Revisar los ejercicios resueltos en el texto base • Desarrollar los ejercicios propuestos al final del capítulo en el texto base • Desarrollo de la parte de la evaluación a distancia que corresponda a la quinta unidad
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
15
Guía didáctica: Fundamento de Base de Datos
COMPETENCIAS ESPECÍFICAS
PRIMER BIMESTRE
INDICADORES DE APRENDIZAJE
CONTENIDOS Unidades de la 1 - 5
16
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
ACTIVIDADES DE APRENDIZAJE
CRONOGRAMA ORIENTATIVO Tiempo Estimado
• Aplicación de Semana 7 y 8 autoevaluaciones de la guía didáctica de las • 8 horas de unidades 1 - 5 autoestudio • Revisión de foro de • 8 horas de consultas al profesor interacción • Realización de ejercicios propuestos en el EVA • Revisión de videos en http://www.youtube. com de las unidades
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
6.3. Sistema de evaluación de la asignatura (primero y segundo bimestres) Formas de evaluación
Prueba objetiva
X
X
X
Respeto a las personas y a las normas de comunicación
X
X
Creatividad e iniciativa
X
X
Cumplimiento, puntualidad, responsabilidad
X
X
Esfuerzo e interés en los trabajos
X
Contribución en el trabajo colaborativo y de equipo
X X
X
X
X
X
X
Investigación (cita fuentes de consulta)
X
X
Aporta con criterios y soluciones
X
X
Análisis y profundidad en el desarrollo de temas
X
X
20% 30%
Máximo 1 punto (completa la evaluación a distancia)
X
Presentación, orden y ortografía Emite juicios de valor argumentadamente
PORCENTAJE
Puntaje
X
Estrategia de aprendizaje
Dominio del contenido
X
10%
2
4
6
X
X
X
70%
14
TOTAL
Actividades presenciales y en el EVA
Actitudes
X
3. Coevaluación
Interacción en el EVA
X
Parte objetiva
X
Comportamiento ético
Conocimientos
Evaluación presencial
X
X
Competencia: criterio
Habilidades
Evaluación a distancia **
Parte de ensayo
1. Autoevaluación *
2. Heteroevaluación
20 puntos Para aprobar la asignatura se requiere obtener un puntaje mínimo de 28/40 puntos, que equivale al 70%.
* Son estrategias de aprendizaje, no tienen calificación; pero debe responderlas con el fin de autocomprobar su proceso de aprendizaje. ** Recuerde que la evaluación a distancia consta de dos partes: una objetiva y otra de ensayo, debe desarrollarla y entregarla en su respectivo centro universitario.
Señor estudiante:
Tenga presente que la finalidad de la valoración cualitativa es principalmente formativa.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
17
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
6.4. Orientaciones específicas para el aprendizaje por competencias
UNIDAD 1: INTRODUCCIÓN A LAS BASES DE DATOS
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 1 del texto base: Introducción a las bases de datos
Estimado estudiante, iniciamos el estudio de la asignatura abordando temas fundamentales para insertarnos en el contexto de las bases de datos, lo que le permitirá conocer cómo evolucionaron las bases de datos, las funciones típicas, componentes principales y el personal implicado en los sistemas de gestión de bases de datos.
1.1. Importancia de las bases de datos Iniciemos destacando que en la actualidad las bases de datos son parte de la vida cotidiana igualmente forman parte esencial de los Sistemas de Información y su aplicabilidad está en casi todas las actividades diarias. De seguro usted cuenta con su cédula de ciudadanía que la obtuvo en alguna de las dependencias del Registro Civil; para este proceso le solicitaron su información personal como nombres, apellidos, nivel de instrucción, entre otros. Esta información fue complementada con datos propios asignados por la institución como número de cédula asignado, lugar y fecha de expedición, fecha de caducidad, entre otros. Toda esta información es ingresada en una base de datos; y es alimentada y actualizada con cada nuevo usuario que acude a la institución. Para revisar más ejemplos de bases de datos revise el texto base en el apartado Introducción. Una vez que hemos recordado e identificado ejemplos típicos de bases de datos continuemos con el siguiente tema.
1.2. Sistemas tradicionales basados en archivos Es importante que usted conozca que los sistemas basados en archivos fueron los predecesores de los sistemas de gestión de base de datos, por lo que es necesario que revise el texto base en el apartado del mismo nombre en donde podrá encontrará los detalles de sus características y limitaciones. Una vez que ya ha revisado el concepto de los sistemas basados en archivos, seguramente podrá darse cuenta que su utilización en sus inicios fue muy exitosa, pero con muchas limitaciones. ¿Cuáles son las limitaciones de los sistemas basados en archivos que se pueden observar? El hecho de gestionar y definir sus propios datos, nos dice que se trata de programas distintos en una misma organización y por lo tanto, los datos que manejan son distintos también, dando lugar a
18
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
redundancia e inconsistencia de la información, y a un crecimiento innecesario de programas de aplicación. En el párrafo anterior se ha analizado una de las limitaciones de éstos sistemas, es necesario que usted realice el análisis de las limitaciones que ha identificado.
1.3. Sistema de base de datos Bien, ahora que hemos reconocido los sistemas basados en archivos y sus limitaciones, es momento de revisar los sistemas de gestión de base de datos, que surgieron para solventar dichas limitaciones. Es preciso que estudie completamente el apartado de sistemas de base de datos ya que repasa los conceptos importantes en el contexto de un sistema de base de datos y sus relaciones. Le recomiendo que elabore una lista de términos importantes y defínalos con sus propias palabras.
Como complemento a la lista de términos y definiciones que usted ha elaborado, realice un mapa conceptual
Ahora bien, un paso previo a la construcción de un sistema de base de datos, es la actividad de diseño de base de datos, la cual resulta imprescindible. Una base de datos diseñada de forma inadecuada generará errores que pueden conducir a decisiones incorrectas que podrían tener repercusiones serias en la organización. En esta asignatura, iremos tratando los temas que nos darán la experticia para realizar un adecuado diseño de bases de datos.
1.4. Papeles en un entorno de base de datos En el entorno de base de datos participan varios actores que tienen sus responsabilidades definidas, lo que permite un trabajo coordinado y efectivo.
En su texto base, revise el apartado Papeles en un entorno de base de datos, en donde se explica de forma general los distintos roles implicados en un SGBD para las funciones de: administración, diseño, desarrollo y uso.
Podemos decir que unos roles están comprometidos y otros involucrados con la base de datos. ¿Podemos identificar los roles que se comprometen y los que se involucran con la base de datos? Si usted se consideró que el DBA es un rol comprometido con la base de datos, está en lo correcto. El DBA cumple un papel clave en la base de datos, debido a que es el responsable de gestionar el SGBD. En contraste, tenemos el caso de los desarrolladores que tienen que implementar los requisitos de usuario donde cada programa exige al SGBD realizar alguna operación sobre la base de datos. Por lo tanto el rol mencionado está involucrado con base de datos, pero no tendrá un protagonismo en ella.
Elabore un cuadro sinóptico de los roles que existen en un SGBD y sus tareas más importantes. Además asocie los roles a las funciones de: administración, diseño, desarrollo y uso.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
19
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
1.5. Historia de los sistemas de gestión de base de datos Hagamos un poco de historia, después de los sistemas basados en archivos, los sistemas de base de datos han ido evolucionando hasta contar con lo que hoy tenemos, bases de datos robustas, seguras y escalables. Para conocer más a detalle cómo fueron evolucionando los sistemas de base de datos, acuda al texto base y revise el apartado de historia de los SGBD.
Realice un esquema que resuma las diferentes definiciones generadas por DBTG, que le permitirá conocer el aporte importante de este grupo de trabajo.
La figura siguiente se resume de forma general la evolución de los sistemas de gestión de base de datos en tres generaciones.
Figura 1.1.Generación de los SGBD. Adaptación de (Connolly, 2005)
Realice una búsqueda en la web, acerca de la propuesta de Codd, esto le ayudará a identificar cuestionamientos importantes que son propuestos por el principal precursor de las bases de datos.
1.6. Ventajas y desventajas de los SGBD Una vez que se ha estudiado los SGBD, seguramente ahora ya sabe para qué sirve una base de datos y cuáles son sus componentes. Probablemente conoce que los SGBD han solucionado problemas potenciales en la gestión de información y presentan grandes ventajas, a pesar de ello, también tienen algunas desventajas, por lo que conviene hacer un análisis de éstas.
Recurra al apartado Ventajas y desventajas de los SGBD en su texto base, ya que es importante cuestionarse acerca de ellas.
Para complementar su lectura realice un esquema que contemple las ventajas y desventajas e identifique su justificación y relevancia.
Por ejemplo una ventaja clave en los SGBD es el control de la redundancia, debido a que los datos se encuentran integrados en una sola estructura y no en varios archivos como sucedía en la técnica basada en archivos. Si revisamos el tamaño como una desventaja, se observa que debido a la complejidad y número de funcionalidades que conforman el SGBD hace que el software consuma muchos recursos. Esta desventaja
20
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
no es muy relevante hoy en día, ya que el hardware ofrece grandes cantidades de almacenamiento a menor costo. Bien, felicitaciones ha terminado la unidad 1, con el mismo entusiasmo siga adelante. Como parte complementaria en el desarrollo de la presente unidad le invitamos a desarrollar las siguientes actividades recomendadas.
ACTIVIDADES RECOMENDADAS
Estimado estudiante, para medir la asimilación de sus conocimientos en la presente unidad, desarrolle las siguientes actividades que están planteadas al final del capítulo de trabajo de su texto base, como cuestiones de repaso. Esto le permitirá saber los temas que debe reforzar. •
Desarrolle los puntos 1.1, 1.4, 1.5 y 1.7
Recuerde que puede solicitar ayuda a su tutor mediante el campus virtual o telefónicamente.
Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base. •
√ t
Ejercicios 1.8 y 1.11
Interactividad virtual Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec)
Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso, la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
21
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
Autoevaluación 1
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas: Conteste Verdadero (V) o Falso (F) a las siguientes afirmaciones, según corresponda: 1.
(
)
Una de las ventajas de los sistemas basados en archivos es el control de redundancia.
2.
(
)
Una base de datos es el software que gestiona y controla el acceso a los datos.
3.
(
)
El DBA es el responsable de programar la base de datos.
4.
(
)
En los modelos de datos basados en objetos, un atributo de una entidad es una propiedad del objeto.
5.
(
)
Una ventaja de los SGBD son las prestaciones.
6.
(
)
Los sistemas basados en archivos funcionaban muy bien con muchos datos.
7.
(
)
Una desventaja que hoy es la más relevante es la que refiere al tamaño de la base de datos.
8.
(
)
En la actualidad la mayoría de SGBD tienen todas las características de ser orientados a objetos.
9.
(
)
El SGBD proporciona un acceso controlado a la base de datos.
10.
(
)
Metadatos, diccionario de datos, son sinónimos de catálogo del sistema.
Ensayo 11.
22
Entreviste a usuarios técnicos de un sistema de base de datos: ¿Qué ventajas y desventajas ha podido identificar? ¿Qué funciones encuentra más útiles y en qué circunstancias las ha utilizado? ¿Qué sistema de base de datos utiliza?
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
UNIDAD 2: ENTORNO DE LA BASE DE DATOS
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 2 del texto base: El entorno de la base de datos
Estimado estudiante, continuaremos estudiando los niveles de la arquitectura de base de datos ANSISPARC que como consecuencia permite la independencia lógica y física, adicionalmente revisaremos otros temas relacionados con el entorno de base de datos. Con este tema usted comprenderá la participación del componente de base de datos en cualquier sistema de información.
2.1. La arquitectura en tres niveles de ANSI-SPARC Es momento de estudiar la arquitectura ANSI-SPARC, de la que conviene comentar que nació por la necesidad de contar con una terminología estándar y una arquitectura general en los sistemas de base de datos. Los niveles de la arquitectura ANSI-SPARC, se conocen como niveles de abstracción y son: externo, conceptual e interno.
Revise su texto base en el apartado Arquitectura en tres niveles de ANSI-SPARC (2.1.1, 2.1.2 y 2.1.3).
Para complementar su lectura realice un cuadro sinóptico que resuma las características más importantes de cada uno de los niveles de la arquitectura. Además, analice las razones por las cuales la separación en tres niveles resulta conveniente.
También es importante que usted conozca los aspectos clave de la descripción global de la base de datos a la que se denomina esquema de base de datos. A continuación, se ha considerado conveniente realizar un esquema resumen del tema. Para mayor detalle debe remitirse al texto base en el apartado Esquemas, asignaciones e instancias.
Figura 2.1. Esquemas de base de datos según los niveles de abstracción. Adaptación de (Connolly, 2005)
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
23
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
Es importante recordar que el SGBD es el responsable de establecer la correspondencia entre esquemas y su coherencia. Esto se encuentra representado y explicado en figura 2.2 de su texto base, vale la pena que se asegure que lo haya comprendido.
Para validar la comprensión de los esquemas de base de datos, elabore un ejemplo de la diferencia entre los tres niveles para un esquema de almacenamiento de datos que usted crea conveniente. Tome como referencia el ejemplo de la figura 2.2.
Una vez que ya conoce los niveles que propone la arquitectura ANSI-SPARC, usted debe ya saber que el SGBD debe proporcionar independencia de los datos. Para profundizar en esta importante tarea revise el apartado Independencia de datos del texto base, se sugiere que realice la siguiente actividad.
Identifique ejemplos de cambios que se podrían dar en los tres niveles y cómo afectaría un cambio en un nivel al resto de niveles.
2.2. Lenguajes de base de datos Siguiendo con el desarrollo de la unidad, revise el apartado de lenguajes de base de datos y realice un cuadro resumen respecto a los sublenguajes de datos y sus elementos más importantes. Luego vale la pena cuestionarse: ¿Qué sucede con el acceso a la base de datos desde programas de aplicación? Los programas de aplicación se escriben en lenguaje de alto nivel (C++, Java, ...), denominado lenguaje anfitrión o lenguaje host. Para acceder a la BD, las instrucciones DML requieren ser ejecutadas desde el lenguaje anfitrión. Hay dos maneras de conseguir esto: •
Mediante una API (Librería de procedimientos) que permita enviar instrucciones DML y DDL a la base de datos, así como recuperar los resultados.
•
Extendiendo la sintaxis del lenguaje anfitrión para incorporar llamadas DML dentro del programa del lenguaje anfitrión.
Es necesario que tenga presente la información presentada, sin embargo no es necesario profundizar porque son temas para revisar más adelante.
2.3. Modelos de datos y modelado conceptual El autor nos presenta la siguiente definición: “Un modelo de datos es una colección integrada de conceptos para describir y manipular datos, las relaciones existentes entre los mismos y las restricciones aplicables a los datos dentro de una organización”. Además, es necesario resaltar que los modelos de datos comprenden tres componentes: (1)parte estructural (2) la parte manipulativa y (3) un conjunto de restricciones de integridad.
24
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
PRIMER BIMESTRE
Guía didáctica: Fundamento de Base de Datos
Para mayor detalle revise el apartado modelos de datos y modelado conceptual de su texto base, donde es importante que analice los componentes de los modelos de datos y las categoría de modelos de datos que existen. De forma complementaria tenemos otras definiciones respecto a los modelos de datos. De acuerdo a [Ullman1999]: “Un modelo de datos es un sistema formal y abstracto que permite describir los datos de acuerdo con reglas y convenios predefinidos. Es formal pues los objetos del sistema se manipulan siguiendo reglas perfectamente definidas y utilizando exclusivamente los operadores definidos en el sistema, independientemente de lo que estos objetos y operadores puedan significar.” Según Codd, en [Silberschatz]: “Un modelo de datos es una combinación de tres componentes: 1)
Una colección de estructuras de datos (los bloques constructores de cualquier base de datos que conforman el modelo).
2)
Una colección de operadores o reglas de inferencia, los cuales pueden ser aplicados a cualquier instancia de los tipos de datos listados en (1), para consultar o derivar datos de cualquier parte de estas estructuras en cualquier combinación deseada.
3)
Una colección de reglas generales de integridad, las cuales explícita o implícitamente definen un conjunto de estados consistentes --estas reglas algunas veces son expresadas como reglas de insertar-actualizar-borrar.”
Un modelo de datos puede ser usado de las siguientes maneras: i)
Como una herramienta para especificar los tipos de datos y la organización de los mismos que son permisibles en una base de datos específica.
ii)
Como una base para el desarrollo de una metodología general de diseño para las bases de datos.
iii)
Como una base para el desarrollo de familias de lenguajes de alto nivel para manipulación de consultas (querys) y datos.
iv)
Como el elemento clave en el diseño de la arquitectura de un manejador de bases de datos. El primer modelo de datos desarrollado con toda la formalidad que esto implica fue el modelo relacional, en 1969, mucho antes incluso que los modelos jerárquicos y de red. A pesar de que los sistemas jerárquicos y de red como software para manejar bases de datos son previos al modelo relacional, no fue sino hasta 1973 que los modelos de tales sistemas fueron definidos, apenas unos cuantos años antes de que estos sistemas empezaran a caer en desuso.
2.4. Funciones de un SGBD Seguramente usted ya sabe que un SGBD debe proporcionar una serie de funciones y servicios, Codd plantea ocho servicios que un SGBD completo debe proporcionar:
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
25
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
La tabla siguiente proporciona un resumen realizado del texto base, y se ha dejado una casilla para incluir detalles importantes de cada función. En su texto base examine el apartado Funciones de un SGBD. Función 1) Almacenamiento, extracción y actualización de datos (2) Un catálogo accesible por el usuario
Descripción
Detalles importantes
Capacidad de almacenar, extraer y actualizar datos
Catálogo para almacenar descripciones de los elementos de datos, accesible a los usuarios (3) Soporte de Mecanismos para garantizar transacciones que completen todas las actualizaciones de una transacción o que no se lleve a cabo ninguna 4) Servicios de control Mecanismos para garantizar de concurrencia la actualización correcta cuando haya múltiples usuarios concurrentes (5) Servicios de Proporcionar mecanismos recuperación para recuperar la BD cuando resulte dañada (6) Servicios de Mecanismos para autorización garantizar que sólo usuarios autorizados tengan acceso (7) Soporte para la Debe poder integrarse tramitación de con software de datos comunicaciones (8) Servicios de Medio para garantizar que integridad tanto los datos como los cambios efectuados en la BD se adecuen a ciertas reglas Además, es razonable esperar que los SGBD proporcionen los servicios siguientes: (9) Servicios para mejorar la independencia de los datos (10) Servicios de utilidad
26
Funcionalidades que permitan que los programas sean independientes de la estructura real de BD Programas que ayuden al DBA a la administración de la BD
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
Se recomienda que complete en la tabla anterior la sección “detalles importantes” respecto de las funciones del SGBD.
2.5. Componentes de un SGBD Ha llegado el momento de analizar los componentes de un SGBD constituidos por módulos o componentes de software que gestionan sus servicios o funciones. Para profundizar en el tema, es necesario que estudie el apartado Componentes de un SGBD del texto base. Debemos considerar que no es posible generalizar la estructura de componentes de un SGBD, pero resulta útil estudiar una estructura particular es por ello que en el texto base se estudia los componentes del SGBD Oracle.
2.6. Arquitecturas de SGBD multiusuario Finalmente, es necesario revisar las arquitecturas generalmente usadas en la implementación de SGBD multiusuario. Para mayor detalle recurra al texto base y estudiemos brevemente el apartado Arquitecturas de SGBD multiusuario.
Realice un mapa conceptual o un cuadro resumen del tema de Arquitecturas de SGBD multiusuario. Ya que lo que más interesa es que logre capturar las características más relevantes de cada una de las arquitecturas.
Gracias a su esfuerzo, ha terminado una unidad más, siga adelante desarrollando las demás unidades. Para aplicar los conocimientos adquiridos, conviene que desarrolle las actividades recomendadas descritas a continuación.
ACTIVIDADES RECOMENDADAS
Estimado estudiante, para medir la asimilación de sus conocimientos en la presente unidad, desarrolle las siguientes actividades que están planteadas al final del capítulo de trabajo de su texto base, como cuestiones de repaso. Esto le permitirá saber los temas que debe reforzar. •
Desarrolle los puntos 2.1, 2.2, 2.3, 2.4, 2.7, 2.9 y 2.10
Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base. •
Ejercicios 2.12, 2.13 y 2.14
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
27
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
Interactividad virtual Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec)
Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso, la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
28
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
Autoevaluación 2
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas: Conteste Verdadero (V) o Falso (F) a las siguientes afirmaciones, según corresponda: 1.
(
)
El objetivo de la arquitectura ANSI-SPARC es separar la vista que cada usuario tiene de la BD de su representación física.
2.
(
)
Un modelo de datos corresponde a uno de los componentes fundamentales del SGBD.
3.
(
)
El nivel interno de abstracción de una arquitectura de base de datos está compuesto por las vistas del usuario de la BD.
4.
(
)
La abstracción de datos consiste en presentar al usuario datos resumidos de la base de datos.
5.
(
)
El nivel conceptual de abstracción de una arquitectura de base de datos está compuesto por la vista comunitaria de base de datos.
6.
(
)
El catálogo del sistema tiene la desventaja de no poseer información para que se pueda realizar la verificación de sus .
7.
(
)
El SGBD debe proporcionar un mecanismo que garantice la ejecución o no de todas las operaciones involucradas en una transacción.
8.
(
)
Un lenguaje host es un lenguaje de alto nivel que tiene embebido lenguaje SQL.
9.
(
)
La arquitectura cliente servidor en dos capas es la más recomendable para aplicaciones en la web.
10.
(
)
El monitor TP ofrece ventajas importantes en la arquitectura de servidor de archivos.
Ensayo 11) Analice las características específicas de la base de datos Oracle Express Edition, respecto a su arquitectura. Para esta actividad realice búsquedas en internet.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
29
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
UNIDAD 3: EL MODELO RELACIONAL Y LOS LENGUAJES RELACIONALES
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 3 del texto base: El modelo relacional
Estimado estudiante, a continuación revisaremos conceptos estructurales básicos del modelo relacional, la forma cómo se utilizan las relaciones para representar datos; el vínculo entre relaciones matemáticas y las relaciones usadas en el modelo relacional así como sus propiedades; además, se avanzará en la identificación de claves candidatas, principales, alternativas y externas; y se discutirá sobre integridad de entidades, integridad referencial y otras generalidades en torno al propósito y las ventajas de las vistas en sistemas relacionales. Este tema es de vital importancia dentro de las bases de datos pues le servirá como fundamento teórico de la gestión y manipulación de datos en una base de datos.
3.1. Breve historia del modelo relacional El modelo relacional es hoy en día el modelo de datos más robusto y usado, usted debe haberlo percibido en el estudio de los temas anteriores. Es momento de revisar brevemente la historia del modelo relacional en su texto base, con el fin de mirar la evolución de este modelo.
3.2. Terminología usada en el modelo relacional Ahora corresponde estudiar la terminología básica del modelo relacional que le permitirá iniciar en los conceptos y términos que le servirán en toda tarea de gestión de base de datos. 3.2.1 Estructuras de datos relacionales Demos un vistazo al apartado Terminología para estudiar los conceptos clave, los cuales no es necesario memorizarlos pero si saberlos explicar. Se le sugiere ponga especial atención a este apartado pues todo lo mencionado es clave, por esto utilice una técnica de estudio (cuadro sinóptico, esquema resumen, mapa mental, …) para captar los conceptos importantes. Un elemento que vamos a permitirnos mencionar es el término dominio, que podríamos decir que son una característica poderosa dentro del modelo relacional. Dominio, es el conjunto de valores permitidos para un atributo. Por ejemplo: el atributo sexo va a tener siempre dos valores que pueden ser F/M (dependerá de la forma de representación que se decida aplicar, puede ser Hombre/Mujer pero siempre tendrá dos valores). Además, es importante resaltar, que existen dominios implícitos y explícitos. Los dominios implícitos están dados por la definición del atributo, ya que al momento de asignarle un tipo de dato, estamos dándole un rango de valores permitidos. Por ejemplo:
30
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
•
Salario, de tipo monetario de 4 dígitos, podrá permitir hasta el valor 9999.
•
Sexo, por su definición es caracter de tamaño 1, por lo tanto por definición aceptará cualquier carácter que se ingrese, pero sólo 1.
• Los dominios explícitos son aquellos a los que se asigna unos valores permitidos. Por ejemplo: •
Sexo valores permitidos F ó M
Para efectos de esta asignatura cuando hablemos de dominios de forma general nos referiremos sólo a los dominios explícitos.
3.2.2.
En forma análoga a la figura 3.1 de su texto base, represente los elementos del modelo relacional en un esquema de tablas que usted diseñe, con esta actividad usted asegurará que ha comprendido las especificaciones de este tema.
Elabore una tabla, similar a la figura 3.2, de los dominios que se requerirán para una relación Persona (cedula, nombres, apellidos, dirección, sexo, teléfono, provincia, ciudad, estado civil, profesión), con la finalidad de validar la asimilación del concepto dominio.
Relaciones matemáticas y relaciones de base de datos.
Vale la pena resaltar que el modelo relacional está basado en conceptos matemáticos, pues el precursor de las bases de datos, Codd, utilizó especialmente la terminología de teoría de conjuntos y de lógica de predicados. Para más detalle estudie el apartado Relaciones matemáticas del texto base, donde se explica claramente los conceptos matemáticos que son la base del modelo relacional. Ahora usted se preguntará cómo los conceptos matemáticos empatan con las bases de datos. El apartado Relaciones de una base de datos realiza una analogía entre las relaciones matemáticas y las bases de datos, con ejemplos que le ayudan a comprender fácilmente esta relación. 3.2.3.
Propiedades de las relaciones
Ahora que ya conocemos el fundamento del modelo relacional, debemos estudiar las propiedades que deben cumplir las relaciones, las mismas que son parte de las restricciones inherentes del modelo relacional. Por ejemplo el hecho de que cada celda de la relación debe contener valores atómicos, es decir en una sola celda sólo debe haber un valor; es una propiedad que debe cumplirse para decir que una relación está normalizada o en primera forma normal. Para entender este punto, acuda al apartado Propiedades de las relaciones y trate de ir justificando cada propiedad de las relaciones de este modelo.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
31
Guía didáctica: Fundamento de Base de Datos
3.2.4.
PRIMER BIMESTRE
Claves relacionales
Ha llegado el momento de revisar otro de los aspectos elementales en el modelo relacional, en la figura de las claves relacionales. Partiendo de una de las propiedades mencionadas en el apartado anterior: “No existen tuplas duplicadas dentro de una relación”, ésta es quizá una de las propiedades que tiene mayor peso. Esto significa, que es necesario identificar uno o más atributos (que se denominan claves relacionales) que identifiquen de manera unívoca cada tupla de una relación. Recurra al apartado correspondiente a Claves relacionales y realicemos una lectura comprensiva del mismo. Identifique cada una de las claves relacionales: superclave, clave candidata, clave compuesta, clave principal, clave externa. Como ha observado la clave candidata de una relación cumple con las propiedades de unicidad e irreducibilidad. Por ejemplo: Sea la relación: Estudiante que tiene (cedula, cod_est, nombre, fecha_nac y sexo) Se puede pensar en la clave candidata: cedula+codigo_est, porque cumple con la primera propiedad, pero no puede ser clave candidata, puesto que no cumple con la segunda. Lo correcto es: Claves candidatas: cedula y codigo_est .Debe recordar que se pueden tener varias claves candidatas en una relación. 3.2.5.
Representación de esquemas de base de datos relacional
Seguro que ahora ya conocemos más acerca del modelo relacional, se estará preguntando cuál es la forma de representar un esquema relacional. A continuación veamos cuál es la representación, revisemos el texto base la representación de esquemas de base de datos relacionales, aquí el autor nos presenta un esquema ejemplo al que llamaremos DreamHome, ya que hace referencia al caso de estudio de este nombre. Vale destacar, que la representación de un esquema de relación es la siguiente: y luego entre < ( ) > los separados con comas, además el atributo o los atributos que forman la clave principal, se indican con subrayado.
32
Busque en Internet o cualquier otro recurso bibliográfico un ejemplo de un esquema de base de datos relacional similar a la presentada como ejemplo en el texto base, y ubique las claves relacionales que usted puede determinar. Con esto usted asegura que sabe identificar correctamente relaciones, atributos y claves relacionales.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
PRIMER BIMESTRE
Guía didáctica: Fundamento de Base de Datos
3.3. Restricciones de integridad Es momento de trabajar con las restricciones de integridad de modelo relacional: restricciones de dominio, reglas de integridad de la base de datos, integridad de entidades e integridad referencial que permiten colocar en la base de datos características propias del problema a representar o restricciones que permitan asegurar que los datos sean coherentes. Previo a las reglas de integridad se requiere repasar el concepto de valores nulos. El texto base presenta la definición “Un valor nulo corresponde a un valor desconocido o no aplicable en una tupla” que es importante que usted la tenga presente.
Recurra al apartado Restricciones de integridad, se le recomienda que elabore un esquema de las características más relevantes.
Utilice el esquema de BD identificado en la anterior actividad recomendada y ubique aquellos atributos que pueden tener valor nulo, además identifique si cumplen con las restricciones de integridad relacionales, con esta actividad usted asegura que ha superado el tema.
3.4. Vistas Sigamos con el estudio de las vistas, en el contexto del modelo relacional una vista se define como “una relación virtual o derivada que no existe necesariamente por derecho propio, sino que puede derivarse a partir de una o varias relaciones base”. Ahora revisemos todo el apartado Vistas de su texto base para poder comprender estos objetos que son utilizados en una base de datos, así como también sus propósitos y características. En este punto es importante que sepa definir dos conceptos: relación base y vista. Vale destacar que las vistas no están ocupando espacio de almacenamiento en la base de datos pero su definición si está almacenada en el catálogo del sistema. Una de las expresiones más claras de la independencia de datos lógica de la arquitectura ANSI-SPARC, son las vistas. Es preciso que se justifique esta afirmación. Quizá una de las razones más importantes para usar vistas, es que los cambios en las relaciones base se pueden ver reflejadas de forma inmediata en ellas, y viceversa, los cambios en las vistas se aplican a las relaciones base. Vale indicar que para el tema de actualización existen restricciones que se pueden aplicar.
Utilice del capítulo 6 del texto base, el apartado Vistas, para analizar el tratamiento que da Oracle a las vistas actualizables, esto le ayudará a conocer más de cerca el tratamiento de las vistas.
Adicionalmente, podemos revisar la presentación correspondiente al tema El Modelo de Datos Relacional Estática, del OCW – UC3M al que hacemos referencia en las direcciones electrónicas. Con esto podemos revisar estos conceptos que son tan importantes desde el punto de vista de otro autor.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
33
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
ACTIVIDADES RECOMENDADAS
Estimado estudiante, para medir la asimilación de sus conocimientos en la presente unidad, desarrolle las siguientes actividades que están planteadas al final del capítulo de trabajo de su texto base, como cuestiones de repaso. Esto le permitirá saber los temas que debe reforzar. •
Desarrolle los puntos 3.1, 3.2, 3.3, 3.4, 3.5, 3.6 y 3.7
√ Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base. •
Ejercicios 3.8, 3.9, 3.10, 3.11
Estos ejercicios requieren que trabaje con el esquema de tablas mencionado en el párrafo anterior al enunciado del ejercicio 3.8 Interactividad virtual
√
Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec) Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso, la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
34
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
Autoevaluación 3
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas: Conteste Verdadero (V) o Falso (F) a las siguientes afirmaciones, según corresponda: a.
(
)
Las restricciones semánticas o de usuario son aquellas que vienen impuestas por la definición del propio modelo de datos.
b.
(
)
Las opciones de integridad referencial asociadas a las claves ajenas ayudan a implementar restricciones semánticas o de usuario.
c.
(
)
Un atributo que forma parte de una clave primaria no puede ser clave ajena.
d.
(
)
Los checks se emplean para implementar restricciones semánticas que el resto de elementos del modelo relacional no permiten contemplar.
e.
(
)
Toda relación tiene al menos una clave candidata.
f.
(
)
Una clave candidata es una clave primaria que también cumple la propiedad de irreducibilidad.
g.
(
)
Toda clave primaria es también clave candidata.
h.
(
)
Toda clave alternativa es también clave candidata.
i.
(
)
Las claves ajenas permiten implementar la integridad referencial.
j.
(
)
Obliga a que el valor de la clave ajena de la tabla que referencia no se encuentre entre los valores de la clave primaria de la tabla referenciada.
k.
(
)
No obliga a que la clave ajena tenga valor no nulo.
l.
(
)
Es la restricción que garantiza el SGBD para cumplir con la no duplicidad de tuplas en la tabla en la que se define una clave ajena.
Ensayo m.
Con sus propias palabras defina los diferentes tipos de claves del modelo relacional.
n.
Las tablas siguientes forman parte de una base de datos denominada Académico.
ESTUDIANTE (cédula, codigo_est, nombre, apellido, fecha_nac, sexo, tipo_sangre, estado_civil, estado_estudiante)
MATRICULA (num_mat, cédula, cod_carrera, período_acad, fecha_mat)
Utilizando las tablas anteriores identifique cada una de los tipos de claves del modelo relacional y las dos principales reglas de integridad de este modelo.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
35
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
UNIDAD 4: ALGEBRA RELACIONAL Y CÁLCULO RELACIONAL
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 4 del texto base: Algebra relacional y cálculo relacional
Estimado estudiante, hasta ahora hemos revisado los componentes estructurales del modelo relacional, a continuación debemos estudiar otro de los elementos importantes de un modelo de datos que corresponde al mecanismo de manipulación de datos, en la figura del lenguaje de consulta asociados con el modelo relacional. Este tema es clave porque le dará la experticia y la base para trabajar a futuro en la gestión de datos. Continuemos con la explicación del siguiente tema.
4.1. Algebra Relacional El Algebra relacional es un lenguaje de consulta procedural. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo tanto, es posible anidar y combinar operadores. Hay ocho operadores en el álgebra relacional que construyen relaciones y manipulan datos, estos son:
Figura 4.1. Operadores del álgebra relacional. Adaptado de (Connolly, 2005) Las 5 primeras llamadas operaciones primitivas (selección, proyección, producto, unión y diferencia), puesto que las otras tres se pueden definir en términos de éstas.
4.2. Operaciones Unarias Avancemos entonces con las operaciones del álgebra relacional. Las operaciones de selección y proyección son operaciones unarias, ya que operan sobre una única relación. Las otras operaciones se aplican a parejas de relaciones y se denominan, por tanto, operaciones binarias. Es momento de estudiar todo el apartado de álgebra relacional para aprender el funcionamiento de sus operaciones.
36
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
PRIMER BIMESTRE
Guía didáctica: Fundamento de Base de Datos
A continuación se presenta las definiciones que (Amiagada, 2006) propone en su documento de álgebra relacional y que le ayudarán a aclarar algunas dudas. 4.2.1. Selección Definen una nueva relación con las tuplas que satisfacen cierto predicado. Se denota con la letra griega sigma minúscula (). El predicado aparece como subíndice de , y la relación argumento se escribe entre paréntesis. 4.4.2. Proyección. Se aplica a una relación R, permite definir una nueva relación que contiene un subconjunto vertical de R. Extrae los valores de los atributos especificados y elimina los duplicados. Se denota con la letra griega pi mayúscula (). Se coloca como subíndice la lista de los atributos que aparecerán en el resultado. La relación argumento se escribe entre paréntesis.
4.3. Operaciones de conjuntos Cuando se requiere combinar información de diversas relaciones, se utilizan las relaciones binarias, como se estudia a continuación: 4.3.1. Unión En álgebra relacional la unión de dos relaciones compatibles1 A y B es:
A UNION B ó A ∪ B
Produce el conjunto de todas las tuplas que pertenecen ya sea a A o a B ó a ambas. Se usa el símbolo que representa la unión de dos relaciones. 4.3.2. Diferencia En álgebra relacional la diferencia entre dos relaciones compatibles A y B
A MENOS B ó A – B
Produce el conjunto de todas las tuplas t que pertenecen a A y no pertenecen a B 4.3.3. Intersección En álgebra relacional la intersección de dos relaciones compatibles A y B
A INTERSECCION B ó A ∩ B
Produce el conjunto de todas las tuplas pertenecientes a A y B. Al igual que en teoría de conjuntos el símbolo representa la intersección entre dos relaciones. 1
Relaciones Compatibles: En el álgebra relacional la compatibilidad se aplica a las operaciones de Unión, Intersección y Diferencia. Cada operación requiere dos relaciones que deben ser compatibles, esto significa que deben ser del mismo grado, n, y el i-ésimo atributo de cada una (i= 1, 2...n) se debe basar en el mismo dominio.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
37
Guía didáctica: Fundamento de Base de Datos
4.3.4.
PRIMER BIMESTRE
Producto Cartesiano
En álgebra relacional el producto de dos relaciones A y B es:
A veces B
ó A x B
Produce el conjunto de todas las tuplas t, tales que t es el encadenamiento de una tupla a de la relación A y de una tupla b de la relación B. Se denota con el símbolo x. 4.3.5.
Join o Reunión
En álgebra relacional el JOIN entre el atributo X de la relación A con el atributo Y de la relación B produce el conjunto de todas las tuplas t tal que t es el encadenamiento de una tupla a perteneciente a A y una tupla b perteneciente a B que cumplen con el predicado: “A.X comp B.Y es verdadero” (siendo comp un operador relacional y los atributos A.X y B.Y pertenecientes al mismo dominio). Si el operador relacional “comp” es “=” entonces el conjunto resultante es un EQUI-JOIN. Si se quita uno de éstos (usando una proyección) entonces el resultado es un JOIN-NATURAL. 4.3.6. División En álgebra relacional el operador de división divide la relación A con grado m + n por la relación B entregando como resultado una relación con grado m. El atributo m + i de A y el atributo i de B deben estar definidos dentro del mismo dominio. Así el resultado de A DIVIDIDO POR B ó
A/B
produce la relación C con un sólo atributo X, tal que cada valor de X de C.X aparece como un valor de A.X, y el par de valores (x, y) aparece en A para todos los valores Y que aparecen en B.
4.4. Cálculo relacional Ahora que ya hemos superado los conceptos del álgebra relacional es momento de estudiar el cálculo relacional que es un lenguaje donde se especifica que hay que extraer o mostrar pero no se indica la forma de extraerlo. El cálculo de predicados es la base del cálculo relacional. Es momento de que vayamos al texto base a estudiar todo el apartado Cálculo relacional, pues aquí se explica claramente cómo formar las sentencias expresadas en este lenguaje. Es importante mencionar que las expresiones en cálculo relacional son equivalentes en álgebra relacional. Seguramente esta unidad le resultó un poco difícil, pero si ha llegado hasta aquí ha hecho un gran esfuerzo. Continuemos que estamos próximos a culminar el bimestre. A continuación se proponen algunas actividades recomendadas, que al desarrollarlas le ayudarán para un mejor entendimiento del tema de álgebra y cálculo relacional.
38
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
ACTIVIDADES RECOMENDADAS
Estimado estudiante, para medir la asimilación de sus conocimientos en la presente unidad, desarrolle las siguientes actividades que están planteadas al final del capítulo de trabajo de su texto base, como cuestiones de repaso. Esto le permitirá saber los temas que debe reforzar. •
Desarrolle los puntos 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 y 4.7
Recuerde que puede solicitar ayuda a su tutor mediante el campus virtual o telefónicamente. √ Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base. • √
Ejercicios 4.8 hasta el 4.14
Interactividad virtual Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec)
Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso, la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
39
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
Autoevaluación 4
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas: Conteste Verdadero (V) o Falso (F) a las siguientes afirmaciones, según corresponda: a.
(
)
Algebra relacional es un lenguaje procedimental.
b.
(
)
Cálculo relacional es un lenguaje formal que es parte fundamental de los lenguajes de manipulación de datos
c.
(
)
Existen dos formas de cálculo relacional: de tuplas y de conjuntos.
d.
(
)
Una de las operaciones del álgebra relacional que nacen de las operaciones básicas es la división.
e.
(
)
Una de las cinco operaciones fundamentales del álgebra relacional es la diferencia de conjuntos.
f.
(
)
El álgebra relacional se utiliza para decirle al SGBD, cómo construir una nueva relación a partir de una o más relaciones de base de datos.
g.
(
)
La operación selección se representa por .
h.
(
)
En el cálculo relacional de tuplas, lo que interesa es extraer las tuplas que cumplen un cierto predicado.
i.
(
)
Algunas expresiones en cálculo relacional no son equivalentes en algebra relacional.
j.
(
)
La base del cálculo relacional es la lógica de predicados.
Ensayo k.
Con sus propias palabras indique la diferencia entre producto cartesiano y combinación natural. Además, escriba una expresión que sea equivalente en las dos operaciones.
l.
Las tablas siguientes forman parte de una base de datos denominada Académico.
ESTUDIANTE (cédula, codigo_est, nombre, apellido, fecha_nac, sexo, tipo_sangre, estado_civil, estado_estudiante)
MATRICULA (num_mat, cédula, cod_carrera, período_acad, fecha_mat)
Realice los siguientes ejercicios: ˚
40
Seleccione los estudiantes cuyo tipo de sangre es ARH+
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
PRIMER BIMESTRE
Guía didáctica: Fundamento de Base de Datos
˚
Seleccione los nombres y apellidos de los estudiantes de sexo femenino con estado civil casado
˚
Seleccione los nombres y apellidos de estudiantes que se han matriculado en el periodo académico 2011.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
41
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
UNIDAD 5: MANIPULACIÓN DE DATOS
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 5 del texto base: SQL - Lenguaje de Manipulación de Datos
Estimado estudiante, en el presente capítulo estudiaremos la manipulación de datos a través de SQL, centraremos nuestra atención en la forma de construir instrucciones SQL con las cláusulas WHERE, ORDER BY, Funciones de agregación, cláusula GROUP BY, subconsultas. Además, es importante que aprender a realizar actualizaciones en la base de datos mediante las instrucciones de DML: Insert, Update y Delete. Esta es una competencia importante en el gestión de base de datos y es quizá una de las más requeridas en el ámbito informático.
5.1. Lenguaje de Consulta Estructurado: SQL2 Luego de haber adquirido el conocimiento de algebra relacional ya contamos con parte de la habilidad requerida para utilizar SQL. Es momento de revisar el apartado Lenguaje de consulta estructurado de su texto base, donde podemos revisar la evolución de este potente lenguaje. En el 2006, adicionalmente contamos con el estándar SQL2006, ya que ISO/IEC 9075-14:2006 define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Define maneras de importar y guardar datos XML en una base de datos SQL, manipulándolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Además, proporciona facilidades que permiten a las aplicaciones integrar dentro de su código SQL el uso de XQuery, lenguaje de consulta XML publicado por el W3C (World Wide Web Consortium) para acceso concurrente a datos ordinarios SQL y documentos XML. En el 2008, tenemos SQL 2008, donde se permite el uso de la cláusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo INSTEAD OF. Añade la sentencia TRUNCATE. Es importante resaltar que SQL está basado en el cálculo relacional de tuplas. Como resultado, toda consulta formulada utilizando el cálculo relacional de tuplas (o su equivalente, el álgebra relacional) se pude formular también utilizando SQL. Sin embargo, sus capacidades van más allá del cálculo o del álgebra relacional. Aquí tenemos una lista de algunas características proporcionadas por SQL que no forman parte del álgebra y cálculo relacionales: •
Comandos para inserción, borrado o modificación de datos.
•
Capacidades aritméticas: En SQL es posible incluir operaciones aritméticas así como comparaciones, por ejemplo A < B + 3. Nótese que ni “+” ni otros operadores aritméticos aparecían en el álgebra relacional ni en cálculo relacional.
2
SQL - Structured Query Language
42
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
•
Asignación y comandos de impresión: es posible imprimir una relación construida por una consulta y asignar una relación calculada a un nombre de relación.
•
Funciones agregadas: Operaciones tales como promedio (average), suma (sum), máximo (max), etc. se pueden aplicar a las columnas de una relación para obtener una cantidad única.
5.2. Escritura de comandos SQL De seguro usted está ansioso de comenzar este tema, ya que hasta ahora sólo tiene nociones de cómo trabajar con SQL. Es momento de retomar el texto base para revisar importantes recomendaciones que se deben tener en cuenta al momento de escribir comandos SQL. Realice una lectura comprensiva del apartado e identifique lo más relevante mediante un cuadro resumen o mapa mental que le ayude a tener presente dichos aspectos.
5.3. Manipulación de datos Continuamos revisando las sentencias que permiten realizar manipulación de datos, como son: SELECT, INSERT, UPDATE y DELETE. Es necesario que estudie el apartado Manipulación de datos en su texto base. Y que no se quede con dudas. A continuación, se resaltan las sentencias más utilizadas en un nivel básico de trabajo.
5.4. Instrucción de consultas: SELECT El comando más usado en SQL es la instrucción SELECT, que se utiliza para recuperar datos. La sintaxis es: SELECT [DISTINCT | ALL] {* | [expresiónColumna [AS nuevoNombre]] [,...] } FROM NombreTabla [alias] [, ...] [WHERE condición] [GROUP BY listaColumnas] [HAVING condición] [ORDER BY listaColumnas] Con esta sentencia, se puede realizar lo siguiente: •
Consultas sencillas donde combina selección y proyección ° Usando conectores lógicos ° Usando operadores relacionales ° Usando alias de columnas
•
Consultas complejas utilizando enlaces o joins
•
Consultas complejas utilizando operadores de agregación
•
Consultas sencillas o complejas utilizando agrupación de resultados
•
Consultas complejas utilizando restricción de agrupamientos.
• Subconsultas
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
43
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
• Consultas complejas utilizando los operadores Union, Intersect y Exception 5.4.1. Subconsultas En las clausulas WHERE y HAVING se permite el uso de subconsultas (subselects) en cualquier lugar donde se espere un valor. En este caso, el valor debe derivar de la evaluación previa de la subconsulta. El uso de subconsultas amplía el poder expresivo de SQL.
Es importante que identifique cuándo utilizar subconsultas en la manipulación de datos y cuándo estas subconsultas pueden darle error si no están bien estructuradas, con ésta actividad irá profundizando más sus conocimientos en SQL.
5.5. Actualizaciones de la base de datos Ahora que hemos adquirido habilidad para escribir consultas SQL, es importante que también conozca y ejercite sobre las operaciones que permiten actualizar la base de datos, a través de las sentencias: INSERT, UPDATE y DELETE. Recurra al texto base en el apartado Actualizaciones de la base de datos, y vaya revisando cuidadosamente y comprendiendo los ejemplos planteados.
Conviene que en base a los ejercicios planteados en el texto base, también se plantee los otros que trabajen con el mismo esquema de base de datos. Si usted realiza esta actividad estará en capacidad de trabajar otros problemas.
Felicidades, con esta unidad hemos terminado el primer bimestre. Lo invito a revisar de forma general todas las unidades desarrolladas hasta éste punto que le permitirá una mejor preparación de cara a las evaluaciones presenciales. No olvide desarrollar las actividades recomendadas propuestas a continuación.
ACTIVIDADES RECOMENDADAS
Estimado estudiante, para medir la asimilación de sus conocimientos en la presente unidad, desarrolle las siguientes actividades que están planteadas al final del capítulo de trabajo de su texto base, como cuestiones de repaso. Esto le permitirá saber los temas que debe reforzar. •
Desarrolle los puntos 5.1, 5.2, 5.3, 5.4, 5.5 y 5.6
Recuerde que puede solicitar ayuda a su tutor mediante el campus virtual o telefónicamente. √ Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base.
44
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
Para los ejercicios 5.7 – 5.31, utilice el esquema Hotel definido al principio de la Sección de Ejercicios del Capítulo 3: Hotel (hotelNo, hotelName, city) Room (roomNo, hotelNo, type, price) Booking (hotelNo, guestNo, dateFrom, dateTo, roomNo) Guest (guestNo, guestName, guestAddress) √
Interactividad virtual Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec)
Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
45
Guía didáctica: Fundamento de Base de Datos
PRIMER BIMESTRE
Autoevaluación 5
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas: Conteste Verdadero (V) o Falso (F) a las siguientes afirmaciones, según corresponda: a.
(
)
SQL es un lenguaje únicamente utilizado por profesionales en informática.
b.
(
)
La instrucción SELECT equivale a dos operaciones del álgebra relacional (subconsultas y la división).
c.
(
)
En una instrucción SELECT la cláusula ORDER BY es obligatoria.
d.
(
)
En SQL las funciones de agregación calculan un único valor como resultado.
e.
(
)
La cláusula WHERE de los grupos es el HAVING.
f.
(
)
Una instrucción SELECT anidada se denomina subselección.
g.
(
)
Una subconsulta de fila devuelve múltiples columnas y filas.
h.
(
)
Si las columnas de la tabla de resultados provienen de más de una tabla, deberá utilizarse una combinación.
i.
(
)
La cláusula INSERT puede utilizarse combinada con subconsultas.
j
(
)
La cláusula DELETE puede usarse para eliminar definitivamente una tabla.
Ensayo k.
Explique el funcionamiento de las cláusulas WHERE, HAVING, GROUP BY.
l.
Identifique la diferencia entre la cláusula HAVING y WHERE.
m.
Identifique en qué circunstancias se puede utilizar subconsultas.
n.
Realice los ejercicios planteados en el capítulo anterior de esta guía, utilizando lenguaje de manipulación de datos.
46
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
SEGUNDO BIMESTRE 6.5. Competencias Genéricas •
Capacidad de abstracción, análisis y síntesis
•
Capacidad de aplicar los conocimientos en la práctica
•
Conocimiento sobre el área de estudio y la profesión
•
Capacidad de aprender a aprender como política de formación continua
•
Habilidades para buscar, procesar y analizar información procedentes de fuentes diversas
6.6. Planificación para el trabajo del alumno CONTENIDOS COMPETENCIAS ESPECÍFICAS
INDICADORES DE APRENDIZAJE
Unidades/Temas
• Analiza la importancia UNIDAD 6 del lenguaje SQL SQL – Definición de • Utiliza las sentencias Datos SQL para definición de estructuras y demás 6.1. Tipos de datos Analizar las objetos de BDD 6.2. C a r a c t e r í s t i c a s necesidades de de mejora de la conocimiento • Utiliza las sentencias integridad necesarias para SQL para implementar 6.3. Definición de resolver un problema seguridades a nivel de datos base de datos 6.4. Privilegios y Administrar y gestionar seguridad bases de datos de pequeña y gran escala Evaluar y asegurar la accesibilidad, usabilidad y seguridad de los sistemas, aplicaciones y servicios informáticos Realizar la gestión y recuperación de información generada en los sistemas informáticos
ACTIVIDADES DE APRENDIZAJE
CRONOGRAMA ORIENTATIVO Tiempo Estimado
• Lectura comprensiva del Semana 9 sexto capítulo del texto base de acuerdo a las • 4 horas de indicaciones de la guía autoestudio didáctica • 4 horas de • Elaboración de un cuadro interacción resumen de las principales sentencias SQL de definición de datos. • Desarrollo de actividades recomendadas en la guía para la unidad 6 • Revisar anuncios en el EVA • Revisar los ejercicios resueltos en el texto base • Desarrollar los ejercicios propuestos al final del capítulo en el texto base • Desarrollo de la parte de la evaluación a distancia que corresponda a la unidad 6.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
47
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
CONTENIDOS COMPETENCIAS ESPECÍFICAS
INDICADORES DE APRENDIZAJE
ACTIVIDADES DE APRENDIZAJE
Unidades/Temas
CRONOGRAMA ORIENTATIVO Tiempo Estimado
• Lectura comprensiva del Semana 10 séptimo capítulo del texto Modelo Entidadbase de acuerdo a las • 4 horas de Relación indicaciones de la guía autoestudio didáctica • 4 horas de 7.1. Elementos del • Desarrolle un cuadro interacción modelo ER sinóptico sobre los 7.2. Tipos de entidad conceptos de modelo ER • Identifica y resuelve 7.3. Tipos de relación avanzado: especialización, problemas de 7.4. Atributos generalización, modelos ER 7.5. Atributos de las composición y agregación relaciones • Desarrollo de actividades • Identifica limitaciones 7.6. Claves recomendadas en la guía en el M-ER y requisitos 7.7. Tipos de entidades para la unidad 7 para representar fuertes y débiles • Revisar anuncios en el EVA aplicaciones más 7.8. Restricciones • Desarrollar los ejercicios complejas utilizando estructurales propuestos al final del conceptos adicionales 7.9. Modelo entidad capítulo en el texto base de modelado de datos relación avanzado • Desarrollo de la parte de la evaluación a distancia que corresponda a la unidad 7
Definir requerimientos, • Analiza los conceptos diseñar, implementar, básicos asociados al integrar, administrar y modelo ER optimizar soluciones software centralizadas, • Utiliza el modelo ER distribuidas ó en diseño de base de soluciones web datos
• Identifica los conceptos clave relacionados a la normalización
UNIDAD 7
UNIDAD 8 Normalización
8.1. Objetivos del diseño de base de datos 8.2. Peligros en el diseño de base datos relacionales 8.3. Normalización • Identifica y analiza 8.4. El propósito de la los potenciales normalización problemas causados 8.5. Cómo ayuda la por la redundancia de normalización al datos en las relaciones diseño de base de datos • Aplica el proceso de 8.6. Redundancia de normalización datos y anomalías de actualización 8.7. Dependencias funcionales 8.8 El proceso de normalización • Analiza la utilidad de la normalización al momento de diseñar una base de datos relacional
48
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
• Lectura comprensiva del Semana 11 octavo capítulo del texto base de acuerdo a las • 4 horas de indicaciones de la guía autoestudio didáctica • 4 horas de • Revise ejemplos de interacción normalización resueltos que le ayuden a entender dicho proceso • Desarrollo de actividades recomendadas en la guía para la unidad 8 • Revisar anuncios en el EVA • Revisar los ejercicios resueltos en el texto base • Desarrollar los ejercicios propuestos al final del capítulo en el texto base • Desarrollo de la parte de la evaluación a distancia que corresponda a la unidad 8
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
CONTENIDOS COMPETENCIAS ESPECÍFICAS
INDICADORES DE APRENDIZAJE
Unidades/Temas
• Utiliza el modelado UNIDAD 9 ER para construir un modelo conceptual de Metodología: Diseño datos Conceptual de la base de datos • Genera la documentación del 9.1. Metodología de diseño conceptual diseño de base de de base de datos datos de acuerdo a 9.2. Diseño la metodología Conceptual de la propuesta en el texto base de datos base 9.3. Paso 1 Construcción • Evalúa el modelo de un modelo conceptual resultante conceptual de los para garantizar que datos sea la representación correcta y precisa • Identifica el papel que juegan los usuarios finales en el proceso de diseño conceptual de la base de datos
ACTIVIDADES DE APRENDIZAJE
CRONOGRAMA ORIENTATIVO Tiempo Estimado
• Lectura comprensiva del Semana 12 y 13 noveno capítulo del texto base de acuerdo a las • 8 horas de indicaciones de la guía autoestudio didáctica • 8 horas de • Genere un mapa interacción conceptual de las actividades del diseño conceptual de base de datos. • Desarrollo de actividades recomendadas en la guía para la unidad 9 • Revisar anuncios en el EVA • Revisar los ejercicios resueltos en el texto base • Desarrollar los ejercicios propuestos al final del capítulo en el texto base • Desarrollo de la parte de la evaluación a distancia que corresponda a la unidad 9
• Lectura comprensiva del Semana 14 décimo capítulo del texto Metodología: Diseño base de acuerdo a las • 4 horas de lógico de la base de indicaciones de la guía autoestudio datos para el modelo didáctica • 4 horas de relacional • Genere un mapa interacción • Valida el modelo conceptual de las lógico resultante 10.1. Metodología de actividades del diseño utilizando la técnica diseño lógico de lógico de base de datos de normalización la base de datos • Desarrollo de actividades para el modelo recomendadas en la guía • Genera la relacional para la unidad 10 documentación del 10.2. Paso 2 construir y • Revisar anuncios en el EVA diseño lógico de base validar el modelo • Revisar los ejercicios de datos de acuerdo lógico de los datos resueltos en el texto base a la metodología • Desarrollar los ejercicios propuesta en el texto propuestos al final del base, para asegurar capítulo en el texto base que cumpla con los • Desarrollo de la parte de la requisitos de datos de evaluación a distancia que la organización corresponda a la unidad 10 • Traduce un conjunto de relaciones al modelo lógico a partir de un modelo conceptual
UNIDAD 10
Unidades de la 6 – 10 • Aplicación de Semana 15 y 16 autoevaluaciones propuestas al final de cada • 8 horas de unidad en la guía didáctica autoestudio • Resolución de ejercicios • 8 horas de planteados en el EVA interacción • Revisión de videos en http://www.youtube.com de las unidades
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
49
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
6.7. Orientaciones específicas para el aprendizaje por competencias
UNIDAD 6: DEFINICIÓN DE DATOS
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 6 del texto base: SQL – Lenguajes Definición de Datos
A continuación nos referimos a explicar el tema relacionado a la sexta unidad, que le permitirán a usted adquirir las habilidades requeridas para realizar la definición de datos: tipos de datos soportados por el estándar SQL, mejoras en la integridad en SQL, la manera de definir restricciones de integridad utilizando SQL con instrucciones CREATE y ALTER, administración de vistas, administración de seguridad con GRANT y REVOKE.
6.1. Tipos de datos Le recomiendo que nos demos un tiempo para revisar los tipos de datos definidos en el estándar SQL, para lo cual es conveniente definir en primer lugar lo que constituye un identificador válido en SQL.
Refiérase a la sección 6.1 Tipos de datos SQL de ISO, del texto base, lo que le permitirá formar el concepto de identificador SQL.
Es preciso hacer dos aclaraciones, en primer lugar en todo proyecto de desarrollo que use una base de datos es importante hacer uso de una nomenclatura de objetos de BD, que será definida por el DBA en base a su propio criterio y de otras cabezas técnicas del proyecto (arquitecto, analista, líder de programadores), que luego de su definición debe ser socializada. En segundo lugar, comentar que los tres últimos lineamientos que ISO establece variarán dependiendo de las restricciones de cada SGBD.
Es necesario que regresemos al texto base a estudiar el apartado 6.1.2 Tipos de datos SQL escalares, luego de leer puede realizar un esquema resumen de estos tipos de datos que le ayudará para una mejor comprensión.
Es conveniente conocer los tipos de datos concretos de una base de datos comercial, por ejemplo de Oracle, en la siguiente tabla se sintetizan los tipos de datos que se utilizan en este producto:
50
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
SEGUNDO BIMESTRE
Guía didáctica: Fundamento de Base de Datos
Tabla 61. Tipos de datos soportados por la base de datos Oracle Tipo de dato VARCHAR2(tamaño)
Características Almacena cadenas de caracteres de una longitud variable. La longitud máxima son 4000 caracteres.
CHAR(tamaño)
Almacena caracteres con una longitud fija. Siendo 2000 caracteres el máximo
NUMBER (precision,escala)
Almacena datos numéricos, tanto enteros como decimales, con o sin signo. Precisión, indica el número máximo de dígitos que va a tener el dato. Escala, indica el número de dígitos que puede haber a la derecha del punto decimal.
LONG
Almacena cadenas de caracteres de longitud variable. Puede almacenar hasta 2 gigas de información
LONG RAW
Almacena datos binarios. Se emplea para el almacenamiento de gráficos, sonidos, etc. Su tamaño máximo es de 2 gigas
DATE
Almacena información de fechas y horas. De forma predeterminada almacena un dato con el siguiente formato: siglo/año/mes/dia/hora/minutos/segundos. Este formato se puede cambiar con otros parámetros.
RAW(tamaño)
Almacena datos binarios. Puede almacenar como mucho 2000 bytes.
ROWID
Se trata de un campo que representa una cadena hexadecimal que indica la dirección de una fila en su tabla
NVARCHAR2 (tamaño)
Es similar al varchar2 pero el tamaño de un carácter depende de la elección del juego de caracteres. El tamaño máximo es 2000 bytes.
NCHAR(tamaño)
Similar al char y con las mismas características que el nvarchar2
CLOB
Similar al LONG y se usa para objetos caracter
NCLOB
Similar al CLOB solo que el tamaño del caracter depende del juego de caracteres utilizado
BLOB
Similar al LONG RAW. Este se usa para objetos binarios.
TIMESTAMP [(precision)]
Se utiliza para guardar fechas con una mayor precisión. Precisión es un valor de 0 a 9 e indica el número de dígitos en la parte fraccional del segundo.
Debemos anotar que en cada SGBD pueden aparecer distintos tipos de datos, para los cuales se debe usar correctamente las sintaxis de cada uno, por ejemplo: el tipo de dato TIMESTAMP, es una extensión del tipo DATE.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
51
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
SELECT TO_TIMESTAMP (‘10-Nov-11 15:30:13.1234’, ‘DD-Mon-RR HH24:MI:SS.FF›) FROM DUAL;
6.2. Características de mejora de la integridad Estimado estudiante, seguramente al diseñar una base de datos, deseará que este diseño integre las mejoras de integridad introducidas por el estándar SQL, por lo que tenemos que revisarlas para entender su aplicación en este contexto.
La lectura atenta de los contenidos del texto base dejarán en ud. más afianzado los aprendizajes por tanto le recomiendo recurrir al texto base en la sección 6.2 Características de mejora de la integridad, para analizar los tipos de restricciones de integridad y sus diferentes formas de aplicarlas. Asegúrese que las haya comprendido completamente.
6.3. Definición de datos Avancemos entonces en lo que constituye la siguiente temática dentro del mundo de las bases de datos, las instrucciones DDL de SQL, que permiten definir objetos de la base de datos. Todos los objetos de la base de datos se crean a través de la instrucción CREATE, de igual forma todos se pueden eliminar con la instrucción DROP. Y sólo algunos objetos como tablas pueden ser modificadas con la instrucción ALTER. Es importante que usted tome en cuenta que: •
Las relaciones y otros objetos de base de datos existen dentro de lo que se denomina entorno.
•
Cada entorno está compuesto por uno o más catálogos y cada catálogo por una serie de esquemas.
•
Un esquema es una colección nominada de objetos de base de datos que están relacionados entre sí de alguna manera.
•
Los objetos de un esquema pueden ser tablas, vistas, dominios, aserciones e índices. Todos los objetos de un esquema tienen el mismo propietario y comparten una serie de valores predeterminados.
6.3.1.
Es necesario que revisemos el apartado 6.3 Definición de datos, del texto base, lo que le servirá para conocer las principales sentencias para creación de objetos de Base de Datos.
Create Table
El comando fundamental para definir datos es el que crea una nueva relación (una nueva tabla). La sintaxis del comando CREATE TABLE es: CREATE TABLE NombreTabla {(NombreColumna tipoDatos [NOT NULL] [UNIQUE] [DEFAULT opciónPredeterminada] [CHECK condiciónBúsqueda] [,...]} [PRIMARY KEY (listaDeColumnas),]
52
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
{[UNIQUE (listaDeColumnas),] […,]} {[FOREIGN KEY (listaColumnasClaveExterna) REFERENCES NombreTablaPadre [(listaColumnasClaveCandidatas)], [ON UPDATE acciónReferencial] [ON DELETE acciónReferencial ]] [,…]} {[CHECK (condiciónBúsqueda)] [,…] }) Ejemplo de creación de una tabla Para crear las tablas de una base de datos de proveedores y artículos, se utilizan las siguientes instrucciones de SQL: CREATE TABLE supplier (sno INTEGER, sname VARCHAR2(20), city VARCHAR2(20)); CREATE TABLE part (pno INTEGER, pname VARCHAR2(20), price DECIMAL(4,2)); CREATE TABLE sells (sno INTEGER, pno INTEGER); Las tablas han sido creadas únicamente para mostrar la utilización de los tipos de datos, no se ha considerado en este caso restricciones de ningún tipo como claves primarias o foráneas. El esquema representa una base de datos para manejar información sobre ventas de piezas, las cuales se almacenan en la tabla sells, la información de las piezas se registra en la tabla part y la información de los proveedores se la encontramos en la tabla supplier. 6.3.2.
Create Index
Seguimos con el estudio de los índices, los cuales se utilizan para acelerar el acceso a una relación. Si una relación R tiene un índice en el atributo A podremos recuperar todas la tuplas t que tienen t(A) = a en un tiempo aproximadamente proporcional al número de tales tuplas t más que en un tiempo proporcional al tamaño de R. Para crear un índice en SQL se utiliza el comando CREATE INDEX. La sintaxis es: CREATE INDEX index_name ON table_name (name_of_attribute); Ejemplo Create Index Para crear un índice llamado I sobre el atributo SNAME de la relación SUPPLIER, utilizaremos la siguiente instrucción:
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
53
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
CREATE INDEX I ON supplier (sname); El índice creado se mantiene automáticamente, es decir, cada vez que una nueva tupla se inserte en la relación SUPPLIER, se adaptará el índice I. Nótese que el único cambio que un usuario puede percibir cuando se crea un índice es un incremento en la velocidad. 6.3.3.
Create View
Ahora vamos a revisar el tema de vistas, para lo cual tiene que emplear su imaginación, ya que se puede ver una vista como una tabla virtual, es decir, una tabla que no existe físicamente en la base de datos, pero aparece al usuario como si existiese. Por contra, cuando hablamos de una tabla base, hay realmente un equivalente almacenado para cada fila en la tabla en algún sitio del almacenamiento físico.
Es necesario que revisemos el apartado 6.4 Vistas, del texto base, que le servirá para comprender los ejercicios que se proponen más adelante en la guía.
Entonces debemos tener claro, que las vistas no tienen datos almacenados propios, distinguibles y físicamente almacenados. En su lugar, el sistema almacena la definición de la vista (es decir, las reglas para acceder a las tablas base físicamente almacenadas para materializar la vista) en algún lugar de los catálogos del sistema. En SQL se utiliza el comando CREATE VIEW para definir una vista. La sintaxis es: CREATE VIEW view_name AS select_stmt Donde select_stmt es una instrucción select válida, como se definió en la instrucción SELECT, de la unidad anterior; Nótese que select_stmt no se ejecuta cuando se crea la vista. Simplemente se almacena en los catálogos del sistema y se ejecuta cada vez que se realiza una consulta contra la vista. Sea la siguiente definición de una vista (utilizamos de nuevo las tablas de la base de datos de proveedores y artículos): CREATE VIEW London_Suppliers AS SELECT s.sname, p.pname FROM supplier s, part p, sells se WHERE s.sno = se.sno AND p.pno = se.pno AND s.city = ‘London’; Ahora podemos utilizar esta relación virtual London_Suppliers como si se tratase de otra tabla base: SELECT * FROM London_Suppliers WHERE p.pname = ‘Tornillos’;
54
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Lo cual nos devolverá la siguiente tabla: SNAME | PNAME -------+---------Smith | Tornillos Para calcular este resultado, el sistema de base de datos ha realizado previamente un acceso oculto a las tablas de la base SUPPLIER, SELLS y PART. Hace esto ejecutando la consulta dada en la definición de la vista contra aquellas tablas base. Tras eso, las cualificaciones adicionales (dadas en la consulta contra la vista) se podrán aplicar para obtener la tabla resultante. 6.3.4.
Drop Table, Drop Index, Drop View
Estimado estudiante, es normal que se cometa errores al crear tablas de base de datos, para remediar aquello se utiliza el comando DROP TABLE, que elimina una tabla (incluyendo todas las tuplas almacenadas en ella): DROP TABLE table_name; Para eliminar la tabla SUPPLIER, utilizaremos la instrucción: DROP TABLE supplier; Se utiliza el comando DROP INDEX para eliminar un índice: DROP INDEX index_name; Finalmente, eliminaremos una vista dada utilizando el comando DROP VIEW: DROP VIEW view_name; 6.3.5.
Catálogo de Sistemas o Diccionario de Datos
Estimado estudiante, hagamos una analogía, cuando compramos algún artefacto, éste viene con un manual en donde podemos identificar en qué parte encontramos qué funcionalidad, de la misma forma en todo sistema de base de datos SQL se emplean catálogos de sistema para mantener el control de qué tablas, vistas, índices, etc. están definidas en la base de datos. Estos catálogos del sistema se pueden investigar como si de cualquier otra relación normal se tratase. Por ejemplo, hay un catálogo utilizado para la definición de vistas. Este catálogo almacena la consulta de la definición de la vista. Siempre que se hace una consulta contra la vista, el sistema toma primero la consulta de definición de la vista del catálogo y materializa la vista antes de proceder con la consulta del usuario. 6.3.6.
Ejemplos de Constraints de Integridad
Ejemplo 1: Constraint de unicidad UNIQUE CREATE TABLE employees( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25),
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
55
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
salary NUMBER(8,2), commission_pct NUMBER(2,2), hire_date DATE NOT NULL, ... CONSTRAINT emp_email_uk UNIQUE(email)); A través de la sentencia CONSTRAINT se está definiendo un índice de tipo único basado en el atributo email, con lo que no se permitirá direcciones de correo duplicadas. Ejemplo2: Constraint de clave primaria PRIMARY KEY y de Obligatoriedad NOT NULL CREATE TABLE departments( department_id NUMBER(4), department_name VARCHAR2(30) CONSTRAINT dept_name_nn NOT NULL, manager_id NUMBER(6), location_id NUMBER(4), CONSTRAINT dept_id_pk PRIMARY KEY(department_id)); El constraint dept_name_nn NOT NULL, define que para este atributo no se acepten valores nulos. El constraint dept_id_pk define la clave primaria de la relación basada en el atributo department_id. Ejemplo 3: Constraint de clave foránea FOREIGN KEY CREATE TABLE employees( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25), salary NUMBER(8,2), commission_pct NUMBER(2,2), hire_date DATE NOT NULL, ... department_id NUMBER(4), CONSTRAINT emp_dept_fk FOREIGN departments(department_id), CONSTRAINT
KEY (department_id) REFERENCES emp_email_uk UNIQUE(email));
El constraint emp_dept_fk define una clave foránea, que está basada en el atributo department_id de la tabla employees y que hace referencia a la tabla departments en el atributo department_id. Ejemplo 4: Constraint de chequeo CHECK ..., salary NUMBER(2) CONSTRAINT emp_salary_min CHECK (salary > 0),... El constraint emp_salary_min hace una validación de que el valor del salario ingresado siempre sea mayor que cero. 6.3.7.
Modificación de constraints, sintaxis
Un constraint luego de ser creado puede ser modificado, para ello utilizamos la siguiente cláusula:
56
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
ALTER TABLE table ADD [CONSTRAINT constraint] type (column); Ejemplo: A continuación se modificará la tabla employees añadiendo un constraint de tipo foreign key basado en el atributo manager_id y que hace referencia a la tabla employees en el atributo employee_id.
ALTER TABLE employees ADD CONSTRAINT emp_manager_fk FOREIGN KEY(manager_id) REFERENCES employees(employee_id); Para borrar un constraint, se debe hacer un ALTER a la table correspondiente utilizando la cláusula DROP CONSTRAINT seguida del nombre del element a borrar. ALTER TABLE employees DROP CONSTRAINT emp_manager_fk; Para deshabilitar y habilitar un constraint, se debe utilizar la sentencia DISABLE o ENABLE respectivamente, seguido del nombre del elemento a modificar. ALTER TABLE employees DISABLE CONSTRAINT emp_emp_id_pk CASCADE; ALTER TABLE employees ENABLE CONSTRAINT emp_emp_id_pk; Se puede utilizar las cláusulas CASCADE CONSTRAINTS, para generar borrados en cascada: ALTER TABLE test1 DROP (pk) CASCADE CONSTRAINTS; ALTER TABLE test1 DROP (pk, fk, col1) CASCADE CONSTRAINTS;
6.4. Privilegios y Seguridad Lo que analizaremos ahora son mecanismos de seguridad que se implementan para prevenir que la base de datos sea accesada por quien no debe hacerlo. Analice el siguiente gráfico:
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
57
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
6.1 Esquema Control de acceso de usuarios (Oracle, 2002) Claramente podrá identificar en un nivel más alto al administrador de base de datos, que es quién asigna los privilegios respectivos para los usuarios, los cuales pueden ingresar a la base de datos siempre y cuando proporcionen un nombre de usuario y un password. 6.4.1.
Creación de Usuarios
Ahora revisemos brevemente algunos otros términos: CREATE USER user IDENTIFIED BY password; Ejemplo de creación de usuario: CREATE USER scott IDENTIFIED BY tiger; Para cambiar el password de un usuario se usa el comando ALTER USER, ejemplo: ALTER USER scott IDENTIFIED BY lion; 6.4.2.
Privilegios del sistema
Para otorgar privilegios a nivel de sistema, ya sea a un usuario o rol, utilizamos el comando GRANT. GRANT privilege [, privilege...] TO user [, user| role, PUBLIC...]; Ejemplo: GRANT create session, create table, create sequence, create view TO scott; 6.4.3.
Privilegios a nivel de objetos
Para otorgar privilegios a nivel de objetos, ya sea a un usuario o rol, utilizamos el comando GRANT. También podemos asignar el derecho de otorgar privilegios a otros usuarios a través de la opción WITH GRANT OPTION.
58
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
GRANT object_priv [(columns)] ON object TO {user|role|PUBLIC} [WITH GRANT OPTION]; Ejemplos: GRANT select ON employees TO sue, rich; GRANT update (department_name, location_id) ON departments TO scott, manager; GRANT select, insert ON departments TO scott WITH GRANT OPTION; GRANT select ON alice.departments TO PUBLIC; 6.4.4.
Revocar privilegios
Para revocar los privilegios otorgados ya sea de sistema o a nivel de objeto, utilizamos el comando REVOKE.
REVOKE {privilege [, privilege...]|ALL} ON object FROM {user[, user...]|role|PUBLIC} [CASCADE CONSTRAINTS];
Ejemplo: REVOKE select, insert ON departments FROM scott; 6.4.5. Roles Bien, ahora nos corresponde revisar lo que son los roles, que se definen como la agrupación de privilegios que pueden ser asignados a uno o varios usuarios. La utilización de roles nos da ciertas ventajas, como una administración centralizada, mayor control de los privilegios otorgados, brinda mayor seguridad, tal como se muestra en el siguiente gráfico:
6.2. Esquema acerca de un rol de usuario (Oracle, 2002) Veamos entonces la sentencia para crear un rol:
CREATE ROLE manager;
Ahora asignamos privilegios para el rol creado:
GRANT create table, create view TO manager;
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
59
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Una vez definido el rol, podemos asignarlo a los usuarios. La siguiente sentencia asigna el rol manager a dos usuarios: DeHaan y Kochhar. GRANT manager TO DEHAAN, KOCHHAR; Resumen Sentencia
Acción
CREATE USER
Crea un usuario, tarea ejecutada normalmente por el DBA
GRANT
Entrega privilegios a otros usuarios para accesar a sus objetos
CREATE ROLE
Crea un colección de privilegios, ejecutado por el DBA
ALTER USER
Cambia passwords de los usuarios
REVOKE
Borra privilegios en un objeto de un usuario.
Conviene que luego estudie este capítulo en el texto base, y vaya realizando cuidadosamente y comprendiendo los ejemplos planteados.
Muy bien, con el mismo esfuerzo continuemos con el estudio de la unidad 7, no sin antes recordar que a continuación se proponen algunas actividades recomendadas que sería bueno desarrollarlas.
ACTIVIDADES RECOMENDADAS
Estimado estudiante, desarrolle las actividades siguientes para medir como ha asimilado los conocimientos, esto le permitirá saber los temas que debe reforzar. De las cuestiones de repaso propuestas al final del capítulo 6 del texto base, desarrolle los puntos del 6.1 al 6.9. Recuerde que puede solicitar ayuda a su tutor mediante el campus virtual o telefónicamente. √ Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base. •
Resolver ejercicio 6.10 a 6.23
Interactividad virtual
√
Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec)
60
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
SEGUNDO BIMESTRE
Guía didáctica: Fundamento de Base de Datos
Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
61
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Autoevaluación 6
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas:
Responda Verdadero o Falso, según corresponda, a las siguientes afirmaciones: a.
(
)
UPDATE es una sentencia DDL
b.
(
)
Para agregar una columna a una tabla utilizo la sentencia ALTER TABLE
c.
(
)
Una vista es una tabla de la base de datos, que ocupa espacio en disco
d.
(
)
Una clave externa se puede definir a través de la cláusula FOREIGN KEY
e.
(
)
Una manera para hacer que las consultas sean más fáciles de escribir es el empleo de vistas
f.
(
)
La sentencia NOT NULL significa que un campo numérico no acepta valores de cero
g.
(
)
La instrucción ROLLBACK hace que una transacción vuelva a aplicarse y por lo tanto modifique la base de datos
h.
(
)
Cuando se crea un objeto en la base de datos, se debe indicar el propietario del mismo
i.
(
)
Una de las ventajas de las vistas son las restricciones de estructura.
j.
(
)
La sintaxis para borrar un índice es DROP [Nombre Tabla] INDEX [Nombre índice]
Ensayo h.
Estudie la sintaxis para definición de datos de Oracle, de manera específica busque como emplear la sintaxis para Oracle Express Edition. Se requiere conocer la forma de crear tablas, definir integridad referencial y creación de vistas.
l.
Realice la definición de datos de las tablas siguientes, mediante lenguaje de definición de datos.
ESTUDIANTE (cédula, codigo_est, nombre, apellido, fecha_nac, sexo, tipo_sangre, estado_civil, estado_estudiante)
MATRICULA (num_mat, cédula, cod_carrera, período_acad, fecha_mat)
62
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
UNIDAD 7: MODELO ENTIDAD RELACIÓN
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 11 del texto base: Modelo entidad relación
Continuando con el desarrollo de las unidades, nos corresponde revisar lo concerniente al modelo entidad-relación. Es importante resaltar que para desarrollar un sistema de base de datos, se inicia con la recopilación y captura de información, luego se requiere de un análisis y documentación de los requerimientos del negocio. A partir de ello, estaremos listos para comenzar la fase de diseño de la base de datos. Los modelos ER son una técnica de gran importancia que los diseñadores de base de datos deben dominar, ya que forma parte de una metodología de diseño. El texto base utiliza la nomenclatura de UML3 para representar el modelo ER. Le ayudaremos a adquirir los conocimientos y habilidades necesarias para desarrollar los modelos entidad – relación en el diseño de bases de datos.
7.1. Elementos del modelo ER Es momento de recurrir al texto base que va tratando cada uno de los elementos del modelo ER. •
Tipos de entidad
•
Tipos de relación
• Atributos Cada uno de los apartados tratados en el texto base respecto a estos elementos explica claramente sus elementos, además que presenta diagramas que le ayudan a relacionarlos con la teoría.
Revise en su texto base los apartados 11.1, 11.2 y 11.3 para que pueda afianzar sus conocimientos acerca del tema
7.2. Tipos de entidad Un tipo de entidad representa a un “objeto” del mundo real. Este concepto también es tratado por otros autores simplemente como entidad, es preciso aclarar que son términos equivalentes. Un concepto involucrado en este tema es instancia de una entidad, que viene a ser un objeto que es único dentro de un tipo de entidad. Vendría a ser un objeto específico del mundo real.
3
UML Unified Modeling Language
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
63
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Ejemplo: tenemos el tipo de entidad persona, una instancia de entidad es María José Sotomayor que tendrá valores propios en cada uno de los atributos restantes.
Liste ejemplos de entidades físicas (ejemplo personas, productos, vehículos) y entidades conceptuales (venta).
7.3. Tipos de relación Un tipo de relación representa a una “asociación” entre uno o más tipos de entidad. Este término también se conoce como relación, es preciso aclarar que son términos equivalentes. Instancia de una relación, es una asociación identificable de forma unívoca que incluye una instancia de cada entidad participante de la relación.
De las entidades identificadas, ubique las relaciones que puede existir entre ellas.
En este tema vale resaltar un concepto importante dentro de los tipos de entidad, que es el grado de un tipo de relación que indica el número de tipos de entidad que participan en una relación, de acuerdo a esto y según lo que ha revisado en el texto base, dé respuesta a las siguientes interrogantes: ¿Qué tipos de relaciones se pueden dar? ¿Qué es una relación recursiva? ¿Para qué sirven los papeles o roles dentro de una relación recursiva? Asegúrese de responder a las interrogantes, lo que indicará que ha comprendido el tema de las entidades recursivas y cómo identificar los roles o papeles que determinan la participación de las entidades.
Identifique un ejemplo diferente a los revisados donde exista entidades recursivas, es preciso que indique los roles que cumplen las entidades.
7.4. Atributos Ahora vamos a revisar lo que son los atributos. Las propiedades particulares de los tipos de entidad se denominan atributos. Cada atributo tiene un dominio asociado. Un dominio puede ser usado por uno a varios atributos.
Estudie su texto base y realice un esquema donde resuma las características de los diferentes tipos de atributos.
Revise si puede definir todos los tipos de atributos: • Simples y compuestos • Univaluados y multivaluados • Derivados
64
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Además, debemos mencionar que una relación también puede tener atributos.
Diseñe dos entidades relacionadas, estudiante, carreras, y señale: los dominios de los atributos, atributos simples y compuestos, atributos univaluados, multivaluados, derivados.
7.5. Atributos de las relaciones Tal como sucede con las entidades, las relaciones pueden tener asociadas unos atributos. La presencia de atributos en una relación indica que oculta un tipo de entidad aún no identificado. Su representación es similar a los atributos de entidades pero para distinguirlos, los atributos de entidades se asocian a una relación utilizando una línea punteada. Analice en su texto base la figura 11.13.
Estudie el apartado de atributos de las relaciones, revise con cuidado las figuras a las que hace referencia
7.6. Claves Los conceptos que tratamos aquí son los ya revisados en el modelo relacional, pero conviene revisarlos para confirmar que esté bien comprendido. Como apoyo analice la figura 11.11 en su texto base.
Estimado estudiante, revise el apartado 11.3.4 Claves, para reforzar sus conocimientos.
En las entidades estudiante, carreras señale cuales son las claves candidatas, clave principal y clave compuesta
7.7. Tipos de entidades fuertes y débiles. Ahora vamos a revisar lo concerniente a las entidades fuertes y débiles, por lo que conviene referirse a su texto base.
Estimado estudiante, revise el apartado 11.4 de su texto base que hace referencia a los tipos de entidad fuertes y débiles.
De seguro que ahora ya sabe identificar una entidad fuerte de una débil, entonces le recomiendo realice un esquema donde resuma las características de los tipos de entidad. A lo revisado, merece resaltar que una entidad fuerte tiene existencia propia y que una entidad débil debe su presencia a que se halla una entidad fuerte.
Señale al menos dos entidades débiles y dos fuertes en un sistema de gestión académica universitaria.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
65
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
7.8. Restricciones estructurales Seguidamente vamos a revisar las restricciones estructurales del modelo ER. Para un mejor entendimiento es conveniente revisar el texto base.
Estimado estudiante, revise el apartado 11.6 de su texto base que trata el tema de restricciones estructurales.
Para reforzar lo revisado en el texto base, le sugiero que realice un esquema donde resuma las restricciones estructurales del modelo ER. Corresponden a las restricciones que pueden imponerse a las entidades que participan en una relación. • Multiplicidad • Cardinalidad • Participación 7.8.1. Multiplicidad Continuando con el tema de las restricciones, ahora revisaremos el principal tipo de restricción se denomina Multiplicidad, que a través de ella se trata de representar las reglas de negocio y garantiza la identificación y representación de restricciones empresariales. De acuerdo a lo revisado, cómo suelen clasificarse las relaciones binarias? Para asimilar de mejor forma lo revisado, analice las figuras 11.14(b), 11.15(b) y 11.16(b), propuestas en el texto base. La multiplicidad se compone de dos restricciones separadas: cardinalidad y participación. Revisemos este apartado e identifiquemos las restricciones mencionadas.
66
En el ejemplo siguiente analice e identifique cuales son las entidades, atributos, relaciones, atributos de relación, multiplicidad, además, señale las restricciones de cardinalidad y de participación; ¿puede encontrar una relación recursiva? Asegúrese que se haya comprendido muy bien este tema.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Figura 7.1. Diagrama entidad relación DreamHome (Connolly, 2005) En el ejemplo de la gráfica anterior se identifica el tipo de entidad STAFF, como una relación recursiva, debido a que se relaciona consigo misma a través del tipo de relación SUPERVISES.
7.9. Modelo entidad relación avanzado Continuando con los contenidos a desarrollar, es momento de revisar lo que tiene que ver con el modelo ER avanzado, en el texto base.
Para profundizar en el tema refiérase al capítulo 12 de su texto básico.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
67
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Luego de que ha leído y analizado el tema del modelo ER avanzado, podrá distinguir las limitaciones de los conceptos básicos del modelo ER y los requisitos para representar aplicaciones más complejas utilizando conceptos adicionales han dado lugar a conceptos adicionales más útiles para el modelado de datos a través del modelo ER avanzado: especialización/generalización, agregación. En este punto, le sugiero que identifique los términos más relevantes y trate de armar sus propios conceptos, esto le ayudará para reforzar sus conocimientos. En la figura siguiente identifique los elementos del modelo ER avanzado.
Figura 7.2.Ejemplo de un diagrama ER avanzado (Connolly, 2005) En la gráfica anterior se puede observar claramente identificados los elementos presentados en un diagrama E/R Avanzado, como son: especialización, generalización, restricción de participación y restricción de disyunción, superclase y subclase. Excelente, continuemos así, desarrolle las actividades recomendadas y la autoevaluación para determinar su nivel de conocimiento, refuerce lo que sea necesario y continuemos con la unidad 8.
ACTIVIDADES RECOMENDADAS
Estimado estudiante, desarrolle las actividades siguientes para medir como ha asimilado los conocimientos, esto le permitirá saber los temas que debe reforzar.
68
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
SEGUNDO BIMESTRE
Guía didáctica: Fundamento de Base de Datos
De las cuestiones de repaso planteadas al final del capítulo 11 Modelos Entidad relación, desarrolle los puntos del 11.1 al 11.8. Recuerde que puede solicitar ayuda a su tutor mediante el campus virtual o telefónicamente. √ Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base. • √
Ejercicios 11.10 – 11.12
Interactividad virtual Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec)
Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
69
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Autoevaluación 7
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas: Sírvase responder Verdadero o Falso, según corresponda a las siguientes afirmaciones: a.
(
)
Las relaciones recursivas no existen.
b.
(
)
Un atributo tiene existencia independiente.
c.
(
)
El dominio de un atributo es el conjunto de valores permitidos para uno o más atributos.
d.
(
)
Aquel que contiene múltiples valores para cada instancia de un tipo de entidad es un atributo compuesto.
e.
(
)
La clave candidata es un conjunto mínimo de tipos de entidad que identifica de forma única cada instancia de un tipo de entidad.
f.
(
)
Una clave compuesta, es una clave principal que está compuesta de dos o más atributos.
g.
(
)
Si la existencia de una entidad no depende de ningún otro tipo de entidad, estamos hablando de un tipo de entidad fuerte.
h.
(
)
La cardinalidad describe el número máximo de posibles instancias de relación para una entidad que participa en una relación dado.
i.
(
)
Una de las restricciones principales sobre las relaciones es la multiplicidad.
j.
(
)
El modelado debe recoger todas las restricciones empresariales apropiadas.
Ensayo k.
Ubique dos ejemplos donde se pueda observar entidades fuertes y entidades débiles.
l.
De su texto base desarrolle el ejercicio 11.12 que describe los requisitos de datos de una empresa de alquiler de películas de video.
m.
Del ejercicio anterior, analice si se puede aplicar los conceptos de modelamiento ER avanzado: especialización y generalización. De ser posible realice los cambios respectivos.
70
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
UNIDAD 8: NORMALIZACIÓN
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 13 del texto base: Normalización
Llegó el momento de revisar otro tema clave de la asignatura: La normalización. Que tiene gran importancia a la hora de diseñar una base de datos para una organización, ya que se espera crear una representación precisa de los datos, de las relaciones entre ellos y las restricciones que son aplicables. Para conseguir este objetivo podemos emplear una o más técnicas de diseño. Esta técnica comienza examinando las relaciones entre atributos, a través de las dependencias funcionales. Luego se aplican una serie de reglas (formas normales) que deben cumplirse para ir logrando una adecuada distribución de los atributos. Uno de los propósitos claros de la normalización es eliminar la redundancia de las relaciones. En primer lugar cerciórese de ir comprendiendo cómo identificar las dependencias funcionales y luego la aplicación de las formas normales. Le invitamos a continuar con esta unidad.
Estimado estudiante, sírvase revisar el capítulo 13 de su texto base que hace referencia a la Normalización, Según como vaya avanzando en la revisión de los apartados en la guía didáctica, así también vaya revisando su texto base.
8.1. Objetivos del diseño de bases de datos Entre las metas más importantes que se persiguen al diseñar un modelo de bases de datos, se encuentran las siguientes:
Acceso eficiente a la información con redundancia mínima Diseño de esquemas que cumplan con las formas normales Información adicional Especificación de limitantes (dependencia funcionales)
De lo anteriormente señalado podemos deducir la importancia del diseño de base de datos.
8.2. Peligros en el diseño de bases de datos Relacionales. Como en toda actividad, también en el diseño de base de datos aparecen algunos inconvenientes que se presentan cuando el diseño de un modelo no satisface las formas normales, inconvenientes como:
Repetición de la información Dificultad para representar y/o interpretar cierta información. Pérdida de la información
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
71
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Ejemplo: Suponga que se desea gestionar las películas y sus actores, donde se asume que existe una base de datos de películas cuyo identificador es el código de la película. 1. La versión 1 es: codPeli
titulo
año
estudio
actor
nacionalidad
peli_actor
Problemas que presenta:
Repetición de datos de la película por cada actor de la misma.
Al modificar un atributo de la película, deberá recorrerse todo el archivo, para modificar uno a uno todos los registros donde se haga referencia.
2. La versión 2 (separación de atributos de acuerdo a cada entidad): codPeli
titulo
actor
año
estudio
peli_actor
nacionalidad
Problemas que presenta:
No funciona porque no hay relación entre entidades.
3. La versión 3 quedaría como: codPeli
titulo
actor
año
estudio
nacionalidad
peli_actor
codPeli
Problemas que presenta:
Sólo se registran actores que han actuado en películas, o dicho de otra manera el atributo codPeli en actores sería NULL.
Repetir datos del actor por cada película o reutilizar el campo codPeli en actores, lo último tiene dos problemas:
Se pierde el historial de actuaciones de los actores.
Un actor solo puede estar en una película a la vez.
Al caso mostrado en la Versión 3 se le denomina DESCOMPOSICIÓN CON PERDIDA dado que al realizar la descomposición se pierde información que existía por la relación entre los atributos.
72
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
4.
Versión 4 Película
codPeli
Actor
actor
titulo
año
estudio
Película-Actor
nacionalidad codPeli
actor
La versión 4 es el modelo óptimo, ya que se elimina la duplicación de datos, en cualquier instante podremos saber en qué películas ha actuado determinado actor, podremos saber cuál es el reparto de actores para cierta película. En este caso hemos utilizado la entidad película-actor como puente de los datos ente las tablas película y actor.
8.3. Normalización Es momento de profundizar más el estudio de la normalización, dentro del cual existen las denominadas formas normales que se analizarán a lo largo de la unidad. Guiándonos a través de la metodología de diseño de base de datos, propuesta en el texto base, una vez concluido el diseño lógico, se debe aplicar el proceso de normalización con el objeto de optimizar nuestro modelo de datos, a través de la eliminación de redundancia.
Conviene que revise e identifique en su texto base, cuál es el propósito de este proceso formal.
8.4. El propósito de la normalización Una vez que ha identificado el propósito de la normalización, estamos listos para continuar, pero si todavía no tiene muy claro dicho propósito, es conveniente que nuevamente realice una lectura comprensiva del apartado y resalte lo más relevante.
Analice ¿Cuáles son las características de un conjunto adecuado de relaciones incluyentes?
8.5. ¿Cómo ayuda la normalización al diseño de base de datos? El proceso formal de normalización influye en dos escenarios, el uno en donde su papel principal es apoyar en la identificación de relaciones y el otro como medio de verificación para comprobar la estructura de las relaciones.
Estudie el apartado detenidamente y analice la figura 13.1 que muestra cómo se puede utilizar la normalización para apoyar en el diseño de base de datos.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
73
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
8.6. Redundancia de datos y anomalías de actualización Uno de los objetivos de una base de datos es la eliminación de la redundancia de datos, asegurando así la consistencia de la misma, es por ello que este tema resulta de vital importancia al momento de normalizar un modelo de datos.
Recurra al texto base para realizar una lectura comprensiva del apartado, y vaya abstrayendo los puntos más importantes.
Habíamos dicho que el principal objetivo de una base de datos relacional es agrupar los atributos en relaciones de modo que se minimice la redundancia de los datos. Puede identificar las ventajas potenciales en la implementación de la base de datos? 8.6.1.
Tipos de anomalías de actualización
Generalmente cuando hay redundancia de datos, ésta provoca anomalías de inserción, borrado, modificación. Es necesario que identifique cuando se producen los diferentes tipos a anomalías.
Elabore un diagrama donde se expliquen las anomalías de actualización.
Describa con un ejemplo cada una de las tres anomalías.
8.7. Dependencias funcionales Siguiendo con el estudio de la unidad, conviene recordar el concepto asociado con la normalización es el de dependencias funcionales (DF), que describe la relación entre atributos. Con las DF aparece el término determinante de una DF que es el atributo o atributos situados a la izquierda de la flecha que describe la dependencia.
Recurra a este apartado para estudiar pausada y comprensivamente este tema. Es importante que usted domine este aspecto antes de avanzar en el estudio.
Si tenemos una relación R, con los atributos A, B y C, se dice que B depende funcionalmente de A (AB) siempre que para cada valor distinto en A hay un solo valor en B.
Observemos gráficamente:
74
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Si analizamos AB tenemos que: Cada valor en A tiene un solo valor en B. Si se cumple la dependencia funcional Si analizamos BC tenemos que: Hay dos valores distintos en B que son B1 y B3 , para B1 se tiene un solo valor C2 pero para B3 se tiene C2 y C1 y con esto no cumple la regla de dependencia
Estudie las características de las dependencias funcionales y los diferentes tipos de dependencias: interesa que domine dependencia funcional completa y dependencia transitiva. No avance en los temas si aún tiene dudas. El apartado correspondiente a identificación de dependencias funcionales resulta muy valioso puesto que presenta las pautas para la correcta ubicación de las DF. Lo más importante en su identificación es comprender bien el significado de cada atributo y las relaciones existentes entre ellos. Además, utilizando las dependencias funcionales podemos encontrar la clave principal de una relación. Analice juiciosamente este punto, y aproveche los ejemplos propuestos.
Desarrolle un ejemplo tomando como referencia los ejemplos (del 13.1 al 13.8) que se presentan en el apartado y compártalo con sus compañeros a través del foro.
8.8. El Proceso de normalización Hemos dicho ya que la normalización es una técnica para analizar relaciones en base a su clave principal o claves candidatas y en las dependencias funcionales.
Acudamos al apartado Proceso de normalización del texto base y analicemos dicho proceso y las reglas que se aplican.
Recuerde que las características principales de la DF que utilizamos para la normalización son las dependencias que: •
Presentan una relación uno a uno entre los atributos del lado izquierdo y los del derecho de la dependencia;
•
Dichas dependencias se cumplen en todo instante de tiempo; y
•
Se trata de dependencias funcionales completas.
Revise la figura 13.8, que corresponde al diagrama que ilustra el proceso de normalización, y aprovéchela para conocer los pasos siguientes.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
75
Guía didáctica: Fundamento de Base de Datos
8.8.1.
SEGUNDO BIMESTRE
Primera forma normal
Una relación se encuentra en 1FN si cada intersección fila-columna contiene datos atómicos, es decir un solo valor.
8.8.2.
Revise el apartado, y realice un mapa conceptual que refiera a los que se requiere realizar en torno a la 1FN. Aproveche además los ejemplos propuestos.
Recuerde las definiciones de forma no normalizada (UNF) y primera forma normal (1FN).
Segunda forma normal
Una relación se encuentra si y solo sí:
8.8.3.
a)
Está en 1FN
b)
Cada atributo que no forma parte de la clave primaria, depende funcionalmente de forma completa de ésta.
Revise el apartado, y realice un mapa conceptual que refiera a los que se requiere realizar en torno a la 2FN. Aproveche además los ejemplos propuestos.
Recuerde la definición de segunda forma normal (2FN).
Tercera forma normal
Una relación se encuentra en 3FN si: a)
Está en 2FN.
b)
No existen dependencias funcionales transitivas.
Revise el apartado, y realice un mapa conceptual que refiera a los que se requiere realizar en torno a la 3FN. Aproveche además los ejemplos propuestos. Recuerde las definiciones de dependencia transitiva y tercera forma normal (3FN). 8.8.4.
Definiciones generales de la 2FN y 3FN
Las definiciones de 2FN y 3FN presentadas, prohíben la existencia de dependencias parciales o transitivas respecto de la clave primaria de la relación. Sin embargo no se consideran las otra claves candidatas de la relación que también debemos asegurar que por ese lado se cumpla la 2FN y 3FN. Realice una lectura comprensiva del apartado y analice su aplicabilidad.
76
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Ánimo, de seguro ahora ya sabe aplicar las reglas de normalización para eliminar redundancia de un diseño de base de datos, y para reforzar aquello puede desarrollar las actividades recomendadas. Siga esforzándose para revisar la unidad 9.
ACTIVIDADES RECOMENDADAS
Estimado estudiante, desarrolle las actividades siguientes para medir como ha asimilado los conocimientos, esto le permitirá saber los temas que debe reforzar. De las cuestiones de repaso propuestas al final del capítulo 13 Normalización, de su texto base, desarrolle los puntos del 13.1 al 13.12. Recuerde que puede solicitar ayuda a su tutor mediante el campus virtual o telefónicamente. √ Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base. • √
Ejercicios 13.13 a 13.16
Interactividad virtual
Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec) Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
77
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Autoevaluación 8
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas: Sírvase responder Verdadero o Falso, según corresponda a las siguientes afirmaciones: a.
(
)
La normalización es un método informal
b.
(
)
Una relación sufre de anomalías de actualización cuando tiene redundancia en los datos
c.
(
)
Al identificar las dependencias funcionales, el atributo o grupo de atributos que está del lado izquierdo de la flecha se denomina determinante
d.
(
)
Una tabla que contiene uno o más grupos repetitivos es una tabla en 1ra. Forma normal
e.
(
)
Para que una relación sea susceptible de normalizar debe tener una dependencia funcional completa
f.
(
)
Basándose en sus claves y en las dependencias funcionales existentes entre sus atributos la normalización nos puede ayudar a identificar relaciones
g.
(
)
Una de las clasificaciones de anomalías es la de inserción.
h.
(
)
Una relación no puede tener más de una clave candidata.
i.
(
)
El proceso de normalización nos permite obtener relaciones bien formadas.
j.
(
)
El identificar dependencias funcionales no ayuda en la elección de claves primarias para las relaciones.
Ensayo k
Llevemos el ejercicio desarrollado en el capítulo de Modelo entidad relación a tablas donde analice si se cumplen las tres primeras formas normales.
l.
Diseñe su propio ejercicio de normalización y vaya identificando como se van cumpliendo las formas normales.
78
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
UNIDAD 9: METODOLOGÍA: DISEÑO CONCEPTUAL DE LA BASE DE DATOS
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 15 del texto base: Metodología: diseño conceptual de la base de datos Siguiendo con la metodología de diseño de base de datos que propone el texto base, revisaremos la fase de diseño conceptual, cuyo objetivo es construir la representación conceptual de la base de datos que incluye la identificación de las entidades, relaciones y atributos más importantes. El estudio de la presente unidad le permitirá conocer en forma general las fases de la metodología de diseño de una base de datos, entendiendo en cada una de éstas el papel que cumple así como su utilidad. Así también conoceremos la importancia de documentar todo el proceso de diseño de base de datos, interactuando en todo momento con los usuarios finales que juegan un papel fundamental en todo el proceso de diseño conceptual de la base de datos. Avancemos con el estudio de esta unidad.
9.1. Metodología de diseño de base de datos Seguramente ya se ha enterado que para todo proceso ordenado, nos valemos de una metodología, así también para el diseño de base de datos, se debe adoptar una metodología que nos brinde las herramientas necesarias para lograr un diseño robusto. En el diseño de base de datos se puede determinar tres fases bien marcadas: diseño conceptual, diseño lógico y diseño físico. Ahora comenzaremos a revisar la fase de diseño conceptual.
Realice una lectura comprensiva de apartado: 15.1 introducción a la metodología de diseño de base de datos. Al final del apartado se encuentran algunas directrices que pueden ser críticas a la hora de diseñar una base de datos.
9.2. Diseño conceptual de la base de datos Seguidamente vamos a abordar el estudio de la primera fase de diseño de base de datos, el diseño conceptual.
Es importante que usted profundice y estudie detenidamente el apartado 15.3 referente al diseño conceptual de la base de datos y vaya haciendo un mapa conceptual en torno a lo más relevante de este tema.
Ahora que tiene una idea sobre lo que es el diseño conceptual, puede deducir que como su nombre lo dice, trata de modelar un concepto lo más cercano al mundo real. En esta etapa se dejan de lado las consideraciones físicas como hardware o SGBD a utilizar. En esta fase se requiere la colaboración de los usuarios y es donde más adecuaciones al diseño se tendrá que hacer, por lo que es recomendable que asigne el tiempo suficiente para rehacer algunas tareas que a manera de refinamiento se tienen que dar hasta que el modelo conceptual esté listo para poder pasarlo a un modelo lógico.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
79
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
9.3. Paso 1 Construcción de un modelo conceptual de los datos Como habrá revisado, un modelo conceptual de los datos comprende: tipos de entidad, tipos de relación, atributos, dominios de atributos, claves principales y claves alternativas, así también es importante recalcar que se debe documentar todo el proceso, por lo que en ésta fase formará parte de la documentación el diagrama E-R y el diccionario de datos que se construyen en el desarrollo del modelo. Esta etapa se compone de varias actividades que las detallamos a continuación: Paso 1.1 Identificar los tipos de entidad En este paso se tiene que identificar los objetos que son de principal atención de los usuarios, que son los tipos de entidad, y los podemos encontrar en la especificación de requisitos de usuario. Ejemplos de tipos de entidad pueden ser: Empleado, Libro, Proyecto, etc. Paso 1.2 Identificar los tipos de relación Una vez identificadas las entidades, el paso siguiente sería identificar las relaciones entre dichas entidades. Una vez más podemos servirnos de la especificación de requisitos de usuario para identificar los tipos de relación. Recuerde: Normalmente, las relaciones se indican mediante verbos o expresiones verbales. Paso 1.3 Identificar y asociar los atributos con los tipos de entidad y de relación El paso siguiente es identificar qué información se requiere almacenar de las entidades y relaciones identificadas, se puede acudir a la especificación de requisitos de usuario. Paso 1.4 Determinar los dominios de los atributos Una vez haya identificado los atributos necesarios, deberá asignarles sus dominios, es decir el conjunto de posibles valores que uno o más atributos pueden tomar. Paso 1.5 Determinar los atributos de clave candidata, principal y alternativa En este paso debe identificar las claves candidatas de cada entidad, para elegir una entre ellas que será la clave principal y las restantes serán las claves alternativas. Clave candidata Es un conjunto mínimo de atributos de una entidad que identifican unívocamente cada instancia de dicha entidad. Clave principal La clave candidata seleccionada para identificar de forma única cada tupla de la entidad. Claves alternativas Las claves candidatas restantes luego de elegir la clave principal.
80
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Paso 1.6 Considerar el uso de conceptos de modelado avanzados (opcional) Para este paso se debe analizar la pertinencia o no de conceptos avanzados de modelado como especialización, generalización, agregación. Paso 1.7 Comprobar si el modelo tiene redundancia En este paso se verifica el modelo para que esté libre de redundancia, para lo cual se reexamina las relaciones uno a uno y se elimina las redundancias si hubiere. Paso 1.8 Validar el modelo conceptual comprobando las transacciones de los usuarios Como se podrá dar cuenta, el producto de esta fase será el modelo E-R, el mismo que tiene que ser validado para confirmar que soporta las transacciones requeridas por los usuarios, para lo cual nos valemos de dos técnicas conocidas: 1.
Comprobar que toda la información (entidades, relaciones y sus atributos) requerida por cada transacción esté incluida en el modelo.
2.
Representar diagramáticamente la ruta que cada transacción toma, dibujándola directamente en el diagrama E-R.
Paso 1.9 Repasar el modelo de datos conceptual con los usuarios ¿Debería revisar el usuario el modelo conceptual? Como paso final del diseño conceptual, se debe hacer una revisión con los usuarios para obtener una especie de autorización por parte de ellos formalizando así su aceptación de que el diseño es una representación verdadera de la parte de la organización que se está modelando.
Elabore un mapa mental o cuadro sinóptico en donde haga constar los puntos principales de cada actividad del diseño conceptual.
Sigamos adelante, trate de desarrollar las actividades recomendadas propuestas a continuación. Sólo falta estudiar la última unidad. Siga que con constancia alcanzará todas sus metas.
ACTIVIDADES RECOMENDADAS
Estimado estudiante, desarrolle las actividades siguientes para medir como ha asimilado los conocimientos, esto le permitirá saber los temas que debe reforzar.
De las cuestiones de repaso propuestas al final del capítulo 15, desarrolle los puntos 15.2, 15.3, 15.4, 15.6, 15.7 y 15.11. Recuerde que puede solicitar ayuda a su tutor mediante el campus virtual o telefónicamente.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
81
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
√ Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base. Elija alguno de los problemas propuestos en los primeros capítulos del texto base y construya el modelo conceptual, el objetivo es llevar a la práctica todos los conocimientos adquiridos en la unidad. Interactividad virtual
√
Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec) Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
82
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Autoevaluación 9
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas: Sírvase responder con Verdadero o Falso a las siguientes afirmaciones: a.
(
)
Una metodología de diseño, impone más burocracia a los procesos de diseño
b.
(
)
El modelo conceptual de los datos es enteramente independiente de los detalles de implementación (SGBD, hardware a utilizar)
c.
(
)
El modelo conceptual de datos se valida con el propósito de conseguir autorización de parte del cliente, para pasar a la siguiente fase de diseño de la base de datos
d.
(
)
Al momento de validar el modelo ER, no importa si falta alguna entidad, relación y/o atributo ya que se puede generar en el proceso de normalización
e.
(
)
Alguna decisión que por cuestiones de rendimiento se tome en el diseño físico, puede afectar la estructura del modelo conceptual
f.
(
)
Un modelo conceptual de datos comprende tipos de dominio
g.
(
)
La etapa de diseño conceptual es la única que no genera documentación
h.
(
)
Una técnica para validar que el modelo conceptual soporta las transacciones de los usuarios es, dibujar la ruta que cada transacción toma en el diagrama ER
i.
(
)
Cuando se puede obtener la misma información a través de otras relaciones, se dice que una relación es redundante
j.
(
)
La información referente a las claves principales y alternativas no se registra en el diccionario de datos
Ensayo k.
Desarrolle el ejercicio Taller Mecánico, siguiendo los pasos de la metodología de modelado conceptual. A continuación el enunciado del problema:
EJERCICIO: TALLER MECÁNICO
Se desea construir una base de datos para la gestión de un taller mecánico que deberá contener la información referente a los clientes, los vehículos que repara, los mecánicos que trabajan en su taller y los repuestos que se han utilizado para realizar una determinada reparación.
El funcionamiento del taller es el siguiente: 1.
Se registra tanto el cliente como el vehículo que trae al taller para su reparación.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
83
Guía didáctica: Fundamento de Base de Datos
84
SEGUNDO BIMESTRE
2.
Este registro recoge el DNI, Nombre y Apellidos, Dirección y Teléfono de contacto del cliente. Del vehículo se recogen la matrícula, el modelo y el color. También se registra la fecha de entrada del vehículo en el taller y su hora.
3.
Una vez registrado, se le asigna un mecánico (libre) que se encargará de evaluar los daños.
4.
Posteriormente, este mecánico puede rodearse de otros mecánicos que le ayudarán en la reparación.
5.
Los mecánicos que participan en la reparación irán anotando en una hoja de parte todos aquellos repuestos que les han sido necesarios para llevar a cabo la reparación y el precio de la mano de obra.
6.
Una vez terminada la reparación, la hoja de parte se pasa a la persona que mantiene el sistema de información, la cual introducirá los datos que generarán la correspondiente factura para el cliente. La factura por tanto, debe contener todos los datos del cliente, los datos del mecánico al que ha sido asignado y el desglose de qué repuestos se han utilizado con su precio por unidad, el precio de la mano de obra y el total de la factura. A este total se le aplica el 16 % de IVA y además deberá el precio total de la reparación aparecerá en pesetas y en euros.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
SEGUNDO BIMESTRE
Guía didáctica: Fundamento de Base de Datos
UNIDAD 10: METODOLOGÍA: DISEÑO LÓGICO DE BASES DE DATOS PARA EL MODELO RELACIONAL
Para el desarrollo de esta unidad, vaya revisando conjuntamente con esta guía el capítulo 16 del texto base: Metodología: diseño lógico de la base de datos Siguiendo la metodología de diseño de base de datos propuesto en el texto base, es momento de abordar el tema del diseño lógico de la base de datos cuyo objetivo es la traducción de la representación conceptual a la estructura lógica de la base de datos, lo que incluye diseñar las relaciones. El estudio de esta unidad le permitirá aprender las técnicas necesarias para identificar las relaciones a partir de un modelo conceptual de datos, para poder validarlas a través de la técnica de normalización y poder obtener un modelo lógico depurado que soporte las transacciones requeridas por la organización. Avancemos con la unidad final de los fundamentos de base de datos.
Realice una lectura comprensiva de todo el capítulo 16 de su texto base: metodología de diseño lógico de base de datos en el modelo relacional.
10.1. Metodología de diseño lógico de bases de datos para el modelo relacional Ahora que tiene un mejor entendimiento del proceso de diseño de una base de datos, de seguro se habrá dado cuenta que comprende tres etapas bien definidas: diseño conceptual descrito en la unidad anterior, diseño lógico y diseño físico. En este apartado vamos a abordar el diseño lógico, que es donde se construye el modelo de datos basado en el modelo conceptual creado en la etapa anterior, dejando de lado las consideraciones físicas, como hardware a utilizar o el SGBD que se implementará. Como en todas las fases del diseño de la base de datos, no habrá que descuidar la generación de la documentación de soporte de esta fase, en cuyo caso comprenderá: •
Los diagramas E-R.
•
El esquema relacional.
•
Diccionario de datos y
•
Documentación adicional que respalde el proceso.
10.2. Paso 2 Construir y validar el modelo lógico de los datos Siguiendo la metodología de diseño que propone el texto base, ahora revisaremos el diseño lógico, que incluye los diagramas ER, el esquema relacional y la generación de documentación que soporta al proceso. Esta etapa está compuesta por varias actividades que las detallamos a continuación:
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
85
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Paso 2.1 Determinar las relaciones para el modelo lógico de los datos Este paso nos describe la conversión desde el modelo conceptual al modelo lógico, para ello utilizamos unas reglas como las siguientes: Considere el siguiente modelo conceptual basado en la producción de películas cinematográficas: a)
Se agregan claves donde sea necesario
Figura 10-1.Modelo E-R de la producción de películas cinematográficas (Castillo, 2007)
Como se observa se agregaron ID_Pelicula, ID_Actor e ID_Estudio.
b)
Cada entidad se transforma en una tabla con los mismos atributos
Figura 10-2 Aplicación de la segunda regla para transformar a un modelo lógico (Castillo, 2007) Como se puede observar, la entidad Película pasa a representarse a través de la tabla Película con su atributos ID_Pelicula, Nombre y Año, lo mismo sucede con las entidades Actor y Estudio.
86
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
SEGUNDO BIMESTRE
c)
Guía didáctica: Fundamento de Base de Datos
Cada relación se transforma en una tabla en que los atributos son las claves de cada entidad participante
Figura 10-3 Aplicación de la tercera regla para transformar a un modelo lógico (Castillo, 2007)
Por ejemplo la relación Actúa ahora se representa a través de la tabla Actúa y tiene como atributos ID_Actor e ID_Pelicula, de igual forma sucede con la relación Produce.
d)
A veces es posible combinar relaciones, el caso típico son las relaciones 1-N, las relaciones 1-1 deberían descartarse antes, veamos un ejemplo:
Figura 10-4 Identificando relaciones 1:N (Castillo, 2007) Si nos damos cuenta, la relación entre Estudio y Película determina que cada Estudio produce varias Películas, esto se resuelve propagando la clave principal de Estudio (ID_Estudio) en la relación Película, como se observa en la siguiente figura:
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
87
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Figura 10-5 Representación de la relación un Estudio produce varias Películas (Castillo, 2007) Por tanto el modelo resultante de la transformación sería el propuesto a continuación:
Figura 10-6 Modelo lógico resultante de la transformación desde el modelo conceptual (Castillo, 2007) Paso 2.2 Validar las relaciones mediante técnicas de normalización Una vez tengamos las relaciones definidas luego de la transformación desde el modelo conceptual, procedemos a verificar la pertinencia de las mismas a través de las formas normales.
88
Si no recuerda las reglas de normalización, refiérase al apartado “El proceso de normalización” del capítulo 13 de su texto base.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Paso 2.3 Validar las relaciones comprobando las transacciones de los usuarios Bien, en este punto ya tiene su modelo normalizado, es decir técnicamente está verificado, ahora conviene validar si cumple con las especificaciones de los usuarios.
En su texto base revise el apartado del Paso 2.3, para conocer el procedimiento a seguir.
Paso 2.4 Comprobar las restricciones de integridad Como su modelo está en desarrollo, deberá ir verificando paso a paso la correctitud del mismo, es momento de verificar entonces las restricciones de integridad como son: datos requeridos, restricciones relativas a los dominios de los atributos, multiplicidad, integridad de entidades, integridad referencial, y restricciones generales.
En su texto base revise el apartado del Paso 2.4, en donde se explican los conceptos antes mencionados y la forma de identificarlos.
Paso 2.5 Repasar el modelo lógico de los datos con los usuarios Este punto será muy valioso, ya que se hará una revisión con el usuario para validar si el diseño de base de datos en construcción está acorde sus especificaciones. El resultado debería ser una retroalimentación desde los usuarios.
Refiérase al apartado del Paso 2.5 en su texto base, en donde se amplía la forma en que se puede hacer la validación del modelo con los usuarios.
Paso 2.6 Combinar los modelos lógicos de los datos en un modelo global (paso opcional) Este paso nos habla del caso en el que se esté diseñando una base de datos con múltiples vistas de usuario que se están gestionando mediante la técnica de integración de vistas. Paso 2.7 Verificar las consideraciones derivadas del crecimiento futuro Este es el punto que completa la fase de diseño lógico, en él se debe considerar el crecimiento futuro que pueda tener la organización para verificar si el modelo lógico de datos se puede ampliar debido a dichas ampliaciones, y también es fundamental verificar si han surgido nuevas consideraciones para el proyecto, ya que se deben añadir con facilidad al diseño planteado.
Elabore un mapa mental o cuadro sinóptico en donde haga constar los puntos principales de cada actividad del diseño lógico.
Felicitaciones, hemos terminado de revisar las unidades propuestas para la asignatura de fundamentos de base de datos. Me alegro de que haya logrado este objetivo y espero que no sea el último. Ahora lo siguiente será prepararse para las evaluaciones presenciales.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
89
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
ACTIVIDADES RECOMENDADAS
Estimado estudiante, desarrolle las actividades siguientes para medir como ha asimilado los conocimientos, esto le permitirá saber los temas que debe reforzar.
De las cuestiones de repaso propuestas al final del capítulo 16, desarrolle los puntos 16.1, 16.4, 16.5, 16.6 y 16.7. Recuerde que puede solicitar ayuda a su tutor mediante el campus virtual o telefónicamente. √ Ejercicios Refuerce el nivel de conocimientos de la presente unidad con los ejercicios siguientes de la sección ejercicios de su texto base.
Desarrolle un proyecto de diseño de base de datos para que aplique los conocimientos adquiridos en el desarrollo del capítulo, puede darle continuidad al ejercicio escogido en el capitulo anterior. Interactividad virtual
√
Fortalezca sus criterios y conocimientos respecto al tema y a la asignatura ingresando periódicamente a través del campus virtual (http://www.utpl.edu.ec)
Desde su aula virtual de la asignatura, puede conocer los anuncios de su profesor, y todos los participantes tienen acceso a los foros de discusión donde su aporte es valioso y es aún más significativo si la participación involucra conversación con los integrantes del curso. En nuestro caso la participación en al menos los foros de discusión es obligatoria, pues tienen una ponderación en su evaluación a distancia.
90
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SEGUNDO BIMESTRE
Autoevaluación 10
Bien, es momento de evaluar el conocimiento adquirido, por lo que le invitamos a resolver las siguientes preguntas:
Sírvase responder Verdadero o Falso a las siguientes afirmaciones: a.
(
)
Para pasar a la fase de diseño lógico de base de datos, primero debemos haber aplicado las reglas de normalización
b.
(
)
En la etapa de diseño lógico solamente intervienen los diseñadores de base de datos
c.
(
)
En la etapa de diseño lógico es muy temprano todavía para contrastar con los requisitos de los usuarios
d.
(
)
En la etapa de diseño lógico se debe comprobar las restricciones de integridad como datos requeridos e integridad de entidades
e.
(
)
Siempre se tiene que hacer la combinación de los modelos lógicos de datos en un solo modelo global
f.
(
)
El modelo de datos debe poder adaptarse fácilmente a los nuevos requerimientos de la organización
g.
(
)
En el diseño lógico se considera si el modelo es susceptible de ampliación para soportar desarrollos futuros
h.
(
)
Una técnica para validar el modelo lógico es la normalización
Ensayo i.
Desarrolle el ejercicio Taller Mecánico del capítulo anterior de su guía, siguiendo los pasos de la metodología de modelado lógico
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
91
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
7. Solucionario
PRIMER BIMESTRE UNIDAD 1
92
Pregunta
Respuesta
1.
F
2.
F
3.
F
4.
V
5.
F
6.
F
7.
F
8.
F
9.
V
10.
V
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
UNIDAD 2 Pregunta
Respuesta
1.
V
2.
F
3.
F
4.
F
5.
V
6.
F
7.
V
8.
V
9.
F
10.
F
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
93
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
UNIDAD 3 Pregunta
Respuesta
1.
F
2.
V
3.
F
4.
V
5.
V
6.
F
7.
V
8.
V
9.
V
10.
F
11.
V
12.
F
Literal n. ESTUDIANTE ( Cedula clave primariat codigo_est clave alternativa, también sirve como identificador único nombre más el apellido puede formar una clave no única apellido fecha_nac sexo tipo_sangre puede ser clave foránea hacia la tabla de tipos de sangre estado_civil puede ser clave foránea hacia la tabla de estado civil estado_estudiante puede ser clave foránea hacia la tabla de estados ) MATRICULA ( num_mat à clave primaria cédula à se puede crear un índice secundario basado en este atributo cod_carrera à puede ser clave foránea hacia la tabla de carreras período_acad à puede ser clave foránea hacia la tabla de períodos fecha_mat )
94
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
UNIDAD 4 Pregunta
Respuesta
1.
V
2.
V
3.
F
4.
V
5.
V
6.
V
7.
F
8.
V
9.
F
10.
V
LIteral l. Seleccione los estudiantes cuyo tipo de sangre es ARH+ (estudiante) tipo_sangre=’ARH+’ Seleccione los nombres y apellidos de los estudiantes de sexo femenino con estado civil casado ( (estudiante)) nombre, apellido sexo=’F’ and estado_civil=’CASADO’ Seleccione los nombres y apellidos de estudiantes que se han matriculado en el periodo académico 2011. (
(estudiante
nombre, apellido fecha_mat=’2011’
matricula))
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
95
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
UNIDAD 5
96
Pregunta
Respuesta
1.
F
2.
F
3.
F
4.
V
5.
V
6.
V
7.
F
8.
V
9.
V
10.
F
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
SEGUNDO BIMESTRE UNIDAD 6 Pregunta
Respuesta
1.
F
2.
V
3.
F
4.
V
5.
V
6.
F
7.
F
8.
F
9.
F
10.
F
Literal l. CREATE TABLE estudiante ( cedula varchar2(15) PRIMARY KEY, codigo_est varchar2(6) NOT NULL, nombre varchar2(30) NOT NULL, apellido varchar2(30) NOT NULL, fecha_nac date, sexo varchar2(1) DEFAULT ‘M’, tipo_sangre varchar2(6), estado_civil varchar2(6), estado_estudiante varchar2(6), CONSTRAINT est_genero_ck CHECK (sexo IN (‘M’,’F’)) ); CREATE TABLE matricula ( num_mat number(9) PRIMARY KEY, cedula varchar2(15) NOT NULL, cod_carrera varchar2(30) NOT NULL, periodo_acad varchar2(10) NOT NULL, fecha_mat date DEFAULT sysdate, CONSTRAINT mat_est_fk FOREIGN KEY (cedula) REFERENCES estudiante(cedula) );
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
97
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
UNIDAD 7 Pregunta
Respuesta
1.
F
2.
F
3.
V
4.
F
5.
F
6.
F
7.
V
8.
V
9.
V
10.
V
Literal l. empresa # Código de empresa Number (6) o Dirección de la empresa Variable characters (50)
Posee
sucursales # o * * * * o
posee_varias
Número de sucursal Código de empresa Calle Ciudad Estado de sucursal Código postal Teléfono
Number (6) Number (6) Variable characters (50) Variable characters (30) Variable characters (10) Variable characters (15) Variable characters (12)
tiene_asignados
(D) tiene_gerente
empleados # o o * o o
Número de empleado Número de sucursal suc_Número de sucursal Nombre del empleado Salario Categoría del empleado
Number (6) Number (6) Number (6) Variable characters (80) Number (8,2) Variable characters (20)
peliculas # o * * * o o o o o
98
Número de catálogo Número de sucursal Número de película Título Categoría de película Alquiler Diario de película Coste Estado Actores principales Director
Number (6) Number (6) Number Variable characters (30) Variable characters (30) Variable characters (20) Number (8,2) Variable characters (1) Variable characters (200) Variable characters (200)
alquiler
(D) se_alquila
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
# o o o o o * o
Número de alquiler Número de catálogo Número de cliente Nombre completo Título de la película Alquiler diario Fecha de alquiler Fecha de devolución
Number (6) Number (6) Number (6) Variable characters (200) Variable characters (80) Variable characters (20) Date Date
La Universidad Católica de Loja
clientes alquila
# * * o o
Número de cliente Nombres Apellidos Dirección Fecha de registro
Number (6) Variable characters (30) Variable characters (30) Variable characters (80) Date
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
UNIDAD 8 Pregunta
Respuesta
1.
F
2.
V
3.
V
4.
F
5.
F
6.
F
7.
V
8.
F
9.
V
10.
F
Literal k. CLIENTES cli_ numero
cli_ nombre
cli_ apellido
cli_dirección
Cli_ fechaingreso
123
Juan
Pérez
Loja-El valle
12-12-2011
124
Julio
Páez
Loja-La Banda
10-12-2011
1ra Forma Normal: la relación CLIENTES tiene en cada intersección de fila-columna un valor y sólo uno. 2da Forma Normal: la relación CLIENTES está en primera forma normal y además todos sus atributos que no son parte de la clave principal dependen funcionalmente de ella. Por ejemplo, el número de cliente (cli_numero) es la clave principal por tanto para identificar a quien corresponde el atributo nombre, apellido, dirección y fecha de registro se requiere identificar estos valores a través de un número de cliente, es por ello que se dice que los atributos antes mencionados dependen todos de la clave principal. 3ra Forma Normal: la relación CLIENTES está en primera y segunda formas normales y además ningún atributo que no es clave principal depende transitivamente de la clave principal. Por ejemplo el atributo nombre del cliente, depende de la clave principal número de cliente para poder saber a quien corresponde dicho nombre, y no sucede que el nombre del cliente tenga que ser identificado con otro atributo distinto de la clave principal, para a través de este otro atributo poder ser identificado por medio de la clave principal, es lo que se conoce como transitividad.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
99
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
UNIDAD 9
100
Pregunta
Respuesta
1.
F
2.
V
3.
V
4.
F
5.
F
6.
F
7.
F
8.
V
9.
V
10.
F
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
SOLUCIONARIO
UNIDAD 10 Pregunta
Respuesta
1.
F
2.
F
3.
F
4.
V
5.
F
6.
V
7.
V
8.
V
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
101
DICTIONARY
8. Anexos
THESAURUS
Guía didáctica: Fundamento de Base de Datos
ANEXOS
El presente material ha sido reproducido con fines netamente didácticos, cuyo objetivo es brindar al estudiante mayores elementos de juicio para la comprensión de la materia, por lo tanto no tiene fin comercial.
Actividades recomendadas unidad 1 No. 1.
Cuestión
Respuesta
Proporcione cuatro ejemplos de sistemas Señalamos uno de los cuatro que se solicitan: de bases de datos distintos de los enumerados en la Sección 1.1. Sistema de gestión de trámites en oficinas públicas: en el momento en que una persona se acerca a un oficina pública (de cualquier tipo) y solicita un servicio se inicia un trámite, se recogen datos del solicitante y el trámite que va a realizar; datos relevantes son: número de identificación del solicitante, nombres, apellidos, referencia telefónica, tipo de trámite y observaciones particulares, fecha del trámite y datos del servidor público que recibió el trámite. A continuación el sistema genera con el tipo de trámite una ruta de las oficinas que el trámite va a seguir, esto es: oficina, persona de contacto y actividad que esta debe realizar en relación al trámite hasta que el servicio sea concluido 100% o existan requisitos que hacen que el trámite no continúe; Con este proceso y su consecuente uso de base de datos, se automatiza la gestión de trámites, se recogen información de inicio, fechas de llegada, registros de actividades y responsables de los pasos que debe seguir un trámite. Por favor desarrollar los tres ejemplos adicionales.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
103
Guía didáctica: Fundamento de Base de Datos
No.
ANEXOS
Cuestión
Respuesta
2.
Describa el enfoque de tratamiento de A continuación se señalan un enfoque adoptado y los datos adoptados en los antiguos sus desventajas, se recomienda revisar el apartado sistemas basados en archivos. Indique las 1.2. para ampliar la respuesta: desventajas del enfoque Duplicación de datos, debido al enfoque descentralizado de gestión de datos, en el que cada departamento tiene sus propios archivos, con estructuras e incluso tecnológicas distintas lo que va a complicar la integración, actualización y consolidación de información de los distintos departamentos; la solución de esto es tener un sistemas de gestión de base de datos integrado y/o centralizado.
3.
Describa las principales características del En un sistema de archivos la definición de datos enfoque de base de datos y compárelas está incluida en los programas de aplicación con las técnica basada en archivos. en lugar de almacenarse en forma separada e independiente como sucede en un SGBD, con lo que se consigue independencia de datos respecto a programación. En un sistema de archivos no existe ningún control sobre el acceso y manipulación de los datos, más allá de lo que imponen los propios programas de aplicación; en los SGBD, se incluyen dentro del mismo motor de base de datos mecanismos de control de acceso y operación sobre los datos, a más de los que se podría implementar en la programación.
4.
104
Explique las ventajas y desventajas de los Revisar tabla 1.2 y 1.3. SGBD
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
ANEXOS
Actividades recomendadas unidad 2 No. 1.
Cuestión
Respuesta
Explique el concepto de independencia La independencia de los datos, permite que la de los datos y explique su importancia en capa externa, la que finalmente ve el usuario a un entorno de base de datos través de las aplicaciones, no se vea afectada por las modificaciones que pueda sufrir la capa conceptual y su posterior reflejo en la capa física. El concepto también es válido al revés, es decir cambios en el nivel externo no deben afectar el nivel interno. La importancia frente a un entorno de base de datos radica en varias razones, por ejemplo: todos los usuarios deben poder acceder a los mismos datos, do deberían tener que tratar directamente con los detalles de almacenamiento físico, o que el trabajo del DBA afecte las vistas de los usuarios..
2.
Para resolver la cuestión de la independencia de los datos, se propuso la arquitectura en tres niveles de ANSISPARC. Compare y contraste los tres niveles de este modelo.
Observar figura 2.1. Nivel externo, la vista que los usuarios tienen de la base de datos Nivel conceptual, entre el externo e interno, describe qué datos están almacenados en la base de datos y las relaciones existentes entre los mismos. Nivel interno, refleja la representación física de la base de datos en la computadora.
3.
¿Qué es un modelo de datos? Indique y Los modelos de datos son colecciones integradas explique los tipos principales de modelos de conceptos para describir, y manipular datos, así de datos como sus relaciones y restricciones. Los modelos que se presentan en el apartado 2.3 son: modelos de datos basados en objetos, en registros (relacional, red y jerárquico), modelos de datos físicos, modelos conceptuales
4.
Explique la función y la importancia del modelado conceptual
Su importancia radica en ser el corazón de la base de datos, está entre el nivel externo que entiende el usuario, y el nivel interno que entiende la máquina y de los detalles de implementación.
5.
Explique la función y la importancia del catálogo del sistema.
El catálogo del sistema, contiene metadatos (datos de los datos) de los objetos que hay en una base de datos, su función es la de un diccionario de datos.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
105
Guía didáctica: Fundamento de Base de Datos
ANEXOS
No.
Cuestión
Respuesta
6.
¿Qué quiere decir el término ‘arquitectura cliente-servidor’ y cuáles son las ventajas de este enfoque? Compare la arquitectura cliente – servidor con las otras dos arquitecturas.
En la arquitectura cliente – servidor, existe un cliente que realiza peticiones de recursos y un servidor que despacha recursos para las peticiones que se están realizando. Para la comparación revisar punto 2.6
7.
Compare la arquitectura cliente – servidor en dos niveles para SGBD tradicional con la arquitectura cliente – servidor en tres niveles ¿Por qué resulta esta última arquitectura más apropiada para la web?
Una razón importante, por la que la arquitectura de tres capas ha adquirido tanta importancia, es debido a la flexibilidad y escalabilidad, incluso se habla de arquitectura de n – capas; en el caso de la web, el browser es la primera capa, luego hay un servidor web y detrás de este un servidor de datos al que el usuario no accede directamente, sino que se despacha los pedidos vía el servidor web.
Actividades recomendadas capítulo 3 No.
Cuestión
Respuesta
1.
Explique cada uno de los siguientes conceptos en el modelo relacional: relación, atributo, dominio, tripla, intensión y extensión, grado y cardinalidad.
En la sección de conceptos claves esta el contenido que resuelve esta cuestión.
2.
Describa la relación entre relaciones Revisar el punto 3.2.2 matemáticas y relaciones en el modelo de datos relacional
3.
Describa las diferencias entre una relación Una relación es una tabla con columnas y filas; en y un esquema de relación cambio un esquema de relación se forma a partir de un conjunto de parejas de atributos y nombres de dominios Un esquema de base de datos relacional es un conjunto de requemas de relación, cada una con un nombre distinto
4.
Explique las propiedades de una relación
Propiedades: Nombre único, cada celda es un valor único (atómico), cada nombre dentro de una relación tiene un nombre único, un atributo pertenece a un dominio; cada tupla es diferente, el orden de los atributos no importa, tampoco el orden de las tuplas.
106
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
ANEXOS
5.
6.
Explique las diferencias entre las claves candidatas y la clave principal de una relación. Explique el concepto de clave externa ¿Cómo se relacionan las claves externas de una relación con las claves candidatas? Proporcione ejemplos para ilustrar su respuesta
Una relación debe tener una sola clave primaria, aunque varias claves candidatas.
Defina las dos principales reglas de integridad para el modelo relacional. Explique por qué es deseable imponer estas reglas
Integridad de entidad: ningún atributo de una clave principal puede ser nulo, integridad referencial si hay una clave externa en una relación, el valor de la clave externa debe corresponderse con el valor de una clave candidata de alguna tupla en su relación de origen o el valor de la clave externa debe ser completamente nulo.
Las claves externas también se conocen como claves foráneas y se corresponden con una clave principal o candidata en otra relación; por ejemplo si tenemos la relación estudiante y la relación Carreras, en la relación estudiante puede existir un atributo carrera_id, que desde Estudiante permite conocer la carrera a la que pertenece; este atributo carrera_id es una clave externa que apunta hacia la clave principal en la relación Carreras.
La primera regla evita filas con clave primaria nula y la segunda tener registros en las tablas secundarias que no tienen un clave primaria que les sorprenda; una suerte de hijos sin padre. 7.
¿Qué es una vista? Explique la diferencia entre una vista y una relación base
Una vista es una especie de tabla virtual, no existe físicamente como sucede en el caso de las relaciones; una vista es una consulta de datos desde las relaciones.
Actividades recomendadas unidad 4 No.
Cuestión
Respuesta
1.
¿Cuál es la diferencia entre un lenguaje procedimental y otro no procedimental? ¿Cómo clasificaría el álgebra relacional y el cálculo relacional?
Los lenguajes procedimentales, requieren detallar los pasos que se deben dar para conseguir una funcionalidad; a diferencia de un lenguaje no procedimental en el que se abstraen los pasos. Algebra relacional -> procedimental Cálculo relacional -> no procedimental
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
107
Guía didáctica: Fundamento de Base de Datos
No. 2.
ANEXOS
Cuestión
Respuesta
Explique los términos: a) relacionalmente completo, b) cierre de las operaciones relacionales.
Relacionalmente completo, un lenguaje que pueda usarse para producir cualquier relación que se pueda obtener mediante el cálculo relacional. El Cierre de las operaciones relaciones se debe a que los operando y los resultados son relaciones, lo que posibilita anidar las operaciones.
3.
Defina las cinco operaciones básicas del álgebra. Defina las operaciones de combinación, intersección y división en términos de estas cinco operaciones básicas.
Para la primera parte de la pregunta revise 4.1.1, 4.1.2. La combinación theta, es la selección de un producto cartesiano, utilizando los operadores relacionales. La combinación natural, igual en la combinación theta, pero teniendo en cuenta que el operador de comparación es solamente el igual.
4.
Explique las cinco operaciones básicas del álgebra relacional. Defina las operaciones de combinación, intersección y división en términos de estas cinco operaciones básicas.
Revisar 4.1.3; los ejemplos los podemos discutir vía foro o un mail.
5.
Compare y contraste el cálculo relacional de tuplas con el cálculo relacional de dominios. En concreto, explique la diferencia entre las variables de tuplas y de dominio.
Ver primeros párrafos de 4.2.1 y 4.2.2
6.
Defina la estructura de una fórmula (bien formada), tanto en el cálculo relacional de tuplas como en el cálculo relacional de dominios.
Ver la sintaxis de las reglas bien formadas para cada caso en 4.2.1 y 4.2.2
7.
Explique por qué una expresión del cálculo relacional puede ser insegura. Ilustre su respuesta con un ejemplo. Explique cómo garantizar que las expresiones del cálculo relacional sean seguras.
Una expresión de cálculo relacional es insegura si genera un conjunto infinito. Para que las expresiones sean seguras se debe garantizar que las tuplas sean partes de un dominio definido. Ejemplo todas las tuplas C, tal que no sean Clientes. {C | ~ Client(C)}
108
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
ANEXOS
Actividades recomendadas unidad 5 No. 1.
Cuestión
Respuesta
¿Cuáles son los dos componentes principales de SQL y qué funciones tienen?
Los dos componente son: Un lenguaje de definición de datos (DDL) que permite definir la estructura de la base de datos y controlar el acceso a los datos. Un lenguaje de manipulación de datos (DML), que sirve para extraer y manipular los datos
2.
¿Cuáles son las ventajas y desventajas de SQL?
Señalo una ventaja: es un lenguaje muy sencillo, cercano al lenguaje natural; desventaja no tiene estructuras de control , variables, etc que lo hagan robusto como los lenguajes de programación clásico, por esta razón se le conoce como un sublenguaje.
3.
Explique la función de cada una de las cláusulas de la instrucción SELECT ¿Qué restricciones se aplican a estas cláusulas?
Revisar 5.3.1.
4.
¿Qué restricciones se aplican al uso de instrucciones de agregación dentro de la instrucción SELECT? ¿Cómo afectan los valores NULL a las funciones de agregación?
Cuando se utilizan funciones de agregación, la cláusula SELECT, solo debe contener campos que aparezcan en la Cláusula GROUP BY. En la cláusula WHERE, las condiciones no deben contener funciones de grupo, se debe usar la cláusula HAVING. Los valores NULL, son eliminados en todas las funciones de grupos.
5.
Explique cómo funciona la cláusula GROUP BY ¿Cuál es la diferencia entre las cláusulas WHERE y HAVING?
La cláusula GROUP BY, permite agrupa las tuplas y aplicar las funciones de grupo en función de las columnas especificadas en esta cláusulas. La cláusula WHERE filtra las tuplas que cumplen con la condición; se aplica antes de cualquier función de grupo. HAVING, se aplica después que los grupos se han calculado, eliminando los grupos que no cumplen con la condición.
6.
¿Cuál es la diferencia entre una subconsulta y una combinación? ¿bajo qué circunstancias no pude utilizarse una subconsulta?
Mirar apartado 5.3.5
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
109
Guía didáctica: Fundamento de Base de Datos
ANEXOS
Actividades recomendadas unidad 6 No. 1.
Cuestión
Respuesta
Describa los ocho tipos de datos base de SQL
Respuesta en apartado 6.1.3
Explique cuál es la funcionalidad y la Los cinco tipos de restricciones de integridad importancia de la característica de mejora son: datos requeridos, restricciones de dominio, de la integridad integridad de entidades, integridad referencial, restricciones generales. Ampliar los conceptos en los apartados contenidos en 6.2 2.
Explique cada una de las cláusulas de la instrucción CREATE TABLE
Respuesta en aparatado 6.3.2
3.
Explique las ventajas y desventajas de las vistas
Respuesta en apartado 6.4.7.
4.
Describa cómo funciona el proceso de resolución de vistas
Los nombres de columnas de la consulta se obtienen de la consulta que definió la vista Los nombres de tablas de la cláusula FROM en la consulta se sustituyen por los correspondientes de la definición de la vista La condición de la cláusula WHERE de la consulta se une con el operador AND a la condición escrita en la consulta en la que se basa la vista. GROUP BY, HAVING y ORDER BY, se copian en la consulta La consulta se combina y ejecuta
5.
¿Qué restricciones son necesarias para Para que una vista sea actualizable, el SGBD debe garantizar que una vista sea actualizable? ser capaz de localizar la fila o columna de la tabla base que corresponden a cada fila o columna de la vista. No se especifica la opción DISTINCT, no aparecen constantes, funciones de grupo; la cláusula FROM especifica solo una tabla; la cláusula WHERE no incluye subconsultas; y, no se utiliza la cláusula GROUP BY o HAVING.
110
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
ANEXOS
No. 6.
Cuestión
Respuesta
¿Qué es una vista materializable y cuáles son las ventajas de mantener una vista materializable, en lugar de utilizar el proceso de resolución de vistas?
Una vista es materializable cuando se almacena la vista en forma de tabla temporal dentro de la base de datos, cuando se consulta la primera vez. Esto las hace mucho más rápidas y útiles cuando la tasa de consultas sea alta; no es conveniente cuando se tienen tablas bases que cambian demasiado. Para ampliar la respuesta revise el apartado 6.4.8
7.
Describa la diferencia existente entre el Revisar 6.6. control de acceso discrecional u el control de acceso obligatorio ¿Qué tipo de mecanismo de control soporta SQL?
8.
Describa cómo funcionan los mecanismos Revise la figura 6.1 y el apartado 6.6.2. de control de accesos de SQL
Actividades recomendadas unidad 7 No. 1.
Cuestión
Respuesta
Describa qué es lo que representa los tipo de entidad en un modelo ER y proporcione ejemplo de entidades con existencia física o conceptual
Un grupo de objetos con las mismas propiedades, que la empresa identifica como poseedores de una existencia independiente. Existencia física: estudiantes, profesores, productos Existencia conceptual: facturas de compra, multas de tránsito, asientos contables, débitos bancarios
2.
Describa qué es lo que representan los tipos de relación en un modelo ER y proporcione ejemplo de relaciones unarias, binarias, ternarias y cuaternarias
Un conjunto de asociaciones significativas entre tipos de entidad Ejemplos: Empleado que es jefe de otros empleados, la entidad está relacionada consigo mismo Binaria: Estudiantes que pertenecen a Carreras Universitarias Ternarias: Estudiantes que pertenecen a Carreras Universitarias y que se han matriculado en Periodos Académicos determinados
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
111
Guía didáctica: Fundamento de Base de Datos
No. 3.
ANEXOS
Cuestión
Respuesta
Describa qué es lo que representan los Atributo: una propiedad de un tipo de entidad o atributos en un modelo ER y proporcione de relación. ejemplo de atributos simples, compuestos, univaluados, multivaluados Ejemplos de atributos en la entidad persona y derivados Simples: cedula: “1102809462” Compuestos: dirección: “El Valle, Calle Venecia, a 60 metros de la entrada a San Cayetano Bajo” Univaluados: email: “
[email protected]” Multivaluados: Teléfonos: “59372570275 59372585978” Derivados: Edad, que se genera de la resta entre fecha actual y el campo Fecha de Nacimiento.
4.
Describa qué representa la restricción de multiplicidad para un tipo de relación
El número (o rango) de posibles instancias de un tipo de entidad que pueden relacionarse con un ú1.nica instancia de otro tipo de entidad asociado a través de una relación concreta.
5.
¿Qué son las restricciones empresariales y cómo modela la multiplicidad estas restricciones?
La multiplicidad restringe la forma en que las entidades se relacionan. Se trata de una representación de las políticas (o reglas de negocio) establecidas por el usuario o la empresa. Se modela la multiplicidad mediante relaciones uno a uno, relaciones uno a muchos, y relaciones muchos a muchos.
6.
¿Cómo representa la multiplicidad tanto la cardinalidad como la restricción de participación en un cierto tipo de relación?
La cardinalidad describe el número máximo de posibles instancia de relación para una entidad que participa en un tipo de relación dado. La participación, determina si todas las instancias de entidad participan en una relación o sólo lo hacen algunas. La restricción de participación indica si todas las instancias de entidad están implicadas en una relación concreta (lo que se conoce como participación obligatoria) o si sólo participan algunas (lo que se conoce como participación opcional).
7.
112
Proporcione un ejemplo de tipo de relación con atributos
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
Relación Factura, con los atributos: cedula de cliente, fecha, total facturado
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
ANEXOS
No. 8.
Cuestión
Respuesta
Indique en qué difieren los tipo de entidad fuertes y débiles y proporcione un ejemplo de cada una
Un tipo de entidad cuya existencia no depende de ningún otro tipo de entidad. Ejemplo Estudiante, Materia Un tipo de entidad cuya existencia depende de algún otro tipo de entidad. Ejemplo: Matrícula, que está en función de estudiante matriculado, materias en que se ha matriculado y el periodo académico en el que hizo el trámite académico.
Actividades recomendadas unidad 8 No.
Cuestión
Respuesta
1.
Describa el propósito de normalización de los datos
Identificar un conjunto mínimo de relaciones que soporten los requisitos de datos de una organización
2.
Explique las formas alternativas en que puede usarse la normalización como ayuda al diseño de una base de datos
Como técnica autónoma de tipo abajo – arriba y como técnica de validación para comprobar la estructura de las relaciones. Referirse a la figura 13.1
3.
Describa los tipos de anomalías de actualización Anomalías de inserción, borrado y que puede introducirse en una normalización modificación que tenga datos redundantes
4.
Describa el concepto de dependencia funcional Describe la relación existente entre atributos de una relación. Por ejemplo si A y B son atributos de la relación R, B será funcionalmente dependiente de A (lo que se denota A -> B) si cada valor de A está asociado con exactamente un valor de B (A y B pueden consistir cada uno de ellos de uno o más atributos)
5.
¿Cuáles son las características principales de las Determinante dependencias funcionales que se utilizan para la Dependencia funcional completa normalización? Dependencia transitiva
6.
Describa cómo identifica normalmente un diseñador de base de datos el conjunto de dependencias funcionales asociadas con una relación
A través de la conversación con los usuarios, si estos no están disponibles, entonces es el sentido común y la experiencia del diseñador los que entran en juego. Lo importante es comprender adecuadamente el propósito de cada atributo y las relaciones existentes entre unos atributos y otros.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
113
Guía didáctica: Fundamento de Base de Datos
No. 7.
ANEXOS
Cuestión
Respuesta
Describa las características de una tabla en forma no normalizada (UNF) y describa cómo puede convertirse dicha tabla en una relación en primera forma normal (1NF)
Las tablas no normalizadas, contienen uno más grupos repetitivos. Hay dos técnicas principales para eliminar los grupos repetitivos de las tablas no normalizadas: a) Introduciendo datos apropiados en las columnas vacías de las filas que contienen los datos repetitivos, esto es aplanar la tabla. b) Colocando los datos repetitivos, junto con una copia de los atributos clave originales en una relación independiente. Revisar la figura 13.10 y 13.11 para comparar un tabla no normalizada y otra en primera forma normal
8.
¿Cuál es la mínima forma normal que una relación debe satisfacer? Proporcione una definición para dicha forma normal
La primera forma normal es la mínima forma. La 1FN se refiere a una relación en la que la intersección de toda fila o columna contiene sólo un valor.
9.
Describa las dos técnicas existentes para convertir una tabla en forma no normalizada en una relación o relaciones en primera forma normal
a)
Describe el concepto de dependencia funcional completa e indique cómo se relaciona este concepto con la forma 2 NF. Proporcione un ejemplo para ilustrar su respuesta.
Indica que si A y B son atributos de una relación, B depende funcionalmente de manera completa de A si B depende funcionalmente de A pero no de ningún subconjunto propio de A.
10.
aplanamiento de la tabla
separando los grupos repetitivos con una copia de atributos clave en una nueva relación b)
La segunda forma normal se aplica a las relaciones con claves compuestas, es decir relaciones con una clave principal compuesta de dos o más atributos, mirar el ejemplo 13.10
114
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
ANEXOS
No.
Cuestión
Respuesta
11.
Describa el concepto de dependencia transitiva e indique cómo se relaciona este concepto con la forma 3NF. Proporcione un ejemplo para ilustrar su respuesta.
Una condición en la que A, B y C son atributos de una relación tales que si A -> B y B -> C, entonces C depende transitivamente de A a través de B (supuesto que A no sea funcionalmente dependiente de B o C) Si existe una dependencia transitiva, eliminamos de la relación loa atributos que dependen transitivamente, situándolos en una nueva relación junto con una copia del determinante. Ver ejemplo 13.11
Explique cómo difieren las definiciones de Las definiciones son más generales puesto las formas 2NF y 3NF basadas en las claves que toman en consideración las claves principales de las definiciones generales de candidatas de una relación. formas 2NF y 3NF. Proporcione un ejemplo para ilustrar su respuesta
Actividades recomendadas unidad 9 No.
Cuestión
Respuesta
1.
Enumere las principales fases de una Dentro de la metodología de base de datos metodología de diseño de base de datos. propuesta en el texto base, se identifican tres fases importantes que son: diseño conceptual, lógico y físico de la base de datos.
2.
Enumere al menos cinco factores considerados críticos en el diseño de una base de datos.
Factores críticos serían: •Se tiene que apegar a una metodología estructurada durante todo el proceso de modelado de los datos. •Se tiene que emplear una técnica centrada en los datos. •Es preciso incorporar las consideraciones estructurales y de integridad dentro de los modelos de datos. •Es necesario emplear diagramas para representar una parte lo mayor posible de los modelos de los datos. •Es preciso construir un diccionario de datos para complementar los diagramas de modelos de datos y el DBDL.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
115
Guía didáctica: Fundamento de Base de Datos
ANEXOS
No.
Cuestión
3.
Explique el importante papel que juegan los usuarios en el proceso de diseño de una base de datos
Cumplen un papel muy importante ya que son ellos los dueños de los procesos que se dan día a día en una organización, por tanto son ellos los que aportan con las ideas para que los diseñadores las plasmen en el diseño de la base de datos, lo que derivará en una base de datos robusta que encaja en las necesidades de la organización.
4.
Identifique los pasos principales asociados con el diseño conceptual de la base de datos.
Estos pasos son:
5.
¿Cómo identificaría los tipos de entidad a partir de la especificación de requisitos del usuario?
Identificando los objetos principales, que tienen existencia propia, por ejemplo Staff es una entidad porque los empleados existen independientemente de que conozcamos sus nombres, categoría laboral o fecha de nacimiento.
6.
Explique por qué es conveniente validar La validación es una etapa muy importante ya el modelo de datos conceptual y describa que permite evaluar la eficacia del modelo e dos técnicas para validar dicho modelo. identificar posibles errores u omisiones de algún elemento. Para la validación podemos valernos de dos técnicas: descripción de las transacciones y utilización de las rutas de las transacciones. En la primera se verifica que por cada transacción estén presentes todas las entidades y relaciones necesarias, mientras que en la segunda se traza el camino que una transacción sigue por las diferentes entidades.
116
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
Respuesta
1. Identificar los tipos de entidad 2. Identificar los tipos de relación 3. Identificar y asociar los atributos con los tipos de entidad y de relación 4. Determinar los dominios de los atributos 5. Determinar los atributos de clave candidata, principal y alternativa. 6. Considerar el uso de conceptos de modelado avanzados (opcional) 7. Comprobar si el modelo tiene redundancia 8. Validar el modelo conceptual comprobando las transacciones de los usuarios 9. Repasar el modelo de datos conceptual con los usuarios
La Universidad Católica de Loja
Guía didáctica: Fundamento de Base de Datos
ANEXOS
Actividades recomendadas unidad 10 No.
Cuestión
Respuesta
1.
Explique el propósito del diseño lógico de El principal propósito es traducir el modelo bases de datos conceptual al modelo lógico de datos para validarlo y verificar que cumpla con los requisitos de datos de la organización.
2.
Explique dos técnicas que pueden usarse Se pueden aplicar: para verificar que el esquema relacional es capaz de soportar las transacciones •Las reglas de normalización para garantizar necesarias que el conjunto de tablas tenga un número de atributos mínimo, pero suficiente, para soportar los requisitos de datos de la empresa. •La comprobación de transacciones de los usuarios, utilizando las relaciones, los enlaces de clave principal/clave externa mostrados en las relaciones, el diagrama E/R y el diccionario de datos, trataremos de realizar las operaciones manualmente y si podemos resolver y todas las transacciones de esta forma, habremos validado el modelo lógico de los datos.
3.
Describa el propósito de las restricciones de integridad
4
Describa las estrategias alternativas que Se puede aplicar: pueden aplicarse si existe una tupla hija que hace referencia a una tupla padre que NO ACTION lo que impide el borrado de la tabla queremos borrar padre si existen tuplas hijas q hagan referencia. CASCADE cuando se borra la tupla padre se borran automáticamente todas las tuplas hijas. SET NULL cuando se borra una tupla padre los valores de clave externa en todas las tuplas hijas correspondientes toman el valor nulo. SET DEFAULT cuando se borra una tupla padre los valores de clave externa en todas las tuplas hijas correspondientes deben tomar automáticamente sus valores predeterminados. NO CHECK cuando se borra una tupla padre no hacemos nada para garantizar que se mantenga la integridad referencial.
El propósito de las restricciones de integridad es proteger la base de datos frente a la posibilidad de que llegue a ser incompleta, imprecisa o incoherente.
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
117
Guía didáctica: Fundamento de Base de Datos
ANEXOS
No.
Cuestión
Respuesta
5.
Identifique las tareas normalmente asociadas con la combinación de modelos lógicos locales de los datos en un modelo lógico global
Combinación de los modelos lógicos locales de datos en un modelo global. Revisar los nombres y el contenido de las entidades/tablas y de sus claves candidatas Revisar los nombres y los contenidos de las relaciones/claves externas Combinar las entidades/tablas de los modelos de datos locales Incluir (sin combinarlas) las entidades/tablas exclusivas de cada modelo de datos local Combinar las relaciones/claves externas de los modelos de datos locales Incluir (sin combinarlas) las relaciones/claves externas exclusivas de cada modelo de datos local Verificar si falta alguna entidad/tabla o relación/ clave externa Comprobar las claves externas Comprobar las restricciones de integridad Dibujar el diagrama ER global Actualizar la documentación Validación del modelo lógico global de los datos Revisión del modelo lógico global de los datos con los usuarios
JCM/AR-cll-2011-12-26 yc/2015/02/06
118
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja