2. Etapas 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.
3. Etapa 1: Diseño conceptual
Consiste en dos etapas:
Etapa de análisis de requisitos
Etapa de conceptualización
4. Aná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.
5. Conceptualizació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.
6. En 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.
7. En 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).
8. Casos 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
9. Casos 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.
10. Detalles 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.
11. Caracterí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.
12. Caracterí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)
13. Proceso 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.
14. Posibles 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.
15. Posibles 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.
16. Posibles 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.
17. Posibles 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.
18. Posibles 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.
19. Etapa 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 N:M (muchos a muchos) se transforma
en una tabla
Todo tipo de interrelación 1:N (uno a muchos) se traduce en el
fenómeno de propagación de la clave o bien se crea una nueva
tabla.
21. Transformació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.
22. Transformació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
23. Transformació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:
Hombres[id_hombre, nombre_hombre]
Mujeres[id_mujer, nombre_mujer]
Matrimonios[id_hombre,id_mujer]
24. Transformación de interrelaciones
Si las entidades que se asocian tienen una interrelación opcional en
un sentido y obligatoria en otro:
Empleados[id_empleado, nombre_empleado]
Departamentos[id_departamento, nombre_departamento, id_empl_jefe]
27. Transformació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.
DOCUMENTO[có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).
DOCUMENTO[código, título, idioma,...]
ARTICULO[código,....]
LIBRO[có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.
LIBRO[código,título, idioma,...]
ARTICULO[código,título, idioma, ....]
28. Etapa 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.