1
Modelo Modelo EntidadEntidad--RelaciRelacióónn
Bases de DatosBases de DatosIngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistematica de Sistema
EntidadEntidad--RelaciRelacióónn
IntroducciIntroduccióónn 22
Está basado en una percepción del mundo realconsistente en objetos básicos llamados entidadesy en relaciones entre esos objetos
Entidad persona se relaciona con entidad libro mediante la relación consultar
Una persona consulta un libro
SemSemáántica en Entica en E--RR
IntroducciIntroduccióónn 33
El aspecto semántico del modelo yace en la representación del significado de los datos
Está pensado para representar la estructura lógica de una base de datos
AviónEntidad avión se relaciona con entidad naranja mediante la relación saltar
Saltar
Naranja
Conceptos Básicos
Diagrama Entidad-Relación
Cuestiones de Diseño y Extensiones
Diseño de un Esquema de Base de Datos E-R
ÍÍndicendice
IntroducciIntroduccióónn 44
Conceptos Conceptos BBáásicossicos
Modelo EntidadModelo Entidad--RelaciRelacióónnBases de DatosBases de Datos
IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de Sistemas
EntidadEntidad
Conceptos BConceptos Báásicossicos 66
Una entidad es una “cosa” u “objeto” en el mundo real que es distinguible de todos los demás objetos
Una entidad tiene un conjunto de propiedades, y los valores para algún subconjunto de propiedades pueden identificar una entidad de forma unívoca
DNI: 326573456
ISBN: 35266774888
REF: 6509132528
2
Conjunto de EntidadesConjunto de Entidades
Conceptos BConceptos Báásicossicos 77
Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades (no sus valores)
Cliente
Préstamo
Libro
Vídeo
Los conjuntos de entidades no tienen porque ser disjuntos:
Empleados
ClientesPersona
AtributosAtributos
Conceptos BConceptos Báásicossicos 88
Una entidad se representa mediante un conjunto de atributos
Los atributos describen propiedades que posee cada miembro de un conjunto de entidades
Cliente: identificativo de cliente, nombre de cliente, calle dónde vive el cliente, ciudad dónde vive el cliente, …
Libro: identificativo del libro, autor del libro, editorial del libro, idioma en que está escrito el libro, …
Valor de AtributoValor de Atributo
Conceptos BConceptos Báásicossicos 99
Cada entidad tiene un valor para cada uno de sus atributos
SantiagoClavelesPenas22.244.466A CoruñaJazminesRodríguez54.678.999
LugoRosalesSantos32.644.234ciudadcallenombreidentificador
Habitualmente son simples y monovalorados
DominioDominio
Conceptos BConceptos Báásicossicos 1010
El dominio (conjunto de valores) de un atributo es el conjunto de valores permitidos
Autor del libro: cadenas de caracteres de una cierta longitud
Año de nacimiento del cliente: números de cuatro cifras
Atributos CompuestosAtributos Compuestos
Conceptos BConceptos Báásicossicos 1111
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
Dirección del cliente Calle del cliente, número de calle del cliente, piso del cliente, puerta del cliente, código postal del cliente
Los atributos compuestos hacen más claro el modelo agrupando atributos relacionados
Atributos Atributos MultivaloradosMultivalorados
Conceptos BConceptos Báásicossicos 1212
Un atributo multivalorado es aquel que puede tener un conjunto de valores
Teléfono de cliente Algunos clientes no tienen teléfono y otros pueden tener varios (fijo casa, fijo oficina, móvil, …)
3
Atributos DerivadosAtributos Derivados
Conceptos BConceptos Báásicossicos 1313
Los atributos derivados son aquellos cuyo valor se puede derivar del valor de otros atributos
Edad de cliente Año actual menos año de nacimiento
Número de libros prestados Contar el número de préstamos activos
Valor NuloValor Nulo
Conceptos BConceptos Báásicossicos 1414
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)
Mucho cuidado con los valores nulos y con su tratamiento
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 1515
Conjuntos de Entidades
Cliente (nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente)
Sucursal (nombre_sucursal, direccion_sucursal, ciudad_sucursal, activos)
Cuenta (numero_cuenta, saldo)
Prestamo (numero_prestamo, importe_inicial, resto)
Ejemplo 2: BibliotecaEjemplo 2: Biblioteca
Conceptos BConceptos Báásicossicos 1616
Conjuntos de Entidades
Usuario (nombre, apellido1, apellido2, direccion, codigopostal, ciudad)
Libro (titulo, autor, editorial, año)
Ejemplo 3: VideoclubEjemplo 3: Videoclub
Conceptos BConceptos Báásicossicos 1717
Conjuntos de Entidades
Socio (nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta)
Pelicula (titulo, genero, duracion, clasificacion, año, pais, precioalquiler)
RelaciRelacióónn
Conceptos BConceptos Báásicossicos 1818
Una relación es una asociación entrediferentes entidades
Pedir un préstamo
Préstamo de un libro
Alquilar una película
4
Conjunto de RelacionesConjunto de Relaciones
Conceptos BConceptos Báásicossicos 1919
Un conjunto de relaciones es un grupo de relaciones del mismo tipo
Formalmente: Relación matemática, con n>=2, de n conjunto de entidades
Sean E1, E2, …, En conjuntos de entidades, entonces un conjunto de relaciones R es un subconjunto de
(e1, e2, …, en) | e1€E1, e2€E2, …, en€En
Se dice que las entidades participan en la relación
Conjunto de RelacionesConjunto de Relaciones
Conceptos BConceptos Báásicossicos 2020
La concesión de un préstamo a un cliente
La pertenencia de un préstamo a una sucursal
La apertura de una cuenta por un cliente en una sucursal
El préstamo de un libro a un usuario de la biblioteca
El alquiler de una película a un socio en el videoclub
Papel de la EntidadPapel de la Entidad
Conceptos BConceptos Báásicossicos 2121
El papel de una entidad en una relación especifica la función que desempeña esa entidad en esa relación
En la mayor parte de los casos, cuando las entidades son disjuntas, los papeles están implícitos
Son útiles cuando la relación necesita aclaración relaciones recursivas
Relación “trabaja para” que especifica quién es el jefe de quién en el banco (entidades: empleado y empleado)
AtributosAtributos
Conceptos BConceptos Báásicossicos 2222
Una relación puede tener atributos descriptivosque describan aspectos propios de la relación (no pertenecen a las entidades implicadas)
Para describir el ingreso en cuenta, por parte del cliente, de una cantidad:
fecha de imposición, persona que realiza la imposición, importe, …
Una relación debe estar identificada unívocamente a partir de sus entidades participantes, sin usar atributos descriptivo
Conjunto de Relaciones BinarioConjunto de Relaciones Binario
Conceptos BConceptos Báásicossicos 2323
Un conjunto de relaciones binario es un conjunto de relaciones que implica dos conjuntos de entidades
La mayoría de los conjuntos de relaciones en un sistema de bases de datos son binarios (grado 2)
La relación “trabaja de en” entre los conjuntos de entidades empleado, sucursal y puesto es una relación ternaria (grado 3)
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 2424
Conjuntos de Relaciones
Impositor (Cliente, Cuenta)
Prestatario (Cliente, Prestamo)
SucursalCuenta (Sucursal, Cuenta)
SucursalPrestamo (Sucursal, Prestamo)
Cliente (nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente)
Sucursal (nombre_sucursal, direccion_sucursal, ciudad_sucursal, activos)
Cuenta (numero_cuenta, saldo)
Prestamo (numero_prestamo, importe_inicial, resto)
5
Ejemplo 2: BibliotecaEjemplo 2: Biblioteca
Conceptos BConceptos Báásicossicos 2525
Conjuntos de Relaciones
Prestamo (Usuario, Libro)
Usuario (nombre, apellido1, apellido2, direccion, codigopostal, ciudad)
Libro (titulo, autor, editorial, año)
Ejemplo 3: VideoclubEjemplo 3: Videoclub
Conceptos BConceptos Báásicossicos 2626
Conjuntos de Relaciones
Alquiler (Socio, Pelicula)
Socio (nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta)
Pelicula (titulo, genero, duracion, clasificacion, año, pais, precioalquiler)
RestriccionesRestricciones
Conceptos BConceptos Báásicossicos 2727
Las restricciones expresan limitaciones a las que se deben adaptar los contenidos de la base de datos
Correspondencia de cardinalidades
Restricciones de participación
CorrespCorresp. de . de CardinalidadesCardinalidades
Conceptos BConceptos Báásicossicos 2828
La correspondencia de cardinalidades, o razón de cardinalidad, expresa el número de entidades de un conjunto de entidades a las que una entidad de otro conjunto de entidades puede estar asociada vía un conjunto de relaciones
¿Cuántas cuentas puede tener un cliente?
¿Puede un usuario llevarse prestados varios libros?
Conjunto de relaciones binarias R entre los conjuntos de entidades A y B
Tipos de C. de Tipos de C. de CardinalidadesCardinalidades
Conceptos BConceptos Báásicossicos 2929
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 número 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 número de entidades en A
Varios a Varios: Una entidad en A se asocia con cualquier número de entidades en B, y una entidad en B se asocia con cualquier número de entidades en A
Uno a UnoUno a Uno
Conceptos BConceptos Báásicossicos 3030
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
6
Uno a VariosUno a Varios
Conceptos BConceptos Báásicossicos 3131
Uno a Varios: Una entidad en A se asocia con cualquier número de entidades en B; una entidad en B se puede asociar con a lo sumo una entidad en A
Varios a UnoVarios a Uno
Conceptos BConceptos Báásicossicos 3232
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 número de entidades en A
Varios a VariosVarios a Varios
Conceptos BConceptos Báásicossicos 3333
Varios a Varios: Una entidad en A se asocia con cualquier número de entidades en B, y una entidad en Bse asocia con cualquier número de entidades en A
C. C. CardinalidadesCardinalidades AdecuadaAdecuada
Conceptos BConceptos Báásicossicos 3434
La correspondencia de cardinalidades apropiada para un conjunto de relaciones particular depende, obviamente, de la situación del mundo real que modela el conjunto de relaciones
Impositor (Cliente, Cuenta)Cliente (nombre_cliente, apellido1_cliente,
apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente)
Cuenta (numero_cuenta, saldo)
N-NN-11-N1-1 ?
ParticipaciParticipacióónn
Conceptos BConceptos Báásicossicos 3535
La participación de un conjunto de entidades en un conjunto de relaciones se dice que es total si cada entidad participa al menos en una relación
Si sólo participan algunas entidades se dice que la participación del conjunto de entidades en el conjunto de relaciones es parcial
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 3636
Conjuntos de Relaciones
Impositor (Cliente, Cuenta) N-N
Prestatario (Cliente, Prestamo) N-N
SucursalCuenta (Sucursal, Cuenta) 1-N
SucursalPrestamo (Sucursal, Prestamo) 1-N
Cliente (nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente)
Sucursal (nombre_sucursal, direccion_sucursal, ciudad_sucursal, activos)
Cuenta (numero_cuenta, saldo)
Prestamo (numero_prestamo, importe_inicial, resto)
7
Ejemplo 2: BibliotecaEjemplo 2: Biblioteca
Conceptos BConceptos Báásicossicos 3737
Conjuntos de Relaciones
Prestamo (Usuario, Libro) 1-N
Usuario (nombre, apellido1, apellido2, direccion, codigopostal, ciudad)
Libro (titulo, autor, editorial, año)
Ejemplo 3: VideoclubEjemplo 3: Videoclub
Conceptos BConceptos Báásicossicos 3838
Conjuntos de Relaciones
Alquiler (Socio, Pelicula) 1-N
Socio (nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta)
Pelicula (titulo, genero, duracion, clasificacion, año, pais, precioalquiler)
ClavesClaves
Conceptos BConceptos Báásicossicos 3939
Es necesario disponer de una forma de especificar cómo, las entidades dentro de un conjunto de entidades dado y las relaciones dentro de un conjunto de relaciones dado, son distinguibles
Una entidad es una “cosa” u “objeto” en el mundo real que es distinguible de todos los demás objetos
Una clave es un conjunto suficiente de atributos capaces de distinguir las entidades (relaciones) de un conjunto de entidades (conjunto de relaciones) entre si (no sólo conceptualmente sino desde una perspectiva de bases de datos)
SuperclaveSuperclave
Conceptos BConceptos Báásicossicos 4040
Una superclave es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una entidad en un conjunto de entidades
Si un conjunto de atributos es una superclave, entonces también lo es cualquier superconjuntode ese conjunto inicial de atributos
nombre_cliente
nombre_cliente, apellido1_cliente, apellido2_cliente
nombre_cliente, apellido1_cliente, apellido2_cliente , codigopostal_cliente
Claves CandidatasClaves Candidatas
Conceptos BConceptos Báásicossicos 4141
Una clave candidata es una superclave tal que un subconjunto de ella no es, también, una superclave
nombre_cliente, codigopostal_cliente
apellido1_cliente, apellido2_cliente
Clave PrimariaClave Primaria
Conceptos BConceptos Báásicossicos 4242
Una clave primaria es una clave candidata que es elegida por el diseñador de la base de datos como elemento principal para identificar las entidadesdentro 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 elección de una clave representa una restricción 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
8
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 4343
Impositor (Cliente, Cuenta) N-N
Prestatario (Cliente, Prestamo) N-N
SucursalCuenta (Sucursal, Cuenta) 1-N
SucursalPrestamo (Sucursal, Prestamo) 1-N
Cliente (id_cliente, nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente)
Sucursal (id_sucursal, nombre_sucursal, direccion_sucursal, ciudad_sucursal, activos)
Cuenta (numero_cuenta, saldo)
Prestamo (numero_prestamo, importe_inicial, resto)
Ejemplo 2: BibliotecaEjemplo 2: Biblioteca
Conceptos BConceptos Báásicossicos 4444
Prestamo (Usuario, Libro) 1-N
Usuario (id_usuario, nombre, apellido1, apellido2, direccion, codigopostal, ciudad)
Libro (isbn, titulo, autor, editorial, año)
Ejemplo 3: VideoclubEjemplo 3: Videoclub
Conceptos BConceptos Báásicossicos 4545
Alquiler (Socio, Pelicula) 1-N
Socio (numero_socio, nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta)
Pelicula (codigo_pelicula, titulo, genero, duracion, clasificacion, año, pais, precioalquiler)
Clave Primaria de RelaciClave Primaria de Relacióónn
Conceptos BConceptos Báásicossicos 4646
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; Asúmase que los nombre de los atributos de todas las claves primarias son únicos y que cada entidad participa sólo una vez en al relación
ClavePrimaria(E1) ∪ ClavePrimaria(E2) ∪ …∪ ClavePrimaria(En) forma una superclave para el conjunto de relaciones
La clave primaria depende de la correspondencia de cardinalidades de los conjuntos de entidades que participan en la relación
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 4747
Impositor (id_cliente, numero_cuenta) N-N
Prestatario (id_cliente, numero_prestamo) N-N
SucursalCuenta (id_sucursal, numero_cuenta) 1-N
SucursalPrestamo (id_sucursal, numero_prestamo) 1-N
Cliente (id_cliente, nombre_cliente, apellido1_cliente, apellido2_cliente, direccion_cliente, codigopostal_cliente, ciudad_cliente)
Sucursal (id_sucursal, nombre_sucursal, direccion_sucursal, ciudad_sucursal, activos)
Cuenta (numero_cuenta, saldo)
Prestamo (numero_prestamo, importe_inicial, resto)
Ejemplo 2: BibliotecaEjemplo 2: Biblioteca
Conceptos BConceptos Báásicossicos 4848
Prestamo (id_usuario, isbn) 1-N
Usuario (id_usuario, nombre, apellido1, apellido2, direccion, codigopostal, ciudad)
Libro (isbn, titulo, autor, editorial, año)
9
Ejemplo 3: VideoclubEjemplo 3: Videoclub
Conceptos BConceptos Báásicossicos 4949
Alquiler (numero_socio, codigo_pelicula) 1-N
Socio (numero_socio, nombre_socio, apellidos_socio, direccion_socio, telefono_socio, ciudad_socio, fechaalta)
Pelicula (codigo_pelicula, titulo, genero, duracion, clasificacion, año, pais, precioalquiler)
Diagrama Diagrama EntidadEntidad--RelaciRelacióónn
Modelo EntidadModelo Entidad--RelaciRelacióónnBases de DatosBases de Datos
IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de Sistemas
E R E
Diagrama EDiagrama E--RR
Diagrama EntidadDiagrama Entidad--RelaciRelacióónn 5151
El diagrama Entidad-Relación permite expresar gráficamente la estructura lógica general de una base de datos (su simpleza y claridad son las responsables de su uso generalizado)
Rectángulos: Representan conjuntos de entidades
Elipses: Representan atributos
Rombos: Representan conjuntos de relaciones
Líneas: Unen atributos a conjuntos de entidades o a conjuntos de relaciones y conjuntos de entidades a conjuntos de relaciones ( uno; varios)
Otros ComponentesOtros Componentes
Diagrama EntidadDiagrama Entidad--RelaciRelacióónn 5252
Elipses Dobles: Representan atributos multivalorados
Elipses Discontinuas: Representan atributos derivados
Líneas Dobles: Indican participación total de un conjunto de entidades en un conjuntos de relaciones
Rectángulos Dobles: Representan conjuntos de entidades débiles
EntidadesEntidades
Conceptos BConceptos Báásicossicos 5353
Cuenta
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 5454
Cliente
Cuenta
Préstamo
Sucursal
10
AtributosAtributos
Conceptos BConceptos Báásicossicos 5555
Cliente
Cuenta Sucursal
dirección
calle cod post
teléfono f. nacim
edad
Atributos compuestos
Atributos multivalorados
Atributos derivados
num_cu saldo
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 5656
Cliente
Cuenta
Préstamo
Sucursal
id_cli
nomb_cli
ap1_cliap2_cli
direc_cli
cpost_cliciud_cli
id_suc
nom_suc
direc_succiud_suc
activos
num_cusaldo
num_preimp_ini
resto
RelacionesRelaciones
Conceptos BConceptos Báásicossicos 5757
Cuenta SucursalSucCuenta
fecha impositor
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 5858
Cliente
Cuenta
Préstamo
Sucursal
id_cli
nomb_cli
ap1_cliap2_cli
direc_cli
cpost_cliciud_cli
id_suc
nom_suc
direc_succiud_suc
activos
num_cusaldo
num_preimp_ini
resto
SucCuenta
Prestatario
Impositor SucPresta
CorrespCorresp. de . de CardinalidadesCardinalidades
Conceptos BConceptos Báásicossicos 5959
Cliente
Cuenta SucursalSucCuenta
Impositor
1N
N
N
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 6060
Cliente
Cuenta
Préstamo
Sucursal
id_cli
nomb_cli
ap1_cliap2_cli
direc_cli
cpost_cliciud_cli
id_suc
nom_suc
direc_succiud_suc
activos
num_cusaldo
num_preimp_ini
resto
SucCuenta
Prestatario
Impositor SucPresta
11
ClavesClaves
Conceptos BConceptos Báásicossicos 6161
Cuenta
num_cu saldo
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 6262
Cliente
Cuenta
Préstamo
Sucursal
id_cli
nomb_cli
ap1_cliap2_cli
direc_cli
cpost_cliciud_cli
id_suc
nom_suc
direc_succiud_suc
activos
num_cusaldo
num_preimp_ini
resto
SucCuenta
Prestatario
Impositor SucPresta
ParticipaciParticipacióónn
Conceptos BConceptos Báásicossicos 6363
Cuenta SucursalSucCuenta
fecha impositor
Ejemplo 1: BancoEjemplo 1: Banco
Conceptos BConceptos Báásicossicos 6464
Cliente
Cuenta
Préstamo
Sucursal
id_cli
nomb_cli
ap1_cliap2_cli
direc_cli
cpost_cliciud_cli
id_suc
nom_suc
direc_succiud_suc
activos
num_cusaldo
num_preimp_ini
resto
SucCuenta
Prestatario
Impositor SucPresta
Ejemplo 2: BibliotecaEjemplo 2: Biblioteca
Conceptos BConceptos Báásicossicos 6565
Usuario Libros
isbn
título
autor
editorial
añociudad
ape1
Préstamo
codpostal
dirección
ape2
nombre
id_usu
Ejemplo 3: VideoclubEjemplo 3: Videoclub
Conceptos BConceptos Báásicossicos 6666
Socio Película
duración
clasific
genero
título
cod_pelifech_alta
ape_soc
Alquiler
Ciu_soc
direc_soc
tel_soc
nom_soc
num_soc
año
país
precioalq
12
Cuestiones de Cuestiones de DiseDiseñño y o y
ExtensionesExtensionesModelo EntidadModelo Entidad--RelaciRelacióónn
Bases de DatosBases de DatosIngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de Sistemas
Conj. Entidades o AtributosConj. Entidades o Atributos
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 6868
¿Cuándo y por qué un determinado “objeto” es un conjunto de entidades y cuándo y por qué es un atributo?
No hay una respuesta simple; Depende, principalmente, de la estructura de la porción de mundo real que se esté modelando y de la semántica asociada al “objeto” particular
Empleado (nombre, teléfono)Empleado (nombre)Teléfono (número, ubicación, color)TeléfonodeEmpleado (nombre, número)
C. Entidades o C. RelacionesC. Entidades o C. Relaciones
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 6969
No siempre está claro si es mejor expresar un objeto mediante un conjunto de entidades o mediante un conjunto de relaciones
¿Regla?: Designar un conjunto de relaciones para describir una acción que ocurre entre entidades
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)
Relaciones binarias o nRelaciones binarias o n--ariasarias
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7070
El mundo real parece muchas veces lleno de relaciones n-arias
Descendencia (nombre_hijo, nombre_padre, nombre_madre)
Siempre es posible reemplazar un conjunto de relaciones no binarias (n-arias, n>2) por un número de diferentes conjuntos de relaciones binarias
UbicaciUbicacióón de los Atributosn de los Atributos
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7171
¿Dónde colocar un atributo, en el conjunto de relaciones o en el conjunto de entidades?
La razón de cardinalidad (1-1, 1-N) de una relación puede afectar a la situación de los atributos
Impositor (id_cliente, numero_cuenta) 1-N
Cliente (id_cliente, nombre_cliente, direccion_cliente)
Cuenta (numero_cuenta, saldo)
En nuestro modelo es N-N
fecha_acceso
Entidades DEntidades Déébilesbiles
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7272
Un conjunto de entidades de denomina débilcuando no tiene suficientes atributos para formar una clave primaria
Pago (numero_pago, fecha_pago, importe_pago)
Iguales para todos los préstamos
Un conjunto de entidades débil tiene sentido cuando estáasociada a otro conjunto de entidades (fuerte) [conjunto de entidades identificadoras o propietarias]
Existe dependencia existencial
13
Entidades DEntidades Déébilesbiles
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7373
Se establece una relación 1-N (relación identificadora) entre el conjunto de entidades identificadoras y el conjunto de entidades débiles
Préstamo PagoPagoPrést
Clave Primaria: Clave primaria del conjunto de entidades fuerte más el discriminante (clave parcial) del conjunto de entidades débiles
Atributo compuesto multivalorado
EspecializaciEspecializacióónn
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7474
Un conjunto de entidades puede incluir subgrupos de entidades que se diferencien (se especializan) de alguna forma de las otras entidades del conjunto
Persona (id, nombre, direccion)
Cliente = Persona + …
Empleado = Persona + …
Cajero = Empleado + …
Secretario = Empleado + …
Oficial = Empleado + …
Persona
Cliente Empleado
ES
ES
GeneralizaciGeneralizacióónn
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7575
Varios conjuntos de entidades se sintetizan (se generalizan) en un conjunto de entidades de nivel más alto basado en características comunes
Persona
Cliente Empleado
ES
ES
Superclase
Subclase
Herencia de AtributosHerencia de Atributos
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7676
La herencia de atributos es una propiedad crucial de las entidades de nivel alto (superclase) y bajo (subclase) creadas mediante especialización y generalización
Los atributos de los conjuntos de entidades de nivel alto son heredados por los conjuntos de entidades de nivel bajo
Un conjuntos de entidades de nivel bajo también hereda la participación en los conjuntos de relaciones en los que participa su conjuntos de entidades de nivel alto
RestriccionesRestricciones
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7777
Se pueden aplicar restricciones sobre las jerarquías formadas por especialización-generalización
Pertenencia por condición: se evalúa una condición para decidir en que conjunto de entidades de nivel bajo estáuna entidad de nivel alto
Pertenencia definida por el usuarioPertenencia disjunta o solapada: una entidad de nivel
alto puede pertenecer a uno o varios conjuntos de entidades de nivel bajo
Restricción de completitud: cada entidad del conjunto de entidades de alto nivel pertenece (total), o no (parcial), a algún conjunto de entidades de bajo nivel
ES
AgregaciAgregacióónn
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7878
La agregación es una abstracción a través de la cual las relaciones se tratan como entidades de nivel más alto
Permiten modelas relaciones entre relaciones
14
NotacionesNotaciones
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 7979
No hay ningún estándar universal para la notación de los diagramas E-R Notación
Tradicional
UML
UMLUML
Cuestiones de DiseCuestiones de Diseñño y Extensioneso y Extensiones 8080
El lenguaje de modelado unificado (UML) es un estándar propuesto para la creación de especificacionesde varios componentes de un sistema software
Diagrama de Clase: Similar al diagrama E-R
Diagramas de Caso de Uso: Muestran la interacción de los usuarios con el sistema
Diagrama de Actividad: Flujo de tareas entre componentes
Diagrama de Implementación: Interconexiones a nivel software y hardware
DiseDiseñño de un o de un Esquema de Base Esquema de Base de Datos Ede Datos E--RR
Modelo EntidadModelo Entidad--RelaciRelacióónnBases de DatosBases de Datos
IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de Sistemas
Elecciones de DiseElecciones de Diseññadorador
DiseDiseñño de un Esquema de Base de Datos Eo de un Esquema de Base de Datos E--RR 8282
El modelo de datos E-R permite una gran flexibilidada la hora de diseñar el esquema de bases de datos
El diseñador de la base de datos tiene un amplio rango de alternativas donde escoger
Sus elecciones serán decisivas para definir el potencial del esquema desarrollado
Dos esquemas que funcionen pueden tener una “calidad” muy diferente
DecisionesDecisiones
DiseDiseñño de un Esquema de Base de Datos Eo de un Esquema de Base de Datos E--RR 8383
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 más exactamente mediante un conjunto de entidades o mediante un conjunto de relaciones
Si se usa una relación ternaria o un par de relaciones binarias
Si se usa un conjunto de entidades fuertes o débiles
Si es adecuado el uso de una jerarquía (especialización-generalización)
Si es adecuado el uso de agregaciónEl d
iseñ
ador
nec
esita
un
buen
ent
endi
mie
nto
del m
undo
rea
l que
va
a m
odel
ar
Fases de DiseFases de Diseññoo
DiseDiseñño de un Esquema de Base de Datos Eo de un Esquema de Base de Datos E--RR 8484
caracterizar completamentelas necesidades de datos esperadas por los usuarios de la base de datos
Especificación de los requisitos del usuario
Elección del Modelo de Datos (E-R)
Modelo Conceptual
15
Fases de DiseFases de Diseññoo
DiseDiseñño de un Esquema de Base de Datos Eo de un Esquema de Base de Datos E--RR 8585
Especificación de los requisitos funcionales
Elección del Sistema de Gestión de Bases de Datos
Diseño Lógico
Top Related