CUADERNO DOCENTE BASES DE DATOS I ISI0514. Contenido: Fundamentos de Bases de Datos. Profesor: Oswaldo MERCHAN. Marzo/2004. Sistemas de Bases de Datos



Documentos relacionados
1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica. Base de Datos I. Maestra: Martha E. Evangelista Salazar

Introducción. Componentes de un SI. Sistema de Información:

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Unidad 1. Introducción a los conceptos de Bases de Datos

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

SISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS))

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

BASES DE DATOS TEMA 1. INTRODUCCION

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

TEORIA DE BASES DE DATOS. M. Sc. Cristina Bender Lic. Diana Gázquez

DBMS (Data Base Management System) Un Sistema de Gestión de Base de Datos, consiste en una colección de datos interrelacionados y un conjunto de

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Base de datos relacional

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Unidad II: Diseño de Bases de Datos y el modelo E-R. 2.1 El Proceso de Diseño

Bases de Datos 3º Informática de Sistemas

TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS.

Tema 1. Conceptos básicos

GENERALIDADES DE BASES DE DATOS

Modelo Entidad-Relación

Registro: Es un conjunto de campos. También se llama Fila o Tupla. Son varios datos

BASE DE DATOS RELACIONALES

Introducción a Bases de Datos

Estructura de Bases de datos. Leonardo Víquez Acuña

Elementos requeridos para crearlos (ejemplo: el compilador)

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b

El modelo relacional

- Bases de Datos - - Diseño Físico - Luis D. García

Introducción a las bases de datos

Capítulo VI. Diagramas de Entidad Relación

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

Unidad I: Sistemas Gestores de Bases de Datos. 1.1 Objetivo de las Bases de Datos

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

Sistemas de Gestión de Bases de Datos

3. Modelo relacional: Estructura e integridad.

Introducción a los sistemas de Bases de datos. Profesor: Msc. MIGUEL ANGEL NIÑO ZAMBRANO

INTRODUCCION A LAS BASES DE DATOS Procesamiento de Archivos vs Bases de Datos ARCHIVOS BASES DE DATOS

Sistemas de Información II Tema 1. El enfoque de bases de datos

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INFORMATICA BASE DE DATOS

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

INTRODUCCIÓN A LAS BASES DE DATOS

Base de datos en Excel

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Alumna: Adriana Elizabeth Mendoza Martínez. Grupo: 303. P.S.P. Miriam De La Rosa Díaz. Carrera: PTB. en Informática 3er Semestre.

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

MINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA.

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

BASES DE DATOS TEMA 1

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

Tema I: Bases de Datos y Sistema Gestor de Bases de Datos

IAP ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

Tema 11 Bases de datos. Fundamentos de Informática

Modelos y Bases de Datos

SEGURIDAD Y PROTECCION DE FICHEROS

Tema 6: Diseño de bases de datos relacionales.

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

En este capítulo se describe las herramientas, así como los procesos involucrados en el análisis y desarrollo de sistemas de información, por otro

Repaso de Conceptos Básicos de Bases de Datos

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

Unidad 1. Fundamentos en Gestión de Riesgos

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

BASES DE DATOS TEMA 2. Arquitectura de un Sistema de Gestión de Bases de Datos

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

Ingeniería del Software I

Creación y administración de grupos de dominio

Funciones del Administrador de Base de Datos. Ing. Anaylen López, MSc Base de Datos II

Seminario de Informática. Modulo V: Bases de Datos Elementos Conceptuales

IAP TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

Manual de Procedimiento. CREACION-ADMINISTRACION, RESPALDO DE DATOS Y CONTINUIDAD DEL NEGOCIO Procesos y Responsabilidades ECR Evaluadora Prefin S.A.

proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Del MER al MR. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Manual imprescindible SQL Server 2012 (c) Francisco Charte Ojeda

Construcción de una base de datos

Tema 2: Modelo Entidad-Relación(ER)

Es una colección de datos operativos almacenados y utilizados por los programadores de aplicaciones y por usuarios finales de muy diversa índole!

Componentes de Integración entre Plataformas Información Detallada

Índice libro SQL Server / 6

Introducción a las redes de computadores

Tema 5: Teoría de diseño de Bases de Datos Relacionales.

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Tema 1: Sistemas de Gestión de Bases de Datos

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS

forma de entrenar a la nuerona en su aprendizaje.

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

Proyecto de Normalización Automática de Base de Datos

CAPITULO III A. GENERALIDADES

Transcripción:

BASES DE DATOS I ISI0514 CUADERNO DOCENTE Contenido: Fundamentos de Bases de Datos Profesor: Oswaldo MERCHAN Marzo/2004 ISI0514 Fundamentos de Bases de Datos Página 1 de 120

INTRODUCCIÓN El presente documento recopila información de las obras bibliográficas especializadas en los fundamentos de Bases de Datos, incluye además ejemplos prácticos que se encuentran desarrollados para que puedan ser revisados y analizados por el alumno. Los resúmenes y extractos obtenidos, han sido organizados para que el documento sirva como guía para los estudiantes que cursan la materia de Bases de Datos El capítulo 1 presenta en forma general las características de un sistema de Bases de Datos, sus componentes y ventajas en comparación con los sistemas tradicionales orientados a procesos. En el capítulo 2 se describe el modelo entidad - relación que se emplea para interpretar, especificar y documentar los requerimientos para sistemas de procesamiento de Bases de Datos, siendo muy útil este modelo para el diseño que parte de lo general a lo particular. El capítulo 3 presenta lo principios del Modelo Relacional y los aspectos de los fundamentos matemáticos (Álgebra Relacional) El objetivo del capítulo 4 es el de presentar de manera práctica los conceptos del lenguaje SQL. Se describe el manejo de datos que se realiza mediante las instrucciones de consulta, inserción, actualización y eliminación; comprende también la teoría de la integridad de datos. Al final del capítulo se incluye una serie de ejemplos de consultas a las tablas generadas en el capítulos 2. En el capítulo 5 se expone un tema que complementa al modelo relacional, la teoría de Normalización, metodología que es empleada para validar la adecuada construcción de una relación. Se incluyen los conceptos necesarios de Dependencias Funcionales que servirá para definir las Formas Normales ISI0514 Fundamentos de Bases de Datos Página 2 de 120

