BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada...

45
Facultad de Estadística e Informática BASES DE DATOS AVANZADAS

Transcript of BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada...

Page 1: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

BASES DE DATOS AVANZADAS

Page 2: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

Clase 4

▪Tema 1.2 Diseño lógico de base de datos▪1.2.1 El modelo relacional

▪1.2.2 Normalización

Page 3: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

Clase 4▪ BibliografíaElmasri, R., Navathe y S. (2000). Fundamentos de Sistemas de Bases de Datos. España: Pearson Addison-Wesley.

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

Marqués, M. (2001). Apuntes de ficheros y bases de datos. Universitat Jaume I, Campus de Riu Sec. España. consultado el 29 enero 2017, en: https://www.researchgate.net/publication/41209120_Apuntes_de_Ficheros_y_Bases_de_Datos

Page 4: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos2. Derivar un conjunto de relaciones (tablas) para el esquema lógico.

Jerarquías de generalización. Entidad padre = entidad genérica, superclase. Entidades hijo = subentidades, subclases.

A) Crear una relación para la superclase y tantas relaciones como subclases haya.

Contendrán sus atributos propios y los atributos de la clave primaria de la superclase.

Page 5: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Empleada cuando existen muchos atributos distintos entre las subclases y los atributos en común desean mantenerse.

No genera valores nulos: Los atributos exclusivos pertenecen a su correspondiente relación.

Es la menos eficiente cuando se recurre a la combinación de tablas para obtener información.

Page 6: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos2. Derivar un conjunto de relaciones (tablas) para el esquema lógico.

Jerarquías de generalización. Entidad padre = entidad genérica, superclase. Entidades hijo = subentidades, subclases.

B) No crear una relación para la subclase y crear tantas relaciones como subclases haya.

Contendrán además de sus propios atributos los atributos de la superclase (o atributos comúnes)

Page 7: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Empleada cuando las subclases son disjuntas(Cuando una ocurrencia de la superclase solo aparece en una única subclase) y la especialización es total (Todo profesor debe ser titular o interino).

No genera valores nulos.

Page 8: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos2. Derivar un conjunto de relaciones (tablas) para el esquema lógico.

Jerarquías de generalización. Entidad padre = entidad genérica, superclase. Entidades hijo = subentidades, subclases.

C) Englobar todos los atributos de la entidad superclase y subclases en una sola relación, añadiendo el atributo que indica el tipo de subclase.

Page 9: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones que los asocian con el resto de las entidades del esquema son las mismas para todos.

El acceso a los datos de una ocurrencia, es mucho más rápido; pues no se combinan relaciones.

Existen valores nulos en los atributos específicos de cada subclase.

Page 10: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datosJerarquías de generalización.

Actividad

Tarea Foro

nombretitulo

tipo

idActividad

Usuario

Estudiante Profesor

Nom_usuario

contrasenianombre

emailperfil

Page 11: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datosJerarquías de generalización.

Actividad

Tarea Foro

nombre

titulo

tipo

idActividad

No crear una relación para la subclase y crear tantas relaciones como subclases haya.Empleada cuando las subclases son disjuntas (Cuando una ocurrencia de la superclase solo aparece en una única subclase) y la especialización es total (Todo profesor debe ser titular o interino).

No genera valores nulos.

Englobar todos los atributos de la entidad superclase y subclases en una sola relación, añadiendo el atributo que indica el tipo de subclase.Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones que los asocian con el resto de las entidades del esquema son las mismas para todos.

El acceso a los datos de una ocurrencia, es mucho más rápido; pues no se combinan relaciones.

Existen valores nulos en los atributos específicos de cada subclase.

Actividad(idActividad,nombre,titulo,tipo)

Page 12: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datosJerarquías de generalización.

No crear una relación para la subclase y crear tantas relaciones como subclases haya.Empleada cuando las subclases son disjuntas (Cuando una ocurrencia de la superclase solo aparece en una única subclase) y la especialización es total (Todo profesor debe ser titular o interino).

No genera valores nulos.

Englobar todos los atributos de la entidad superclase y subclases en una sola relación, añadiendo el atributo que indica el tipo de subclase.Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones que los asocian con el resto de las entidades del esquema son las mismas para todos.

