Merari Yesenia Herrera Valarezo Que es la base de datos Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico. Una base de datos (en ocasiones abreviada con la sigla BD.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono. Merari Yesenia Herrera Valarezo COMPONENTES DE UNA BASE DE DATOS: Hardware: constituido por dispositivo de almacenamiento como discos, tambores, cintas, etc. Software: que es el DBMS o Sistema Administrador de Base de Datos. Datos: los cuales están almacenados de acuerdo a la estructura externa y van a ser procesados para convertirse en información. Niveles de Abstracción en Base de datos Externo: esa es la visión del usuario final, se ve cómo se maneja los datos ya convertidos en información. Es aquel en el que se presenta al usuario final y que puede combinaciones Merari Yesenia Herrera Valarezo o relaciones entre los datos que conforman a la base de datos global. Puede definirse como la forma en el que el usuario aprecia la información y sus relaciones. Conceptual: se ve como está estructurada la Base Datos, equipos de campo tiene como están estructurados los registros. Es aquel en el que se definen las estructuras lógicas de almacenamiento y las relaciones que se darán entre ellas. Ejemplos comunes de este nivel son el diseño de los registros y las ligas que permitirán la conexión entre registros de un mismo archivo, de archivos distintos incluso, de ligas hacia archivos. Interno: se ve cómo se almacena los datos físicamente. Es aquel en el que se determinan las características de almacenamiento en el medio secundario. Los diseñadores de este nivel poseen un amplio dominio de cuestiones técnicas y de manejo de hardware. Muchas veces se opta por mantener el nivel físico proporcionado por el sistema operativo para facilitar y agilizar el desarrollo. SISTEMA ADMINISTRADOR DE BASE DE DATOS (DBMS Data Managment System) Los Sistemas Gestores de Bases de Datos son un tipo de software muy específico, dedicado a servir de interfaz entre las bases de datos y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En los textos que tratan este tema, o temas relacionados, se mencionan los términos SGBD, siendo ambos equivalentes, y acrónimos, respectivamente, de Sistema Gestor de Bases de Datos. Subsistema de un DBMS Merari Yesenia Herrera Valarezo CARACTERÍSTICAS Y OBJETOS: Independencia de Datos: el DBMS me provee una independencia de mis datos vs. las aplicaciones. Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento). Minimizar Redundancia (Datos repetidos): desperdicio de Espacio de Almacenamiento. Merari Yesenia Herrera Valarezo ¿QUÉ ES NORMALIZACIÓN? Normalización es un proceso que clasifica relaciones, objetos, formas de relación y demás elementos en grupos, en base a las características que cada uno posee. Si se identifican ciertas reglas, se aplica una categoría; si se definen otras reglas, se aplicará otra categoría. El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. La tarea de un diseñador de bases de datos consiste en estructurar los datos de forma que se eliminen duplicaciones innecesarias y se proporcione una ruta de búsqueda rápida para toda la información necesaria. El proceso de perfeccionar tablas, claves, columnas y relaciones para crear una base de datos eficaz se denomina normalización. La normalización no sólo es aplicable a archivos relacionales; también es una actividad de diseño común para archivos indizados. Es un proceso complejo formado por muchas reglas específicas y distintos niveles de intensidad. La definición completa de normalización es el proceso de: Evitar la redundancia de los datos. Evitar problemas de actualización de los datos en las tablas. Proteger la integridad de los datos. Descartar la repetición de grupos Minimizar la redundancia, Eliminar claves compuestas, En términos generales, las reglas de normalización se pueden resumir en una sola frase: "Cada atributo (columna) debe ser una realidad de la clave, toda la clave y nada más que la clave". Cada tabla debe describir sólo un tipo de entidad (como una persona, un lugar, un pedido de cliente o un producto). Merari Yesenia Herrera Valarezo Ventajas De La Normalización: Integridad de datos (porque no hay datos redundantes ni omitidos). Consultas optimizadas (porque las tablas normalizadas generan combinaciones eficaces y rápidas). Creación y ordenación de índices más rápidas (porque las tablas tienen menos columnas). Ejecución más rápida de la instrucción (porque hay menos índices por tabla). Resolución de concurrencias mejorada (porque los bloqueos de tabla afectarán a menos datos). La mayoría de las bases de datos simples se puede normalizar siguiendo una simple regla empírica: las tablas que contienen información repetida deben dividirse en tablas independientes para eliminar la duplicación. POR EJEMPLO: Puede crear una nueva aplicación para un librero que realice un seguimiento de cada libro, e incluya los datos siguientes. Nombre del autor. Dirección del autor. Número de teléfono del autor. Título. Número ISBN. Año de publicación. Nombre de la editorial. Dirección de la editorial. Número de teléfono de la editorial. Es posible crear una única tabla con un campo para cada uno de los elementos de información enumerados anteriormente. No obstante, si se examinan los datos detenidamente, es evidente que una tabla con estas características contendría numerosas redundancias. Por Ejemplo, como lo normal es que muchos autores hayan escrito más de un libro, la información correspondiente al autor y a la editorial de cada libro se repetiría muchas veces. Si todos estos campos se colocan en una única tabla habrá muchas entradas duplicadas y confusas. Merari Yesenia Herrera Valarezo Formas Normales: Existen seis formas normales, de forma que cuando la base de datos cumple las reglas de la primera forma normal se considera que está en primera forma normal (1FN), cuando pasan la segunda (2FN) y así, etc. De las seis formas normales, generalmente solo se aplican sobre las bases de datos las tres primeras, considerando que una base de datos que está en 3FN es una base de datos correctamente diseñada. Las formas normales se basan en el concepto de dependencia, que comprende las restricciones definidas sobre los atributos de una relación. Tenemos tres tipos de dependencias: Dependencias funcionales. Se usa para la 1FN, 2FN, 3FN. Dependencias multivaluadas (4FN) Dependencias de combinación (5FN) FORMAS NORMALES 1FN, 2FN y 3FN Se define el concepto de dependencia funcional como: Se dice que el atributo Y de la relación R es por completo dependiente funcionalmente del atributo X de R si depende funcionalmente de X y no depende funcionalmente de ningún subconjunto propio de X. Después de introducir estos conceptos ya podemos definir las tres primeras formas normales. Por simplicidad, vamos a definirlas para el caso en el que las relaciones sólo tienen una clave candidata (y por tanto, solo tienen clave primaria). La primera fase de diseño de una base de datos correspondía a la especificación de requisitos de usuario. Por lo tanto, después de realizado un análisis, el diseño que presentan las facturas es el mostrado en la figura. Para identificar la factura, hemos considerado como clave primaria el código de la factura y además, hemos deducido que necesariamente una factura debe poseer todos esos campos. Merari Yesenia Herrera Valarezo PRIMERA FORMA NORMAL (1FN) Recordemos que una base de datos se considera que está en 1FN si cada atributo (campo) de una tabla contiene un solo valor atómico (simple). Un atributo que contiene varios valores puede derivar en una pérdida de datos y por lo tanto no nos interesa. Analizando el diseño inicial de la tabla FACTURA, observamos la existencia de múltiples valores para los atributos siguientes: Código, artículo, descripción, cantidad, importe e IVA. Por lo tanto, observamos que no cumple la condición de 1FN. La solución consiste en crear una nueva tabla, que podemos llamar DETALLE FACTURA, a la cual se trasladan los datos repetitivos, en nuestro caso los datos referentes a los artículos (código, articulo, descripción, cantidad, importe e IVA). Aplicando esto, el diseño de la base de datos para las facturas en 1FNsería: Como regla a aplicar, cuando se produce la separación de datos de la tabla original en una nueva tabla ésta, además de los atributos necesarios, traslada la clave primaria de la tabla original como parte de su nueva clave primaria, y por tanto estará formada generalmente por dos atributos. Merari Yesenia Herrera Valarezo SEGUNDA FORMA NORMAL (2FN) La segunda forma normal, como la tercera que veremos a continuación, se relaciona con el concepto de dependencia funcional. Entendemos como dependencia funcional a la relación que tienen los atributos (campos) de una tabla con otros atributos de la propia tabla. Un campo tiene dependencia funcional si necesita información de otro/s campo/s para poder contener un valor. Una tabla se dice que está en segunda forma normal (2FN) si sucede que: • Está en 1FN • Cada atributo (campo) no clave depende de la clave completa, no de parte de ella. Por supuesto, una base de datos estará en 2FN si todas sus tablas lo están. La idea intuitiva de la 2FN es identificar todas las tablas con una clave compuesta, pues todas las tablas con clave simple están por defecto en 2FN si están en 1FN, y comprobar que cada uno delos campos de esta tabla depende de la clave completa. En nuestro ejemplo, la tabla FACTURA se encuentra en 2FN pues está en 1FN y su clave es simple. Sin embargo, la tabla DETALLE-FACTURA ha de ser analizada pues su clave es compuesta (está formada por dos atributos). Analizando la tabla DETALLE-FACTURA, observamos que el atributo descripción depende únicamente del atributo código, articulo (la descripción de un artículo depende únicamente de qué artículo se trate y es completamente independiente de la factura), por lo cual la descripción habrá de ser llevada a una nueva tabla junto con el atributo clave código, articulo. Supongamos además que el cliente nos indica que en la factura, aunque cada artículo posee calculado su IVA, el tipo de IVA que aplica es común a toda la factura y no depende en cada factura de los artículos. En este caso, el atributo Tipo, IVA solo dependerá funcionalmente del código, factura y no depende de código, articulo, por lo cual ha de ser devuelto a la tabla FACTURA como un único atributo Tipo, IVA que depende solo de la clave de FACTURA (código, factura). Con estas consideraciones, el diseño de la base de datos para las facturas de la empresa expresado en 2FN sería: Merari Yesenia Herrera Valarezo TERCERA FORMA NORMAL (3FN) Recordemos que una tabla se dice que está en tercera forma normal (3FN) si: • Está en 2FN. • Todos los atributos que no son claves deben ser mutuamente independientes, es decir, un atributo no debe depender de otro atributo no clave de su tabla. Si un atributo que no es clave depende de otro atributo que no es clave, la tabla posiblemente contiene datos acerca de más de una entidad, contradiciendo el principio de que cada tabla almacene información de una entidad. En nuestro ejemplo, podemos observar que las tablas ARTÍCULO y DETALLE, FACTURA se encuentran en 3FN. Sin embargo, la tabla FACTURA no está en 3FN, pues los atributos Nombre-cliente, Dirección-cliente y Población-cliente dependen funcionalmente del atributo Código-cliente, campo que no es clave. Por ello, debemos extraer estos atributos de la tabla FACTURA e incluirlos en una nueva tabla que haga referencia al cliente, tabla que llamaremos CLIENTE y que contendrá como clave primaria el Código-cliente y como atributos el Nombre-cliente, Dirección-cliente y Poblacióncliente. Aplicando esto, nuestro diseño de la base de datos para las facturas da lugar a las tablas que pueden verse en la siguiente figura y que ya están en 3FN por lo que podemos considerar que es un buen diseño. Merari Yesenia Herrera Valarezo EJEMPLO DE BASE DE DATOS CÓDIGO DEL PRODUCTO 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 NOMBRE DEL PRODUCTO EXISTENCIA TAMAÑO CATEGORÍA ALCOHOL ALCOHOL AGUA OXIGENADA SUERO FISIOLÓGICO CURITAS CEBIÓN VITAMINA C MK POPS VITAMINA C MK REDOXON DESIBONE D PLUS DESIBONE D PLUS SIMUTAB PLUS STOPTOS JARABE NOTUSIN INFANTIL BRONCOTOSIL HERBAL ESSENCES SAVITAL CON PLACENTA SHAMPOO SAVITAL CON PLACENTA ACONDICIONADOR CREMA OXIGENADA OXY ANTIACNÉ LACTIBÓN BARRA CLEAR FACE ENCIDENT COTONETES TIPPYS LISTERINE 55 46 47 49 27 32 48 34 39 50 38 52 43 25 31 42 100 ML 250 ML 100 CC 40 ML 30 UNIDADES 500MG 500 MG 500 MG 10 COMPRIMIDOS 60 TABLETAS 30 TABLETAS 12 TABLETAS 120 ML 100 ML CAPSULAS 355 ML 48 43 56 44 37 60 58 56 55 PRECIO DE VENTA BOTIQUIN BOTIQUIN BOTIQUIN BOTIQUIN BOTIQUIN VITAMINAS VITAMINAS VITAMINAS VITAMINAS VITAMINAS VITAMINAS GRIPE Y TOS GRIPE Y TOS GRIPE Y TOS GRIPE Y TOS CUIDADO CAPILAR NORMAL 0,75 2,00 0,70 3,90 1,16 1,44 0,95 1,51 3,68 13,10 12,64 2,96 2,99 2,97 0,46 4,94 OFERTA 0,63 1,74 0,59 3,51 0,95 1,17 0,67 1,25 2,98 11 10,74 2,66 2,48 2,47 0,38 4,14 150 ML CUIDADO CAPILAR 4,14 3,50 360 ML 60 CC 30 GR 120 GR 35 ML 300 ML 90 UNIDADES 180 ML CUIDADO CAPILAR CUIDADO CAPILAR CUIDADO DE LA PIEL CUIDADO DE LA PIEL CUIDADO DE LA PIEL CUIDADO PERSONAL CUIDADO PERSONAL CUIDADO PERSONAL 4,14 1,17 3,04 4,75 13,00 3,18 3,23 2,91 3,50 1,00 2,44 4,20 10,92 2,60 2,64 2,46 Merari Yesenia Herrera Valarezo Merari Yesenia Herrera Valarezo