1.1 INTRODUCCIÓN. CAPITULO 1 SISTEMAS DE BASES DE DATOS Un sistema de gestión de bases de datos SGBD (DBMS Data Base Management System) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a esos datos. El término bases de datos corresponde a un conjunto autodescriptivo de registros integrados. Es autodescriptivo, porque además de los datos fuentes del usuario, contiene una descripción de su propia estructura; tal descripción es conocida como diccionario de datos. La Base de Datos es un depósito único de datos para toda la organización, por lo que debe ser capaz de integrar los distintos sistemas y aplicaciones, atendiendo a las necesidades de los usuarios en los niveles: operativo, táctico y estratégico. El objetivo del SGBD es suministrar la interfaz entre el conjunto de los datos y los usuarios. El SGBD también debe proporcionar a los otros usuarios (analistas, programadores, administradores) las correspondientes herramientas que les permitan un adecuado desarrollo de sus funciones. Una Base de Datos es un conjunto de registros integrados que jerárquicamente está caracterizada de la siguiente manera: los bits conforman los bytes o caracteres; los caracteres constituyen campos; los campos integran registros y los registros componen archivos. Una base de datos contiene cuatro componentes: archivos de datos del usuario, una descripción de su propia estructura que se denomina diccionario de datos o metadatos, incluye también índices que se usan para representar las relaciones entre los datos y para mejorar el desempeño de las aplicaciones de la base de datos, y un último tipo de información o componente que se almacena en la base de datos son los metadatos de aplicación; se usan para almacenar la estructura y el formato de reportes, consultas, y otros componentes de aplicación. Bits } Bytes} Campos } Registros } Archivos } Bits } Bytes} Campos } Registros } Archivos + Metadatos + Indices + Metadatos de Aplicación Jerarquía de los elementos de datos en un sistema de procesamiento de archivos y en un sistema de bases de datos ISI0514 Fundamentos de Bases de Datos Página 3 de 120

Los sistemas de bases de datos están diseñados para gestionar grandes bloques de información. La gestión de datos implica tanto la definición de estructuras para el almacenamiento de la información como la provisión de mecanismos para la gestión de la información. Relación entre una aplicación de base de datos y un DBMS Aplicaciones de B.D. DBMS Bases de Datos 1.2 GESTION DE LOS DATOS Enfoque tradicional: En las primeras etapas del procesamiento de datos, las aplicaciones que se desarrollaban en las organizaciones estaban orientadas a cubrir necesidades muy específicas de procesamiento, por lo que, tanto los lenguajes de programación como las estructuras de datos se centraban en realizar de manera más eficiente una tarea específica. Los sistemas informáticos tradicionales se denominan sistemas orientados hacia procesos, debido a que en ellos se pone énfasis en los tratamientos que reciben los datos, los cuales se almacena en ficheros que son diseñados para una determinada aplicación. Mundo Real Ficheros Individuales Personal Nómina Vehículos Procesos: Personal Nómina Vehículos ISI0514 Fundamentos de Bases de Datos Página 4 de 120

Sistema orientado a procesos: D1 F1 T1 D2 D3 D4 D5 F2 F3 F4 T2 T3 F6 T4 D6 D7 F5 T5 Datos Archivo Tratamiento Resultados Enfoque de base de datos: Con el fin de resolver los problemas que se presentan con los sistemas informáticos tradicionales y con el objeto de lograr una gestión más racional del conjunto de datos, surge un nuevo enfoque que se apoya sobre una Base de Datos en la cual los datos son recogidos y almacenados, al menos lógicamente, una sola vez, con independencia de los tratamientos. Por lo tanto, en los sistemas orientados a datos el análisis comienza por formular la lógica de los datos organizacionales como un todo independiente, para después involucrarlos con los procesos que lo utilizan. Mundo Real Base de Batos Datos Procesos: Personal Nómina Vehículos ISI0514 Fundamentos de Bases de Datos Página 5 de 120

Sistema orientado a las Bases de Datos D1 Creación D2 Depuración D3 D4 Actualización BD Recuperación D5 Tratamiento D6 Almacenamiento D7 Datos Creación y Recuperación actualización y Tratamiento 1.3 OBJETIVOS DE LOS SISTEMAS DE BASES DE DATOS Un sistema de procesamiento de archivos apoyado por un sistema operativo convencional, tiene un número de desventajas importantes que tienen que ser evitadas por un sistema de bases de datos: Datos integrados: En un sistema de bases de datos, todos los datos de las aplicaciones se almacenan en un medio sencillo llamado Bases de Datos. Por ejemplo, en un programa de facturación, la aplicación puede acceder a los datos del cliente, los datos de proveedores o ambos. En caso de necesitar ambos datos, el programador de la aplicación sólo especifica cómo deberán combinarse los datos y el DBMS realizará las operaciones necesarias para conseguirlo. Cuando los datos se encuentran aislados, éstos están repartidos en varios archivos, y pueden tener diferentes formatos, lo que complica la creación de nuevos programas para obtener los datos apropiados. Independencia programa / datos: Una de las principales ventajas que brinda una Base de Datos es la independencia entre los datos y los tratamientos que se hacen de ellos, a diferencia de los Sistemas Orientados a Procesos, en los cuales los datos eran sumamente dependientes de los programas. De hecho, para que un proceso pudiera utilizar un determinado dato que se encontraba almacenado en un archivo debía hacer la declaración completa de la estructura de este archivo, esta declaración era sólo modificable en tiempo de edición quedando fijada en tiempo de compilación. Un sistema de procesamiento de bases de datos hace que los programas dependan menos de los formatos de archivo. Los formatos de registro se ISI0514 Fundamentos de Bases de Datos Página 6 de 120

almacenan en la misma base de datos y son accedidos por el DBMS y no por los programas de aplicación. La independencia de programas y datos minimiza el impacto de los cambios en el formato de los datos de los programas de aplicación. La mayoría de las veces los programas de aplicación no se enteran de que el formato de los datos ha cambiado. Redundancia e inconsistencia de datos: En un sistema de procesamiento de archivos, éstos y los programas de aplicación son creados por diferente personal durante un período largo de tiempo, en donde, probablemente los archivos tengan diferentes formatos y puedan estar duplicados en varios sitios. Esto puede causar la redundancia de la información que aumenta los costos de almacenamiento y además puede llevar a inconsistencia de los datos, esto es, las diversas copias de los mismos datos no concuerdan entre sí. Por ejemplo, si la dirección de un empleado está registrada en un archivo que contenga la información del Personal de la empresa y además está registrada en el archivo con la información del Control de Asistencia, un cambio en la dirección del empleado puede estar reflejada en el registro del Personal, pero no estarlo en el registro del control de asistencia, produciendo una inconsistencia de los datos lo que implica dudas en la credibilidad de los datos almacenados. Problemas de integridad: Los valores de datos almacenados en la base de datos deben satisfacer ciertos tipos de restricciones de consistencia. Por ejemplo, el saldo mínimo de una cuenta corriente debe ser 100 dólares. Acceso concurrente: En un entorno de multiprogramación es posible ejecutar varias transacciones de manera concurrente, lo que significa actualizar los datos simultáneamente, para lo cual es necesario que el sistema controle la interacción entre las transacciones concurrentes para evitar que se destruya la consistencia de la base de datos. Control de seguridad: No todos los usuarios del sistema de bases de datos pueden acceder a todos los datos. 1.4 CONCEPTO DE BASES DE DATOS: Las definiciones de Bases de Datos son numerosas, aunque todas coinciden en que es un conjunto de datos almacenados en un soporte de acceso directo. Los datos están interrelacionados y estructurados de acuerdo a un modelo que sea capaz de recoger el máximo contenido semántico. El concepto de bases de datos ha ido cambiando y configurándose a lo largo del tiempo. A continuación se enuncian algunas de estas definiciones: ISI0514 Fundamentos de Bases de Datos Página 7 de 120

