Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Analisis de Base de Datos
Analisis de Base de Datos
Analisis de Base de Datos
ndice de Contenidos
1. Diseo de Bases de Datos Anlisis Modelo entidad / relacin (E/R) Modelo relacional Lenguaje SQL y base de datos final Diseo fsico Diseo conceptual Diseo lgico
2. 3. 4. 5. 6. 7.
Caractersticas de una base de datos Objetivos del Diseo de la Base de Datos Almacenar Solo La Informacin Necesaria. Normalizar la Estructura de las Tablas Seleccionar el Tipo de Dato Adecuado Utilizar ndices Apropiadamente 8. Normalizacin
INTRODUCCIN En la actualidad en cada una de la empresas tanto grande o pequea se manejan gran cantidad de datos. Por eso cada uno de los propietarios deben conocer la importancia de las bases de datos como aplicacin profesional para el manejo de la informacin, al pasar por alto la utilizacin de bases de datos esto podra ser el causa por la cual no se pueda acceder en la totalidad a los datos que lleva a cabo una empresa y esto causara la prdida de tiempo y dinero. Para la creacin de una base de datos debemos pasar antes por una etapa crucial y muy compleja la cual se denomina Diseo de Base de la Base de Datos, sin importar los datos que esta empresa maneje nuestra base de datos deber ser correctamente diseada para que sea utilizada en un futuro sin problema alguno. Vamos a llevar a cabo el anlisis y diseo de una base de datos de la empresa librera MONSALVE, cual se dedica a la ventas, distribucin de material didctico.
El objetivo principal del diseo de bases de datos es generar tablas que modelan los registros en los que guardaremos nuestra informacin. Anlisis. Diseo del modelo entidad / relacin. Diseo del modelo relacional. Lenguaje SQL y base de datos final.
Anlisis Debemos comenzar estudiando a fondo el mundo real que deseamos representar en la aplicacin y base de datos. A partir de este estudio, debemos crear el UD, que es simplemente la visin del mundo real bajo unos determinados objetivos. Modelo entidad / relacin (E/R) El diseador debe concebir la base de datos en un nivel superior, abstrayndose de cualquier consideracin tcnica o de implementacin en sistema, plataforma o aplicacin. Para ello puede contar con la ayuda de un modelo de datos como el E/R, presentado por Peter P. Chen. Con l podr centrarse en la estructura lgica y abstracta de la informacin, siendo capaz de representar toda la semntica del mundo real por medio de entidades y relaciones. Modelo relacional El diseador debe transformar el modelo E/R en el modelo relacional, teniendo muy en cuenta la teora de la normalizacin. Esta es una operacin de cierta complejidad. El modelo relacional, presentado por el Dr. E.F.Codd, fue revolucionario puesto que consigue la independencia de las aplicaciones respecto a los datos. Este modelo de datos est basado en las teoras matemticas de las relaciones, haciendo que los datos se estructuren lgicamente en forma de relaciones -tablas. Presenta beneficios como: Sencillez y uniformidad: Al tener como resultado una coleccin de tablas, y ser la tabla la estructura bsica se da como resultado una gran uniformidad, junto con la sencillez de los lenguajes de usuario que pueden operar con ellas. Flexibilidad: Ofreciendo a los usuarios los datos de la forma ms adecuada a su aplicacin. Independencia del interfaz de usuario: El modo en el que se almacena los datos no influye en su manipulacin lgica. Lenguaje SQL y base de datos final Ahora solamente tendremos que codificar en lenguaje SQL el modelo relacional expuesto anteriormente.
Diseo fsico El diseo fsico es el proceso de producir la descripcin de la implementacin de la base de datos en memoria secundaria: estructuras de almacenamiento y mtodos de acceso que garanticen un acceso eficiente a los datos. En general, el propsito del diseo fsico es describir cmo se va a implementar fsicamente el esquema lgico obtenido en la fase anterior. Concretamente, en el modelo relacional, esto consiste en: Obtener un conjunto de relaciones (tablas) y las restricciones que se deben cumplir sobre ellas. Determinar las estructuras de almacenamiento y los mtodos de acceso que se van a utilizar para conseguir unas prestaciones ptimas. Disear el modelo de seguridad del sistema.
Diseo conceptual En esta etapa se debe construir un esquema de la informacin que se usa en la empresa, independientemente de cualquier consideracin fsica. A este esquema se le denomina esquema conceptual. Al construir el esquema, los diseadores descubren la semntica (significado) de los datos de la empresa: encuentran entidades, atributos y relaciones. El objetivo es comprender: La perspectiva que cada usuario tiene de los datos. La naturaleza de los datos, independientemente de su representacin fsica. El uso de los datos a travs de las reas de aplicacin.
El esquema conceptual se puede utilizar para que el diseador transmita a la empresa lo que ha entendido sobre la informacin que sta maneja. Para ello, ambas partes deben estar familiarizadas con la notacin utilizada en el esquema. La ms popular es la notacin del modelo entidad-relacin, que se describir en el captulo dedicado al diseo conceptual. Diseo lgico El diseo lgico es el proceso de construir un esquema de la informacin que utiliza la empresa, basndose en un modelo de base de datos especfico, independiente del SGBD concreto que se vaya a utilizar y de cualquier otra consideracin fsica. En esta etapa, se transforma el esquema conceptual en un esquema lgico que utilizar las estructuras de datos del modelo de base de datos en el que se basa el SGBD que se vaya a utilizar, como puede ser el modelo relacional, el modelo de red, el modelo jerrquico o el modelo orientado a objetos. Conforme se va desarrollando el esquema lgico, ste se va probando y validando con los requisitos de usuario.
Entre las metas ms importantes que se persiguen al disear un modelo de bases de datos, se encuentran las siguientes que pueden observarse en esta figura.
Acceso a la informacin (fcil y Rpido) Diseo de los esquemas con la forma normal
Informacin extra
Especificacin de limitantes
2.
Frecuentemente podemos generar algunos datos sobre la marcha sin tener que almacenarlos en una tabla de una base de datos. En estos casos tambin tiene sentido hacer esto desde el punto de vista del desarrollo de la aplicacin. Normalizar la Estructura de las Tablas Es necesario que al realizar la estructura de una base de datos, esta sea flexible. La flexibilidad est en el hecho que podemos agregar datos al sistema posteriormente sin tener que rescribir lo que ya tenemos.
Podramos decir que estos son los principales objetivos de la normalizacin: Controlar la redundancia de la informacin. Evitar prdidas de informacin. Capacidad para representar toda la informacin. Mantener la consistencia de los datos.
Seleccionar el Tipo de Dato Adecuado Una vez identificadas todas las tablas y columnas que necesita la base de datos, debemos determinar el tipo de dato de cada campo. Existen tres categoras principales que pueden aplicarse prcticamente a cualquier aplicacin de bases de datos: Texto Nmeros Fecha y hora Cada uno de stos presenta sus propias variantes, por lo que la eleccin del tipo de dato correcto no slo influye en el tipo de informacin que se puede almacenar en cada campo, sino que afecta al rendimiento global de la base de datos. A continuacin se dan algunos consejos que nos ayudarn a elegir un tipo de dato adecuado para nuestras tablas: Identificar si una columna debe ser de tipo texto, numrico o de fecha. Elegir el subtipo ms apropiado para cada columna. Configurar la longitud mxima para las columnas de texto y numricas, as como otros atributos. Utilizar ndices Correctos Los ndices son un sistema especial que utilizan las bases de datos para mejorar su rendimiento global. Dado que los ndices hacen que las consultas se ejecuten ms rpido, podemos estar incitados a indexar todas las columnas de nuestras tablas. Sin embargo, lo que tenemos que saber es que el usar ndices tiene un precio. Cada vez que hacemos un INSERT, UPDATE, REPLACE, o DELETE sobre una tabla, SQL tiene que actualizar cualquier ndice en la tabla para reflejar los cambios en los datos. De manera simple, depende que tipo de consultas ejecutamos y que tan frecuentemente lo hacemos, aunque realmente depende de muchas otras cosas.
DEPENDENCIA FUNCIONAL La dependencia funcional se da cuando hay tablas El atributo A es funcionalmente dependiente del atributo B, si el valor de A est determinado por el valor de B. Para la tabla Ciudades, que tenia 2 campos, hemos creado el DIAGRAMA DE DEPENDENCIAS FUNCIONALES Valor de Columna de Tabla Valor de Columna de Tabla CIUDAD (DETERMINA PK) CIUDAD Id_ciudad_edit nombre_ciudad_edit
Para la tabla Editoriales, que tenia 4 campos, hemos creado el DIAGRAMA DE DEPENDENCIAS FUNCIONALES Valor de Columna de Tabla Valor de Columna de Valor de Valor de EDITORIAL (DETERMINA PK) Tabla EDITORIAL Columna Columna de de Tabla Tabla EDITORIAL EDITORIAL Id_edit nombre_edit, direc_edit, id_ciudad_edit
nombre_ciudad_edit
02 04
Loja Ambato
MODELO NO NORMALIZADO EN UNA UNICA Tabla: LIBROS id_libro Titulo Edicion tipo_libro id_edit nombre_edit Direc_edit id_ciud_edit PK NN NN NN 001 A Primera Ciencia F 101 LNS M. Aux 02 002 B Segunda Terror 102 Don Bosco Xxx 04
Se debe realizar un diagrama de Dependencias Funcionales (LO PRIMERO ES QUE DEBO HACER ES VERIFICAR QUE CAMPOS SERIAN DETERMINANTES, SERIA PK Atributos Clave (PK) Atributos NO Clave (normales y los FK) PRIMERA FORMA NORMAL Est en primera forma normal cuando los valores para los campos o columnas, en un registro o fila de una tabla, TIENEN UN SOLO VALOR. DEFECTOS EN LA INSERCION DE LA PRIMERA FORMA NORMAL. Algunas anomalas de insercin se deben a la dependencia funcional de algunos campos no clave en un subconjunto de atributos de la clave principal en lugar de toda la clave primaria. DEFECTOS EN LA ELIMINACION DE LA PRIMERA FORMA NORMAL. Esto sucede cuando se desea borrar el valor de un campo, y al hacer esto no se puede borrar slo ese valor sino que se debe borrar todo el registro, y es donde aparece esta anomala debido a que se puede borrar informacin importante de una relacin. DEFECTOS EN LA ACTUALIZACION DE LA PRIMERA FORMA NORMAL. Cuando una relacin sin normalizar se convierte en una relacin 1FN, algunos datos se duplican. Tal duplicidad de datos almacenados causar problemas en las operaciones de actualizacin Y ADEMAS GENERAR INCONSISTENCIAS O ERRORES EN LOS DATOS. SEGUNDA FORMA NORMAL Si esta en primera forma normal y cada atributo no clave depende totalmente de su clave principal. Anomalas de relaciones en 2FN Puede presentar anomalas de almacenamiento si cualquiera de sus atributos no clave depende transitivamente de la clave primaria, es decir depende indirectamente de la clave primaria. Tabla: EDITORIALES, est en 1FN, est en 2FN id_edit nombre_edit Direc_edit id_ciud_edit PK 101 LNS aaa 8 102 LOOS www 4
Tabla: CIUDADES, est en 1FN, 2FN y 3FN id_ciudad_edit nombre_ciudad_edit PK 02 Loja 04 Ambato
Generalmente un proceso de normalizacin termina cuando todas las relaciones pertenecen a tercera forma normal. Sin embargo, si una relacin contiene dependencias de valores mltiples, es necesaria una normalizacin posterior. Dada una relacin, el atributo A de esta relacin se dice ser dependiente de multi valuados (DMV) del atributo B si un rango especfico de valores del atributo A est determinado por un valor particular de B.
Proceso de Anlisis y Diseo de la Base de Datos Identificacin de las entidades: en al anlisis de esta empresa hemos identificado las siguientes entidades dentro de la papelera Monsalve y sobre salen las entidades principales
Clientes Productos Proveedores Empleados Factura
Modelo Entidad Relacin: en esta etapa se realiza las relaciones entre las entidades las cuales tienen algo que hacen que la una entidad depende de la otro por alguna razn como por ejemplo:
Proceso de Normalizacin: se realiza el anlisis de la entidades principales para mediante eso poder sacar las 1FN, 2FN,3FN.
Empleados Cedula_Empleado Cod_cargo Nombres Apellidos Direccion telefono celular Fecha_nac Fecha_Ingreso Sueldo_Mensual
Descripcin de Tablas: se describe las tablas principales con los atributos correspondientes como CONSTRAINT NOMBRE TIPO DE DATO LONGITUD.
FACTURA CONSTRAINT NOMBRE TIPO DE DATO PK Cod_Empresa Char PK Nro_Factura Numeric PK Cedula_Empleado Nchar PK Cod_Cliente Nchar NN Subtotal Money PK Cod_Impuesto Char Descuento Money NN Impuesto Money NN Total Money
EMPLEADO CONSTRAINT NOMBRE TIPO DE DATO PK Cedula_Empleado Nchar NN-FK Cod_Empleado Char NN Nombre Char NN Apellido Char NN Direccion Char NN Telefono Nchar NN Movil Nchar NN Fecha_Nac DateTime NN Fecha_Ing DateTime NN Sueldo Money
CONSTRAINT PK NN NN NN NN NN
[40]
CONSTRAINT PK FK NN NN NN
CONSTRAINT NN NN NN NN NN NN NN
PROVEEDOR TIPO DE DATO Nchar Nchar Char Char Char Nchar Nchar
CONSTRAINT PK NN NN NN
Modelo Relacional: