diseño de base de datos
TRANSCRIPT
![Page 1: Diseño de Base de Datos](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/1.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/2.jpg)
Parte 1Algunas heurísticas para la identificación de los distintos constructores.
![Page 3: Diseño de Base de Datos](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/3.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/4.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/5.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/6.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/7.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/8.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/9.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/10.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/11.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/12.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/13.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/14.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/15.jpg)
Parte 2Algunas heurísticas para la elección entre varios constructores.
![Page 16: Diseño de Base de Datos](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/16.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/17.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/18.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/19.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/20.jpg)
13/04/2023 Edwin Mamani López 20
SECRETARIO
TECNICOINGENIERO
PROYECTO
N° Emp Nombre Emp.
Salario
![Page 21: Diseño de Base de Datos](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/21.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/22.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/23.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/24.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/25.jpg)
Parte 3Como se estructuran los problemas
![Page 26: Diseño de Base de Datos](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/26.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/27.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/28.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/29.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/30.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/31.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/32.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/33.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/34.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/35.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/36.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/37.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/38.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/39.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/40.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/41.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110121/558bcf05d8b42ab20b8b4761/html5/thumbnails/42.jpg)
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)