BDatos3

51
BASE DE DATOS Ing. Ana E. Congacha Ingeniera en Sistemas Riobamba - Ecuador 2012-2013

Transcript of BDatos3

Page 1: BDatos3

BASE DE DATOS

Ing. Ana E. Congacha

Ingeniera en Sistemas

Riobamba - Ecuador2012-2013

Page 2: BDatos3

DISEÑO DE BASES DE DATOS

• Modelo relacional • Normalización

Page 3: BDatos3

EL MODELO RELACIONAL Y LA NORMALIZACIÓN

El modelo Relacional es importante:

Los elementos de construcción son extensos y generales y se pueden usar para expresar diseños de BD independientes de DBMS.

Es la base de casi todos los productos DBMS

Page 4: BDatos3

Las relaciones no son iguales, unas son mejores que otras.

La normalización es un proceso para convertir una relación que tiene ciertos problemas en dos o mas relaciones que no los tienen.

La normalización se puede usar como un lineamiento para comprobar la

validez de las relaciones.

Page 5: BDatos3

El MODELO RELACIONAL

Una relación es una tabla bidimensional.

Renglón/fila/registro/tuples/tupla: tienen datos que pertenecen a alguna cosa o a una parte de esta

Atributos/campo/columna : contienen datos referentes a un atributo

Page 6: BDatos3

TERMINOLOGÍA RELACIONAL EQUIVALENTE:

MODELO RELACIONAL PROGRAMADORUSUARIO

Relación Archivo Tabla

Tuple Registro Renglón

Atributo CampoColumna

Page 7: BDatos3

• Las celdas de la tabla deben ser de un valor único; no se permite repetir grupos ni tener series en calidad de valores.

• Todas las entradas en cualquier columna deben ser del mismo tipo.• Cada columna tienen un nombre único.• El orden de las columnas en la tabla no es importante.• Dos renglones en la tabla no pueden ser idénticos y el orden de los renglones

no es significativo.

Almeida 19 F 001

Damian 20 F 002

Guerra 18 M 003

Jacome 21 F 004

Munoz 23 M 005

Nuñez 24 M 006

Salgado 19 F 007

Nombre Edad Genero NumEmpleado

Relación EMPLEAD

O

EMPLEADO(Nombre, Edad, Genero, NumEmpleado)

Estructura de la relación

Para que una tabla sea una relación debe cumplir ciertas restricciones:

Page 8: BDatos3

Para comprender la normalización necesitamos definir dos términos:

1. Dependencia Funcional2. Llave

1. Dependencias Funcionales

Es una relación entre uno o más atributos. Suponga que si asignamos el valor de un atributo podemos obtener (o buscar) el valor de otro.

Ejemplo: Si conocemos:

NumerodeCuentadelCliente BalancedelCliente

Si esto es verdad podemos decir que BalancedelCliente es funcionalmente dependiente de NumerodeCuentadelCliente

Atributo X Atributo Y

En términos generales, el atributo Y es funcionalmente dependiente del atributo X, si el valor de X determina al valor de Y.

Dicho de otra manera, si conocemos el valor de X podemos obtener el valor de Y

encontrar

Page 9: BDatos3

Ejemplo:

Suponga que los estudiantes tienen un número único de identificación(IDE) y que cada uno tiene una sola especialidad. Considerando el valor de un EID, podemos encontrar la especialidad del estudiante, por lo que la especialidad es funcionalmente dependiente de EID.

Page 10: BDatos3

EID Especialidad

NumSerie TamañodeMemoria

Podemos argumentar que el almacenamiento y la recuperación de las Dependencias funcionales es la única razón para tener una BD.

LAS DEPENDENCIAS FUNCIONALES SE ESCRIBEN USANDO LA SIGUIENTE NOTACIÓN:

EID : Especialidad

CodEmple: Función

EID determina funcionalmente a Especialidad

o

Especialidad es dependiente de EID

Determinantes

La relación de EID con Especialidad es de muchos a uno (N:1).

En general se puede decir que A determina a B, la relación de valores de A y B es N:1

Page 11: BDatos3

Las dependencias funcionales pueden involucrar grupo de atributos: Considere la relación:

CALIFICACIONES (EID, Asignatura, Calificación).

La combinación de un EID y un NombredeClase determina una calificación, una dependencia funcional que se escribe:

(EID,Asignatura) Calificación

