diseño de base de datos

24
DISEÑO DE BASES DE DATOS Bagua Grande ,Abril 2016

Transcript of diseño de base de datos

Page 1: diseño de base de datos

DISEÑO DE BASES DE DATOS

Bagua Grande ,Abril 2016

Page 2: diseño de base de datos

INTRODUCCIÒNHOY EN DÍA LAS EMPRESAS MANEJAN UNA GRAN CANTIDAD DE DATOS. CUALQUIER EMPRESAS QUE SE PRECIE DEBE TENER ALMACENADOS TODOS ESTOS DATOS EN UNA BASE DE DATOS PARA PODER REALIZARLOS MEDIANTE UNA APLICACIÓN PROFESIONAL; SIN ESTA FUNCIONALIDAD RESULTARÍA IMPOSIBLE TRATAR Y MANEJAR EN SU TOTALIDAD LOS DATOS QUE LLEVARA CABO LA EMPRESA Y SE PERDERÍA UN TIEMPO Y UN DINERO MUY VALIOSOSUNO DE LOS PASOS CRUCIALES EN LA CONSTRUCCIÓN DE UNA APLICACIÓN QUE MANEJE UNA BASE DE DATOS, ES SIN DUDA, EL DISEÑO DE LA BASE DE DATOS.

Bagua Grande ,Abril 2016

Page 3: diseño de base de datos

Bagua Grande ,Abril 2016

OBJETIVOS DEL DISEÑO DE BASES DE DATOSEntre las metas más importantes que se persiguen al diseñar un modelo de bases de

datos, se encuentran las siguientes que pueden observarse en esta figura.

Page 4: diseño de base de datos

NORMALIZACIÓNLA 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. 

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.

Bagua Grande ,Abril 2016

Page 5: diseño de base de datos

  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.

NO USE VARIOS CAMPOS EN UNA SOLA TABLA PARA ALMACENAR DATOS SIMILARES. POR EJEMPLO, PARA REALIZAR EL SEGUIMIENTO DE UN ELEMENTO DEL INVENTARIO QUE PROVIENE DE DOS ORÍGENES POSIBLES, UN REGISTRO DEL INVENTARIO PUEDE CONTENER CAMPOS PARA EL CÓDIGO DE PROVEEDOR 1 Y PARA EL CÓDIGO DE PROVEEDOR 2. ¿QUÉ OCURRE CUANDO SE AGREGA UN TERCER PROVEEDOR? AGREGAR UN CAMPO NO ES LA RESPUESTA, REQUIERE MODIFICACIONES EN LAS TABLAS Y EL PROGRAMA, Y NO ADMITE FÁCILMENTE UN NÚMERO VARIABLE DE PROVEEDORES.

Bagua Grande ,Abril 2016

Page 6: diseño de base de datos

SEGUNDA FORMA NORMAL

CREE TABLAS INDEPENDIENTES PARA CONJUNTOS DE VALORES QUE SE APLIQUEN A VARIOS REGISTROS.RELACIONE 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. POR EJEMPLO, CONSIDERE LA DIRECCIÓN DE UN CLIENTE EN UN SISTEMA DE CONTABILIDAD. LA DIRECCIÓN SE NECESITA EN LA TABLA CLIENTES, PERO TAMBIÉN EN LAS TABLAS PEDIDOS, ENVÍOS, FACTURAS, CUENTAS POR COBRAR Y COLECCIONES. EN LUGAR DE ALMACENAR LA DIRECCIÓN DE UN CLIENTE COMO UNA ENTRADA INDEPENDIENTE EN CADA UNA DE ESTAS TABLAS, ALMACÉNELA EN UN LUGAR, YA SEA EN LA TABLA CLIENTES O EN UNA TABLA DIRECCIONES INDEPENDIENTE.

Bagua Grande ,Abril 2016

Page 7: diseño de base de datos

♦ TERCERA FORMA NORMAL

Elimine 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, considere colocar estos campos en una tabla independiente.

EXCEPCIÓN: cumplir la tercera forma normal, aunque en teoría es deseable, no siempre es práctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles entre los campos, debe crear tablas independientes para las ciudades, códigos postales, representantes de venta, clases de clientes y cualquier otro factor que pueda estar duplicado en varios registros.

Bagua Grande ,Abril 2016

Page 8: diseño de base de datos

NORMALIZAR UNA TABLA DE EJEMPLO

