Está en la página 1de 17

Dise Diseo e Implementaci Implementacin

Modelo Entidad-Relacin
Bases de Datos Ingenier Ingeniera T Tcnica en Inform Informtica de Sistemas

El proceso de disear una Base de Datos comienza con el anlisis de la informacin que debe contener y de las relaciones entre los componentes de esa informacin DBMS orientados a objetos

Mundo Real

Modelo ODL

Modelo Relacional Modelo E/R

Otros
Introducci Introduccin

DBMS relacionales
2

EntidadEntidad-Relaci Relacin
Est basado en una percepcin del mundo real consistente en objetos bsicos llamados entidades y en relaciones entre esos objetos Enfoque Grfico Entidad persona se relaciona con entidad libro mediante la relacin consultar Una persona consulta un libro
Introducci Introduccin

Sem Semntica en EE-R


El aspecto semntico del modelo yace en la representacin del significado de los datos Avin Entidad avin se relaciona con entidad naranja mediante la relacin saltar Est pensado para representar la estructura lgica de una base de datos

Saltar Naranja

Notaciones de Diseo El diseo de las bases de datos se lleva a cabo usando modelos

Modelo Entidad/Relacin El modelo entidad/relacin est destinado a ser traducido al de un sistema real de bases de datos, frecuentemente el modelo relacional

Introducci Introduccin

ndice
Conceptos Bsicos Diagrama Entidad-Relacin Cuestiones de Diseo y Extensiones Diseo de un Esquema de Base de Datos E-R

Conceptos Bsicos
Modelo EntidadEntidad-Relaci Relacin Bases de Datos Ingenier Ingeniera T Tcnica en Inform Informtica de Sistemas 5

Introducci Introduccin

Entidad
Una entidad es una cosa u objeto en el mundo real que es distinguible de todos los dems objetos Una entidad tiene un conjunto de propiedades, y los valores para algn subconjunto de propiedades pueden identificar una entidad de forma unvoca

Conjunto de Entidades
Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades (no sus valores) Clientes Prstamos Libros Vdeos
REF: 6509132528

Los conjuntos de entidades no tienen porque ser disjuntos: Personas Empleados Clientes
8

DNI: 326573456 ISBN: 35266774888

Convencin: Usar plural


7 Conceptos B Bsicos

Conceptos B Bsicos

Atributos
Una entidad se representa mediante un conjunto de atributos Los atributos son valores que describen propiedades que posee cada miembro de un conjunto de entidades Cliente: identificativo de cliente, nombre de cliente, calle dnde vive el cliente, ciudad dnde vive el cliente, Libro: identificativo del libro, autor del libro, editorial del libro, idioma en que est escrito el libro,

Valor de Atributo
Cada entidad tiene un valor para cada uno de sus atributos identificador 32.644.234 54.678.999 22.244.466 nombre Santos Rodrguez Penas calle Rosales Jazmines Claveles ciudad Lugo A Corua Santiago

Habitualmente son simples y monovalorados

Conceptos B Bsicos

Conceptos B Bsicos

10

Dominio
El dominio (conjunto de valores) de un atributo es el conjunto de valores permitidos

Atributos Compuestos
Los atributos compuestos son aquellos que se pueden dividir en atributos simples Nombre de cliente Nombre propio del cliente, primer apellido del cliente, segundo apellido del cliente Direccin del cliente Calle del cliente, nmero de calle del cliente, piso del cliente, puerta del cliente, cdigo postal del cliente Los atributos compuestos hacen ms claro el modelo agrupando atributos relacionados

Autor del libro: cadenas de caracteres de una cierta longitud Ao de nacimiento del cliente: nmeros de cuatro cifras

Conceptos B Bsicos

11

Conceptos B Bsicos

12

Atributos Multivalorados
Un atributo multivalorado es aquel que puede tener un conjunto de valores Telfono de cliente Algunos clientes no tienen telfono y otros pueden tener varios (fijo casa, fijo oficina, mvil, )

Atributos Derivados
Los atributos derivados son aquellos cuyo valor se puede derivar del valor de otros atributos Edad de cliente Ao actual menos ao de nacimiento Nmero de libros prestados Contar el nmero de prstamos activos

Conceptos B Bsicos

13

Conceptos B Bsicos

14

Valor Nulo
Un atributo toma valor nulo cuando una entidad no tiene valor para un atributo No Aplicable (segundo nombre) Perdido (existe pero no se tiene) Desconocido (no se conoce si existe o no) Los valores nulos suponen problemas en el tratamiento de los datos