Page 12: BDatos3

LLAVESEs un grupo de 1 o más atributos que identifica únicamente a un renglón.

ACTIVIDAD

EID ACTIVIDAD

CUOTA

100 ESQUI 200

101 NATACION 50

102 VOLEY 60

103 NATACION 50

Relación: ACTIVIDAD

Atributos: EID, Actividad, Cuota

Llave: EID

Fig. A

Suponga que a un estudiante le corresponde una sola actividad.

Page 13: BDatos3

La llave se determina por completo mediante la semántica fundamental de las personas de la empresa que usan la base de datos.

A diferencia de los determinantes, las llaves son siempre únicas. Una llave determina funcionalmente a todo el renglón

Explique en la relación de la Fig. A , EID es tanto un determinante como una llave porqué?, pero Actividad es un determinante y no una llave porqué?.

Page 14: BDatos3

NORMALIZACIÓN No todas las relaciones son igualmente deseables.

Una tabla que cumple la definición de una relación puede no tener una estructura eficaz o apropiada.

Para algunas relaciones el cambio de datos puede tener consecuencias indeseables - Anomalías de Modificación

Las Anomalías de Modificación se pueden eliminar redefiniendo la relación entre dos o más relaciones.

En la mayoría de los casos son preferibles las relaciones redefinidas o normalizadas

Page 15: BDatos3

ANOMALIAS DE MODIFICACIÓN

Anomalía de Eliminación: Al suprimir los hechos acerca de una ENTIDAD (que Estudiante 100 es un esquiador)

inadvertidamente eliminamos los hechos de otra entidad (que esquiar cuesta

200), se pierden hechos acerca de dos entidades.

Anomalía de inserción: No podemos insertar un hecho de una entidad hasta que tengamos un hecho adicional acerca de otra entidad.

Actividad

Cuota

Esqui 200

Natación 50

Voley 50

EID Actividad100 Esqui

101 Natación

102 Voley

103 Natación

100 ESQUI 200

101 NATACION 50

102 VOLEY 50

103 NATACION 50

EID ACTIVIDAD CUOTA

ACTIVIDAD

ESTUD-ACT COSTO-ACT

Han quedado suprimidas las Anomalías de Modificación.

Page 16: BDatos3

Esencia de la Normalización

Cada relación normalizada tiene solo un tema. Cualquier relación que tenga 2 o más temas debe dividirse en dos o más relaciones que tenga cada una un

tema.

Cuando encontramos una relación con anomalías de modificación las eliminamos separando la relación en dos o más, de tal forma que cada una contenga solo un tema.

Page 17: BDatos3

A las técnicas para prevenir anomalías se denomina Formas Normales. Dependiendo de su estructura, una relación puede estar en la primera forma normal, en la segunda, o en alguna otra.

Las Formas normales son anidadas. Esto es una relación en la segunda forma normal esta también en primera forma normal.

Formas Normales

Page 18: BDatos3

Exposición:

En grupo de 4 personas analizar los temas a continuación expuestos:Fecha: 21 de Noviembre del 2012En la exposición se considerará: Calidad presentación Informe (1 ) : Ideas concretas y presentadas en orden, en secuencia lógica. la

bibliografía usada, accesos a internet. Calidad de la Exposición (2,5) : presentación del expositor, facilidad de palabra, claridad en la

exposición, orden, ejercicios. Preguntas y respuestas (0.5%)

TEMA A INVESTIGAR INTEGRANTES

Forma Normal de Boyce – Codd

ADRIANO , ALBAREZ , CIFUENTES , CORONEL

Duchi, duchi, erazo, gaibor

2 GRUPOS

CUARTA FORMA NORMAL HARO, HERREA, ILLAPA, LLUMITAXI

MARTINEZ, NARANJO, NAVARRETE, OÑATE

2 GRUPOS

Quinta Forma Norma.ORTIZ, ORTIZ, RUILOVA Y SANAGUANO

SHILQUIGUA, TELLOS, TOCTAQUIZA, UVIDIA

2 GRUPOS

Page 19: BDatos3

Primera Forma Normal

Cualquier tabla de datos que cumpla con la manera en que se define una relación se dice que esta en la primera forma normal.

ACTIVIDAD

EID ACTIVIDAD CUOTA

100 ESQUI 200

101 NATACION 50

102 VOLEY 50

103 NATACION 50

