2. INTRODUCCIÒN
HOY 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
VALIOSOS
UNO 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
3. Bagua Grande ,Abril 2016
OBJETIVOS DEL DISEÑO DE BASES DE DATOS
Entre 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.
4. 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.
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
5. 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
6. 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
7. ♦ 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
8. 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
9. PRIMERA FORMA NORMAL:
NO HAY GRUPOS REPETIDOS
Las 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
10. SEGUNDA FORMA NORMAL
eliminar los datos redundantes
Observe 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
12. 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
14. 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.
15. 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.
16. Bagua Grande ,Abril 2016
REGLAS DE INTEGRIDAD
Una
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.
17. 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.
18. 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
19. 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
20. 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 hardware
Por 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
21. MANTENIMIENTO DE LA BASE DE
DATOS
Introducción
Una 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
22. 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
23. 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.000
normal: 100
má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