Definición 1: Colección de datos interrelacionados almacenados en conjunto, sin redundancia perjudicial o innecesaria. Su finalidad es servir a una o más aplicaciones de la mejor forma posible. Los datos se almacena de modo que resulten independientes de los programas que lo usan. Se emplean métodos bien determinados para incluir nuevos datos y para modificar o extraer los datos almacenados [Martín 1995] Definición 2: Colección o depósito de datos donde los mismos se encuentran lógicamente relacionados entre sí, tienen una definición y descripción comunes y están estructurados de una forma particular. Una Base de Datos es también un modelo del mundo real, y como tal, debe servir para toda una gama de usos y aplicaciones. [Conference des Statisticiens Europeéns, 1977] Definición 3: Colección de datos interrelacionados [Elmasri y Navathe, 1989] Definición 4: Una colección o depósito de datos integrados, con redundancia controlada y con una estructura que refleje las interrelaciones y restricciones existentes en el mundo real. Los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de éstas, y su definición y descripción, han de estar almacenadas junto con los mismos. Los procedimientos de actualización y recuperación, comunes y bien determinados, habrán de ser capaces de conservar la seguridad (integridad, confiabilidad y disponibilidad) del conjunto de datos [De Miguel y Piattini, 1993] 1.5 VENTAJAS DE LAS BASES DE DATOS. CUADRO RESUMEN DE LAS VENTAJAS DE LAS BASES DE DATOS Referido a: Ventajas: Los datos Independencia de los datos respecto a los tratamientos y viceversa Mejor disponibilidad de los mismos Mayor eficiencia en la recogida, codificación y entrada Los resultados Mayor coherencia Mayor valor informativo Mejor y más normalizada la documentación de la información Los usuarios Acceso más rápido y sencillo de los usuarios finales Más facilidades para compartir los datos por el conjunto de usuarios Mayor flexibilidad para atender a demandas cambiantes ISI0514 Fundamentos de Bases de Datos Página 8 de 120

1.6 ABSTRACCIONES DE DATOS. Un objetivo importante de un sistema de bases de datos es proporcionar a los usuarios una visión abstracta de los datos. Es decir, el sistema esconde ciertos detalles de cómo se almacenan y mantienen los datos. Puesto que, muchos usuarios de sistemas de bases de datos no tienen experiencia en computadoras, se les esconde la complejidad a través de diversos niveles de abstracciones para simplificar su interacción con el sistema. En los sistemas de información tradicionales se puede observar la existencia de dos estructuras distintas: - Lógica (vista de usuario) - Física (forma en la que se encuentran los datos en el almacenamiento) En las Bases de Datos aparece un nuevo nivel de abstracción que se ha denominado de diversas maneras: nivel conceptual, estructura lógica global, etc. El nivel externo es la visión que tiene de la base de datos cada usuario en particular, el nivel conceptual responde al enfoque del conjunto de la empresa (visión del administrador), y el nivel interno es la forma en la que se organizan los datos en el almacenamiento físico. Nivel físico o interno: Nivel más bajo de abstracción, describe cómo se almacenan realmente los datos. Se distinguen tres clases de aspectos: Estrategia de almacenamiento: Incluye la asignación de espacio de almacenamiento para el conjunto de datos, las estrategias para optimizar tiempo y espacio en memoria secundaria, tratamiento de desbordamientos, etc. Caminos de acceso: Incluye las especificaciones de claves primarias y secundarias, así como la de índices o punteros. Misceláneos: Técnicas de compresión de datos, criptografiado, optimización, etc. Nivel conceptual: Este nivel describe qué datos son realmente almacenados en la base de datos y las relaciones que existen entre los datos. El nivel conceptual de abstracción lo usan los administradores de bases de datos, quienes deben decidir qué información se va a guardar en la base de datos. En el esquema o nivel conceptual deberá incluirse la descripción de todos los datos e interrelaciones entre éstos, las restricciones de integridad y de confidencialidad. Nivel de visión o externo: Es el nivel más alto de abstracción, describe un número de vistas, cada vista describe una parte de la base de datos completa que le interesa a un particular grupo de usuarios. ISI0514 Fundamentos de Bases de Datos Página 9 de 120

La interrelación entre estos tres niveles de abstracción se detalla continuación. Vista 1 Vista n. Nivel conceptual Nivel físico Almacenamiento de Bases de datos Tres niveles de abstracción de datos 1.7 ESQUEMA E INSTANCIA. La información almacenada en la base de datos, en un determinado momento en el tiempo recibe el nombre de instancia (ejemplar), en tanto que el diseño global de la base de datos se llama esquema. Los esquemas cambian muy rara vez o nunca. Los sistemas de Bases de Datos tienen varios esquemas, divididos de acuerdo con los niveles de abstracción. En el nivel más bajo está el esquema físico; en el nivel intermedio, el esquema conceptual; en el nivel más alto un subesquema. 1.8 USUARIOS DE UNA BASE DE DATOS En esta sección se identifican las personas que están involucradas en el diseño, uso y mantenimiento de una base de datos. Administrador de una base de datos (DBA): Es el responsable del diseño, control y administración de la base de datos, puede ser desempeñada por una persona o por un grupo de personas dependiendo de la envergadura del proyecto. ISI0514 Fundamentos de Bases de Datos Página 10 de 120

Será responsabilidad del Administrador de la Base de datos (DBA): - La estructura de la base de datos, en el sentido de determinar qué información va a ser necesaria almacenar en la misma, después de haber analizado los requisitos de los distintos usuarios. - La descripción conceptual y lógica de la Base de datos, una vez especificados los requisitos de la información es preciso realizar el diseño conceptual de la base de datos para después, adecuar la estructura conceptual a un SGBD específico. - La descripción física de la Base de datos, encontrando una estructura interna que soporte el esquema lógico y los objetivos de diseño. Es una labor que se extiende a lo largo de la vida de la base de datos, el DBA tendrá que variar parámetros, reorganizar los datos, modificar estructuras de almacenamiento, realizar nuevas distribuciones de los ficheros en los soportes, etc. - Definición de estándares con los que se va a regir la organización. - Los aspectos relativos a la seguridad. - El control y la interacción entre la red y la base de datos. - Los procedimientos de explotación y uso. - La estrategia de transición. Diseñador de la base de datos: Es responsable de identificar los datos que van a ser almacenados en la base de datos y escoger las estructuras apropiadas. Define además los requerimientos del usuario o grupos de usuarios. Usuarios finales: Son las personas que en su trabajo requieren el acceso a la base de datos para realizar consultas, actualizaciones y generar reportes. Existen tres categorías de usuarios: - Usuario casual: Usuarios que hacen consultas a la base de datos. - Usuarios especializados: Realizan consultas y modificaciones a la base de datos. - Usuarios sofisticados: Incluyen ingenieros, analistas que están familiarizados con el DBMS. ISI0514 Fundamentos de Bases de Datos Página 11 de 120

