Diseño de Base de Datos

42
Diseño Conceptual: Modelo E/R Guía metodológica para abordar la resolución de los problemas La presente es un instrumento de apoyo para los estudiantes de Informática del ISEP Gregoria Santos, que pretendan dominar las diversas técnicas requeridas para el Diseño de Base de Datos.

Transcript of Diseño de Base de Datos

Page 1: Diseño de Base de Datos

Diseño Conceptual: Modelo E/RGuía metodológica para abordar la resolución de los problemas

La presente es un instrumento de apoyo para los estudiantes de Informática del ISEP Gregoria Santos, que pretendan dominar las diversas técnicas requeridas para el Diseño de Base de Datos.

Page 2: Diseño de Base de Datos

Parte 1Algunas heurísticas para la identificación de los distintos constructores.

Page 3: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 3

Abordar el problemaLa elaboración de un esquema

E/R que recoja la semántica de un determinado Universo del Discurso (planteamiento) es un proceso creativo para el que no existe un procedimiento definido. Sin embargo, si es posible seguir una serie de recomendaciones o heurísticas que nos ayuden en el diseño.

Page 4: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 4

SemánticaEstudio de los símbolos (notación

gráfica) y sus combinaciones para la creación de un esquema (Diseño de la Base de Datos).

Page 5: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 5

Heurística

1. f. Técnica de la indagación y del descubrimiento.

2. En el campo informático, es considerada como manera de buscar la solución de un problema mediante métodos no rigurosos, como por tanteo, reglas empíricas, etc.

Page 6: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 6

Heurísticas para la identificación de los distintos constructoresEl modelo E/R, prevé el uso de

constructores que ayudan a recoger mayor semántica del planteamiento del problema, como:◦Cardinalidades mínimas y máximas

en las interrelaciones.◦Generalizaciones.◦Dependencia de existencia y en

identificación.

Page 7: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 7

Las entidadesSon los objetos (conceptos) sobre

los que debe recogerse información (denotan personas, lugares, cosas o eventos de interés).◦En el enunciado habitualmente se

muestran como nombres.A cada una de las posibles

