Title: Unidad Cuatro
1Unidad Cuatro
- Metodología de Diseño de una Base de Datos
2Etapas del Diseño de Bases de Datos
- Diseño Conceptual, cuyo objetivo es obtener una
buena representación de los recursos de
información de la empresa, con independencia de
usuarios o aplicaciones en particular y fuera de
consideraciones de eficiencia del computador. - Diseño Lógico, cuyo objetivo es transformar el
esquema conceptual obtenido en la etapa anterior,
adaptándolo al modelo de datos en el que se apoya
el SGBD que se va a utilizar (modelo relacional). - Diseño Físico, cuyo objetivo es conseguir una
instrumentación lo más eficiente posible del
esquema lógico.
3Etapa 1 Diseño conceptual
- Consiste en dos etapas
- Etapa de análisis de requisitos
- Etapa de conceptualización
4Análisis de requisitos
- El análisis de requisitos debe responder a la
pregunta qué representar? Para ello hay que
estudiar las reglas de la empresa (del negocio) a
los diferentes niveles de la organización, para
elaborar una descripción de la organización.
Esquema percibido. - Puede utilizarse el lenguaje natural.
5Conceptualización
- La segunda etapa responde a la pregunta Cómo
representar?. Aquí se utilizan los modelos
conceptuales. Nosotros utilizaremos el MER y sus
extensiones, que básicamente define entidades,
atributos, interrelaciones y restricciones
semánticas. Esquema conceptual. - En el paso del esquema percibido al esquema
conceptual. No existen reglas claras que permitan
decidir que elemento es una entidad o cual otro
una interrelación. - Existen 2 enfoques Enfoque lingüístico y
categorización de objetos.
6En el enfoque lingüístico
- Un sustantivo (nombre común) que actúa como
sujeto o complemento directo en un frase es por
lo general un tipo de entidad, aunque podría ser
un atributo. Ej. los socios piden prestados
libros, existen 2 posibles entidades SOCIO y
LIBRO. - Los nombres propios indican ocurrencias de un
tipo de entidad, Ej Date,C indica una ocurrencia
de AUTOR. - Un verbo transitivo o una frase verbal es un tipo
de interrelación, Ej pedir prestado indica una
interrelación entre las entidades LIBRO y SOCIO. - Una preposición entre 2 nombres suele ser un tipo
de interrelación o también establece la
asociación entre una entidad y sus atributos. Ej
la institución del autor, podemos pensar en la
interrelación entre AUTOR e INSTITUCION o bien,
el atributo institución de AUTOR.
7En el enfoque de categorización de objetos
- Una entidad es un objeto de datos que tiene más
propiedades que su nombre o se utiliza como
operando en una sentencia de selección, borrado o
inserción. Ej en la biblioteca existen libros
que poseen una serie de propiedades, como son el
título, idioma, nro. de copias, etc. LIBRO es una
entidad, ya que tiene varias propiedades. Ej
cuando un socio deja serlo, es preciso eliminarlo
de la base de datos, SOCIO es una entidad, por
ser un operando en una sentencia de borrado. - Un atributo es un objeto de datos al que se
asigna un valor o se utiliza como operando en una
operación aritmética, boolean, etc. Ej se puede
consultar si el título de un libro es Bases de
datos, luego, título es un atributo. - Una interrelación es un objeto de datos que hace
posible la selección de una entidad por medio de
una referencia a un atributo de otra entidad. Ej
seleccionar los libros que ha escrito un
determinado autor, por lo que escribir es una
interrelación, ya que nos permite seleccionar una
entidad (LIBRO) por medio de una referencia a un
atributo de otra entidad (Nombre de AUTOR).
8Casos especiales
- "ES_UN" nos permite crear jerarquías de
entidades, corresponde al concepto de
generalización de Smith y Smith (1977). Ej tanto
un libro como un artículo son documentos - Los atributos de DOCUMENTO son heredados por
ARTICULO y LIBRO. También pueden haber atributos
que son exclusivos de las entidades subtipos, por
ejemplo, editorial podría ser un atributo de
LIBRO pero no de ARTICULO
9Casos especiales
- TIENE, este verbo, posee muchas interpretaciones.
- Ocurrencia de, Ej. un libro tiene varios
ejemplares, en el sentido que un ejemplar es una
ocurrencia de libro. Cual sería el identificador
de la entidad, que es ocurrencia, (EJEMPLAR)???.
Se forma con el identificador de la entidad
principal (LIBRO) junto a un atributo
discriminante de la ocurrencia. Ej libros con 5
dígitos y 2 dígitos para los ejemplares. - Interrelación entre entidades Ej los libros
pueden tener más de un autor, actúa como
interrelación entre AUTOR y LIBRO. - Asociación de las entidades con sus atributos
(agregación) Ej los libros tienen un título, un
año de publicación y un idioma, estamos asociando
a la entidad LIBRO una serie de atributos.
10Detalles a considerar
- Si decimos los socios piden prestados libros,
estaríamos generando un diagrama con entidades
LIBROS, SOCIOS, EJEMPLARES, e interrelaciones
presta (LIBROS, SOCIOS) y tiene
(LIBROS,EJEMPLARES), lo que es incorrecto. - Debería ser, las mismas entidades, e
interrelaciones tiene (LIBROS, EJEMPLARES) y pide
(EJEMPLARES,SOCIOS). - En las jerarquías de supertipo y subtipos, los
atributos deben definirse a un nivel adecuado, es
decir, si tanto libros como artículos tienen
titulo e idioma, estos atributos deben estar en
DOCUMENTO.
11Características del Esquema Conceptual
- La fase de modelación conceptual cumple los
siguientes objetivos - Captar y almacenar el universo del discurso
mediante una descripción rigurosa, representando
la información que describe a la organización y
que es necesaria para su funcionamiento. - Aislar la representación de la información de los
requisitos de la máquina y exigencias de cada
usuario en particular. - Independizar la definición de la información de
los SGBD en concreto.
12Características de los esquemas conceptuales
- Claridad, la significación es no ambigua.
- Coherencia, sin contradicciones o confusiones
- Plenitud, representa lo esencial sin ser
exhaustivo. - Fidelidad, la representación del universo del
discurso ha de hacerse sin desviaciones ni
deformaciones. - Simplicidad, máxima sencillez (Nº reducido de
componentes, conceptos separados, redundancia
controlada)
13Proceso de Integración de Vistas
- Las vistas se dividen en idénticas y no
idénticas. Las idénticas contienen los mismos
tipos de objetos, puede que con distintos
nombres. Las no idénticas, poseen diferentes
tipos de objetos (todo o en parte). Dentro de
estas ultimas hay que distinguir las que son
equivalentes de las que no lo son. - La integración de vistas consiste en partir de
dos vistas y obtener una tercera que las englobe,
así sucesivamente hasta llegar al esquema global.
14Posibles problemas
- 1.- Conflictos de nombres
- Homonimia, a dos objetos se les ha asignado el
mismo nombre - Sinonimia, un mismo objeto con mas de un nombre
Ejemplo - conflicto de nombre e entidades, un sistema trata
con AUTOR y con cod_autor como atributo
identificador y otro, con ESCRITOR e
identificador cod_escritor. Solución usar una
sola con su respectivo identificador. - Conflicto de nombre en interrelaciones, una
REVISTA publica ARTICULO o bien, en una REVISTA
aparece un ARTICULO. Solución Cambiar el nombre,
adoptar uno solo.
15Posibles problemas
- 2.- Conflictos entre entidades
- Una entidad es un subconjunto de otra. Solución
introducir un subtipo. Ej entidades REVISTA y
PUBLICACION, esta última incluye además revistas,
recopilaciones y otros tipos, se puede resolver
introduciendo la revista como un subtipo de
publicación. Se llama restricción de selección. - Una entidad es disjunta con respecto a otra, pero
ambas poseen atributos comunes, es decir, son un
subtipo de una tercera entidad. Solución crear
el supertipo. Se llama restricción de disyunción.
16Posibles problemas
- 3.- Conflicto entre tipos de objetos en los que
un atributo en una vista es una entidad es otra o
viceversa - La solución es transformar el atributo en entidad
o la entidad en atributo según convenga. - Ej entidad EDITORIAL o atributo de LIBRO?. Si
vemos que es importante almacenar información de
la editorial la consideraremos una entidad, sino
será atributo.
17Posibles problemas
- 4.- Conflicto de cardinalidades en
interrelaciones - Ej interrelación escribe entre AUTOR y
DOCUMENTO, en un caso 1,n y en otro n,n. Pude
ser - Se trata de la misma interrelación, en este caso
se deja la menos restrictiva n,n. - Se trata de dos interrelaciones distintas como
escribe de tipo n,n y edita de tipo 1,n
(suponiendo que un documento puede ser editado
por una persona). En este caso se deben reflejar
ambas interrelaciones con distintos nombres. - La entidad AUTOR tiene una interrelación con
DOCUMENTO que es escribe, mientras que un subtipo
de ella (que es EDITOR) tiene otra interrelación
con DOCUMENTO, que es edita. - Existen dos subtipos de la entidad AUTOR, que
poseen interrelaciones distintas con DOCUMENTO,
por ejemplo, el subtipo ESCRITOR y el subtipo
EDITOR con las interrelaciones escribe y edita,
respectivamente.
18Posibles problemas
- 5.- Análisis de redundancia de interrelaciones
- Una vez integradas las vistas, habrá que analizar
si se producen redundancias de interrelaciones,
lo que gráficamente se refleja en ciclos.
19Etapa 2 Diseño Lógico
- En esta etapa transformaremos el esquema
conceptual obtenido en la fase anterior a un
esquema relacional. Este esquema sigue siendo
independiente del SGBD que se utilizará en la
siguiente etapa. - El paso del esquema E/R al relacional se basa en
los siguientes principios - Todo tipo de entidad se convierte en una tabla
- Todo tipo de interrelación NM (muchos a muchos)
se transforma en una tabla - Todo tipo de interrelación 1N (uno a muchos) se
traduce en el fenómeno de propagación de la clave
o bien se crea una nueva tabla.
20Ejemplo
- Editorialescodigo_editorial, nombre_editorial,
direccion_editorial - Libroscodigo_libro, titulo, idioma,
codigo_editorial - Autorescodigo_autor, nombre_autor, nacionalidad
- Libros_Autorescodigo_libro, codigo_autor
21Transformación de interrelaciones
- Interrelaciones muchos a muchos
- Se transforma en una tabla que tendrá como clave
primaria la concatenación de las claves primarias
de las entidades que asocia. Cada uno de estos
atributos que forman parte de la clave primaria
son clave foránea respecto a las tablas en donde
son claves primarias.
22Transformación de interrelaciones
- Interrelaciones uno a muchos
- Propagar la clave primaria de la entidad que
tiene cardinalidad máxima 1 a la que tiene n. - Transformarlo en una tabla, como si se tratara de
una interrelación de muchos a muchos. Esto es más
conveniente cuando - El número de ocurrencias de la entidad que
propaga su clave es muy pequeño, evitando los
valores nulos. - Cuando se prevé que en el futuro dicha
interrelación se convierta en una muchos a muchos - Cuando la interrelación tiene atributos propios
- Un aspecto importante en estas interrelaciones se
relaciona con las cardinalidades mínimas. Si la
cardinalidad mínima de la entidad que se propaga
es 1, significa que no pueden admitirse valores
nulos en la clave foránea (clave propagada). En
cambio, si es 0, si se admiten valores nulos
23Transformación de interrelaciones
- Interrelaciones de uno a uno
- Son casos en donde se puede crear una tabla o
bien propagar la clave. Esto último puede ser en
ambas direcciones. - Si las entidades que se asocian tienen una
interrelación opcional en ambos sentidos
Hombresid_hombre, nombre_hombre Mujeresid_mujer
, nombre_mujer Matrimoniosid_hombre,id_mujer
24Transformación de interrelaciones
- Si las entidades que se asocian tienen una
interrelación opcional en un sentido y
obligatoria en otro
Empleadosid_empleado, nombre_empleado Departamen
tosid_departamento, nombre_departamento,
id_empl_jefe
25Transformación de interrelaciones
- Interrelaciones padre-hijo
Libroscodigo_libro, titulo Ejemplarescodigo_lib
ro, codigo_ejemplar, estado
26Transformación de interrelaciones
- Transformación de subconjuntos
27Transformación de interrelaciones
- Una sola tabla, correspondiente al supertipo. Es
conveniente cuando existan muy pocos atributos
diferentes entre los subtipos y las
interrelaciones que los asocian con el resto de
las entidades del diagrama son las mismas para
todos los subtipos. - DOCUMENTOcódigo, título, idioma,...,tipo
- Una tabla para cada entidad el supertipo y los
subtipos correspondientes. Es conveniente cuando
existen muchos atributos diferentes entre los
subtipos y además se quieren mantener los
atributos comunes de todos ellos en una tabla
(supertipo). - DOCUMENTOcódigo, título, idioma,...
- ARTICULOcódigo,....
- LIBROcódigo,...
- Tablas para los subtipos, que contengan además
los atributos comunes. Es conveniente cuando
existen muchos atributos distintos entre los
subtipos y los accesos realizados sobre los datos
de los distintos subtipos siempre afectan a
atributos comunes. - LIBROcódigo,título, idioma,...
- ARTICULOcódigo,título, idioma, ....
28Etapa 3 Diseño Físico
- Algunos elementos de diseño físico son
- Indices. Son lógicamente y físicamente
independientes de los datos. Se crean o eliminan
sin que produzca efectos en la base de datos. Se
mantienen en forma automática por los SGBD. - Secuencias. Son generadores de números
secuenciales utilizados como valor único para un
determinado atributo de una relación. Sin
secuencias, el proceso normal de generación de
estos enteros conlleva un bloqueo manual en
acceso para actualización de la tabla que los
contiene. Con este mecanismo, las estructuras se
bloquean justo en el momento de la actualización. - Cluster o agrupaciones. Es una estructura formada
por una o varias tablas. Las filas de éstas que
comparten el mismo valor de clave se almacenan
físicamente juntas. - Vistas. Son visiones lógicas de tablas, que
permiten entregar a los usuarios sólo la
información que a éstos les interesa. Facilitan
el control de la seguridad de la base de datos - Sinónimos. Proporcionan un nombre alternativo
para referenciar tablas, vistas o secuencias. - Links. Son enlaces definidos desde la base de
datos local a una base de datos remota.