BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones...

41
Facultad de Estadística e Informática BASES DE DATOS LIC. EN INGENIERÍA DE SOFTWARE

Transcript of BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones...

Page 1: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

BASES DE DATOSLIC. EN INGENIERÍA DE SOFTWARE

Page 2: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización▪Segunda Forma Normal

▪Tercera Forma Normal

Page 3: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Segunda Forma Normal

Normalización

Page 4: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización▪La segunda forma normal se basa en el concepto de dependencia funcional total.

▪Una dependencia funcional X + Y es una dependencia funcional total si la eliminación de cualquier atributo A de X hace que la dependencia deje de ser válida.

Page 5: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización

▪Una dependencia funcional X + Y es una dependencia parcial si es posible eliminar un atributo A ϵ X de X y la dependencia sigue siendo válida

Page 6: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización

DF1 {NSS,NUMEROP}→HORAS es una dependencia total.

{NSS, NUMEROP) →NOMBREE es parcial. Porque se cumple que

NSS → NOMBREE.

Page 7: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización▪Un esquema de relación R está en 2FN si todo atributo no primo A en R depende funcionalmente de manera total de la clave primaria de R.

▪Atributo No Primo: atributo que no es miembro de una llave candidata.

Persona (INE, cedula, nombre, apellido, calle, numero, colonia)

PrimoPrimo No PrimoNo Primo No Primo No Primo No Primo

Page 8: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización

La relación EMP_PROY está en 1FN pero no en 2FN.

El atributo no primo NOMBREE viola 2FN debido a df2 (la cual indica que NOMBRE depende funcionalmente de NSS y no de NUMEROP).

Lo mismo sucede con los atributos no primos NOMBREPR y LUGARP debido a df3 (que indica que NOMBREPR y LUGARP dependen funcionalmente de NUMEROP, pero no de NSS)

Page 9: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización

Las dependencias funcionales df2 y df3 hacen que NOMBREE, NOMBREPR y LUGARP dependan parcialmente de la clave primaria {NSS, NUMEROP) de EMP-PROY, violándose así 2FN.

Page 10: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización

Si un esquema de relación no está en 2FN, se le puede normalizar a varias relaciones 2FN en las que los atributos no primos estén asociados sólo a la parte de la clave primaria de la que dependen funcionalmente de manera total.

Así, las dependencias funcionales df1, df2 y df3 de la relación EMP-PROY, originan la descomposición siguiente:

Page 11: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

EMP_PROY se descompone en los esquemas EP1, EP2 y EP3, cada uno de los cuales está en 2FN.

Page 12: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización▪Otro ejemplo:

Pedido (idLibro, idCliente, fecha, titulo, autor, precio, nombreCliente, cantidad)

No se encuentra en 2FN, pues existen atributos que no dependen de la clave principal en su totalidad. Por lo tanto, se descompone de la siguiente forma:

Page 13: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización▪Otro ejemplo:

Pedido (idLibro, idCliente, fecha, titulo, idAutor, nombreAutor, precio, nombreCliente, cantidad)

Pedido (idLibro, idCliente, fecha, cantidad)

Libro (idLibro, titulo, idAutor, nombreAutor, precio)

Cliente (idCliente, nombreCliente)

Page 14: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónEn otras palabras

"Una relación está en segunda forma normal si, y sólo si:

Está en 1FN y,

Además, cada atributo que no está en la clave primaria es completamente dependiente de la clave primaria." (Marqués, 2001).

El atributo Nombre_E no depende de la clave compuesta (Cod_estudiante,Cod_Beca), solo de Cod_estudiante

Page 15: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónSegunda Forma Normal (2FN)

Esquema de la base de datos “CursosEnLinea”

Page 16: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónEsquema de las relaciones

Base de datos “CursosEnLinea”

Materia (idMateria,nombre,semestre)

Registrar (idUsuario, idCurso, fecha_inscripcion)

Usuario(idUsuario,primerNombre,apPaterno,apMaterno,nombreUsuario,contrasenia,tutor,numPersonal,perfil)

Email_Usuario (idUsuario,email)

ActividadEvaluable (idActividad,nombre,descripcion,fecha_entrega,calificación,idCurso)

ActividadNoEvaluable(idActividad,nombre,descripcion, fecha_entrega,tipoNoEval,idCurso)

1FN

Page 17: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónEsquema de las relaciones

Base de datos “CursosEnLinea”

Materia (idMateria,nombre,semestre)

Registrar (idUsuario, idCurso,idRol, fecha_inscripcion)

Usuario(idUsuario,nombrePropio,apPaterno,apMaterno,nombreUsuario,contrasenia,tutor,numPersonal,idOcupacion)

Email_Usuario (idUsuario,email)