El acceso a los datos de una ocurrencia, es mucho más rápido; pues no se combinan relaciones.

Existen valores nulos en los atributos específicos de cada subclase.

Usuario

Estudiante Profesor

Nom_usuario

contrasenia

nombre

email

perfil

Page 13: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

Entrega/Evalúa

N:M

idUsuario

idActividadFecha_participacioncontenido_participacionarchivocalificacion

Usuario

Estudiante Profesor

Nom_usuario

contrasenianombre

emailperfil

Actividadnombre

titulo

tipo

idActividad

1.2 Diseño lógico de base de datos

(0,n)

(0,n)

retroalimentacion

Page 14: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

Entrega

N:M

Estudiante

Nom_usuario

contrasenianombre

emailActividad

nombre

titulo

tipo

idActividad

1.2 Diseño lógico de base de datos

(0,n)(0,n)

idUsuario

idActividadFecha_participacion

contenido_participacionarchivo

Page 15: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

Califica

N:M

Profesor

Nom_usuario

contrasenianombre

email Actividad

nombre

titulo

tipo

idActividad

1.2 Diseño lógico de base de datos

(0,n)(0,n)

idUsuario

idActividadretroalimentacion

calificacion

Page 16: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Estudiante(id_estudiante,contrasenia,nombre,email)

Profesor(id_profesor,contrasenia,nombre,email)

Entrega(idActividad, idEstudiante,fecha_participacion,contenido_participacion,archivo,calificacion)

Evalua(idActividad,idProfesor,calificacion,retroalimentacion)

Page 17: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Curso

Estudiante

Inscribe

(0,n)

(0,n)

N:M

idCursoMateria

numEstudiantesSemestre

Calificación

idEstudiante

contrasenianombre

email

idCurso

IdEstudianteFecha_inscripcion

Inscribe(idEstudiante,idCurso,fecha_inscripcion)

Es Impartido Profesor

(1,1)

idProfesor

contrasenianombreemail

(0,n)

idCurso

Nom_usuariofecha_asignacion

Profesor(idProfesor,contrasenia,nombre,email)

N:1

Curso(idCurso,Materia,numEstudiantes,Semestre,Calificacion,idProfesor)

Page 18: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datosEstudiante(id_estudiante,contrasenia,nombre,email)

Profesor(id_profesor,contrasenia,nombre,email)

Entrega(idActividad, idEstudiante,fecha_participacion,contenido_participacion,archivo,calificacion)

Evalua(idActividad,idProfesor,calificacion,retroalimentacion)

Curso(idCurso,Materia,numEstudiantes,Semestre,Calificacion,idProfesor)

Actividad(idActividad,nombre,titulo,tipo,idCurso)

Inscribe(idEstudiante,idCurso,fecha_inscripcion)

Page 19: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos3. Validar el esquema mediante la normalización.

▪La normalización se utiliza para mejorar el esquema lógico, de modo que satisfaga ciertas restricciones que eviten la duplicidad de datos.

▪La normalización garantiza que el esquema resultante se encuentra más próximo al modelo de la empresa.

▪Reglas que se basan en la clave primaria y las dependencias funcionales.

▪Cada regla que se cumple aumenta el grado de normalización.

Page 20: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos3. Validar el esquema mediante la normalización.

▪PRIMERA FORMA NORMAL

"Una relación está en primera forma normal si, y sólo si, todos los dominios de la misma contienen valores atómicos, es decir, no hay grupos repetitivos. Si se ve la relación gráficamente como una tabla, estará en 1FN si tiene un solo valor en la intersección de cada fila con cada columna." (Marqués, 2001).

Page 21: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos3. Validar el esquema mediante la normalización.

▪PRIMERA FORMA NORMALID Nombre Apellido Curso

00001 Juanito Pérez MatemáticasEspañol

00002 María Rosas GeografíaFísicaEspañol

00003 Toño González Química

Page 22: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos3. Validar el esquema mediante la normalización.

▪PRIMERA FORMA NORMALID Nombre Apellido Curso 1 Curso 2 Curso 3

00001 Juanito Pérez Matemáticas Español

00002 María Rosas Geografía Física Español

00003 Toño González Química