• Las relaciones en la primera forma normal pueden tener anomalías de modificación .

• Para eliminarlas, separamos la relación en dos o más relaciones.

• Cuando lo hacemos, las nuevas relaciones están en otra forma normal.

Cite ejemplos de relaciones que estén en la primera forma normal y no tengan anomalías

Page 21: BDatos3

Segunda Forma Normal

Una relación se encuentra en la segunda forma normal si todos los atributos que no son llaves son dependientes de todos los atributos de la llave. Si la relación tiene un solo atributo como llave, entonces automáticamente esta en la Segunda forma normal.

La segunda forma normal sólo se aplica a relaciones que tienen llaves compuestas.

ACTIVIDADES

EID ACTIVIDAD CUOTA

100 ESQUI 200

100 GOLF 65

150 NATACION 50

175 SQUASH 50

200 NATACION 50

200 GOLF 65

Llave: (EID, Actividad)Problema: Esta relación tiene una dependencia que involucra solo una parte de la llave.

Cuota es parcialmente dependiente de la llave(EID, Actividad)

Page 22: BDatos3

COSTO-ACT

Actividad Cuota

Esqui 200

Natación 50

GOLF 65

Squash 50

ESTUD-ACT

EID Actividad

100 Esqui

100 Golf

150 Natación

175 Squach

200 Natación

200 Golf

ACTIVIDADES

EID ACTIVIDAD CUOTA

100 ESQUI 200

100 GOLF 65

150 NATACION 50

175 SQUASH 50

200 NATACION 50

200 GOLF 65

Page 23: BDatos3

ACTIVIDAD

EID ACTIVIDAD CUOTA

100 ESQUI 200

101 NATACION 50

102 VOLEY 50

103 NATACION 50

COSTO-ACT

Actividad Cuota

Esqui 200

Natación 50

Voley 50

ESTUD-ACT

EID Actividad

100 Esqui

150 Natación

175 squach

200 Natación

Están en la segunda forma normal porque ambas

tienen llaves de un solo atributo

Page 25: BDatos3

Tercera Forma Normal

Una relación se encuentra en la tercera forma normal si esta en la segunda forma normal y no tiene dependencias transitivas.

VIVIENDA

EID EDIFICIO CUOTA

100 TORRES1 3200

101 TORRES2 3100

102 TORRES1 3200

103 TORRES3 3100

104 TORRES1 3200

VIVIENDA (EID, Edificio, Cuota)Llave: EIDDependencias Funcionales:

Edificio -> CuotaEID -> Edificio -> Cuota

Dependencia transitiva: EID determina Cuota a través del atributo Edificio

La llave de VIVIENDA es EID, el cual es un atributo individual entonces la relación esta en la segunda forma normal.(tanto Edificio como Cuota están determinados por EID)

VIVIENDA tiene anomalías debido a la dependencia transitiva

Page 26: BDatos3

100 TORRES1

101 TORRES2

102 TORRES1

103 TORRES3

104 TORRES1

VIVIENDA-ESTUDEID EDIFICIO EDIFICIO - CUOTA

TORRES1 3200

TORRES2 3100

TORRES3 3100

EDIFICIO CUOTA

VIVIENDA

EID EDIFICIO CUOTA

100 TORRES1 3200

101 TORRES2 3100

102 TORRES1 3200

103 TORRES3 3100

104 TORRES1 3200

Page 28: BDatos3

Taller: Grupo de 2 personas Que restricciones debe cumplir una tabla para que sea

considerada una relación? Defina los siguientes términos: relación, tuple, atributo, registro,

campo, tabla, renglón, columna. Defina dependencia funcional. Dé un ejemplo sobre dos atributos

que tengan dependencia funcional, y otro de dos atributos que no tengan dependencia funcional.

Si EID determina funcionalmente a Actividad, ¿significa que sólo puede existir un valor de EID en la relación? ¿Por que?

Defina determinante? Defina llave? Si EID es la llave de una relación. ¿es un determinante?¿Puede un

valor determinado de EID ocurrir más de una vez en la relación? ¿Qué es una anomalía de eliminación? De un ejemplo diferente al

que se menciona en las diapositivas anteriores. ¿Qué es una anomalía de inserción? De un ejemplo diferente al

que se menciona en las diapositivas anteriores.

Page 29: BDatos3

Ejercicios en clase