1.9 INDEPENDENCIA DE DATOS Se llama independencia de datos a la capacidad para modificar una definición de esquema en un nivel sin que afecte a una definición de esquema en el siguiente nivel más alto. Existen dos niveles de independencia de datos: Independencia física de datos: Es la capacidad de modificar el esquema físico sin provocar que los programas de aplicación tengan que rescribirse. En algunas ocasiones son necesarias las modificaciones en el nivel físico para mejorar el funcionamiento En este punto se puede encontrar cambios al tamaño de los bloques, longitud de los registros, creación y eliminación de índices, cambios en las direcciones relativas y absolutas de almacenamiento. Independencia lógica de datos: Es la capacidad de modificar el esquema lógico sin provocar que los programas de aplicación tengan que rescribirse. Las modificaciones en el nivel lógico son necesarias siempre que la estructura lógica de la base de datos se altere. Los cambios pueden realizarse en los campos (nombre, tipo, etc) o en los registros (cambio de nombre, introducir nuevos campos, borrado de los mismos, etc). 1.10 MODELOS DE DATOS Un modelo de datos consiste en una colección de herramientas conceptuales para describir datos, relaciones entre ellos, la semántica asociada a los datos, y restricciones de consistencia. Se dividen en tres modelos: Modelo lógico basado en objetos: Este modelo describe los datos a nivel conceptual y de visión, los más conocidos son: Modelo entidad relación Modelo orientado a objetos Modelo binario Modelo semántico de datos Modelo lógico basado en registros: Los modelos lógicos basados en registros se utilizan para describir datos en los niveles conceptual y físico. La base de datos de un modelo basado en registros está estructurada en registros de formato fijo de varios tipos. Cada tipo de registro define un número fijo de campos y cada campo normalmente es de longitud fija. Los modelos más conocidos son: ISI0514 Fundamentos de Bases de Datos Página 12 de 120

Modelo Relacional: Este modelo representa los datos y las relaciones entre ellos, mediante una colección de tablas, cada una de las cuales tiene un número de columnas con nombres únicos. NOMBRE CALLE CIUDAD NUMERO Pérez Sucre Cuenca 900 Torres Bolívar Quito 556 Torres Bolívar Quito 647 Jara Córdova Guayaquil 801 Jara Córdova Guayaquil 647 NUMERO SALDO 900 55 556 100000 647 105666 801 10533 Modelo de red: Los datos se representan mediante colección de registros y las relaciones de datos mediante enlaces que pueden considerarse como punteros. Modelo jerárquico: Es similar al modelo de red, la diferencia está en que los registro están organizados como colección de árboles en vez de grafos arbitrarios. Modelo físico basado en datos: Se usa para describir datos en el nivel más bajo. 1.11 LENGUAJES DE BASES DE DATOS. Para llevar a cabo las distinta funciones que cumple un SGBD, se hace necesario contar con diferentes lenguajes y procedimientos que permitan la comunicación con la Base de datos. Un sistema de bases de datos proporciona dos tipos de lenguaje diferentes: uno para especificar el esquema de la base de datos y el otro para expresar las consultas y actualizaciones de la base de datos. Data definitión language (DDL): Lenguaje especial basado en un conjunto de definiciones, que sirve para especificar el esquema de una base de datos. El resultado de la compilación de sentencias de DDL es un conjunto de tablas que se almacenan en un archivo llamado Diccionario de Datos (DD). Storage definition lenguaje (SDL) y View definition languaje (VDL). Son lenguajes que nos sirven para especificar la estructura de almacenamiento y los métodos de acceso. ISI0514 Fundamentos de Bases de Datos Página 13 de 120

Data manipulation languaje (DML). El objetivo es proporcionar una interacción eficiente entre las personas y el sistema. Por manipulación se entiende la recuperación, inserción, supresión y modificación de la información almacenada en la base de datos. Tipos de DML: No procedimentales: Los DML requieren que el usuario especifique QUÉ datos se necesitan, sin especificar CÓMO obtenerlos. Ej: SQL. Procedimentales: Los DML requieren que el usuario especifique QUÉ datos se necesitan y CÓMO obtenerlos. Ej. DL/I (lenguaje propio de los ordenadores IBM) Representación de la acción de un lenguaje de bases de datos Voy a crear un nuevo archivo en la base de datos Quiero consultar datos del estudiante Nro 263 DDL DML GESTOR DE LA BD (DBMS) BASE DE DATOS COMUN 1.12 GESTOR DE BASE DE DATOS. Es un modelo de programa que proporciona el interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicación y consultas hechas al sistema. ISI0514 Fundamentos de Bases de Datos Página 14 de 120

USUARIO Consultas Aplicaciones Sistema de gestión de bases de datos B.D. B.D. B.D. Un gestor de bases de datos es responsable de las siguientes tareas: Interacción con el gestor de archivos: Es responsable del almacenamiento, recuperación y actualización de los datos en la base de datos. El gestor de bases de datos traduce las sentencias DML a comandos del sistema de archivos de bajo nivel, para procesar los datos almacenados en el disco. Implantación de la integridad: Controla que los datos almacenados en la base de datos cumplan con ciertas restricciones de consistencia. Por ejemplo el número máximo de horas semanales =< 40. Implantación de la seguridad: No todos los usuarios de la base de datos necesitan tener acceso a todo su contenido, es función del gestor de la base de datos administrar estas seguridades. Copias de seguridad y recuperación: Es responsabilidad del gestor de bases de datos detectar las fallas ocasionadas por hardware o software, y restaurar la base de datos al estado en el que se encontraba antes de ocurrir el fallo. Control de concurrencia: Es responsabilidad del gestor de bases de datos conservar la consistencia de los datos, cuando varios usuarios actualizan la base de datos concurrentemente. En resumen se puede definir como un Sistema de Gestión de la Bases de Datos (SGBD) Al conjunto coordinado de programas, procedimientos, lenguajes, etc., que suministra, tanto a los usuarios no informáticos como a los analistas, programadores, o al administrador, los medios necesarios para describir, recuperar y manipular los datos almacenados en la base, manteniendo su seguridad. [DE MIGUEL y PIATTINI, 1993] 1.13 COMPONENTES DE UN SISTEMA DE BASES DE DATOS Un sistema de base de datos contempla los siguientes componentes: La Base de Datos. ISI0514 Fundamentos de Bases de Datos Página 15 de 120