Ejemplo 1: Banco
Conjuntos de Entidades Clientes (nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente) Cuentas (numero_cuenta, saldo) Prestamos (numero_prestamo, importe_inicial, resto)

Mucho cuidado con los valores nulos y con su tratamiento


15 Conceptos B Bsicos 16

Conceptos B Bsicos

Ejemplo 2: Biblioteca
Conjuntos de Entidades Usuarios (nombre, apellido1, apellido2, direccion, codigopostal, ciudad) Libros (titulo, autor, editorial, ao)

Ejemplo 3: Videoclub
Conjuntos de Entidades Socios (nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta) Peliculas (titulo, genero, duracion, clasificacion, ao, pais, precioalquiler)

Conceptos B Bsicos

17

Conceptos B Bsicos

18

Ejemplo 4: Pel Pelculas


Conjuntos de Entidades Peliculas (titulo, ao, longitud, tipopelicula) Estrellas (nombre, direccion) Estudios (nombre, direccion)
Pedir un prstamo

Relaci Relacin
Una relacin es una asociacin entre diferentes entidades

Prstamo de un libro

Alquilar una pelcula

Suelen representar una accin


20

Conceptos B Bsicos

19

Conceptos B Bsicos

Conjunto de Relaciones
Un conjunto de relaciones es un grupo de relaciones del mismo tipo Las entidades participan en la relacin

Conjunto de Relaciones
La concesin de un prstamo a un cliente La pertenencia de un prstamo a una sucursal La apertura de una cuenta por un cliente en una sucursal El prstamo de un libro a un usuario de la biblioteca El alquiler de una pelcula a un socio en el videoclub Las estrellas que participan en una pelcula Los estudios que realizan pelculas

Formalmente: Relacin matemtica, con n>=2, de n conjuntos de entidades Sean E1, E2, , En conjuntos de entidades, entonces un conjunto de relaciones R es un subconjunto de (e1, e2, , en) | e1E1, e2E2, , enEn
Conceptos B Bsicos 21

Conceptos B Bsicos

22

Papel de la Entidad
El papel de una entidad en una relacin especifica la funcin que desempea esa entidad en esa relacin En la mayor parte de los casos, cuando las entidades son disjuntas, los papeles estn implcitos Son tiles cuando la relacin necesita aclaracin relaciones recursivas Relacin trabaja para que especifica quin es el jefe de quin en el banco (entidades: empleado y empleado)
Conceptos B Bsicos 23

Atributos
Una relacin puede tener atributos descriptivos que describan aspectos propios de la relacin (no pertenecen a las entidades implicadas) Para describir el ingreso en cuenta, por parte del cliente, de una cantidad: Nunca deben ser necesarios fecha de imposicin, persona que realiza la imposicin, importe,

Una relacin debe estar identificada unvocamente a partir de sus entidades participantes, sin usar atributos descriptivo
Conceptos B Bsicos 24

Conjunto de Relaciones Binario


Un conjunto de relaciones binario es un conjunto de relaciones que implica dos conjuntos de entidades La mayora de los conjuntos de relaciones en un sistema de bases de datos son binarios (grado 2)

Ejemplo 1: Banco
Conjuntos de Relaciones Impositor (Clientes, Cuentas) Prestatario (Clientes, Prestamos)
Clientes (nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente) Cuentas (numero_cuenta, saldo) Prestamos (numero_prestamo, importe_inicial, resto)

La relacin trabaja de en entre los conjuntos de entidades empleado, sucursal y puesto es una relacin ternaria (grado 3)

Conceptos B Bsicos

25

Conceptos B Bsicos

26

Ejemplo 2: Biblioteca
Conjuntos de Relaciones Prestamo (Usuarios, Libros)
Usuarios (nombre, apellido1, apellido2, direccion, codigopostal, ciudad) Libros (titulo, autor, editorial, ao)

Ejemplo 3: Videoclub
Conjuntos de Relaciones Alquiler (Socios, Peliculas)
Socios (nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta) Peliculas (titulo, genero, duracion, clasificacion, ao, pais, precioalquiler)

Conceptos B Bsicos

27

Conceptos B Bsicos

28

Ejemplo 4: Pel Pelculas


