Informática Documental Modelo Entidad-Relación Justificación de las Bases de Datos Antes: • Ficheros separados, soluciones ad-hoc, reinventar la rueda cada vez. • Problemas: o Datos aislados. o Datos repetidos. o ¿Reglas de integridad? o ¿Multiusuario? Modelo E-R DEF: Entidades + Relaciones: • Entidad: objeto del mundo real. • Entidades y relaciones tienen atributos: Diagrama E-R: Claves: • Supongamos que K es un subconjunto de atributos de una relación R. Entonces, K es una clave candidata de R si y sólo si es: o Única: en ningún momento hay dos tuplas de R con el mismo valor de K. o Mínima: ningún subconjunto de K tiene la propiedad de unicidad. • De entre las claves candidatas, se escoge una: clave primaria. • El resto son claves alternas o secundarias. Relaciones: • Cardinalidad: o 1 a 1, de uno a uno: Ej: Un entrenador de fútbol solamente entrena a un equipo de fútbol y un equipo de fútbol solamente es entrenado por un entrenador. o 1 a N, de uno a muchos: Ej: Un jugador de fútbol solamente juega en un equipo, pero en un equipo juegan muchos (N) jugadores. o N a M, de muchos a muchos: Ej: Un club de fútbol tiene muchos (N) socios, pero un socio puede serlo de varios (M) equipos a la vez. 1 Modelo Relacional Del Modelo Entidad-Relación pasamos al Modelo Relacional, donde todo son relaciones (tablas), con diferentes tuplas (filas). Paso del Modelo E-R al Relacional: • Entidades: cada entidad es una tabla (relación). • Relaciones: o De 1 a 1: se destruye la relación y se emplea una clave extranjera (foreign key). o De 1 a N: se destruye la relación y se emplea una clave extranjera. o De N a M: se crea una nueva tabla por cada relación de N a M. Normalización: • 1ª Forma Normal (1FN): una relación R se encuentra en 1FN si y sólo si cada columna (atributo) contiene valores atómicos. o Ejemplo: Dirección: calle + piso + puerta + C.P. • 2ª Forma Normal (2FN): una relación R se encuentra en 2FN si y sólo si R está en 1FN y además todos los atributos que no forman parte de la clave primaria dependen por completo de la clave primaria. o Ejemplo: Estudiante: DNI, Carrera en la que está matriculado. • 3ª Forma Normal (3FN): una relación R se encuentra en 3FN si y sólo si los atributos no clave (no pertenecientes a la clave primaria), si los hay, son: o Mutuamente independientes. o Dependiente por completo de la clave primaria. o Explicación: la tercera forma normal nos dice que tenemos que eliminar cualquier columna no clave que sea dependiente de otra columna no clave. Los pasos que hay que seguir son: Determinar las columnas que son dependientes de otra columna no clave. Eliminar esas columnas de la tabla base. Crear una segunda tabla con esas columnas y con la columna no clave de la cual son dependientes. o Ejemplo: Estudiante: DNI, teléfono, calle, piso, ciudad, CP ⇒ CP, Ciudad. Reglas de Integridad: • Regla de Entidad: para todo atributo perteneciente a la clave primaria, no debe haber un valor nulo. o Ej: DNI con valor nulo en la tabla Clientes. • Regla de Integridad Referencial: “Las claves externas no pueden quedar huérfanas”. Es decir, ninguna fila de la tabla principal puede contener una clave externa que no se corresponda con algún registro de la tabla externa. o Ej: Impedir facturar a un cliente que no esté previamente dado de alta en la tabla de clientes, o impedir borrar un cliente que tenga facturas pedientes de cobrar. 2