BASES DE DATOS - NORMALIZACIÓN

16
BASES DE DATOS NORMALIZACIÓN SENA 2011

Transcript of BASES DE DATOS - NORMALIZACIÓN

Page 1: BASES DE DATOS - NORMALIZACIÓN

BASES DE DATOSNORMALIZACIÓN

SENA 2011

Page 2: BASES DE DATOS - NORMALIZACIÓN

Concepto Básico

La Normalización es una disciplina que trata sobre el establecimiento, aplicación y adecuación de reglas destinadas a conseguir y mantener un orden dentro de un campo determinado con el fin de obtener beneficios para la sociedad, acordes con el desarrollo tecnológico, económico y social.

Page 3: BASES DE DATOS - NORMALIZACIÓN

La normalización es el proceso de formular y aplicar reglas con el propósito de realizar en orden una actividad específica para el beneficio y con la obtención de una economía de conjunto óptimo teniendo en cuenta las características funcionales y los requisitos de seguridad. Se basa en los resultados consolidados de la ciencia, la técnica y la experiencia. Determina no solamente la base para el presente si no también para el desarrollo futuro y debe mantener su paso acorde con el progreso.

Page 4: BASES DE DATOS - NORMALIZACIÓN

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.

Las bases de datos relacionales se normalizan para:Evitar la redundancia de los datos.Evitar problemas de actualización de los datos en las tablas.Proteger la integridad de los datos.

En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:Cada tabla debe tener su nombre único.No puede haber dos filas iguales. No se permiten los duplicados.Todos los datos en una columna deben ser del mismo tipo.

Page 5: BASES DE DATOS - NORMALIZACIÓN

Primer nivel de Formalización/Normalización. (F/N)

1. Eliminar los grupos repetitivos de la tablas individuales.2. Crear una tabla separada por cada grupo de datos relacionados.3. Identificar cada grupo de datos relacionados con una clave primaria.

Page 6: BASES DE DATOS - NORMALIZACIÓN

Diríamos que la anterior tabla esta en nivel de Formalizacion Cero porque ninguna denuestras reglas de normalización ha sido aplicada. Observa los campos url1 y url2 --

¿Qué haremos cuando en nuestra aplicación necesitemos una tercera url ? ¿ Quierestener que añadir otro campo/columna a tu tabla y tener que reprogramar toda la entradade datos de tu código PHP ? Obviamente no, tu quieres crear un sistema funcional quepueda crecer y adaptarse fácilmente a los nuevos requisitos. Hechemos un vistazo a lasreglas del Primer Nivel de Formalización-Normalización, y las aplicaremos a nuestratabla.

Page 7: BASES DE DATOS - NORMALIZACIÓN
Page 8: BASES DE DATOS - NORMALIZACIÓN

Segundo nivel de F/N

1. Crear tablas separadas para aquellos grupos de datos que se aplican a variosregistros.

2. Relacionar estas tablas mediante una clave externa.

Page 9: BASES DE DATOS - NORMALIZACIÓN
Page 10: BASES DE DATOS - NORMALIZACIÓN
Page 11: BASES DE DATOS - NORMALIZACIÓN

Tercer nivel de F/N.1. Eliminar aquellos campos que no

dependan de la clave.

Nuestro nombre de empresa y su dirección no tienen nada que ver con el campouserId, asi que tienen que tener su propio empresaId:

Page 12: BASES DE DATOS - NORMALIZACIÓN
Page 13: BASES DE DATOS - NORMALIZACIÓN

Cuarto Nivel de F/N.

1. En las relaciones varios-con-varios, entidades independientes no pueden ser almacenadas en la misma tabla.

Ya que sólo se aplica a las relaciones varios-con-varios, la mayoria de los desarrolladores pueden ignorar esta regla de forma correcta. Pero es muy útil en ciertas situaciones, tal como esta. Hemos optimizado nuestra tabla urls eliminado duplicados y hemos puesto las relaciones en su propia tabla.

Page 14: BASES DE DATOS - NORMALIZACIÓN
Page 15: BASES DE DATOS - NORMALIZACIÓN

EJEMPLO 1En una empresa de rifas necesitan realizar una página web que controle todos sus procesos, entre las condiciones que debemos tener en cuenta son los datos de los clientes(nom, dir, tel, barrio, cel, e-mail), las rifas se hacen cada semana y se le debe dar al usuario la alternativa de pagar de contado, a crédito o por internet; igualmente se debe controlar las boletas vendidas por los vendedores externos los cuales debes estar registrados con sus datos personales y tienen permiso de solo mirar las boletas que ellos han vendido. Antes de la rifa se deben sacar informes de las boletas vendidas por los vendedores y el portal.

Page 16: BASES DE DATOS - NORMALIZACIÓN

Estudie los siguientes requerimientos de datos para una base de datos de un hospital y produzca un esquema conceptual a través del MER (diagrama distinguiendo entidades fuertes y débiles + cardinalidad + claves primarias + claves foráneas) con su correspondiente estructura de datos.

La base de datos del hospital necesita almacenar información sobre los pacientes, su admisión, los departamentos del hospital y sus tratamientos. Para cada paciente se conoce: nombre, dirección, sexo y número de seguro social.  Para cada departamento se conoce: nombre del departamento, su ubicación, el nombre del médico que lo dirige, el número de camas disponibles y el número de camas ocupadas.  Cada paciente se admite y se da de alta en una fecha determinada; además se le administran varios tratamientos durante la hospitalización.  Para cada tratamiento se almacena su nombre, duración y las posibles reacciones que pueda tener el paciente.  NOTA: Quizá necesite hacer ciertas suposiciones sobre los requerimientos de las aplicaciones; haga suposiciones RAZONABLES conforme avance.