Conjuntos de Relaciones EstrellasEn (Peliculas, Estrellas) Propietario (Peliculas, Estudios)
Peliculas (titulo, ao, longitud, tipopelicula) Estrellas (nombre, direccion) Estudios (nombre, direccion)

Cardinalidad y Participaci Participacin


La Cardinalidad y la Participacin son restricciones que expresan limitaciones a las que se deben adaptar los contenidos de la base de datos Correspondencia de Cardinalidades Restricciones de Participacin

Conceptos B Bsicos

29

Conceptos B Bsicos

30

Corresp. Corresp. de Cardinalidades


La correspondencia de cardinalidades, o razn de cardinalidad, expresa el nmero de entidades de un conjunto de entidades a las que una entidad de otro conjunto de entidades puede estar asociada va un conjunto de relaciones Cuntas cuentas puede tener un cliente? Puede un usuario llevarse prestados varios libros? En cuntas pelculas participa una estrella? Conjunto de relaciones binarias R entre los conjuntos de entidades A y B
Conceptos B Bsicos 31

Tipos de C. de Cardinalidades
Uno a uno: Una entidad en A se asocia con a lo sumo una entidad en B, y una entidad en B se asocia con a lo sumo una entidad en A Uno a Varios: Una entidad en A se asocia con cualquier nmero de entidades en B; una entidad en B se puede asociar con a lo sumo una entidad en A Varios a Uno: Una entidad en A se asocia con a lo sumo una entidad en B; una entidad en B se puede asociar con cualquier nmero de entidades en A Varios a Varios: Una entidad en A se asocia con cualquier nmero de entidades en B, y una entidad en B se asocia con cualquier nmero de entidades en A
Conceptos B Bsicos 32

Uno a Uno
Uno a uno: Una entidad en A se asocia con a lo sumo una entidad en B, y una entidad en B se asocia con a lo sumo una entidad en A

Uno a Varios
Uno a Varios: Una entidad en A se asocia con cualquier nmero de entidades en B; una entidad en B se puede asociar con a lo sumo una entidad en A

Conceptos B Bsicos

33

Conceptos B Bsicos

34

Varios a Uno
Varios a Uno: Una entidad en A se asocia con a lo sumo una entidad en B; una entidad en B se puede asociar con cualquier nmero de entidades en A

Varios a Varios
Varios a Varios: Una entidad en A se asocia con cualquier nmero de entidades en B, y una entidad en B se asocia con cualquier nmero de entidades en A

Conceptos B Bsicos

35

Conceptos B Bsicos

36

C. Cardinalidades Adecuada
La correspondencia de cardinalidades apropiada para un conjunto de relaciones particular depende, obviamente, de la situacin del mundo real que modela el conjunto de relaciones

Cardinalidad Mnima
La cardinalidad mnima se utiliza algunas veces y representa el nmero mnimo de elementos que entran en una relacin por parte de las entidades

1-1 N-1

1-N N-N

Impositor (Clientes, Cuentas)

1..1 - 0..N 1..1 - 1..N 1..N - 0..N

Impositor (Clientes, Cuentas)


Clientes (nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente) Cuentas (numero_cuenta, saldo)

Clientes (nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente) Cuentas (numero_cuenta, saldo)

Conceptos B Bsicos

37

Conceptos B Bsicos

38

Participaci Participacin
La participacin de un conjunto de entidades en un conjunto de relaciones se dice que es total si cada entidad participa al menos en una relacin Si slo participan algunas entidades se dice que la participacin del conjunto de entidades en el conjunto de relaciones es parcial
Multiplicidad de las Relaciones En el modelo E/R conviene distinguir las relaciones por su multiplicidad Las relaciones binarias pueden ser uno a uno, de muchos a uno y de muchos a muchos Las relaciones entre ms de dos conjuntos de entidades estn permitidas en el modelo E/R

Ejemplo 1: Banco
Conjuntos de Relaciones Impositor (Clientes, Cuentas) N-N Prestatario (Clientes, Prestamos) N-N
Clientes (nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente) Cuentas (numero_cuenta, saldo) Prestamos (numero_prestamo, importe_inicial, resto)

Conceptos B Bsicos

39

Conceptos B Bsicos

40

Ejemplo 2: Biblioteca
Conjuntos de Relaciones Prestamo (Usuarios, Libros) 1-N
Usuarios (nombre, apellido1, apellido2, direccion, codigopostal, ciudad) Libros (titulo, autor, editorial, ao)