Los sistemas de gestión de bases de datos (SGBD, DBMS), tal como el DB2, oracle, Sybase, etc., que varían considerablemente en cuanto a características y funciones. Las características y funciones de un DBMS, pueden dividirse en tres subsistemas: Herramientas de diseño, tiempo de ejecución y motor DBMS. Subsistema de Herramientas de Diseño: Consta de un conjunto de implementos que facilitan el diseño y la creación de la base de datos y sus aplicaciones. Generalmente incluye herramientas para la creación de tablas, formas, consultas y reportes. También proporcionan lenguajes e interfaces de programación para programar con lenguajes. Por ejemplo Access tiene dos lenguajes: un macrolenguaje que no requiere conocimientos profundos de programación y una versión de BASIC llamada Visual Basic. Sistema de Run Time (Tiempo de Ejecución): Procesa los componentes de aplicación que se desarrollan al utilizar las herramientas de diseño. (procesador de formas, de consultas). El motor DBMS: Es el intermediario entre las herramientas de diseño y los subsistemas run-time y los datos. El motor recibe los requerimientos de los otros dos componentes (plantados en términos de tablas, filas y columnas) y traduce los requerimientos a órdenes dirigidas al sistema operativo para leer y escribir datos en medios físicos. El motor DBMS también es responsable del manejo de transacciones, bloqueo, respaldo y recuperación de la base de datos. Programas de aplicación. Un conjunto de usuarios. Medios técnicos. Programas utilitarios (generadores de informes, de interfaces, herramientas de desarrollo, de administración, etc). ISI0514 Fundamentos de Bases de Datos Página 16 de 120

Una estructura completa de un sistema de bases de datos, se detalla en el siguiente gráfico: Usuarios Programadores Usuarios Administradores ingenuos de aplicaciones sofisticados de bases de datos Interfaz de aplicación Programadores de aplicaciones Consultas Planificación de bases de datos Precompilador de lenguaje de manipulación de datos Procesador de consultas Compilador de lenguaje de definición de datos Código objeto de programas de aplicación Gestor de bases de datos Gestor de archivos Control de concurrencia Backup Recovery Archivos Diccionario s ISI0514 Fundamentos de Bases de Datos Página 17 de 120

CAPITULO 2 MODELO ENTIDAD - RELACIÓN 2.1 INTRODUCCIÓN Podemos definir un Modelo de Datos como un conjunto de conceptos que permiten describir la estructura de una Base de Datos a diferentes niveles de abstracción. Según este nivel de abstracción podemos clasificar a los modelos de datos como: Externo. Permite presentar los datos que necesita cada usuario en particular, con las estructuras propias del lenguaje de programación que va a emplear. Global. Estos modelos ayudan a describir los datos para el conjunto de usuarios. Los mismos se clasifican en: - Modelo Conceptual o de alto nivel. Se refiere a la descripción del mundo real de acuerdo con un modelo altamente semántico e independiente del hardware y del SGBD en el que posteriormente se vaya a realizar la implementación de la base de datos. En general, los Modelos Conceptuales, por su nivel de abstracción y riqueza semántica, constituyen una interfaz útil entre los profesionales de la informática y los usuarios finales, en las primeras etapas del proceso de diseño de Bases de Datos. - Modelos Convencionales. Se encuentran soportados por los SGBD y están orientados a describir los datos a nivel lógico para el SGBD, por lo que sus conceptos son propios de cada SGBD. Estos modelos se pueden considerar como una interfaz entre el informático y el ordenador. Los tres modelos convencionales más extendidos en el mercado son el Jerárquico, el de Codasyl y el Modelo Relacional. ISI0514 Fundamentos de Bases de Datos Página 18 de 120

Interno. Estos modelos también conocidos como Modelos Físicos, se orientan a la máquina. De manera más precisa se puede definir a un Modelo de Datos como un conjunto de conceptos, reglas y convenciones que nos permiten describir y manipular los datos del mundo real y que deseamos almacenar en la Base de Datos. Dentro de la problemática del diseño de Bases de Datos, los modelos de datos cumplen un papel muy importante, ya que son las herramientas que nos permiten generar los esquemas de Bases de Datos que regirán su estructura. La modelación de datos expresa un diseño lógico de datos de la misma manera en que un diagrama de flujo expresa el diseño lógico de un programa. 2.2 EL DISEÑO CONCEPTUAL EN EL PROCESO DE DESARROLLO DE SOFTWARE. Consideremos el Ciclo de Vida Clásico de un producto de Software. Ingeniería del Sistema Análisis Diseño Codificación Pruebas Mantenimiento En el desarrollo de software, las primeras etapas son las que cobran mayor importancia, ya que en ellas se debe centrar la mayor cantidad de esfuerzo para asegurar una mayor calidad del producto. Dentro de estas etapas, se encuentra el diseño. El diseño como actividad se puede entender en distintos niveles de abstracción, separándolo en Diseño Conceptual, Diseño lógico y Diseño Físico. Diseño Conceptual. Es de un alto nivel de abstracción, y puede confundirse inicialmente con el término de la etapa de análisis. Este diseño no está necesariamente asociado con una ISI0514 Fundamentos de Bases de Datos Página 19 de 120

plataforma de implementación, sino es más cercano a la realidad, al problema a solucionar. El diseño conceptual recibe como entrada la especificación de los requerimientos y su resultado es el esquema conceptual de la Base de datos, independiente del software que se use para manipularlo. Diseño Lógico. Recibe como entrada el esquema conceptual y da como resultado un esquema lógico, que es una descripción de la estructura de la Base de Datos que puede procesar el software del Sistema de Gestión de Bases de Datos. El diseño lógico se acerca más a la implementación del producto en una plataforma computacional, integrando consideraciones para la plataforma en cuestión. Diseño Físico: Recibe como entrada el esquema lógico y da como resultado un esquema físico, que es una descripción de la implementación de una Base de Datos en la memoria secundaria del ordenador. Describe la estructura de almacenamiento y los métodos usados para tener acceso efectivo a los datos. Realidad Requisitos de datos Diseño Conceptual Modelo Conceptual Esquema conceptual Diseño Lógico Modelo Lógico Esquema Lógico Diseño Físico Modelo Físico Esquema Físico ISI0514 Fundamentos de Bases de Datos Página 20 de 120

2. 3 MODELO ENTIDAD RELACIÓN (MER): El Modelo Entidad Relación fue desarrollado por Peter Chen en 1976 como metodología gráfica para el diseño de Bases de Datos, por lo que puede decirse que es un método de representación abstracta del mundo real centrado en las restricciones o propiedades lógicas de una Base de Datos. El Modelo de datos Entidad-Relación (MER) se basa en una percepción del mundo real, que consiste en un conjunto de objetos básicos llamados entidades y de relaciones entre estos objetos. Se emplea para interpretar, especificar y documentar los requerimientos para sistemas de procesamiento de bases de datos. 2.3.1 ENTIDADES: Una entidad es algo que puede identificarse en el ambiente de trabajo de los usuarios, debe ser un objeto que existe y es distinguible de otros objetos. Una entidad con una existencia física es una persona, un carro; o puede ser un objeto con una existencia conceptual: una compañía, un trabajo o un curso de universidad. Las entidades se agrupan en clases de entidades o conjunto de entidades del mismo tipo, una clase de entidad es la forma general o descripción de algo, por ejemplo un CLIENTE. Se define como ocurrencia de una clase de entidad, a la representación de una entidad particular, tal como CLIENTE 23456. Cada entidad tiene propiedades particulares llamadas atributos. 2.3.2 ATRIBUTOS: Las entidades tienen atributos o como se les llama en ocasiones, propiedades, que describen las características de una entidad, por ejemplo una entidad EMPLEADO, tiene sus propiedades particulares como: nombre, edad, dirección, sueldo, actividad, etc. Tipos de atributos: Atómico: Los atributos que no son divisibles, por ejemplo: Nombre, Cédula de identidad, Ciudad. Compuestos: Cuando un atributo es dividido en pequeñas subpartes. Los atributos compuestos pueden formar una jerarquía de atributos, por ejemplo: ISI0514 Fundamentos de Bases de Datos Página 21 de 120