ActividadEvaluable (idActividadAE,nombreae,descripcionae,fecha_entregaae,calificacionae,idCurso)

ActividadNoEvaluable(idActividadane,nombreane,descripcionane, fecha_entregaane,tipoane,idCurso)

Rol (idRol, nombreRol)

Ocupación (idOcupacion,nombreOcupacion)

1FN

Page 18: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónEsquema de las relaciones

Base de datos “CursosEnLinea”

Materia (idMateria,nombre,semestre)

idMateria→{nombre, semestre}

Registrar (idUsuario, idCurso,idRol, fecha_inscripcion)

{idUsuario, idCurso,idRol}→fecha_inscripción

2FN

Page 19: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónEsquema de las relaciones

Base de datos “CursosEnLinea”

Usuario(idUsuario,nombrePropio,apPaterno,apMaterno,nombreUsuario,contrasenia,tutor,numPersonal,idOcupacion)

idUsuario→{nombrePropio, apPaterno, apMaterno, nombreUsuario, contrasenia, tutor, numPersonal, idOcupacion}

Email_Usuario (idUsuario,email)

ActividadEvaluable (idActividade,nombreae,descripcionae,fecha_entregaae,calificacionae,idCurso)

idActividade{nombreae,descripcionae,fecha_entregaae,calificacionae}

2FN

Page 20: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónEsquema de las relaciones

Base de datos “CursosEnLinea”

ActividadNoEvaluable(idActividadane,nombreane,descripcionane, fecha_entregaane,tipoane,idCurso)

idActividadane→{nombreane,descripcionane, fecha_entregaane,tipoane}

Rol (idRol, nombreRol)

idRol→nombreRol

Ocupación (idOcupacion,nombreOcupacion)

idOcupacion→nombreOcupacion

2FN

Page 21: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización. 2FN

Esquema de las relaciones

Base de datos “ClinicaVeterinaria”

Duenio (idDuenio,nombreDuenio,apPaternoDuenio,apMaternoDuenio,calleDuenio,numeroDuenio,coloniaDuenio)

Paciente (idPaciente,nombrePaciente,fechaNacPaciente,especiePacienteidDuenio)

Cita (numeroCita, fechaCita,horaCita,motivoCita,diagnosticoCita,tratamientoCita,idUsuarioEmpleado, idPaciente)

Empleado

(idUsuarioEmpleado,nombrePropioEmpleado,apPaternoEmpleado,apMaternoEmpleado,nombreUsuarioe,contraseniaEm

pleado,rolEmpleado)

Vacuna_Paciente (idPaciente,idVacuna,fechaAplicacionVacuna)

Telefono_duenio (idDuenio,teléfonoDuenio,tipoTelefonoDuenio)

Enfermedad_Cita (idEnfermedad,numeroCita)

catalogoEnfermedad (idEnfermedad,nombreEnfermedad,descripcionEnfermedad,tratamientoEnfermedad)

catalogoVacuna (idVacuna,nombreVacuna,especieVacuna)

Page 22: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización. 2FN

Esquema de las relaciones

Base de datos “ClinicaVeterinaria”

Duenio (idDuenio,nombreDuenio,apPaternoDuenio,apMaternoDuenio,calleDuenio,numeroDuenio,coloniaDuenio)

idDuenio→{nombreDuenio,apPaternoDuenio,apMaternoDuenio,calleDuenio,numeroDuenio,coloniaDuenio}

Paciente (idPaciente,nombrePaciente,fechaNacPaciente,especiePaciente,idDuenio)

idPaciente→{nombrePaciente,fechaNacPaciente,especiePaciente}

Cita (numeroCita,fechaCita,horaCita,motivoCita,diagnosticoCita,tratamientoCita,idUsuarioEmpleado,idPaciente)

numeroCita→{fechaCita,horaCita,motivoCita,diagnosticoCita,tratamientoCita}

Page 23: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización. 2FN

Esquema de las relaciones

Base de datos “ClinicaVeterinaria”

Empleado

(idUsuarioEmpleado,nombrePropioEmpleado,apPaternoEmpleado,apMaternoEmpleado,nombreUsuarioEmpleado,contra

seniaEmpleado,idFuncion)

idUsuarioEmpleado→{nombrePropioEmpleado,apPaternoEmpleado,apMaternoEmpleado,nombreUsuarioEmpleado,cont

raseniaEmpleado}

FuncionEmpleado(idFuncion, nombreFuncion)

idFuncion→nombreFuncion

Vacuna_Paciente (idPaciente,idVacuna,fechaAplicacionVacuna)

{idPaciente,idVacuna}→ fechaAplicacionVacuna

Page 24: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización. 2FN

Esquema de las relaciones

Base de datos “ClinicaVeterinaria”