Ejemplo 3: Videoclub
Conjuntos de Relaciones Alquiler (Socios, Peliculas) 1-N
Socios (nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta) Peliculas (titulo, genero, duracion, clasificacion, ao, pais, precioalquiler)

Conceptos B Bsicos

41

Conceptos B Bsicos

42

Ejemplo 4: Pel Pelculas


Conjuntos de Relaciones EstrellasEn (Peliculas, Estrellas) N-N Propietario (Peliculas, Estudios) N-1
Peliculas (titulo, ao, longitud, tipopelicula) Estrellas (nombre, direccion) Estudios (nombre, direccion)

Claves (Llaves)
Es necesario disponer de una forma de especificar cmo, las entidades dentro de un conjunto de entidades dado y las relaciones dentro de un conjunto de relaciones dado, son distinguibles Una clave (llave) es un conjunto suficiente de atributos capaces de distinguir las entidades (relaciones) de un conjunto de entidades (conjunto de relaciones) entre si (no slo conceptualmente sino desde una perspectiva de bases de datos) Una entidad es una cosa u objeto en el mundo real que es distinguible de todos los dems objetos

Conceptos B Bsicos

43

Conceptos B Bsicos

44

Superclave
Una superclave es un conjunto de uno o ms atributos que, tomados colectivamente, permiten identificar de forma nica una entidad en un conjunto de entidades

Claves Candidatas
Una clave candidata es una superclave tal que un subconjunto de ella no es, tambin, una superclave

Si un conjunto de atributos es una superclave, entonces, cualquier superconjunto de ese conjunto inicial de atributos tambin es una superclave
nombre_cliente nombre_cliente, apellido1_cliente, apellido2_cliente nombre_cliente, apellido1_cliente, apellido2_cliente , codigopostal_cliente

nombre_cliente, codigopostal_cliente apellido1_cliente, apellido2_cliente

Llaves El modelo E/R permite declarar como llaves a conjuntos de atributos, lo cual significa que sus valores definen de manera inequvoca un objeto o entidad

Conceptos B Bsicos

45

Conceptos B Bsicos

46

Clave Primaria
Una clave primaria es una clave candidata que es elegida por el diseador de la base de datos como elemento principal para identificar las entidades dentro de un conjunto de entidades Cualesquiera dos entidades individuales en el conjunto de entidades no pueden tener, al mismo tiempo, el mismo valor en sus atributos clave La eleccin de una clave representa una restriccin en el desarrollo del mundo real que se modela La clave primaria se debe elegir de forma que los atributos que la forman nunca, o al menos muy raramente, cambien
Conceptos B Bsicos 47

Crear Claves Adecuadas


Encontrar o crear claves resulta bastante sencillo Las empresas normalmente asignan una identificacin a todos sus empleados, y las identificaciones se escogen rigurosamente para que sean nmeros nicos e irrepetibles Las personas tienen un nmero del Documento Nacional de Identidad y otro nmero de la Seguridad Social La Universidad asigna nmeros a los expedientes de los alumnos En los Hospitales los datos de los pacientes estn en Historias Clnicas que tienen un cdigo de identificacin Los coches llevan una matrcula que es nica
Conceptos B Bsicos 48

Ejemplo 1: Banco
Impositor (Clientes, Cuentas) N-N Prestatario (Clientes, Prestamos) N-N Clientes (id_cliente, nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente) Cuentas (numero_cuenta, saldo) Prestamos (numero_prestamo, importe_inicial, resto)

Ejemplo 2: Biblioteca
Prestamo (Usuarios, Libros) 1-N Usuarios (id_usuario, nombre, apellido1, apellido2, direccion, codigopostal, ciudad) Libros (isbn, titulo, autor, editorial, ao)

Conceptos B Bsicos

49

Conceptos B Bsicos

50

Ejemplo 3: Videoclub
Alquiler (Socios, Peliculas) 1-N Socios (numero_socio, nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta) Peliculas (codigo_pelicula, titulo, genero, duracion, clasificacion, ao, pais, precioalquiler)

Ejemplo 4: Pel Pelculas


EstrellasEn (Peliculas, Estrellas) N-N Propietario (Peliculas, Estudios) N-1 Peliculas (titulo, ao, longitud, tipopelicula) Estrellas (nombre, direccion) Estudios (nombre, direccion)

Conceptos B Bsicos

51

Conceptos B Bsicos

52

Clave Primaria de Relaci Relacin