dirección Ciudad Parroquia Calle Barrio Nombre Número Nro.Dep. Atributo con simple valor: Cuando un atributo tiene un simple valor para una identidad particular. Por ejemplo, una persona tiene un valor por su edad y la edad es un simple valor de la persona. Atributo multivalor: Cuando un atributo tiene una serie de valores para identificarse, por ejemplo el atributo color de un automóvil. Automóvil Color Atributos derivados: Cuando los valores de un atributo son afines, y el valor para este tipo de atributo se puede derivar de los valores de otros atributos. Por ejemplo, la edad y la fecha de nacimiento de una persona; si conocemos la fecha de nacimiento, podemos determinar su edad, en este caso decimos que la edad es derivada de la fecha de nacimiento. Atributo llave: Una entidad usualmente tiene un atributo sobre el cual los valores son distintos para cada entidad individual, ésta nos permite identificar de forma única a una entidad en el conjunto de entidades, por ejemplo, en la entidad PERSONAL el atributo puede ser el número de la cédula de identidad. En algunos casos varios atributos juntos pueden formar una llave, significando que la combinación de los valores de los atributos debe ser distinta para cada entidad individual. Atributos Nulos: Un valor nulo se usa cuando una entidad no tiene valor para un atributo. Nulo puede también indicar que el valor de un atributo es desconocido. Cada atributo simple de una entidad es asociado con un set de valores al que llamamos Dominio de un atributo. En otros términos, Dominio de un atributo es el conjunto de ISI0514 Fundamentos de Bases de Datos Página 22 de 120

posibles valores que puede tomar un atributo. Por ejemplo, el rango de edad de los empleados de una empresa es de 25 a 50 años; el estado civil de los empelados. 2.3.3 RELACIÓN: 2.3.3.1 CONCEPTO: Una relación es cualquier asociación R que pueda establecerse entre entidades de la misma clase o de clases diferentes. Entidad Personal Relación Entidad Vehículo Conductor Personal Conductor Vehículo Una relación puede incluir muchas entidades; la cantidad de entidades en una relación es el grado de la relación. Por ejemplos: Vendedor Madre Padre Pedido Hijo Relación de grado 2 Relación de grado 3 ISI0514 Fundamentos de Bases de Datos Página 23 de 120

Aunque el modelo E-R permite relaciones de cualquier grado, la mayoría de las aplicaciones del modelo sólo consideran relaciones de grado 2 a las que se les llama relaciones binarias. Ejemplos: Ríos atraviesan Provincias, Empleados trabajan para Departamentos, Autor escribe Documentos. Relaciones unitarias o Relaciones Recursivas: Se establece entre entidades de la misma clase. Por ejemplo, Personas son hijos de Personas. La relación HABITACION-CON, podría definirse en la entidad ESTUDIANTE. Estudiante 1:N HABITACION-CON Empleado 1:N SUPERVISOR Relación N-arias: La relación se establece entre N clases de entidades, siendo N > 2. Este tipo de relaciones tienen limitaciones, por lo que cada una de ellas suele ser sustituida por un conjunto de relaciones binarias. 2.3.3.2 PROPIEDADES DE LAS RELACIONES: Los roles de una relación: Son las funciones que desempeñan cada una de las clases de entidades asociadas. En toda relación existen dos roles diferentes correspondientes a las entidades de cada una de las clases relacionadas. Suponiendo que A representa la clase de entidad formada por todos los profesores de un centro de estudios universitario, y B la formada por todos los alumnos de dicho centro, entre las entidades de estas dos clases podrían establecerse varias relaciones caracterizadas por los siguientes roles: - Dar clase a / Recibir clase de - Es tutor de / Es dirigido por - Es director de / es dirigido por Cardinalidad de una relación: Expresa el número de entidades de una clase que pueden asociarse a una entidad de la otra clase. En función de esta propiedad, se distinguen tres tipos de relaciones: ISI0514 Fundamentos de Bases de Datos Página 24 de 120

P1 P2 P3 Persona P1 P2 P3 Persona 1 1 v1 v2 v3 conductor Vehículo 1 v1 v2 v3 v4 v5 v5 N Vehículo Cada persona maneja un vehículo, cada vehículo es manejado por una persona Una persona maneja varios vehículos, un vehículo es manejado por una sola persona (A) Relación 1:1 (B) Relación 1:N P1 P2 P3 P4 P5 Persona P1 P2 P3 P4 Persona N N v1 v2 v3 conductor Vehículo 1 v1 v2 v3 v4 v5 v5 N Vehículo Un vehículo puede ser manejado por algunas personas. Una persona maneja un vehículo solamente. (C) Relación N:1 Una persona puede manejar un número de vehículos, un vehículo puede ser manejado por algunas personas. (D) Relación N:M Ejemplos: Empleado 1:1 Auto (a) Auto - Asignación Dormitorio 1:N Estudiante (b) Dormitorio - Ocupante - Un Río y su desembocadura - Las manzanas y las parcelas catastrales - Los empleados y su departamento - Un departamento y su jefe - Un empleado y sus cargas familiares ISI0514 Fundamentos de Bases de Datos Página 25 de 120

El número dentro del rombo en la relación, detalla la cantidad máxima de entidades que pueden ocurrir en un lado de ella. En ocasiones, tales limitaciones se denominan la cardinalidad máxima de la relación. En el ejemplo anterior (b) la relación tiene una cardinalidad máxima de 1:N. Es posible que la cardinalidad máxima sea distinta de 1 y N, por ejemplo en el caso de la relación EQUIPO DE BASQUETBOL y JUGADOR, puede tener una cardinalidad máxima de 5. Ejemplos de Cardinalidad (obtenido mediante el software Power Designer) A) Relación 1 : 1 VEHICULO PLACA MARCA MODELO CONDUCTOR PERSONA CODIGO NOMBRE APELLIDO Modelo de Datos Conceptual (CDM) VEHICULO PLACA <pk> C(6) CODIGO <fk> C(5) MARCA C(10) MODELO C(10) CODIGO PLACA = CODIGO = PLACA Modelo de Datos Físico (FDM) PERSONA CODIGO <pk> C(5) PLACA <fk> C(6) NOMBRE C(15) APELLIDO C(15) Relación 1 : N VEHICULO PLACA MARCA MODELO CONDUCTOR PERSONA CODIGO NOMBRE APELLIDO CDM VEHICULO PLACA <pk> C(6) MARCA C(10) MODELO C(10) PLACA = PLACA PERSONA CODIGO <pk> C(5) PLACA <fk> C(6) NOMBRE C(15) APELLIDO C(15) PDM Relación N: 1 VEHICULO PLACA MARCA MODELO CONDUCTOR PERSONA CODIGO NOMBRE APELLIDO VEHICULO PLACA <pk> C(6) CODIGO <fk> C(5) MARCA C(10) MODELO C(10) CDM CODIGO = CODIGO PDM PERSONA CODIGO <pk> C(5) NOMBRE C(15) APELLIDO C(15) ISI0514 Fundamentos de Bases de Datos Página 26 de 120

