La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Unidad Cuatro Metodología de Diseño de una Base de Datos.

Presentaciones similares


Presentación del tema: "Unidad Cuatro Metodología de Diseño de una Base de Datos."— Transcripción de la presentación:

1 Unidad Cuatro Metodología de Diseño de una Base de Datos

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.

20 Ejemplo Editoriales[codigo_editorial, nombre_editorial, direccion_editorial] Libros[codigo_libro, titulo, idioma, codigo_editorial] Autores[codigo_autor, nombre_autor, nacionalidad] Libros_Autores[codigo_libro, codigo_autor]

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]

25 Transformación de interrelaciones Interrelaciones padre-hijo Libros[codigo_libro, titulo] Ejemplares[codigo_libro, codigo_ejemplar, estado]

26 Transformación de interrelaciones Transformación de subconjuntos

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.


Descargar ppt "Unidad Cuatro Metodología de Diseño de una Base de Datos."

Presentaciones similares


Anuncios Google