BASE DE DATOS Modelos de Datos Autor: Lic. Jaquelina E. Escalante
Desarrollo de una Base de datos 1 Análisis de requisitos, es decir, el estudio del sistema que se pretende modelar de la forma más precisa posible. Se debe especificar qué información es la que interesa y la que no, y que tipo de problemas se va a querer resolver, es decir, de qué forma se va a utilizar esta información. 2 Modelo Conceptual para su elaboración se utiliza, mayoritariamente, el modelo Entidad Relación. 3 traducción del modelo conceptual, a un Esquema Conceptual que cumpla las restricciones propias del sistema gestor de base de datos (SGBD), e incluso del modelo de datos que se vaya a utilizar.
Desarrollo de una Base de datos 1. Determinar la finalidad de la base de datos. 2. Buscar y organizar la información necesaria. 3. Dividir la información en tablas. 4. Convertir los elementos de información en columnas. 5. Especificar claves principales. 6. Definir relaciones entre las tablas. 7. Ajustar el diseño. 8. Aplicar las reglas de normalización.
Modelos de datos La calidad del análisis y diseño de un sistema de información que se pretende mecanizar dependerá de los modelos de datos que se utilizan para cada una de las fases de desarrollo. Además, disponer de herramientas software basadas en modelos de datos adecuados a la tarea hará más sencillo el diseño y mantenimiento. Uno de los objetivos más importantes de un SGBD es proporcionar a los usuarios una visión abstracta de los datos, es decir, el usuario va a utilizar esos datos pero no tendrá idea de cómo están almacenados físicamente. Los modelos de datos son el instrumento principal para ofrecer esa abstracción. Son utilizados para la representación y el tratamiento de los problemas.
Modelos de datos
Utilización: Modelos de datos Herramienta de especificación, para definir tipos de datos y la organización de los datos de una BD específica. Soporte para el desarrollo de una metodología de diseño de BD. Formalismo para el desarrollo de familias de lenguaje de muy alto nivel, para la resolución de requerimientos y manipulación de datos. Modelo soporte de la arquitectura de los SGBD. Vehículo para investigar el comportamiento de diversas alternativas en la organización de los datos.
Características: Expresividad Simplicidad Minimalidad Formalidad Modelos de datos Si el modelo utiliza un lenguaje de definición gráfico, también se tendrá en cuenta: Compleción gráfica Facilidad de lectura
Modelos de datos Niveles de abstracción de datos: Diseño conceptual: en la que se formalizan las estructuras que se observan en el mundo real. Produciendo lo que se denomina Esquema Conceptual. Diseño Lógico: en la que se estructura el conjunto de información de la fase anterior teniendo en cuenta el SGBD que se vaya a utilizar. En esta fase se obtiene el Esquema Lógico. Diseño Físico: en la que se estructuran los datos en términos de almacenamiento en los dispositivos de la computadora. Es lo que se conoce como Esquema Interno.
Modelos de datos Niveles de abstracción de datos:
Es la representación relativamente simple generalmente gráfica, de estructura de datos complejas del mundo real. Su principal función: Ayudar a entender las complejidades del ambiente del mundo real dentro del ambiente de las bases de datos Esta representado por: Estructura de datos y sus características, relaciones, Modelo Entidad-Relación restricciones y transformaciones. El modelo ER está formado por un conjunto de conceptos (entidad, atributo, relación) que permiten describir la información relevante de cierta parcela de la realidad mediante un conjunto de representaciones gráficas. El esquema conceptual asociado se denomina Diagrama Entidad Relación (DER).
Modelo Entidad-Relación Diseño conceptual: Se parte de: especificación de requisitos (descripción detallada de la información que debe recoger la BD y de las prestaciones que debe ofrecer a los futuros usuarios). Se obtiene: esquema conceptual (descripción en lenguaje natural o gráfico de la estructura de la BD, independiente del modelo de datos elegido y del SGBD que se usará posteriormente para implementarla). Modelo conceptual: lenguaje natural o gráfico que se emplea para describir un esquema conceptual.
Diseño lógico: Modelo Entidad-Relación Se parte de: esquema conceptual. Se obtiene: esquema lógico (descripción de la estructura de la BD basada en el modelo de datos elegido para implementarla). Por ejemplo, descripción gráfica de un conjunto de tablas relacionales. Modelo lógico: lenguaje empleado para describir el esquema lógico. Es independiente del SGBD que se empleará para implementar la BD, pero sí depende del modelo de datos elegido.
Modelo Entidad-Relación Diseño físico: Se parte de: esquema lógico. Se obtiene: esquema físico (descripción de la implementación de la BD usando un determinado SGBD. Se detallan las estructuras físicas de almacenamiento de datos en el ordenador, los métodos de acceso a dichos datos y el modelo de seguridad del sistema).
Entidades Modelo Entidad-Relación Entidad: cualquier objeto concreto o abstracto del que se desea almacenar información. Una entidad puede ser una persona, un lugar, un objeto, un concepto, un suceso... Cada entidad tiene asociado un NOMBRE (usualmente, un sustantivo común singular). Ejemplos: AUTOR, LIBRO, PRÉSTAMO... Representación gráfica: rectángulo.
Relaciones Modelo Entidad-Relación Relación: correspondencia o asociación entre dos o más entidades. Cada relación tiene asociado un NOMBRE (usualmente, un verbo en singular). Ejemplos: La relación ESCRIBE asocia la entidad AUTOR y la entidad LIBRO. La relación ESTUDIA asocia la entidad ALUMNO y la entidad ASIGNATURA. Representación gráfica: rombo.
Atributos Modelo Entidad-Relación Atributo: propiedad o característica de interés que describe a una entidad o a una relación. Ejemplo: nombre del autor. Rango o dominio de un atributo: conjunto de valores que puede tomar el atributo. Representación gráfica: un óvalo.
Ejemplo Modelo Entidad-Relación
Modelo Entidad-Relación Claves de una Entidad Clave: conjunto de uno o más atributos que permiten identificar de forma única a cada instancia de la entidad. Además, dicho conjunto de atributos debe ser minimal, esto es, ningún subconjunto de atributos de la clave puede actuar también como clave. Clave candidata: cada uno de los conjuntos de atributos que pueden actuar como clave de una entidad. Clave primaria (PK=Primary Key): clave candidata elegida por el diseñador de la BD para identificar una entidad.
Cardinalidad Modelo Entidad-Relación Expresa el número de entidades a las que otra entidad puede estar asociada vía un conjunto de relaciones. La correspondencia de cardinalidades es la más útil describiendo conjuntos de relaciones binarias, aunque ocasionalmente contribuye a la descripción de conjuntos de relaciones que implican más de dos conjuntos de entidades. Para un conjunto de relaciones binarias R entre los conjuntos de entidades A y B, la correspondencia de cardinalidades debe ser una de las siguientes: Relación 1:1 (uno a uno) Relación 1:N (uno a muchos) Relación N:M (muchos a muchos)
Cardinalidad Modelo Entidad-Relación Relación 1:1 (uno a uno) Una instancia de E1 esta asociada con una, y sólo una, instancia de E2. (Ejemplo: País y Capital) Relación 1:N (uno a muchos) Una instancia de E1 puede estar asociada con muchas instancias de E2, pero una instancia de E2 sólo puede estar asociada con una instancia de E1. (Ejemplo: Cliente y Pedido)
Cardinalidad Modelo Entidad-Relación Relación N:M (muchos a muchos) Una instancia de E1 puede estar asociada con muchas instancias de E2 y viceversa. (Ejemplo: Alumno y Asignatura) Relaciones de grado k>3 En un DER pueden aparecer relaciones que asocien a más de dos entidades. Ejemplo: La relación ternaria Nota asocia las entidades Alumno, Asignatura y Convocatoria.
Generalización Modelo Entidad-Relación Descomposición de una entidad padre (o supertipo) en varias entidades hijo (o subtipos). Los subtipos heredan los atributos de la entidad padre. Los subtipos pueden además poseer atributos propios. Ejemplo: La entidad padre Documento se divide en los subtipos: Libro, Artículo y Revista. Para incluir jerarquías en el modelo E R, se emplean relaciones de especialización ES-UN (en inglés, IS-A). Representación gráfica: triángulo invertido
Modelo Entidad-Relación Especialización La especialización en el proceso inverso de la generalización; tiene por objeto reducir el espacio de almacenamiento requerido por la base de datos en el medio físico. Trae como consecuencia una redundancia necesaria, pero suprime el gasto de espacio en el medio secundario para aquellas columnas que no almacenan información por entidades bien determinadas.
Modelo Entidad-Relación Fases para la obtención del DER 1. Identificar las entidades dentro del sistema. 2. Identificar y describir los atributos de cada entidad. 3. Determinar las claves primarias de las entidades. 4. Establecer las relaciones entre las entidades y obtener su cardinalidad y su tipo. 5. Representar gráficamente el esquema obtenido. 6. Verificación. (Eliminar relaciones redundantes, eliminar o añadir entidades, eliminar o añadir atributos)
Normalización La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar o estar interrumpida. Los datos redundantes desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que cambiar datos que existen en más de un lugar, se deben cambiar de la misma forma exactamente en todas sus ubicaciones.
Normalización En la tabla siguiente se describe brevemente en que consiste cada una de las reglas, y posteriormente se explican con más detalle. Básicamente, las reglas de Normalización están encaminadas a eliminar redundancias e inconsistencias de dependencia en el diseño de las tablas. Regla Primera Forma Normal (1FN) Segunda Forma Normal (2FN) Tercera Forma Normal (3FN) Descripción Incluye la eliminación de todos los grupos repetidos. Asegura que todas las columnas que no son llave sean completamente dependientes de la llave primaria (PK). Elimina cualquier dependencia transitiva. Una dependencia transitiva es aquella en la cual las columnas que no son llave son dependientes de otras columnas que tampoco son llave.
Normalización PRIMERA FORMA NORMAL Elimine los grupos repetidos de las tablas individuales. Cree una tabla independiente para cada conjunto de datos relacionados. Identifique cada conjunto de datos relacionados con una clave principal.
SEGUNDA FORMA NORMAL Normalización Crea tablas independientes para conjuntos de valores que se apliquen a varios registros. Relaciona estas tablas con una clave externa. Los registros no deben depender de nada que no sea una clave principal de una tabla, una clave compuesta si es necesario.
TERCERA FORMA NORMAL Normalización Elimina los campos que no dependan de la clave. Los valores de un registro que no sean parte de la clave de ese registro no pertenecen a la tabla. En general, siempre que el contenido de un grupo de campos pueda aplicarse a más de un único registro de la tabla, hay que considerar colocar estos campos en una tabla independiente.
Normalización CUARTA Y QUINTA FORMA NORMAL La cuarta forma normal, también llamada Forma normal de Boyce Codd (BCNF, Boyce Codd Normal Form), y la quinta forma normal existen, pero rara vez se consideran en un diseño real. Si no se aplican estas reglas, el diseño de la base de datos puede ser menos perfecto, pero no debería afectar a la funcionalidad. En un sentido, la Cuarta y Quinta Formas Normales están alrededor de claves compuestas. Estas formas normales procuran minimizar el número de campos involucrados en una clave compuesta.
CUARTA Y QUINTA FORMA NORMAL 4 FORMA NORMAL Bajo la Cuarta Forma Normal (4FN) un registro tipo no deberá contener dos o más datos multivaluados independientes acerca de una entidad. Además, el registro debe satisfacer la Tercera Forma Normal. 5 FORMA NORMAL Normalización La Quinta Forma Normal (5FN) trata con casos donde la información puede ser reconstruida de muchas piezas de información las cuales pueden ser mantenidas con poca redundancia. La Segunda, Tercera y Cuarta Formas Normales también sirven a este propósito pero la Quinta Forma Normal generaliza los casos no cubiertos por ellas.