Sea R un conjunto de relaciones que involucra la los conjuntos de entidades E1, E2, , En; Sea ClavePrimaria(Ei) el conjunto de atributos que forman la clave primaria del conjunto de entidades Ei; Asmase que los nombre de los atributos de todas las claves primarias son nicos y que cada entidad participa slo una vez en al relacin ClavePrimaria(E1) ClavePrimaria(E2) ClavePrimaria(En) forma una superclave para el conjunto de relaciones La clave primaria (una clave candidata) depende de la correspondencia de cardinalidades de los conjuntos de entidades que participan en la relacin
Conceptos B Bsicos 53

Ejemplo 1: Banco
Impositor (id_cliente, numero_cuenta) N-N Prestatario (id_cliente, numero_prestamo) N-N Clientes (id_cliente, nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente) Cuentas (numero_cuenta, saldo) Prestamos (numero_prestamo, importe_inicial, resto)

Conceptos B Bsicos

54

Ejemplo 2: Biblioteca
Prestamo (id_usuario, isbn) 1-N Usuarios (id_usuario, nombre, apellido1, apellido2, direccion, codigopostal, ciudad) Libros (isbn, titulo, autor, editorial, ao)

Ejemplo 3: Videoclub
Alquiler (numero_socio, codigo_pelicula) 1-N Socios (numero_socio, nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta) Peliculas (codigo_pelicula, titulo, genero, duracion, clasificacion, ao, pais, precioalquiler)

Conceptos B Bsicos

55

Conceptos B Bsicos

56

Ejemplo 4: Pel Pelculas


EstrellasEn (ttulo, ao, nombre) N-N Propietario (titulo, ao, nombre) N-1 Peliculas (titulo, ao, longitud, tipopelicula) Estrellas (nombre, direccion) Estudios (nombre, direccion)

Diagrama Entidad-Relacin
Modelo EntidadEntidad-Relaci Relacin Bases de Datos Ingenier Ingeniera T Tcnica en Inform Informtica de Sistemas 57

Conceptos B Bsicos

Diagrama EE-R
El diagrama Entidad-Relacin en notacin Chen permite expresar grficamente la estructura lgica general de una Base de Datos (su simpleza y claridad son las responsables de su uso generalizado) Rectngulos: Representan conjuntos de entidades Elipses: Representan atributos Rombos: Representan conjuntos de relaciones Lneas: Unen atributos a conjuntos de entidades o a conjuntos de relaciones y conjuntos de entidades a conjuntos de relaciones ( uno; varios) E R E
Diagrama EntidadEntidad-Relaci Relacin 59

Otros Componentes
Elipses Dobles: Representan atributos multivalorados Elipses Discontinuas: Representan atributos derivados Lneas Dobles: Indican participacin total de un conjunto de entidades en un conjuntos de relaciones Rectngulos Dobles: Representan conjuntos de entidades dbiles (no tiene clave por si solos)
Diagramas Entidad/Relacin En el modelo E/R de describen los conjuntos entidad, sus atributos y las relaciones entre los conjuntos A los miembros de los conjuntos se les llama entidades Se utilizan rectngulos, diamantes y valos para dibujar estos conjuntos, sus relaciones y sus atributos, respectivamente

Diagrama EntidadEntidad-Relaci Relacin

60

Entidades

Ejemplo 1: Banco

Cuentas

Cuentas

Sucursales

Clientes

Prstamos

Conceptos B Bsicos

61

Conceptos B Bsicos

62

Atributos
Atributos compuestos
Cuentas Sucursales
direccin calle cod post id_cli saldo

Ejemplo 1: Banco
num_cu activos ciud_suc direc_suc nom_suc

Cuentas

Sucursales
id_suc

num_cu

saldo

Atributos multivalorados

Clientes

Atributos derivados
edad

nomb_cli

Clientes

direc_cli

Prstamos

resto

ap1_cli telfono f. nacim ap2_cli

ciud_cli cpost_cli

num_pre

imp_ini

Conceptos B Bsicos

63

Conceptos B Bsicos

64

Relaciones
saldo

Ejemplo 1: Banco
num_cu activos ciud_suc direc_suc nom_suc

Cuentas

SucCuenta

Sucursales

Cuentas SucCuenta

Sucursales
id_suc

fecha

impositor

Impositor
id_cli

SucPresta Prestatario

nomb_cli

Clientes

direc_cli

Prstamos

resto

ap1_cli ap2_cli