Relación N : M VEHICULO PLACA MARCA MODELO CONDUCTOR PERSONA CODIGO NOMBRE APELLIDO CDM VEHICULO PLACA <pk> C(6) MARCA C(10) MODELO C(10) PERSONA CODIGO <pk> C(5) NOMBRE C(15) APELLIDO C(15) PLACA = PLACA CONDUCTO CODIGO <pk,fk> C(5) PLACA <pk,fk> C(6) CODIGO = CODIGO PDM Participación de un conjunto de entidades: Especifica si todas las entidades de una clase participan o no en la relación establecida con otra(s) clase(s) de entidad(es), es decir, indica si todas las entidades de una clase se relacionan necesariamente con entidades de otra clase asociada. Una participación es total, si cada entidad en E (conjunto de entidades) participa en al menos una relación en R (Conjunto de relaciones). La participación es parcial, si sólo alguna entidad en E participa en relaciones en R. Ejemplo: Empleado Jefes Departamento e1 * e2 * e3 * e4 * e5 * e6 * * * R1 R2 R3 D1 D2 D3 Participación parcial de Empleado y participación total de Departamento. ISI0514 Fundamentos de Bases de Datos Página 27 de 120

Dependencia de existencia: Si la existencia de la entidad x depende de la existencia de la entidad y, entonces se dice que x es dependiente por existencia de y. Operativamente eso significa que si se suprime y, también se suprime x. La entidad y se dice que es una entidad dominante y x una entidad subordinada. Como ejemplo, considérese el conjunto de entidades cuenta y el conjunto de entidades Transacción, que mantiene información de todas las transacciones hechas por cada una de las cuentas. El conjunto de entidades transacción se describe mediante los atributos numero-transacción, fecha-transacción, e importe-transacción. Se forma un conjunto de relaciones cuenta transacción (bitácora) entre estos dos conjuntos de entidades, que es uno a varios, desde cuenta a transacción. Cada entidad transacción debe estar asociada con una entidad cuenta. Si la entidad cuenta se borra, todas sus entidades transacción asociadas se deben borrar también. En cambio, las entidades transacción se pueden borrar de la Base de Datos sin afectar a ninguna cuenta. En este caso la entidad cuenta es dominante y la entidad transacción es subordinada. Ejemplo: y Cuenta Bitacora x Transacción Edificio Edi_num Departamento 2.4 CLAVES En el modelo Entidad Relación, los atributos pueden ser o no Claves, según permitan o no la identificación unívoca de las entidades de una clase o de las ocurrencias de una relación. A continuación se exponen los conceptos relacionados con este tema: Superclave: conjunto de uno o más atributos cuyos valores identifican unívocamente cada entidad de la clase u ocurrencia de la relación. Clave candidata: conjunto de uno a más atributos cuyos valores identifican unívocamente cada entidad de la clase, sin que ningún subconjunto de ellos pueda realizar esta misma función. Una clave candidata es una superclave mínima. Una clase de entidad o relación puede tener varias claves candidatas. Clave primaria: Clave candidata de una clase de entidad o relación que se elige como identificador unívoco de sus entidades u ocurrencias. ISI0514 Fundamentos de Bases de Datos Página 28 de 120

2.5 DIAGRAMA ENTIDAD - RELACIÓN (E-R) En un diagrama E-R las clases de entidades se muestran con rectángulos; las relaciones mediante rombos, y la cardinalidad de la relación aparece dentro del rombo. El nombre de la relación se muestra cerca del rombo. Frecuentemente el nombre de la relación se coloca dentro o sobre el rombo, y para estos casos la cardinalidad de la relación se detalla colocando patas de gallo en la línea que conecta a las entidades en el lado muchos de la relación. Dormitorio Dormitorio - Ocupante Estudiante Para expresar la cardinalidad mínima, podemos ilustrar colocando una línea perpendicular a la línea de la relación, para así indicar que una entidad debe existir en la relación, y colocar un óvalo perpendicular a la línea de la relación, señalando que puede haber, o no, una entidad en la relación. En el siguiente ejemplo se tiene que: un DORMITORIO debe tener una relación con un ESTUDIANTE al menos, pero que no se requiere que un ESTUDIANTE, tenga una relación con un DORMITORIO. En este caso, DORMITORIO posee una cardinalidad mínima de 1 y una cardinalidad máxima de múltiples entidades ESTUDIANTE. Un ESTUDIANTE tiene una cardinalidad mínima de cero y una cardinalidad máxima de una entidad DORMITORIO. Dormitorio 1:N Estudiante Dormitorio Ocupante En algunas versiones de los diagramas E R los atributos se representan con elipses que se conectan con la entidad o la relación a la que pertenece. La identificación de los atributos que forman la clave primaria en un diagrama Entidad Relación puede representarse, subrayando el nombre del atributo. Elipses dobles que representan atributos multivalor, elipses discontinuas que denotan atributos derivados, líneas dobles que indican participación total de una entidad en un conjunto de relaciones. ISI0514 Fundamentos de Bases de Datos Página 29 de 120

Ejemplo: Ubicación Nom-Dormi Numero de estudiantes Dormitorio 1:N Estudiante Cantidad de Habitaciones Renta Nombre de estudiante Año del estudiante Entidades fuertes y débiles: Una entidad fuerte es aquella entidad con identificador interno y una entidad débil es aquella con identificador externo o mixto. En otras palabras un conjunto de entidades que tiene una clave primaria se denomina conjunto de entidades fuertes, y se llama conjunto de entidades débiles aquellas que pueden no tener suficientes atributos para formar una clave primaria. Los conceptos de entidades débil y fuerte, están relacionados con el concepto de dependencia de existencia. Un miembro de un conjunto de entidades fuerte es por definición una entidad dominante, mientras que un miembro de un conjunto de entidades débiles es una entidad subordinada. La entidad débil se puede representar con un rectángulo de doble contorno. 2.6 REDUCCIÓN DE LOS DIAGRAMAS E-R A TABLAS Una base de datos que se ajusta a un diagrama E-R puede representarse por medio de una colección de tablas. Para cada conjunto de entidades, y para cada conjunto de relaciones en la base de datos, existe una tabla única a la que se asigna el nombre del conjunto de entidades o del conjunto de relaciones correspondiente. Cada tabla tiene un número de columnas que, a su vez, tienen nombres únicos. En esta etapa transformaremos el esquema conceptual (MER) a un esquema relacional. Este esquema sigue siendo independiente del SGBD que se utilizará en las siguientes etapas del desarrollo de software. El paso del esquema Entidad / Relación se basa en los siguientes principios: Todo tipo de entidad se convierte en una tabla. Todo tipo de relación N:M se transforma en una tabla. Todo tipo de relación 1:N se traduce en el fenómeno de propagación de la clave o bien se crea una nueva relación. ISI0514 Fundamentos de Bases de Datos Página 30 de 120