Estos pasos demuestran el proceso de normalización de una tabla de alumnos ficticia. Tabla sin normalizar: 

Bagua Grande ,Abril 2016

Nº alumno Tutor Despacho-Tut

Clase1 Clase2 Clase3

1022 García 412 101-07 143-01 159-02

4123 Díaz 216 201-01 211-02 214-01

Page 9: diseño de base de datos

PRIMERA FORMA NORMAL: NO HAY GRUPOS REPETIDOSLas tablas sólo deben tener dos dimensiones. Puesto que un alumno tiene varias clases, estas clases deben aparecer en una tabla independiente.

Bagua Grande ,Abril 2016

Nº alumno Tutor Despacho-Tut Nº clase

1022 García 412 101-07

1022 García 412 143-01

1022 García 412 159-02

4123 Díaz 216 201-01

4123 Díaz 216 211-02

4123 Díaz 216 214-01

Page 10: diseño de base de datos

SEGUNDA FORMA NORMAL eliminar los datos redundantesObserve los diversos valores de Nº clase para cada valor de Nº alumno en la tabla anterior. Nº clase no depende funcionalmente de Nº alumno (la clave principal), de modo que la relación no cumple la segunda forma normal.

Las dos tablas siguientes demuestran la segunda forma normal: 

Alumnos:

Bagua Grande ,Abril 2016

Nº alumno Tutor Despacho-Tut

1022 García 412

4123 Díaz 216

Page 11: diseño de base de datos

Bagua Grande ,Abril 2016

Nº alumno Nº clase

1022 101-07

1022 143-01

1022 159-02

4123 201-01

4123 211-02

4123 214-01

REGISTRO:

Page 12: diseño de base de datos

TERCERA FORMA NORMAL eliminar los datos no dependientes de la clave

En el último ejemplo, Despacho-Tut (el número de despacho del tutor) es funcionalmente dependiente del atributo Tutor. La solución es pasar ese atributo de la tabla Alumnos a la tabla Personal, según se muestra a continuación:Alumnos:

Nº alumno Tutor

1022 García

4123 Díaz

Bagua Grande ,Abril 2016

Page 13: diseño de base de datos

PERSONAL:

Bagua Grande ,Abril 2016

Nombre Habitación Dept

García 412 42

Díaz 216 42

Page 14: diseño de base de datos

Bagua Grande ,Abril 2016

INTEGRIDAD DE BASE DE DATOS  

Una base de datos es una colección de datos relacionados. Con la palabra "datos" nos referimos a los hechos conocidos que se pueden grabar y que tienen un significado implícito.

 

La integridad en una base de datos se refiere a la corrección y exactitud de la información contenida. Una base de datos determinada podría estar sujeta a cualquier cantidad de restricciones de integridad (en general) de una complejidad arbitraria. En la mayoría de los sistemas actuales, la verificación de la integridad se realiza mediante códigos de procedimientos escritos por los usuarios.

Page 15: diseño de base de datos

Bagua Grande ,Abril 2016

Condiciones de la Integridad

Las condiciones que garantizan la integridad de los datos pueden ser de dos tipos:Las restricciones de integridad de usuario: son condiciones específicas de una base de datos concreta; son las que se deben cumplir en una base de datos articular con unos usuarios concretos, pero que no son necesariamente relevantes en otra Base de Datos.

Page 16: diseño de base de datos

Bagua Grande ,Abril 2016

REGLAS DE INTEGRIDADUna

Una vez definida la estructura de datos del modelo relacional (es decir, una vez que se determina el modelo conceptual) pasamos a estudiar las reglas de integridad que los datos almacenados en dicha estructura deben cumplir para garantizar que son correctos.

Nulo: Es un indicador que le dice al usuario que el dato falta o no es aplicable.

Dominio: Posibles valores que puede tener un campo. Un dominio no es más que un tipo de dato; posiblemente un tipo simple definido por el sistema o por el usuario.

Page 17: diseño de base de datos

Bagua Grande ,Abril 2016

RESTRICCIONES DE USUARIO

Podemos considerar la restricción de usuario, dentro del contexto relacional, como un predicado definido sobre un conjunto de atributos, de duplas o de dominios, que debe ser verificado por los correspondientes objetos para que éstos constituyan una ocurrencia válida del esquema.

Llave primaria:Establece el conjunto de columnas que forman la clave primaria de esa tabla. Se comporta como única y obligatoria sin necesidad de explicitarlo.