ciud_cli cpost_cli

num_pre

imp_ini

Conceptos B Bsicos

65

Conceptos B Bsicos

66

Corresp. Corresp. de Cardinalidades


saldo

Ejemplo 1: Banco
num_cu activos ciud_suc direc_suc nom_suc

Cuentas

N
SucCuenta

Sucursales

Cuentas SucCuenta

Sucursales
id_suc

N
Impositor Impositor
id_cli

SucPresta Prestatario

N
Clientes

nomb_cli

Clientes

direc_cli

Prstamos

resto

ap1_cli ap2_cli

ciud_cli cpost_cli

num_pre

imp_ini

Conceptos B Bsicos

67

Conceptos B Bsicos

68

Claves
saldo

Ejemplo 1: Banco
num_cu activos ciud_suc direc_suc nom_suc

Cuentas

Cuentas SucCuenta

Sucursales
id_suc

num_cu

saldo

Impositor
id_cli

SucPresta Prestatario

nomb_cli

Clientes

direc_cli

Prstamos

resto

ap1_cli ap2_cli

ciud_cli cpost_cli

num_pre

imp_ini

Conceptos B Bsicos

69

Conceptos B Bsicos

70

Participaci Participacin
saldo

Ejemplo 1: Banco
num_cu activos ciud_suc direc_suc nom_suc

Cuentas

SucCuenta

Sucursales

Cuentas SucCuenta

Sucursales
id_suc

fecha

impositor

Impositor
id_cli

SucPresta Prestatario

nomb_cli

Clientes

direc_cli

Prstamos

resto

ap1_cli ap2_cli

ciud_cli cpost_cli

num_pre

imp_ini

Conceptos B Bsicos

71

Conceptos B Bsicos

72

Fidelidad

Cuestiones de Diseo y Extensiones


Modelo EntidadEntidad-Relaci Relacin Bases de Datos Ingenier Ingeniera T Tcnica en Inform Informtica de Sistemas

Ante todo y sobre todo, el diseo ha de ser fiel a las especificaciones del mundo que modela Los Conjuntos de Entidades y sus atributos deben corresponder a la realidad Los Conjuntos de Relaciones que se postulen deben ser lgicos en trminos de lo que conocemos de la parte del mundo sobre la que se construye el modelo
Prestatario (id_cliente, numero_prestamo) 1-N Cuestiones de Dise Diseo y Extensiones 74

Evitar la Redundancia
Es importante decir las cosas una sola vez Repetir informacin no es ilegal pero es potencialmente peligroso: Dos representaciones del mismo hecho ocupan ms espacio que una sola de ellas Se puede cometer el error de no modificar todos los sitios en los que est una informacin

Simplicidad de Cuenta
En el diseo, se deben introducir tan slo los elementos que sean absolutamente necesarios
Peliculas () PosesionPelicula (Peliculas, Grupo) 1-1 PoseedoresPeliculas () Propietario (Grupo, Estudios) N-1 Estudios ()
Buen Diseo Si se quiere disear eficientemente una base de datos, es necesario usar la notacin seleccionada para representar fielmente el mundo real mediante los elementos apropiados (relaciones, atributos, ), evitar la redundancia, es decir, no repetir la misma cosa y no expresar algo en forma indirecta o demasiado compleja

Propietario (titulo, ao, nombre) N-1 Peliculas (titulo, ao, longitud, tipopelicula, propietario) Cuestiones de Dise Diseo y Extensiones 75

Cuestiones de Dise Diseo y Extensiones

76

Conj. Entidades o Atributos


Cundo y por qu un determinado objeto es un conjunto de entidades y cundo y por qu es un atributo? No hay una respuesta simple; Depende, principalmente, de la estructura de la porcin de mundo real que se est modelando y de la semntica asociada al objeto particular Si algo tiene ms informacin que solamente su nombre, normalmente necesita ser un Conjunto de Entidades
Empleado (nombre, telfono) Empleado (nombre) Telfono (nmero, ubicacin, color) TelfonodeEmpleado (nombre, nmero) Cuestiones de Dise Diseo y Extensiones 77

C. Entidades o C. Relaciones
No siempre est claro si es mejor expresar un objeto mediante un conjunto de entidades o mediante un conjunto de relaciones
Prestamo (numero_prestamo, importe)