Page 30: BDatos3

Considere la siguiente definición de relación y los datos de muestra:

PROYECTO

ProyectoID NombredelEmpleado

SalariodelEmpleado

100A JONES 64

100A SMITH 51

100B SMITH 51

200A JONES 64

200B JONES 64

200C PARKS 28

200C SMITH 51

200D PARKS 28

Page 31: BDatos3

Proyecto (ProyectoID, NombredelEmpleado, SalariodelEmpleado)

Donde:

ProyectoID: es el nombre del proyecto de trabajo.

NombredelEmpleado: es el nombre del empleado que trabaja en el proyecto.

SalariodelEmpleado: es el salario del empleado

Page 32: BDatos3

ProyectoID → NombredelEmpleado

ProyectoID → SalariodelEmpleado

(ProyectoID, NombredelEmpleado) →

SalariodelEmpleado

NombredelEmpleado→ SalariodelEmpleado

SalariodelEmpleado → ProyectoID

Suponga que todas las dependencias y restricciones son evidentes en estos datos. Cuál de los siguientes enunciados es cierto?

Page 33: BDatos3

Conteste las siguientes preguntas:

¿Cuál es la llave del proyecto? ¿Todos los atributos que no son llaves (si los

hay)dependen por completo de las llaves? En que forma normal está PROYECTO? Describa dos anomalías de modificación que tiene

PROYECTO. ProyectoID es un determinante? NombredelEmpleado es un determinante? SalariodelEmpleado es un determinante? Tiene esta relación una dependencia transitiva? Si

es así cual es ? Rediseñe esta relación para eliminar las

anomalías de modificación

Page 34: BDatos3

PROYECTO-HORAS

NombredelEmpleado

ProyectoID TareasID Telefono HorasTotales

DON 100A B-1 12345 12

DON 100A P-1 12345 12

DON 200B B-1 12345 12

DON 200B P-1 12345 12

PEN 100A C-1 67890 26

PEN 200A C-1 67890 26

PEN 200D C-1 67890 26

Ejercicio:Considere la siguiente definición de relación y datos muestra:

Page 35: BDatos3

HORAS-PROYECTO (NombredelEmpleado, ProyectoID, TareasID, Telefono, HorastOTALES)

Donde: NombredelEmpleado es el nombre de un empleado. ProyectoID es el nombre de un proyecto. TareasID es el nombre estándar de la tarea. Teléfono es el numero telefónico del empleado. Horastotales son las horas que ha trabajo el

empleado en este proyecto.

Suponga que todas las dependencias funcionales y restricciones son evidentes en estos datos. ¿Cuáles de los siguiente enunciados son verdaderos?

Page 36: BDatos3

NombredelEmpleado →ProyectoID NombredelEmpleado →TareasID NombredelEmpleado →telefono NombredelEmpleado →HorasTotales (NombredelEmpleado,ProyectoID)

→HorasTotales (NombredelEmpleado, telefono) →TareasID ProyectoID →TareasID TareasID →ProyectoID

Page 37: BDatos3

Rediseñe esta relación para eliminar las anomalías de modificación. Cuantas relaciones usó. Cuantos temas contiene cada una de sus nuevas relaciones

Page 38: BDatos3

Aviso Importante

PRUEBA PARCIAL 2

FECHA: MIERCOLES 19 DE DICIEMBRE DEL 2012

TEMAS: TODO LO VISTO HAST EL MARTE S 18 DE DICIEMBRE DEL 2012

Page 39: BDatos3

Dis

eño d

e

Base

s de D

ato

s UTILIZANDO

MODELOS DE ENTIDAD - RELACIÓN

Page 40: BDatos3

En este tema vamos a ilustrar la transformación de los requerimientos de los usuarios expresados en modelos entidad – relación, en el diseño de Base de Datos.

Estos diseños son independientes de cualquier DBMS.

Page 41: BDatos3

TRANSFORMACIÓN DE LOS MODELOS ENTIDAD-

RELACIÓN EN DISEÑOS DE BASES DE DATOS RELACIONALES

Page 42: BDatos3

Representación de Entidades con el Modelo Relacional

La entidad CLIENTE contiene:

CódigoNombreDirecciónCiudadTelefono

CLIENTE (Código, Nombre, Dirección, Ciudad, Telefono)

Relación que representa la entidad CLIENTE

Llave

Page 43: BDatos3

