NORMALIZACION - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

NORMALIZACION

Description:

Considerando la entidad usuario, sus atributos son: ... 101-2 es el cuarto 101 y la cama 2. El tipo de cuarto puede ser privado (PR) y semiprivado (SP) ... – PowerPoint PPT presentation

Number of Views:140
Avg rating:3.0/5.0
Slides: 29
Provided by: tine4
Category:
Tags: normalizacion | cama | la

less

Transcript and Presenter's Notes

Title: NORMALIZACION


1
NORMALIZACION
2
Introducción
  • El diseño tiene como objetivo obtener una serie
    de esquemas que permitan almacenar información,
    sin redundancia y de fácil acceso.
  • Las formas normales permiten lograr un buen
    diseño.
  • Para esto se necesita información acerca del
    problema que se esté modelando. Parte de esta
    información se encuentra en un diagrama E-R, pero
    se necesita información adicional.

3
NORMALIZACION
  • El proceso de normalización de una base de datos
    consiste en aplicar una serie de reglas a las
    relaciones obtenidas en el modelo E-R
    (entidad-relación).
  • 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, la cual tiene que cumplir con
    algunas restricciones
  • Cada columna debe tener su nombre único.
  • No puede haber dos renglones iguales. No se
    permiten los duplicados.
  • Todos los datos en una columna deben ser del
    mismo tipo

4
Ejemplo
  • Estamos en un servicio de biblioteca y queremos
    llevar el control del préstamo que incluya los
    siguientes datos
  • Información sobre el usuario del servicio, datos
    del libro y la información sobre el préstamos que
    se realiza.

5
Diagrama E-R para el ejemplo
  • Estamos en un servicio de biblioteca y queremos
    llevar el control del préstamo que incluya los
    siguientes datos
  • Información sobre el usuario del servicio, datos
    del libro y la información sobre el préstamos que
    se realiza.

usuario
libro
Existe una relación muchos a muchos que hay que
romper.
6
Primera Forma Normal
  • En una relación (tabla) no pueden existir grupos
    de repetición, es decir, un atributo no puede
    tomar más de un valor del dominio subyacente
  • Considerando la entidad usuario, sus atributos
    son
  • i_usuario, n_usuario, i_libro, d_prestamo,
    d_entrega
  • Y considerando la entidad libro, sus atributos
    son
  • i_libro, n_título, n_editorial, n_país, d_año
  • La entidad usuario, presenta el siguiente
    problema cada vez que un usuario pida un libro
    hay que escribir su número de usuario (i_usuario)
    y su nombre (n_usuario), además en la realidad se
    tendrán muchos datos más de los usuarios de la
    biblioteca.
  • Qué problemas puede traer esto?
  • Hacer una tabla con datos y ver que pasa

7
i_usuario n_usuario i_libro d_prestamo d_entrega
3435 J. Perez Qa76.9 25/IV/07 13/V/07
3435 J. Perez Qa76.9 5/X/07 13/X/07
3435 J. Perez Qa76.893 3/III/07 13/III/07
5678 A. Ramírez Qa76.9 2/IV/07 3/V/07
8
Aplicando la Primera Forma Normal
  • Identificar grupos de repetición. En el
    ejemplo el grupo de repetición es lo que está
    en rojo i_usuario, n_usuario, i_libro,
    d_prestamo, d_entrega
  • Eliminar grupos de repetición. Para poderlos
    eliminar se crea una nueva tabla con una llave
    primaria compuesta, una parte es la llave
    primaria de la tabla original (i_usuario) y la
    otra parte es la llave primaria del grupo de
    repetición (i_libro), las entidades quedan así
  • usuario (i_usuario, n_usuario)
  • prestamo (i_usuario, i_libro, d_prestamo,
    d_entrega)
  • De una entidad se crearon 2 entidades
  • La entidad libro queda igual
  • libro(i_libro, n_título, n_editorial, n_país,
    d_año)

9
Segunda Forma Normal
  • Establece que todas las dependencias parciales se
    deben eliminar y separar dentro de sus propias
    tablas. Una dependencia parcial es un atributo
    que no depende completamente de la llave
    primaria. Normalmente se presenta cuando la
    llave primaria es compuesta, es decir, que está
    formada por dos atributos.
  • Analizando la entidad préstamo que es la que
    tiene la llave primaria compuesta
  • prestamo (i_usuario, i_libro, d_prestamo,
    d_entrega)
  • En este ejemplo todas las entidades se encuentran
    en 2 FN, ya que los atributos d_prestamo y
    d_entrega dependen completamente de la llave
    primaria compuesta y no de una parte de ésta.