Cliente (id_cliente, nombre_cliente, direccion_cliente,) Sucursal (id_sucursal, nombre_sucursal, direccion_sucursal, activos) Prestamo (id_cliente, id_sucursal, numero_prestamo, importe)

Regla?: Designar un conjunto de relaciones para describir una accin que ocurre entre entidades
Cuestiones de Dise Diseo y Extensiones 78

Ubicaci Ubicacin de los Atributos


Dnde colocar un atributo, en el conjunto de relaciones o en el conjunto de entidades? La razn de cardinalidad (1-1, 1-N) de una relacin puede afectar a la situacin de los atributos
En nuestro modelo es N-N

Relaciones binarias o nn-arias


El mundo real parece muchas veces lleno de relaciones n-arias
Descendencia (nombre_hijo, nombre_padre, nombre_madre) Contrato (Pelcula, Estrella, Estudio, ConvenioSalario)

Impositor (id_cliente, numero_cuenta) 1-N fecha_acceso Cliente (id_cliente, nombre_cliente, direccion_cliente) Cuenta (numero_cuenta, saldo)

Siempre es posible reemplazar un conjunto de relaciones no binarias (n-arias, n>2) por un nmero de n conjuntos de relaciones binarias 1 4 3 2 1 3

2
80

Cuestiones de Dise Diseo y Extensiones

79

Cuestiones de Dise Diseo y Extensiones

Especializaci Especializacin
Un conjunto de entidades puede incluir subgrupos de entidades que se diferencien (se especializan) de alguna forma de las otras entidades del conjunto
Persona ES

Generalizaci Generalizacin
Varios conjuntos de entidades se sintetizan (se generalizan) en un conjunto de entidades de nivel ms alto basado en caractersticas comunes
Persona ES

Persona (id, nombre, direccion) Cliente = Persona + Empleado = Persona +


Empleado ES

Superclase Subclase
Empleado ES

Cliente

Cajero = Empleado + Secretario = Empleado + Oficial = Empleado +

Cliente

Subclases El modelo E/R soporta una forma de describir casos especiales de conjuntos de entidades Utiliza una relacin especial ES para representar el hecho de que un conjunto entidad es un caso especial de otro

Cuestiones de Dise Diseo y Extensiones

81

Cuestiones de Dise Diseo y Extensiones

82

Herencia de Atributos
La herencia de atributos es una propiedad crucial de las entidades de nivel alto (superclase) y bajo (subclase) creadas mediante especializacin y generalizacin Los atributos de los conjuntos de entidades de nivel alto son heredados por los conjuntos de entidades de nivel bajo Un conjunto de entidades de nivel bajo tambin hereda la participacin en los conjuntos de relaciones en los que participa su conjuntos de entidades de nivel alto
Cuestiones de Dise Diseo y Extensiones 83

Restricciones
Se pueden aplicar restricciones sobre las jerarquas formadas por especializacin-generalizacin Pertenencia por condicin: se evala una condicin para decidir en que conjunto de entidades de nivel bajo est una entidad de nivel alto Pertenencia definida por el usuario Pertenencia disjunta o solapada: una entidad de nivel alto puede pertenecer a uno o varios conjuntos de entidades de nivel bajo ES

Restriccin de completitud: cada entidad del conjunto de entidades de alto nivel pertenece (total), o no (parcial), a algn conjunto de entidades de bajo nivel
Cuestiones de Dise Diseo y Extensiones 84

Entidades D Dbiles
Un conjunto de entidades de denomina dbil cuando no tiene suficientes atributos para formar una clave primaria
Pago (numero_pago, fecha_pago, importe_pago)
Iguales para todos los prstamos Iguales para todos los estudios

Causas Entidades D Dbiles


Los Conjuntos de Entidades Dbiles se deben a dos causas: Primera Causa: El Conjunto de Entidades cae dentro de una jerarqua de especializacin-generalizacin (es posible que la entidad no sea nica si no se tiene en cuenta la entidad identificadora) Segunda Causa: Los Conjuntos de Entidades de conexin (Conjuntos de Entidades que aparecen al transformar una relacin n-aria en relaciones binarias) ya que a menudo no tienen atributos propios y su clave se forma con las claves de los Conjuntos de Entidades que se conectan
85 Cuestiones de Dise Diseo y Extensiones 86

EquipoProduccin (numero_equipo, jefe)

Un conjunto de entidades dbil tiene sentido cuando est asociada a otro conjunto de entidades (fuerte) [conjunto de entidades identificadoras o propietarias] Existe dependencia existencial
Cuestiones de Dise Diseo y Extensiones