Representación de Entidades Débiles

Cuando se crea una relación para una entidad dependiente de un identificador debemos asegurarnos que tanto la llave del padre como la de la entidad aparezcan en la relación.

Para representar las entidades débiles es necesario agregar la llave de la entidad padre a la relación de la entidad débil, y este atributo agregado sería parte de la llave de la entidad débil.

FACTURA LINEA_ARTICULO1:N

LINEA_ARTICULO (CódigoLineaArticulo, CodigoFactura, NumerodeArticulo, Cantidad, Descripción, Precio)

Page 44: BDatos3

Representación de Relaciones Uno a Uno

Cada entidad se representa con una relación y entonces la llave de una de las relaciones se coloca en la otra

EMPLEADO (CodigoEmpleado, CodigoAuto, NombreEmpleado, FonoEmpleado)

AUTO (CodigoAuto, numeroLicencia, Color, Marca, Modelo)

La integridad referencial contiene:

CodigoAuto en EMPLEADO debe existir en CodigoAuto en Auto

Con este diseño podemos navegar de EMPLEADO a AUTO

LLAVE EXTERNA

EMPLEADO AUTO1:1

ASIGNACION-AUTO

EMPLEADO (CodigoEmpleado, NombreEmpleado, FonoEmpleado)

AUTO (CodigoAuto, CodigoEmpleado, numeroLicencia, Color, Marca, Modelo)

LLAVE EXTERNA

Page 45: BDatos3

Representación de Relaciones Uno a Muchos

Los términos padre e hijo algunas veces se aplican a las relaciones 1:N

ESTUDIANTE (CodigoEstudiante, CodigoProfesor, NombreEstudiante)

PROFESOR (CodigoProfesor, nombre, telefono, departamento)

La integridad referencial contiene:

CodigoProfesor en ESTUDIANTE debe existir en CodigoProfesor en PROFESOR

PROFESOR ESTUDIANTE1:N

padre hijo

Cada entidad se representa mediante una relación, y después la llave de la relación que representa a la entidad padre se coloca en la

relación que representa a la entidad hijo.

Page 46: BDatos3

Representación de Relaciones Muchos a Muchos

CLASE (CodigoClase , NombreClase)

ESTUDIANTE (CodigoEstu, nombre, telefono, departamento)

La integridad referencial contiene:

CodigoEstu en ESTUDIANTE-CLASE debe existir en CodigoEstu en ESTUDIANTE

CodigoClase en ESTUDIANTE- CLASE debe existir en CodigoClase en CLASE

ESTUDIANTE CLASEM:N

Las relaciones M:N no pueden representarse directamente.Utilizamos Una Relacion de Intersección.

ESTUDIANTE-CLASE (CodigoEstu, CodigoClase)

Page 47: BDatos3

Representación de Relaciones Subtipos

CLIENTE

CLIENTEPERSONA

CLIENTESOCIEDAD

CLIENTEEMPRESA

SUPERTIPO

SUBTIPOS

1

CLIENTE (CodigoCliente, NombreCliente, CantidadAdeudada)

CLIENTE-PERSONA (CodigoCliente, Dirección, NumeroSeguroSocial)CLIENTE-SOCIEDAD (CodigoCliente, NombredelSocioAdministrador, Direccion, NumIdentificacionFiscal)CLIENTE-EMPRESA (CodigoCliente, PersonaContacto, Telefono)

Page 48: BDatos3

Ejercicio en clase

Realice la representación relacional utilizando el diagrama E-R siguiente:

EMPLEADO

INGENIERO

SERVICIO

CLIENTE

AUTOBUS

CERTIFICACIÓN

1:1

ASIGNACION-AUTOBUS

1N

NM

SERVICIO - PROVEEDOR

CLIENTE - SERVICIO

1:N

HABILIDAD - INGENIERO

Page 49: BDatos3

EJERCICIO 1: Realice la representación relacional:

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.

Quizá necesite hacer ciertas suposiciones sobre los requerimientos de la aplicación; haga suposiciones RAZONABLES conforme avance.

Ejercicio EN CLASE

Page 51: BDatos3

Aviso Importante

PRUEBA PARCIAL 2

FECHA: MARTES 18 DE DICIEMBRE DEL 2012

TEMAS: TODO LO VISTO HASTA EL LUNES 17 DE DICIEMBRE DEL 2012