2.6.1 REGLAS DE TRANSFORMACIÓN: 2.6.1.1 RELACIÓN N:M Un tipo de relación de N:M se transforma en una relación que tendrá como clave primaria la concatenación de los identificadores de cada entidad que asocia. Cada uno de los atributos que forman la llave primaria de una tabla derivada de una relación N:M, son llave foráneas respecto de cada una de las tablas de las entidades que se relacionan. Autor N Escribe N Libro AUTOR(cod-autor, Nombre, apellido) LIBRO(cod-libro, título) ESCRIBE (cod-autor, cod-libro) La tabla ESCRIBE está formada por las columnas cod-autor que es llave foránea que referencia a la tabla AUTOR, cod-libro llave foránea que referencia a la tabla LIBRO. 2.6.1.2 RELACIÓN 1:N Como se indicó anteriormente todo tipo de relación 1:N se traduce en el fenómeno de propagación de la clave. Existen casos en que es necesario transformarla en una tabla, como si se tratara de una relación N:M, siendo conveniente en los siguientes casos: El número de ocurrencias de la entidad que propaga la clave es muy pequeño, evitando los valores nulos. Empleado NOMBRE APELLIDO ND Juan Torre 1 Pedro Calle 1 ----- ------- Null ----- ------ Null ----- ------ Null ----- ------ Null Pablo Pere z 2 Luis Polo 3 Departamento DNO NOMBRE 1 Técnico 2 Cómputo 3 Producción Para evitar los valores nulos en la tabla EMPLEADO, se recomienda crear una nueva tabla de la relación. Cuando se prevé que en el futuro dicha relación se convierta en una N:M Cuando la relación tiene atributos propios. ISI0514 Fundamentos de Bases de Datos Página 31 de 120

2.6.1.3 RELACIÓN 1:1 Son casos en donde se puede crear una tabla o bien propagar la clave. Esto último puede ser en ambas direcciones Si ambas entidades tienen una participación parcial en la relación, es recomendable crear una nueva tabla de la relación, para evitar valores nulos. Hombre 1 1 Matrimonio Mujer HOMBRE (cod-hombre, ) MUJER (cod-mujer, ) MATRIMONIO (cod-hombre, cod-mujer) Para el caso en que una de las entidades tenga una participación total y la otra parcial, conviene propagar la clave de la entidad con participación parcial. Empleado 1 1 Jefe Departamento EMPLEADO (cod-empleado, nombre,..) DEPARTAMENTO (dno, cod-empleado, nombre, ) Si la participación es total para las dos entidades, se puede propagar la clave en cualquiera de las dos direcciones. 2.6.1.4 ATRIBUTOS DE UNA RELACIÓN. Es conveniente que aquellas relaciones que contiene atributos propios se transformen en una tabla, en donde aquellos atributos pasan a se columnas de dicha tabla. 2.6.2 EJEMPLO DE REDUCCIÓN Nom_cli Fecha Num_Cta Saldo Num_ Fecha N N 1 N Cliente CtaCli Cuenta Bitácora Transacción CI Ciudad Calle Cantidad ISI0514 Fundamentos de Bases de Datos Página 32 de 120

Num-Cta Saldo 259 1000 630 2000 401 5000 700 500 199 1300 467 900 115 1200 183 1300 118 2000 225 2500 210 2200 Tabla Cuenta Num-Cta Num_tran Fecha Cantidad 259 5 11-ago-97 50 630 11 17-ago-97 70 401 22 23-ago-97-300 700 69 28-ago-97-500 199 103 3-sep-97 900 259 6 7-sep-97-44 259 53 7-sep-97 120 259 104 13-sep-97-200 259 7 17-sep-97-79 Tabla Transacción Nom-Cli CI Calle Ciudad Pablo 654-32 Bolívar Cuenca Antonio 890-12 Sucre Cuenca Alberto 456-78 Boyacá Guayaquil Manuel 369-12 9 octubre Guayaquil Pedro 246-80 Talbot Quito Juan 121-21 Amazonas Quito Andrés 135-79 Borrero Cuenca Tabla Clientes CI Num-Cta Fecha 654-32 259 17/jun/1990 654-32 630 17/may/1990 890-12 401 23/may/1990 456-78 700 28/may/1990 369-12 199 13/jun/1990 246-80 467 7/jun/1990 146-80 115 7/jun/1990 121-21 183 13/jun/1990 135-79 118 17/jun/1990 135-79 225 19/jun/1990 135-79 210 27/jun/1990 Tabla CtaCli ISI0514 Fundamentos de Bases de Datos Página 33 de 120

2.7 AGREGACIÓN Los conceptos analizados en los numerales anteriores, son los conceptos básicos el modelo E R con los que se puede modelar la mayoría de las características de las bases de datos. Sin embargo existen ciertos aspectos de una base de datos que serán expresados de mejor manera, mediante extensiones del modelo E R, como es el caso de la agregación. En el modelo E R no es posible expresar relaciones entre relaciones, para modelar una situación como ésta se usa la agregación, que es una abstracción a través de la cual las relaciones se tratan como entidades de nivel más alto. Ejemplo: Consideremos las entidades cliente y cuenta, cada cliente puede tener una o varias cuentas, y de igual manera una cuenta corriente puede pertenecer a varios clientes; la relación entre estas dos entidades la denominamos impositor. Si al par cliente - cuenta le asignamos privilegios (solicitar sobregiro, cerrar cuenta, etc), que están definidos en la entidad privilegios, estaríamos en el caso de modelar una relación entre relación. Como el modelo no admite esta expresión, necesitamos crear una agregación, generando una entidad de nivel más alto formada por la relación prestatario y las entidades cliente y cuenta. Esta entidad de nivel más alto se trata de la misma forma que cualquier otro conjunto de entidades. Nombre CI Dirección Num_cue Importe Cliente Impositor Cuenta Privilegio codigo Descripció n El modelo entidad - relación no admite relaciones entre relaciones, razón por la cual no es posible generar el diagrama anterior, relacionando impositor con privilegio. A continuación se muestra el diagrama E R con el uso de agregación. ISI0514 Fundamentos de Bases de Datos Página 34 de 120