manual

15
Modelo Modelo Entidad Entidad - - Relaci Relaci ó ó n n Bases de Datos Bases de Datos Ingenier Ingeniería T a Técnica en Inform cnica en Informática de Sistema tica de Sistema Entidad Entidad-Relaci Relación Introducci Introducción 2 Está basado en una percepción del mundo real consistente en objetos básicos llamados entidades y en relaciones entre esos objetos Entidad persona se relaciona con entidad libro mediante la relación consultar Una persona consulta un libro Sem Semántica en E ntica en E-R Introducci Introducción 3 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ón Entidad 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 Í Índice ndice Introducci Introducción 4 Conceptos Conceptos B B á á sicos sicos Modelo Entidad Modelo Entidad-Relaci Relación Bases de Datos Bases de Datos Ingenier Ingeniería T a Técnica en Inform cnica en Informática de Sistemas tica de Sistemas Entidad Entidad Conceptos B Conceptos Básicos sicos 6 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

description

manual de teoria de bases de datos

Transcript of manual

Page 1: manual

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

Page 2: manual

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, …)

Page 3: manual

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

Page 4: manual

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)

Page 5: manual

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

Page 6: manual

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)

Page 7: manual

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

Page 8: manual

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)

Page 9: manual

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

Page 10: manual

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

Page 11: manual

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

Page 12: manual

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

Page 13: manual

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

Page 14: manual

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

Page 15: manual

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