10
Aplicando la Segunda Forma Normal
  • Cuando alguna entidad se encuentre en 2fn, será
    necesario
  • Determinar cuáles atributos no dependen de la
    llave primaria compuesta de la tabla.
  • Eliminar esas columnas de la tabla base.
  • Crear una segunda tabla con esos atributos cuya
    llave primaria será el atributo del cual
    dependen.

11
Tercera Forma Normal
  • Una relación está en 3FN si no hay dependencias
    transitivas. Una dependencia transitiva es
    aquella en la cual existen columnas (atributos)
    que dependen de otras columnas (atributos) que
    tampoco son llave.
  • En el ejemplo, estas dos entidades están en 3FN
  • usuario (i_usuario, n_usuario)
  • prestamo (i_usuario, i_libro, d_prestamo,
    d_entrega)
  • Pero en esta entidad se puede aplicar la 3FN
  • libro(i_libro, n_título, n_editorial, n_país,
    d_año)

12
Aplicando la Tercera Forma Normal
  • Los pasos a seguir son
  • Determinar que columnas son dependientes de otra
    columna no llave.
  • En el ejemplo el atributo n_pais y d_año dependen
    del atributo no llave n_editorial, por lo tanto
    se puede sacar a otra entidad.
  • Eliminar esas columnas de la tabla base
  • Crear otra tabla con esas columnas y con la
    columna no llave de la cual son dependientes,
    crear una llave primaria para esta tabla.
  • - En el ejemplo, a partir de la entidad libro
    quedarían las siguientes dos entidades
  • libro(i_libro, n_título, n_editorial,
    n_país, d_año)
  • editorial(i_editorial, n_editorial,
    n_editorial, n_país, d_año)

13
Ejercicio
  • Crear el diagrama entidad relación para el
    ejemplo del préstamo de la biblioteca
  • Incluir atributos y cardinalidad.

14
  • Estamos en un servicio de biblioteca y queremos
    llevar el control del préstamo que incluya los
    siguientes datos
  • Información sobre el usuario del servicio, datos
    del libro y la información sobre el préstamos que
    se realiza.

usuario
libro
Hay que romper la relación muchos a muchos,
creando una relación intermedia
usuario
libro
prestamo
15
EJERCICIO
  • Se requiere tener la información sobre los
    alumnos
  • de los distintos programas de posgrado del CADIT.
    Sus datos generales. Que grado cursan
    (especialidad, maestría y/o doctorado) y el
    nombre del programa, que materias han
  • cursado, que calificación llevan en cada una de
  • ellas, en que período la cursaron y con que
    profesor. De cada materia se necesita saber
    clave, su área y el número de créditos.

16
METODOLOGÍA
  • Identificar entidad(es) Definir objetos como
    personas, lugares o conceptos sobre los que se
    quiere tener información.
  • Identificar atributos Definir las propiedades
    de cada entidad
  • Determinar llave primaria

17
EJEMPLO
  • ENTIDADES alumno
  • ATRIBUTOS expediente, nombre, clave_mat,
    calificacion, trimestre, creditos, materia
  • LLAVE PRIMARIA expediente
  • La entidad resultante es
  • alumno(expediente, nombre, grado, programa
    clave_mat, materia, profesor, periodo_cursada,
    calificacion, creditos, área)

18
NORMALIZACION 1FN
  • 1FN Identificar grupos de repetición en cada
    entidad
  • Cada grupo de repetición sacarlo a una nueva
    entidad. Su llave primaria será una llave
    primaria compuesta (2 atributos)

19
Aplicación Primera Forma Normal
  • IDENTIFICAR GRUPO(S) DE REPETICION
  • alumno(expediente, nombre, grado, programa
    (clave_mat, materia, profesor, periodo_cursada,
    calificacion, creditos, área))
  • SACAR GRUPO REPETICION A NUEVA ENTIDAD
  • alumno(expediente, nombre, grado, programa)
  • alumno-materia(expediente, clave_mat, materia,
    profesor, periodo_cursada, calificacion,
    creditos, área))

20
NORMALIZACION 2FN
  • Identificar atributos que no dependen
    completamente de la llave primaria compuesta
  • Sacar a una nueva entidad los atributos que no
    dependen completamente de la llave primaria
    compuesta. La llave primaria de esta nueva
    entidad será la parte de la llave primaria
    compuesta de la cual dependen estos atributos.

21
Aplicación Segunda Forma Normal
  • IDENTIFICAR ATRIBUTOS QUE NO DEPENDEN
    COMPLETAMENTE DE expediente-materia
  • materia, créditos, área SACARLOS A OTRA ENTIDAD
    CON SU LLAVE PRIMARIA
  • alumno(expediente, nombre, grado, programa)
  • alumno-materia(expediente, clave_mat,
    periodo_cursada, profesor, calificacion,))
  • materia(clave_mat, materia, creditos, área)