ID Nombre Apellido Curso

00001 Juanito Pérez Matemáticas, Español

00002 María Rosas Geografía, Física, Español

00003 Toño González Química

Page 23: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos3. Validar el esquema mediante la normalización.

▪PRIMERA FORMA NORMALIDEstudiante Nombre Apellido

00001 Juanito Pérez

00002 María Rosas

00003 Toño González

IDEstudiante Curso

00001 Matemáticas

00001 Español

00002 Geografía

Page 24: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datosEstudiante(id_estudiante,contrasenia,nombre,email)

Profesor(id_profesor,contrasenia,nombre,email)

Entrega(idActividad,idEstudiante,fecha_participacion,contenido_participacion,archivo,calificacion)

Evalua(idActividad,idProfesor,calificacion,retroalimentacion)

Curso(idCurso,Materia,numEstudiantes,Semestre,Calificacion,idProfesor)

Actividad(idActividad,nombre,titulo,tipo,idCurso)

Inscribe(idEstudiante,idCurso,fecha_inscripcion)

Page 25: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Estudiante(id_estudiante,contrasenia,nombre,email)

Profesor(id_profesor,contrasenia,nombre,email)

Entrega(idActividad,idEstudiante,fecha_entrega,contenido_entrega,archivo,calificacion)

Evalua(idActividad,idProfesor,calificacion,retroalimentacion)

Curso(idCurso,Materia,numEstudiantes,Semestre,Calificacion,idProfesor)

Actividad(idActividad,nombre,titulo,tipo,idCurso)

Inscribe(idEstudiante,idCurso,fecha_inscripcion)

Page 26: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Estudiante(id_estudiante,contrasenia,nombre)

Profesor(id_profesor,contrasenia,nombre)

Email(idPersona,email)

Entrega(idActividad,idEstudiante,fecha_entrega,contenido_entrega,archivo,calificacion)

Evalua(idActividad,idProfesor,calificacion,retroalimentacion)

Curso(idCurso,Materia,numEstudiantes,Semestre,Calificacion,idProfesor)

Actividad(idActividad,nombre,titulo,tipo,idCurso)

Inscribe(idEstudiante,idCurso,fecha_inscripcion)1FN

Page 27: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos3. Validar el esquema mediante la normalización.

▪SEGUNDA FORMA NORMAL

"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 28: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Estudiante(id_estudiante,contrasenia,nombre)

Profesor(id_profesor,contrasenia,nombre)

Email(idPersona,email)

Entrega(idActividad,idEstudiante,fecha_entrega,contenido_entrega,archivo,calificacion)

Evalua(idActividad,idProfesor,calificacion,retroalimentacion)

Curso(idCurso,Materia,numEstudiantes,Semestre,Calificacion,idProfesor)

Actividad(idActividad,nombre,titulo,tipo,idCurso)

Inscribe(idEstudiante,idCurso,fecha_inscripcion)2FN

Page 29: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos3. Validar el esquema mediante la normalización.

▪TERCERA FORMA NORMAL

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

Está en 2FN y,

Además, cada atributo que no está en la clave primaria no depende transitivamente de la clave primaria."

La dependencia x->z es transitiva si existen las dependencias x->y, y->z siendo x, y atributos o conjuntos de atributos de una misma relación. (Marqués, 2001).

PROYECTO

Page 30: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Estudiante(id_estudiante,contrasenia,nombre)

Profesor(id_profesor,contrasenia,nombre)

Email(idPersona,email)

Entrega(idActividad,idEstudiante,fecha_entrega,contenido_entrega,archivo,calificacion)

Evalua(idActividad,idProfesor,calificacion,retroalimentacion)

Curso(idCurso,Materia,numEstudiantes,Semestre,Calificacion,idProfesor)

Actividad(idActividad,nombre,titulo,tipo,idCurso)

Inscribe(idEstudiante,idCurso,fecha_inscripcion)3FN

Page 31: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos4. Validar el esquema frente a las transacciones del usuario. (se realiza verbalmente)

▪Validar cada esquema lógico para garantizar que puede soportar las transacciones requeridas por los correspondientes usuarios.

▪Realizar las transacciones de forma manual utilizando el diagrama entidad-relación, el diccionario de datos y las conexiones que establecen las claves ajenas de las relaciones (tablas).