Aserción :Una técnica más formal para representar restricciones explícitas es con un lenguaje de especificación de restricciones, que suele basarse en alguna variación del cálculo relacional.

Page 18: diseño de base de datos

SEGURIDAD EN LAS BASES DE DATOS DEFINICIÓN DE UN ESQUEMA DE SEGURIDAD: Al concepto de seguridad también se le puede llamar privacidad. El problema de la seguridad consiste en lograr que los recursos de un sistema sean, bajo toda circunstancia, utilizados para los fines previstos.

LA FIABILIDAD DEL SISTEMA EL CONCEPTO DE SEGURIDAD LO MEDIMOS EN: La protección del sistema frente a ataques externos. La protección frente a caídas o fallos en el software o en el equipo. La protección frente a manipulación por parte de usuarios no autorizados. Bagua Grande ,Abril 2016

Page 19: diseño de base de datos

REQUISITOS PARA LA SEGURIDAD DE LAS BD

La base de datos debe ser protegida contra el fuego, el robo y otras formas de destrucción. Los datos deben ser reconstruibles, ya que siempre pueden ocurrir accidentes.

• Los datos deben poder ser sometidos a procesos de auditoria. El sistema debe diseñarse a prueba de intromisiones, no deben poder pasar por alto los controles.

• Ningún sistema puede evitar las intromisiones malintencionadas, pero es posible hacer que resulte muy difícil eludir los controles.

El sistema debe tener capacidad para verificar que sus acciones han sido autorizadas

Bagua Grande ,Abril 2016

Page 20: diseño de base de datos

RENDIMIENTO DE LA BASE DE DATOS

Cuando diseñe una base de datos, debe asegurarse de que realiza todas las operaciones importantes de forma rápida y correcta. Algunos problemas de rendimiento se pueden resolver una vez que la base de datos se encuentra en producción. Sin embargo, otros pueden ser el resultado de un diseño inadecuado y se pueden solucionar mediante el cambio de la estructura y el diseño de la base de datos.

Consideraciones acerca del hardwarePor lo general, cuanto mayor es la base de datos, mayores son los requisitos de hardware. Sin embargo, entre otros factores determinantes se incluyen el número de sesiones o usuarios simultáneos, el rendimiento de las transacciones y el tipo de operaciones que se realicen en la base de datos.

Bagua Grande ,Abril 2016

Page 21: diseño de base de datos

MANTENIMIENTO DE LA BASE DE DATOSIntroducciónUna tarea muy importante en el mantenimiento y administración del Sistema ,es realizar un mantenimiento constante a la base de datos, de manera que se pueda velar por el correcto funcionamiento y óptimo desempeño del sistema.Tenga en cuenta que cada motor de base de datos (SQL Server u Oracle) ofrece las herramientas necesarias para realizar monitoreo pro-activo, diagnósticos (herramientas de perfilamiento), o acciones de afinamiento sobre la base de datos.

Bagua Grande ,Abril 2016

Page 22: diseño de base de datos

ESTIMAR EL TAMAÑO DE UNA BASE DE DATOS Cuando diseña una base de datos, puede que necesite realizar una estimación del tamaño que tendrá la base de datos cuando esté llena. Esta estimación puede ayudarle a determinar la configuración de hardware que necesitará para realizar lo siguiente:Conseguir el rendimiento que necesitan las aplicaciones.Asegurar la cantidad física adecuada de espacio en disco necesario para almacenar los datos y los índices.El tamaño de la base de datos depende de su aplicación, así como del número de usuarios y elementos.

Bagua Grande ,Abril 2016

Page 23: diseño de base de datos

Tamaños de tabla de ejemplo para una base de datos normal

Tabla Filas en sitio normal Tamaño de fila (bytes) Tamaño total Tamaño de índice (bytes por fila) Tamaño total

Lps_User_Rating 8.000.000 25 200 MB aproximadamente 20 160 MB

Lps_User_Trx 8.000.000 32 256 MB aproximadamente 20 160 MB

Lps_User_Mentor 5.000.000 25 125 MB aproximadamente 20 100 MB

Lps_User_Data 100.000normal: 100máximo: 400

100-400 MB aproximadamente 100 10 MB

Lps_Item_Data 5000 136 (sólo para campos obligatorios) 68 MB 4 2 MB

Bagua Grande ,Abril 2016

TAMAÑO DE UNA BASE DE DATOS

Page 24: diseño de base de datos

Bagua Grande ,Abril 2016