Telefono_duenio (idDuenio,teléfonoDuenio,tipoTelefonoDuenio)

{idDuenio,teléfonoDuenio}→tipoTelefonoDuenio

Enfermedad_Cita (idEnfermedad,numeroCita)

catalogoEnfermedad (idEnfermedad,nombreEnfermedad,descripcionEnfermedad,tratamientoEnfermedad)

idEnfermedad→{nombreEnfermedad,descripcionEnfermedad,tratamientoEnfermedad}

catalogoVacuna (idVacuna,nombreVacuna,especieVacuna)

idVacuna→{nombreVacuna,especieVacuna}

Page 25: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónEsquema de las relaciones

Base de datos “CursosEnLinea”

Materia (idMateria,nombre,semestre)

Registrar (idUsuario, idCurso,idRol, fecha_inscripcion)

Usuario(idUsuario,nombrePropio,apPaterno,apMaterno,nombreUsuario,contrasenia,tutor,numPersonal,idOcupacion)

Email_Usuario (idUsuario,email)

ActividadEvaluable (idActividade,nombreae,descripcionae,fecha_entregaae,calificacionae,idCurso)

ActividadNoEvaluable(idActividadane,nombreane,descripcionane, fecha_entregaane,tipoane,idCurso)

Rol (idRol, nombreRol)

Ocupación (idOcupacion,nombreOcupacion)

2FN

Page 26: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización. 2FN

Esquema de las relaciones

Base de datos “ClinicaVeterinaria”

Duenio (idDuenio,nombreDuenio,apPaternoDuenio,apMaternoDuenio,calleDuenio,numeroDuenio,coloniaDuenio)

Paciente (idPaciente,nombrePaciente,fechaNacPaciente,especiePaciente,idDuenio)

Cita (numeroCita,fechaCita,horaCita,motivoCita,diagnosticoCita,tratamientoCita,idUsuarioEmpleado,idPaciente)

Empleado

(idUsuarioEmpleado,nombrePropioEmpleado,apPaternoEmpleado,apMaternoEmpleado,nombreUsuarioEmpleado,contra

seniaEmpleado,idFuncion)

FuncionEmpleado(idFuncion, nombreFuncion)

Vacuna_Paciente (idPaciente,idVacuna,fechaAplicacionVacuna)

Telefono_duenio (idDuenio,teléfonoDuenio,tipoTelefonoDuenio)

Enfermedad_Cita (idEnfermedad,numeroCita)

catalogoEnfermedad (idEnfermedad,nombreEnfermedad,descripcionEnfermedad,tratamientoEnfermedad)

catalogoVacuna (idVacuna,nombreVacuna,especieVacuna)

2FN

Page 27: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización

Tercera Forma Normal

Page 28: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización▪La tercera forma normal se basa en el concepto de dependencia transitiva.

▪Una dependencia funcional X → Y en un esquema de relación R es una dependencia transitiva si existe un conjunto de atributos Z que no sea un subconjunto de cualquier clavet de R, y se cumplen tanto X→Z como Z→Y

Page 29: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

▪La dependencia NSS→NSSGTED es transitiva a través de NÚMEROD de EMP_DEPTO, porque se cumplen las dos dependencias :

NSS→NÚMEROD y NÚMEROD→NSSGTED y NÚMEROD no es un subconjunto de la clave de EMP-DEPTO.

Intuitivamente, se observa que en EMP-DEPTO no es deseable la dependencia de NSSGTED con respecto a NÚMEROD porque NÚMEROD no es una clave de EMP-DEPTO.

Page 30: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización▪De acuerdo con la definición original de Codd, un esquema de relación R está en 3FN está en 2FN y ningún atributo no primo de R depende transitivamente de la clave primaria.

PrimoPrimo No PrimoNo Primo No Primo No Primo No Primo

▪Atributo No Primo: atributo que no es miembro de una llave candidata.

Persona (INE, CURP, nombre, apellido, calle, numero, colonia)

Page 31: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

▪El esquema de relación EMP-DEPTO está en 2FN pues no existen dependencias parciales de una clave. ▪Sin embargo, no está en 3FN debido a que NSSGTED (y también NOMBRED) dependen transitivamente de NSS a través de NUMEROD.▪EMP-DEPTO es normalizado descomponiéndolo en los dos esquemas de relación 3FN ED1 y ED2, como se muestra a continuación:

Page 32: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización

EMP_DEPTO se descompone en los esquemas ED1 Y ED2, cada uno de los cuales esta en3FN.

Page 33: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización▪Otro ejemplo:

Pedido (idLibro, idCliente, fecha, titulo, idAutor, nombreAutor, precio, nombreCliente, cantidad)

Pedido (idLibro, idCliente, fecha, cantidad)