▪Si todas las transacciones se pueden realizar, el esquema queda validado. Pero si alguna transacción no se puede realizar, seguramente será porque alguna entidad, relación o atributo no se ha incluido en el esquema.

Page 32: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos6. Definir las restricciones de integridad.

▪Datos requeridos. Algunos atributos deben contener valores en todo momento, es decir, no admiten nulos.

▪Restricciones de dominios. Todos los atributos tienen un dominio asociado, que es el conjunto los valores que cada atributo puede tomar.

▪Integridad de entidades. El identificador de una entidad no puede ser nulo, por lo tanto, las claves primarias de las relaciones (tablas) no admiten nulos.

Page 33: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos6. Definir las restricciones de integridad.

▪Integridad referencial. Una clave ajena enlaza cada tupla de la relación hijo con la tupla de la relación padre que tiene el mismo valor en su clave primaria.

▪La integridad referencial dice que si una clave ajena tiene un valor (si es no nula), ese valor debe ser uno de los valores de la clave primaria a la que referencia.

Page 34: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos6. Definir las restricciones de integridad.

▪ Para lograr que se cumpla la integridad referencial:▪¿Admite nulos la clave ajena?

▪¿Qué hacer cuando se quiere borrar una ocurrencia de la entidad padre que tiene algún hijo?◦ Restringir: no se pueden borrar tuplas que están siendo referenciadas por otras tuplas.

◦ Propagar: se borra la tupla deseada y se propaga el borrado a todas las tuplas que le hacen referencia.

◦ Anular: se borra la tupla deseada y todas las referencias que tenía se ponen, automáticamente, a nulo (esta respuesta sólo es válida si la clave ajena acepta nulos).

◦ Valor por defecto: se borra la tupla deseada y todas las referencias toman, automáticamente, el valor por defecto (esta respuesta sólo es válida si se ha especificado un valor por defecto para la clave ajena).

◦ No comprobar: se borra la tupla deseada y no se hace nada para garantizar que se sigue cumpliendo la integridad

referencial.

Page 35: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos6. Definir las restricciones de integridad.

▪ Para lograr que se cumpla la integridad referencial:◦ ¿Qué hacer cuando se quiere modificar la clave primaria de una

tupla que está siendo referenciada por otra tupla a través de una clave ajena? Las respuestas posibles son las mismas que en el caso anterior. Cuando se escoge propagar, se actualiza la clave primaria en la tupla deseada y se propaga el cambio a los valores de clave ajena que le hacían referencia

Reglas de negocio. Cualquier operación que se realice sobre los datos debe cumplir las restricciones que impone el funcionamiento de la empresa.

Page 36: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos7. Revisar el esquema lógico con el usuario correspondiente

Page 37: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

Es 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.

Page 38: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datosEn resumen

Primera Forma Normal (1FN):

a) Cada relación debe tener una llave primaria.

b) Eliminar grupos repetidos, definiendo atributos llave y no llave apropiadamente.

c) Atomicidad: Cada atributo debe contener un valor único, no un conjunto de valores.

Page 39: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

En resumen

Segunda Forma Normal (2FN):

a) 1FN

b) Si una relación tiene llave primaria compuesta, todos los atributos deben estar relacionados a toda la llave

Page 40: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

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 41: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

En resumen

Forma Normal Boyce-Codd (BCNF):

a) 3FN

b) No debe existir dependencia funcional no trivial de atributos, más que en el conjunto de claves candidatas.

Page 42: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

En resumen

Cuarta Forma Normal (4FN):

a) Dependencia multivaluada

b) No deben existir dependencias funcionales no triviales multivaluadas del conjunto de atributos

Page 43: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

En resumen

Quinta Forma Normal (5FN):

a) 4FN

b) No deben existir dependencias no triviales unidas, que no sigan las restricciones de la llave.

Page 44: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

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 45: BASES DE DATOS AVANZADAS - Universidad Veracruzana · 1.2 Diseño lógico de base de datos Empleada cuando las subclases se diferencian en muy pocos atributos y las interrelaciones

Facultad de Estadística e Informática

1.2 Diseño lógico de base de datos

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.