22
NORMALIZACIÓN 3FN
  • Identificar atributos no llave que dependan de
    otro atributo no llave
  • alumno
    nombre
  • expediente
    grado

  • programa
  • alumno-materia
    profesor,
  • expediente, clave_mat,
    periodo_cursada,

  • calificacion
  • materia
    materia
  • clave_mat
    creditos

  • área
  • Analizar un alumno puede estar en más de un
    programa? ya sea al mismo tiempo o al finalizar
    uno, iniciar otro?
  • Conviene un catálogo de programas que se
    imparten en el CADIT?

23
Ejercicio
  • Se desea llevar el control de los trabajos de
    investigación que están realizando los
    investigadores de un instituto. De cada
    investigador se requieren sus datos generales,
    sus grados académicos, su experiencia
    profesional, lugar de trabajo, etc. De los
    trabajos realizados se requiere, título,
    autor(es), tema, resumen, revista en la que se
    publicó y/o congreso.
  • Diseñar la base de datos que puede guardar esta
    información, siguiendo las reglas de la
    normalización.
  • Hay información adicional que se pueda requerir?

24
Ejercicio
  • Obtener las tablas y normalizar las tablas
  • IDENTIFICACION DE LAS VISTAS DEL USUARIO
  • El equipo de diseño entrevistó a los posibles
    usuarios del sistema
  • en el hospital, incluyendo enfermeras, doctores,
    administradores,
  • etc. Obtuvieron muestras de reportes existentes
    y otros documentos
  • para la operación del hospital. A partir de lo
    anterior se identificaron
  • cuatro vistas de datos significativas para el
    hospital
  • VISTA 1 FACTURA DEL PACIENTE
  • La primera vista es la de la factura del
    paciente. Los cargos de
  • cada paciente se acumulan durante su estancia en
    el hospital.
  • Una vez dado de alta se deberán facturar los
    cargos correspondientes.
  • La factura contiene los siguientes datos
  • Nombre del paciente, número del paciente,
    dirección del paciente,
  • fecha de ingreso, fecha de salida.
  • En columnas aparecen la clave del servicio, su
    descripcióbn
  • (cuarto, rayos X, televisión, pruebas de
    laboratorio, etc)
  • y el cargo por cada una.

25
  • VISTA 2 UTILIZACION DE CUARTOS
  • El reporte de utilización de cuartos es un
    reporte diario que muestra
  • el status de cada cuarto y cama en el hospital.
    Este reporte se usa
  • principalmente para la asignación de camas y el
    control de la utilización
  • de cuartos y camas.
  • El reporte que se utiliza para llevar el control
    de cuartos contiene los
  • siguientes datos Fecha en la que se hace el
    reporte, Número de cuarto
  • Tipo de cuarto, Paciente_número, Paciente_nombre,
    Fecha de entrada
  • Fecha de salida

26
  • La columna NUMERO DE CUARTO en el reporte indica
    el número
  • de cuarto y el número de cama que ocupa el
    paciente, por ejemplo
  • 101-2 es el cuarto 101 y la cama 2. El tipo de
    cuarto puede ser privado
  • (PR) y semiprivado (SP). Las columnas restantes
    contienen información
  • acerca del paciente (si es que lo hay), asignado
    a esa cama y a ese
  • cuarto en el momento de que se preparó el
    reporte.

27
  • VISTA 3 DATOS DEL PACIENTE
  • Los datos del paciente se presentan porque
    cualquier doctor,
  • enfermera o miembros del hospital pueden
    necesitarlos.
  • Suponemos que el usuario deberá introducir el
    número del
  • paciente para desplegar los datos de un paciente
    (en la práctica,
  • el sistema probablemente soportará una búsqueda
    en función
  • del nombre)
  • El reporte del paciente recibe los siguientes
    datos número_paciente,
  • nombre_paciente, dirección_paciente,
    fecha_ingreso, fecha_salida,
  • número_cuarto, extensión.

28
  • VISTA 4 REPORTE MEDICO
  • El reporte médico se prepara diario para cada
    médico del grupo
  • del hospital, mostrando los pacientes que han
    sido tratado y el
  • nombre del tratamiento. Para simplificar el
    análisis, suponemos
  • que cada paciente puede recibir solo un
    tratamiento de un médico
  • cada día.
  • El reporte médico tiene los siguientes datos
    fecha del reporte
  • médico encargado, teléfono del médico
  • y columnas con los siguientes datos
    número_paciente,
  • nombre_paciente, número_cuarto,tratamiento
Write a Comment
User Comments (0)
About PowerShow.com