Libro (idLibro, titulo, idAutor, nombreAutor, precio)

Cliente (idCliente, nombreCliente) 2FN

1FN

Page 34: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización▪Otro ejemplo:

Libro (idLibro, titulo, idAutor, nombreAutor, precio)

Libro (idLibro, titulo, idAutor, precio)Autor (idAutor, nombreAutor)

3FN

Page 35: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización

En resumen

Tercera Forma Normal (3FN):

a) 2FN

b) Los datos de la relación deben ser dependientes solo de la llave primaria y no de otro atributo.

Page 36: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónEsquema de las relaciones

Base de datos “CursosEnLinea”

Materia (idMateria,nombre,semestre)

Registrar (idUsuario, idCurso,idRol, fecha_inscripcion)

Usuario(idUsuario,nombrePropio,apPaterno,apMaterno,nombreUsuario,contrasenia,tutor,numPersonal,idOcupacion)

Email_Usuario (idUsuario,email)

ActividadEvaluable (idActividade,nombreae,descripcionae,fecha_entregaae,calificacionae,idCurso)

ActividadNoEvaluable(idActividadane,nombreane,descripcionane, fecha_entregaane,tipoane,idCurso)

Rol (idRol, nombreRol)

Ocupación (idOcupacion,nombreOcupacion)

3FN

Page 37: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización. 2FN

Esquema de las relaciones

Base de datos “ClinicaVeterinaria”

Duenio (idDuenio,nombreDuenio,apPaternoDuenio,apMaternoDuenio,calleDuenio,numeroDuenio,coloniaDuenio)

Paciente (idPaciente,nombrePaciente,fechaNacPaciente,especiePaciente,idDuenio)

Cita (numeroCita,fechaCita,horaCita,motivoCita,diagnosticoCita,tratamientoCita,idUsuarioEmpleado,idPaciente)

Empleado

(idUsuarioEmpleado,nombrePropioEmpleado,apPaternoEmpleado,apMaternoEmpleado,nombreUsuarioEmpleado,contra

seniaEmpleado,idFuncion)

FuncionEmpleado(idFuncion, nombreFuncion)

Vacuna_Paciente (idPaciente,idVacuna,fechaAplicacionVacuna)

Telefono_duenio (idDuenio,teléfonoDuenio,tipoTelefonoDuenio)

Enfermedad_Cita (idEnfermedad,numeroCita)

catalogoEnfermedad (idEnfermedad,nombreEnfermedad,descripcionEnfermedad,tratamientoEnfermedad)

catalogoVacuna (idVacuna,nombreVacuna,especieVacuna)

3FN

Page 38: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

NormalizaciónEs recomendable llegar a la Tercera Forma Normal para evitar anomalías en la base de datos, sin embargo, para que un esquema pueda considerarse relacional, solo es necesario aplicar la Primera Forma Normal.

¿Ir más allá?

4FN, 5FN

Page 39: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Normalización

Desnormalización

¿Hasta dónde hay que llegar? ¿Es necesario llegar a quinta forma normal?

La principal ventaja de la normalización: divide una gran tabla en tablas más pequeñas.

PERO

La excesiva partición de las tablas y la aparición de numerosas tablas que dificulten el uso de la base de datos

Page 40: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

Desnormalización

¿Normalización = Facilidad de uso?

Si una excesiva normalización complica la compresión y el uso de la base de datos, es mejor dejarla en una forma normal anterior.

Por eso nace el concepto de desnormalización: Volver atrás, asumiendo que nuestra solución puede generar redundancia, pero facilitando el uso de la base de datos.

Page 41: BASES DE DATOS...Facultad de Estadística e Informática Normalización Esquema de las relaciones Base de datos “CursosEnLinea” Materia (idMateria,nombre,semestre) Registrar (idUsuario,

Facultad de Estadística e Informática

BibliografíaMiguel, A., Piattini M. y Marcos, E. (2000). Diseño de bases de datos relacionales. México: Alfaomega:Ra-Ma.

Silberschatz, A., Korth, H. y Sundarshan, S. (2002). Fundamentos de Bases de Datos. (4a ed.). McGraw-Hill: Madrid.

Date, C. J. (2001). Introducción a los sistemas de bases de datos. (7a ed.). Tr. Sergio Luis María Ruiz Faudón. México: Pearson Educación.

Elmasri, R. Navathe (2002). Sistemas de Bases de Datos. Conceptos fundamentales. (3a ed.). Madrid:Addison-Wesley Iberoamericana:PearsonEducación.

Marqués, M. (2001). Apuntes de ficheros y bases de datos. Universitat Jaume I, Campus de Riu Sec. España. consultado el 15 de julio 2006, en: http://www3.uji.es/~mmarques/f47/apun/apun.html Si no encuentras el documento, pulsa aquí.