ocurrencias (cada persona, lugar, cosa o evento concreto de la entidad se le denomina ejemplar.

Page 8: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 8

Los atributosSe utilizan para detallar las

entidades asignándose propiedades descriptivas tales como: nombre, color, peso.

Existen dos tipos de atributos: Identificadores y descriptores.

No sólo es posible especificar atributos en las entidades, sino también en la interrelaciones.

En el enunciado aparecen como nombres.

Page 9: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 9

Atributos en las relacionesLas relaciones también pueden

tener atributos.

CLIENTE compra PRODUCTO

1:N(1:n)(0:1)

fecha

Page 10: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 10

Identificadores y Descriptores

Los atributos identificadores, se utilizan para distinguir de manera única cada una de las ocurrencias de una entidad (pueden ser Principales y Alternativos).

Los atributos descriptores, se utilizan para describir una ocurrencia de entidad.

También existe el concepto de dominio (conjunto de valores sobre los que se define).

Page 11: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 11

Representación en el esquema E/RLa entidad

EMPLEADO puede tener el atributo "estado civil" definido sobre el dominio "Estados civiles" (compuesto por los valores: soltero, casado, viudo, divorciado)

EMPLEADO

Estado Civil

EMPLEADO

Estados Civiles

Estado Civil

Page 12: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 12

Dependencia de los atributos identificadores según su fuerzaLas entidades fuertes tienen

existencia propia; es decir, poseen identificadores internos que determinan de manera única la existencia de sus ocurrencias.

Ejemplo:

Page 13: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 13

Las entidades débilesSe determinan por dos causales:1. Su existencia en la BD depende de una

entidad fuerte (para su identificación, requiere de los atributos identificadores de otra entidad). Dependencia en existencia.

2. No poseen identificadores internos que permitan la identificación de cada una de las ocurrencias y requieren la presencia de atributos externos. Dependencia en identificación.

Page 14: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 14

Las interrelacionesRepresentan asociaciones del

mundo real entre una o más entidades.

Se caracterizan por:Su nombre, el grado (número de

entidades que participan en la interrelación), tipo de correspondencia

Page 15: Diseño de Base de Datos

Parte 2Algunas heurísticas para la elección entre varios constructores.

Page 16: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 16

Restricción de la cardinalidadSe definen las cardinalidades

máximas y mínimas de las entidades que participan en una interrelación; como, el número máximo y mínimo de ejemplares de una entidad que puede relacionarse con un único ejemplar de la otra, u otras entidades que participan en la interrelación.

Page 17: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 17

Representación de las restricciones de cardinalidad

(1:N) en EMPLEADO indica que un ejemplar de la entidad PROYECTO esta relacionado con uno o más ejemplares de la entidad EMPLEADO en la interrelación participar.

(0:1) en PROYECTO indica que un ejemplar de la entidad empleado está relacionado con cero o un ejemplar de la entidad PROYECTO en la interrelación participar

PROYECTOparticipa

rEMPLEADO

1:N(1:N)(0:1)

Page 18: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 18

En cuanto a las generalizacionesNos proporcionan un mecanismo

de abstracción que permite especializar una entidad (que se denominará en supertipo) en subtipo y viceversa.

De esta forma un conjunto de ocurrencias de una entidad como ocurrencias de otra entidad.

Page 19: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 19

Ejemplo:Una "Persona" es un "Animal" y

un "Reptil" es un "Animal"; en este caso "Animal" puede considerarse el supertipo y "Persona" y "Reptil" son subtipos de "Animal".

Podemos identificar generalizaciones si encontramos una serie de atributos comunes a un conjunto de entidades.

Page 20: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 20

SECRETARIO

TECNICOINGENIERO

PROYECTO

N° Emp Nombre Emp.

Salario

Page 21: Diseño de Base de Datos

Elección entre varios constructoresAunque es sencillo definir los constructores de entidad, atributo, interrelación, no es tan sencillo distinguir su papel en el modelo de BD. ¿Qué es lo que hace que un concepto sea una atributo, una entidad, o una interrelación?.

Page 22: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 22

Entidades vs. AtributosLos atributos no tienen existencia

por sí mismos sino que tienen sentido en cuanto a que pertenecen a una determinada entidad o interrelación.◦Si existe información descriptiva

sobre un concepto u objeto, entonces debería clasificarse como entidad.

◦Si solo se necesita un identificador para un objeto, el objeto debería clasificarse como un atributo.

Page 23: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 23

Entidades vs. Atributos multivaluadosCon independencia de que el

atributo sea simple o compuesto, si se sabe que tendrá un número

Page 24: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 24

Entidades vs. InterrelacionesLas interrelaciones asocian una o varias

entidades, mientras que las entidades no.Así, se ha sustantivado una interrelación y

al introducir un nuevo concepto, se ha convertido en un entidad.

La nominalización puede resultar útil en un proceso de diseño complejo, para reducir el grado de interrelación, para encontrar elementos de interés para el sistema que inicialmente no se había tenido en cuenta.

Page 25: Diseño de Base de Datos

Parte 3Como se estructuran los problemas

Page 26: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 26

1. Estudiar el enunciadoElabora dos listas:

1. Escribe los candidatos a ser entidades.

2. Escribe las posibles interrelaciones junto con sus correspondencias (cardinalidades 1:1, 1:N, N:M)

Especifica aquellos conceptos dudosos que no se sabe cómo representar… con un signo de interrogación (?).

Page 27: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 27

2. Construye una Matriz de EntidadesElabora una matriz en la que las

filas y las columnas sean las entidades. Cada celda puede contener o no nombre de interrelaciones.E1 E2 E3 … En

E1 I1 I2 -- … I3

E2 I4 15 … …

E3 16 … …

… … In

En

Page 28: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 28

… continuación.La celdas que aparecen con una

cruz se corresponden con interrelaciones que ya está especificadas en la otra mitad de la matriz.

El símbolo (--) en una celda, indica que no existe interrelaciones entre las dos entidades referenciadas.

Indica los tipos de correspondencia de cada interrelación.

Page 29: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 29

3. Construye el primer esquema E/RUtilizando la matriz de entidades

se construye un primer esquema E/R con las entidades, atributos, interrelaciones y sus tipos de correspondencia.

Page 30: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 30

4. Depura el esquema E/REstudiando las posibles redundancias

siempre y cuando existan ciclos.Varias entidades unidas por varias

interrelaciones semánticamente formado por un ciclo.

Estudiar detalladamente las cardinalidades de las interrelaciones y hacer la comprobación tanto en un sentido como en el otro.

Page 31: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 31

EnunciadoSupongamos el siguiente enunciado

sobre municipios, viviendas y personas. Cada persona sólo puede habitar en una vivienda y estar empadronada en un municipio, pero puede ser propietaria de varias viviendas. Nos interesa también conocer las personas que dependen del Cabeza de Familia (C.F.). Se indicarán los supuestos semánticos que se consideren oportunos para justificar todas las decisiones de diseño.

Page 32: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 32

1. Elaborar Lista de EntidadesDescriba los

candidatos a ser entidades e interrelaciones e indicar también los conceptos que no se sabe cómo catalogar.

MUNICIPIO

VIVIENDA

PERSONA

Page 33: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 33

… Interrelaciones

PERSONA habita VIVIENDA

PERSONA Empadro-nada MUNICIPIO

PERSONApropieda

dVIVIENDA

Page 34: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 34

a) Supuesto dados en el enunciadoCada PERSONA sólo puede

