La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Lineamientos para un buen diseño de base de datos

Presentaciones similares


Presentación del tema: "Lineamientos para un buen diseño de base de datos"— Transcripción de la presentación:

1 Lineamientos para un buen diseño de base de datos
Paul Leger

2 Un Buen Diseño de base de Datos
ER: En un modelo entidad-relación, un buen diseño es un diseño que se entienda Además, permita obtener la mayor cantidad información (consultas) del diseño RELACIONAL: En un modelo relacional, un buen diseño se refiere a cómo se guardan los datos Esto evita problemas de actualización, redundancia de datos y mantener la integridad de tablas

3 Pautas Informales (Entender la) semántica de los atributos
Reducción de los valores redundantes en las tuplas Reducción de los valores nulos en las tuplas Eliminación de la posibilidad de generación de tuplas espurias

4 Considere el siguiente modelo relacional con sus datos
Dibuje las relaciones entre ellos

5 Lineamientos 1 Informal
Diseñe una esquema que sea fácil de entender. No combine entidades ni atributos que no corresponde al mundo real Unos malos ejemplos: ¿Cómo puedo insertar un trabajo sin un departamento?

6 Información redundante en las tuplas
Si no sigue el esquema relacional, entonces ocupa menos memoria A simple vista ¿Qué es lo malo con este?

7 Problemas con anomalías
INSERTAR: Insertar en una tupla que son dos diferentes instancias ¿Qué pasa si quiero insertar un empleado que no tiene un departamento? ¿Qué pasa si quiero insertar un departamento sin empleados aún? ELIMINAR: Borrar una tupla de una tabla, termina borrando instancias de otra entidad ¿Qué pasa si borró el último empleado que pertenencia al último departamento? MODIFICAR: La modificación en cascada. Cambiar el nombre a un departamento, debemos cambiarlo en todas las tuplas

8 Lineamiento Informal 2 Diseñe una esquema no presente anomalías al momento de insertar, borrar y modificar elementos

9 Valores Nulos en Tuplas
Los valores nulos genera: Información desperdiciada Problemas para hacer el “join” Funciones de agregación no funcionan ¿Qué es un nulo? Es un valor que no aplica Se desconoce el valor El valor se conoce, pero no aún no está completo Ejercicio: Considere el caso de la entidad Persona con el atributo opcional teléfono. ¿Cómo ustedes se deshacen del posible nulo en teléfono?

10 Lineamiento Informal 3 Evite valores nulos. Si no es posible evitar, que estos valores nulos no estén dentro de atributos que se harán join y/o agregación

11 Generación de tuplas espurias
Rut Nombre TipoTitulo Telefono Paul Universitario 201232 123123 Karla 231232 María Técnico 234234 Titulo TipoTitulo Doctor Universitario Medico Abogado Electricista Técnico Realice un (natural) join y analice su resultado ¿Qué es lo malo del resultado? TUPLAS ESPURIAS!!!!

12 Lineamiento Informal 4 Cada vez que realice un join natural, realícelo por primary and foreign keys. Si no lo hace, tendrá un resultados incorrectos/falsos al realizar el join

13 Paul Leger http://pleger.cl
¿Consultas? Paul Leger


Descargar ppt "Lineamientos para un buen diseño de base de datos"

Presentaciones similares


Anuncios Google