Entidades D Dbiles
Se establece una relacin 1-N (relacin identificadora) entre el conjunto de entidades identificadoras y el conjunto de entidades dbiles
Prstamo PagoPrst Pago

Notaciones
No hay ningn estndar universal para la notacin de los diagramas E-R Notacin Tradicional o Chen

Clave Primaria: Clave primaria del conjunto de entidades fuerte ms el discriminante (clave parcial) del conjunto de entidades dbiles Atributo compuesto multivalorado
Conjuntos de Entidades Dbiles Una complejidad espordica que se presenta en el modelo E/R es la aparicin de conjuntos de entidades dbiles que requieren de algn conjunto o conjuntos relacionados para identificar sus propias entidades

UML

Cuestiones de Dise Diseo y Extensiones

87

Cuestiones de Dise Diseo y Extensiones

88

UML
El lenguaje de modelado unificado (UML) es un estndar propuesto para la creacin de especificaciones de varios componentes de un sistema software Diagrama de Clase: Similar al diagrama E-R Diagramas de Caso de Uso: Muestran la interaccin de los usuarios con el sistema Diagrama de Actividad: Flujo de tareas entre componentes Diagrama de Implementacin: Interconexiones a nivel software y hardware
Cuestiones de Dise Diseo y Extensiones 89

Comparaci Comparacin Notaciones


Chen Conjunto de Entidades Conjunto de Relaciones e e r e e UML e r e e Pe de Cuervo e r e

e Atributos at at (pk) /at[]

e at at
90

Cuestiones de Dise Diseo y Extensiones

Elecciones de Dise Diseador

Diseo de un Esquema de Base de Datos E-R


Modelo EntidadEntidad-Relaci Relacin Bases de Datos Ingenier Ingeniera T Tcnica en Inform Informtica de Sistemas

El modelo de datos E-R permite una gran flexibilidad a la hora de disear el esquema de bases de datos El diseador de la base de datos tiene un amplio rango de alternativas donde escoger Sus elecciones sern decisivas para definir el potencial del esquema desarrollado Dos esquemas que funcionen pueden tener una calidad muy diferente

Dise Diseo de un Esquema de Base de Datos EE-R

92

Decisiones
El diseador necesita un perfecto entendimiento de la porcin de mundo real que va a modelar

Fases de Dise Diseo

Si se usa un atributo o un conjunto de entidades para representar un objeto del mundo real Si un concepto del mundo real se expresa ms exactamente mediante un conjunto de entidades o mediante un conjunto de relaciones Si se usa una relacin ternaria o un par de relaciones binarias Si se usa un conjunto de entidades fuertes o dbiles Si es adecuado el uso de una jerarqua (especializacin-generalizacin) Si es adecuado el uso de agregacin
Dise Diseo de un Esquema de Base de Datos EE-R 93

caracterizar completamente las necesidades de datos esperadas por los usuarios de la base de datos

Modelo Conceptual

Especificacin de los requisitos del usuario

Eleccin del Modelo de Datos (E-R)


94

Dise Diseo de un Esquema de Base de Datos EE-R

Fases de Dise Diseo

Diseo Lgico

Temas de Discusin y Ejercicios


Modelo EntidadEntidad-Relaci Relacin Bases de Datos Ingenier Ingeniera T Tcnica en Inform Informtica de Sistemas 95

Especificacin de los requisitos funcionales

Eleccin del Sistema de Gestin de Bases de Datos

Dise Diseo de un Esquema de Base de Datos EE-R

Temas de Discusi Discusin


Atributos reales (que existan en el mundo real) que hayan sido creados con el fin de ser claves Ventajas y desventajas de las notaciones Chen, UML y en pie de cuervo

Ejercicios
Realizar el Modelo Entidad-Relacin, en notacin Chen, para los ejemplos 2 (biblioteca), 3 (videoclub) y 4 (pelculas) del apartado Conceptos Bsicos Realizar el Modelo Entidad-Relacin, en notacin UML, para los ejemplos 2 (biblioteca), 3 (videoclub) del apartado Conceptos Bsicos Realizar el Modelo Entidad-Relacin, en notacin pie de cuervo, para el ejemplo 4 (pelculas) del apartado Conceptos Bsicos

Temas de Discusi Discusin y Ejercicios

97

Temas de Discusi Discusin y Ejercicios

98

También podría gustarte