HABITAR en una VIVIENDA.Cada PERSONA puede ser

PROPIETARIA de más de una VIVIENDA.

Las PERSONAS dependen del cabeza de familia.

Una PERSONA está empadronada en un único MUNICIPIO

Page 35: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 35

b) Supuestos no dados en el enunciadoEn una VIVIENDA pueden HABITAR

muchas PERSONAS.Una VIVIENDA puede ser PROPIEDAD

de muchas PERSONAS.Una PERSONA sólo puede tener un

cabeza de familia y cabeza de familia puede serlo de varias Personas.

Un Municipio puede tener muchas viviendas y una VIVIENDA pertenece a un solo MUNICIPIO.

Page 36: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 36

Construir una matiz E/R

PERSONA MUNICIPIO VIVIENDA

PERSONA C.F. (1:N) Empadronada (1:N)

Habita (1:N)Propiedad (N:M)

MUNICIPIO -- Esté_En (N:1)

VIVIENDA --

Para crear la matriz se analiza los supuestos semánticos explícitamente representada en el enunciado, así como los que están implícitos o son de sentido común.

Page 37: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 37

3. Diagramar una versión preliminar

PERSONA

VIVIENDA

habita1:N propiedad

N:M MUNICIPIO

empadro-nada

está_en

C.F, 1:N

1:N

N:1

Page 38: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 38

4. Análisis de cardinalidades mínimasC.F..- Una persona tiene obligatoriamente

como mínimo una PERSONA que es Cabeza de Familia y una PERSONA que es cabeza de familia puede que no tenga ninguna persona a cargo.

Habita.- Una PERSONA habita como mínimo en una VIVIENDA y en una VIVIENDA puede que no habite ninguna PERSONA.

Propiedad.- Una PERSONA puede que no sea propietaria de ninguna VIVIENDA y una VIVIENDA puede que no sea propiedad de ninguna PERSONA

Page 39: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 39

4. Análisis de cardinalidades mínimasEmpadronada.- Una PERSONA

está empadronada como mínimo en un MUNICIPIO (y como máximo también) y en un MUNICIPIO como mínimo está empadronada una PERSONA.

Está_En.- Una VIVIENDA está en un único MUNICIPIO y en un MUNICIPIO hay, como mínimo, una VIVIENDA.

Page 40: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 40

4. Análisis de cardinalidades mínimas

PERSONA

VIVIENDA

habita1:N propiedad

N:M MUNICIPIO

empadro-nada

está_en

C.F 1:N

1:N

N:1

(0.n)(1.1)

(1.1)

(0.n)

(0.n)

(0.n)

(1.1)

(1.1)

(1.n)

(1.n)

Page 41: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 41

5. Análisis de redundanciasComo existen dos ciclos en el

esquema E/R hay que estudiar si existe alguna interrelación redundante, es decir, si hay alguna interrelación cuya semántica pueda obtenerse a partir de las otras interrelaciones.

Page 42: Diseño de Base de Datos

13/04/2023 Edwin Mamani López 42

5. Análisis de redundancias

PERSONA

VIVIENDA

habita1:N propiedad

N:M MUNICIPIO

está_en

C.F 1:N

N:1

(0.n)(1.1)

(1.1)

(0.n)

(0.n)

(0.n)

(1.1)

(1.n)