• No se han encontrado resultados

Metodología para el Diseño de Bases de Datos. Profesor: Msc. MIGUEL ANGEL NIÑO ZAMBRANO

N/A
N/A
Protected

Academic year: 2021

Share "Metodología para el Diseño de Bases de Datos. Profesor: Msc. MIGUEL ANGEL NIÑO ZAMBRANO"

Copied!
21
0
0

Texto completo

(1)

Profesor: Msc. MIGUEL ANGEL NIÑO ZAMBRANO

Capitulo 2

Metodología para el Diseño de Bases de Datos.

Programación: Tiempo Tópico

90 minutos Diapositivas y ejemplos 30 minutos Taller

120 minutos Total

(2)

2-2 Especialización en Desarrollo de Soluciones Informáticas

Modelamiento de Bases de Datos

Relación datos - información.

FLORY(1982), “Modelar consiste en definir un mundo abstracto y teórico tal que las conclusiones que se puedan sacar de él coincidan con las manifestaciones aparentes del mundo real”.

Siendo un modelo “Un conjunto de conceptos que permite construir una representación organizacional de la empresa”

Abstracción: Es un proceso mental aplicado sobre las cualidades de un objeto capaz de ocultar los detalles y fijarse en lo esencial, busca las propiedades comunes en un conjunto de objetos,

reduciendo así la complejidad y ayudando así a la comprensión del mundo real.

DITTRICH(1994). Universo del Discurso – (Estructuras e

Información). Esquema (Descripción específica de un mini-mundo determinado en términos de un modelo de datos). Base de Datos (Es la Colección de datos del Mini-mundo).

Modelamiento de Bases de Datos – Modelos de Datos

Cuando se inicio la computación, se separaron los datos de sus semántica, hecho que impidió el desarrollo de sistemas de información de una forma rápida. Los modelos de datos permiten aplicar técnicas mentales de abstracción para definir la semántica de los mismos, de acuerdo al modelo de los usuarios.

Asociados a los modelos están los lenguajes de datos – LD que permiten definir y manipular (consultar y actualizar) la base de datos. A su vez los modelos son la base para los

lenguajes, pues estos añaden una sintaxis para su representación.

(3)

2-3 Especialización en Desarrollo de Soluciones Informáticas

Niveles de Abstracción de una BD

Lenguaje de Datos (LD) = Modelo de Datos (MD) + Sintaxis

ANSI(1975), “Niveles de abstracción de la arquitectura de una base de datos:

Global, Externo e Interno.

U1 U2 UN

Comunidad

Almacenamiento Externo

Conceptual

Interno

RC

RI Esquemas

RCRU

Modelo Lógicos o Modelos de Datos

Modelo internos o Modelos físicos

Arquitectura de una base de datos (ANSI 1975)

La American Natinoal Standard Institute – ANSI propóne una arquitectura de las bases de datos en tres niveles:

1. Global ( conceptual ):También conocido como el nivel lógico de la comunidad o en ocasiones sólo como nivel lógico, es un nivel de indirección entre otros dos

2. Externo: También conocido como nivel lógico de usuario, es el más próximo a los usuarios: es decir, que tiene que ver con la forma en que los usuarios ven los datos.

3. Interno: También conocido como el nivel físico, es el que está mas cerca al

almacenamiento físico; es decir, que tienen que ver con la forma en que los datos están almacenados físicamente.

El nivel externo tiene que ver con la percepción de los usuarios individuales, mientras el nivel global tiene que ver con la percepción de una comunidad de usuarios. A partir de estos niveles se tienen también esquemas de una bases de datos:

1. Esquema Global, Esquemas externos (tantos como necesiten las aplicaciones), 2. Esquema interno. Existen dos funciones de correspondencia de transformación del

esquema global al esquena interno y del esquema global al esquema interno proporcionadas por el SGBD..

Los modelos que describen los esquemas: Modelo Global, Modelo externo y Modelo

(4)

2-4 Especialización en Desarrollo de Soluciones Informáticas

Ejemplo niveles de abstracción de un BD

Ejemplo:

En el ejemplo se describe una pequeña parte de una base de datos para la gestión de cursos

de doctorado de una universidad, donde aparece el esquema global, el esquema interno y los

esquemas externos que describen los datos para dos aplicaciones. En el esquema global

tenemos tres tipos de objeto: CURSO, PROFESOR e IMPARTE, que se transforman en

registros almacenados en el esquema interno; los dos esquemas externos (uno en SQL

Forms y otro en Pascal) describen sólo una parte del esquema, aquella que necesitan las

correspondientes aplicaciones.

(5)

2-5 Especialización en Desarrollo de Soluciones Informáticas

Modelos de datos

• Modelo Lógico (Modelos de Datos) = Modelos Globales + Modelos Externos.

• Clasificación de los Modelos Globales :

• Modelos Conceptuales Ej. (Modelo ER ó Objeto Semántico)

• Modelos Convencionales Ej. (Modelo Relacional)

• Modelo – Esquema: Modelo se debe tomar como un instrumento de descripción del mundo real, y el Esquema es el resultado de la aplicación del modelo (Representaciones Gráficas y Simbólicas).

• Ejemplar (Ocurrencia, Instancia): Datos en un determinado momento.

Tipos de Modelos Globales

1. Modelos Conceptuales: también denominados de alto nivel, facilitan la descripción global del conjunto de información de la empresa al nivel más próximo al usuario, por lo que sus conceptos son cercanos al mundo real (Entidades, atributos, relaciones, etc.).

2. Modelos Convencionales: Se encuentran instrumentados en los SGBD y están orientados a describir los datos de nivel lógico para el SGBD. Por lo que sus conceptos son Tablas o Relaciones en el Modelo Relacional, redes en el Codasyl, jerarquías en el Jerárquico, etc.

Es importante anotar que se debe hacer diferencia entre lo que es el modelo y el esquema. Mientras el modelo plante una serie de métodos de abstracción y formalización, el esquema es el resultado de esos procesos.

Por otro lado los ejemplares pueden variar a través del tiempo, mientras los

esquemas son relativamente estáticos.

(6)

2-6 Especialización en Desarrollo de Soluciones Informáticas

Tipos de Abstracción de Datos

Todas las fiestas tienen Globos, confites, Sombreros y música.

Define categorías o clases - Superclases Todas las fiestas tienen Globos, confites, Sombreros y música.

Define categorías o clases - Superclases Clasificación- Generalización

Particularización- Especialización Fiesta que además tiene máscaras

Define Ejemplares (instancias) - Subclases Fiesta que además tiene máscaras

Define Ejemplares (instancias) - Subclases Agregación

Desagregación

Compone otros objetos:

1. Agregación de Clases

2. Agregación de Propiedades -> Clase 3. Agregación de Propiedades -> Propiedad C.

Compone otros objetos:

1. Agregación de Clases

2. Agregación de Propiedades -> Clase 3. Agregación de Propiedades -> Propiedad C.

Asociación / Disociación

Crea Nuevos Objetos Crea Nuevos Objetos

Abstracciones del conocimiento

1. Clasificación / Particularización: Acción de abstraer las características comunes a un conjunto de ejemplares para crear una categoría a la cual pertenecen dichos ejemplares.

Teoría de conjuntos (Intención – Extensión). La particularización es pasar de la clase a sus ejemplares. (Pertenencia).

2. Agregación / Desagregación: Construir un nuevo elemento del modelo como compuesto de otros elementos (componentes), los componentes “son parte de” el elemento compuesto. Los principales tipos son:

Agregación de clases para obtener una compuesta Agregación de Propiedades para Obtener una Clase.

Agregación de Propiedades para Obtener una propiedad compuesta.

3. Generalización / Especialización: Es la acción de abstraer las características comunes a varias clases (subclases) para construir una clases más general (superclase) que las comprenda a todas. Se pueden construir Jerarquías de generalizaciones.

4. Asociación / Disociación: Vincula dos o más clases, creándose un elemento de un tipo

distinto.

(7)

2-7 Especialización en Desarrollo de Soluciones Informáticas

Modelo de Datos

Concepto: conceptos, reglas y convenciones bien definidos que nos permiten aplicar una serie de abstracciones a fin de describir y manipular los datos de un cierto mundo real que deseamos almacenar en la base de datos.

Tipos: Estrictamente Tipados y Débilmente Tipados

Propiedades del Mundo Real: Se pueden clasificar en dos tipos:

Estáticas: Relativamente invariantes en el tiempo (Estructuras).

Dinámicas: Operaciones aplicadas a los datos.

Modelo de Datos (MD)=<G,O> Dónde G es el conjunto de reglas de generación (estática) y O es el conjunto de operaciones

autorizadas (dinámica). LDD, LMD, LD.

Conceptos de Modelo de datos

Definición: Es un conjunto de conceptos, reglas y convenciones bien definidos que nos permiten aplicar una serie de abstracciones a fin de describir y manipular los datos de un cierto mundo real que deseamos almacenar en la base de datos.

Un modelo de datos define las reglas según las cuales han de ser estructurados los datos acerca del mundo real. La representación de una realidad mediante un modelo da lugar a un esquema, el cual describe las categorías existentes en dicha realidad. Sin embargo la

realidad no contempla solo aspectos estáticos sino también propiedades dinámicas, ya que los ejemplares de las categorías varían en el transcurso del tiempo y estas propiedades dinámicas han de ser también especificadas en operaciones de consulta y actualización de la base de datos.

Tipos:

Estrictamente Tipados: Cada dato debe pertenecer forzosamente a una categoría previamente definida en el esquema. Ej. Modelo Entidad interrelación

Débilmente Tipados: No es obligatorio que los datos pertenezcan a las categorías,

sino que pueden existir por si mismos. Ej. Modelo Jerárquico.

(8)

2-8 Especialización en Desarrollo de Soluciones Informáticas

Componentes Estáticos de los Modelos de Datos

Elementos No Permitidos

Elementos Permitidos Objetos

Objetos

Propiedades Propiedades Asociaciones

Asociaciones

Dominios Dominios Abstracciones

Del Modelo Abstracciones

Del Modelo Restricciones Inherentes Restricciones Inherentes

Restricciones de Integridad O Semánticas Restricciones de Integridad

O Semánticas

Componentes Principales de los Modelos de datos

Estática : La estática de un modelo de datos está compuesta por:

1. Elementos Permitidos: No son los mismos para todos los modelos de datos (varían especialmente en terminología), pero en general son:

Objetos (entidades, relaciones, registros, etc.)

Asociaciones entre objetos (interrelaciones, “set”, etc.)

Propiedades o características de los objetos o asociaciones (atributos, campos, elementos de datos, etc)

Dominios, conjuntos nominados de valores homogéneos sobre los que se definen propiedades.

A estos elementos permitidos se les podrían aplicar aquellas abstracciones

reconocidas por el modelo. La representación de éstos elementos

depende de cada modelo de datos, pudiendo hacerse en forma de grafos

(como MER o Codasyl) o tablas (como MR).

(9)

2-9 Especialización en Desarrollo de Soluciones Informáticas

Formalización matemática

G=<Ge,Gr> dónde: Ge es un conjunto de reglas de

generación de estructuras y Gr es un conjunto de restricciones de usuario.

G[UD]=E.

2. Elementos no permitidos o restricciones: No todos los valores, cambio de valor o estructuras están permitidos en el mundo real; Ej. Un niño de tres años no puede estar casado, o una persona pasar de soltera a viuda directamente.

Adicionalmente cada modelo de datos impone sus propias limitaciones a estructuras que admite. Los tipos son:

Restricciones inherentes : Impuestas por el Modelo de Datos seleccionado.

El SGBD se encarga de esto.

Restricciones de Integridad o semánticas : Impuestas por el usuario.

Permiten captar la semántica del universo de discurso – UD que se quiere modelar y verificar la corrección de los datos almacenados en la base. El usuario (diseñador) ha de definir y aveces programar, estas restricciones con el fin de rechazar ciertas asociaciones o de limitar los valores que pueden tomar los datos o impedir ciertos cambos en los mismos. Los tipos son:

Reconocidas por el MD: Definidas por el usuario y son gestionadas por el modelo de datos en los esquemas. Proporciona

instrumentos para su cumplimiento.

Ajenas al MD: Responsabilidad del Diseñador, ya que el modelo de

datos no las reconoce ni proporciona instrumentos para

(10)

2-10 Especialización en Desarrollo de Soluciones Informáticas

Componentes Dinámicos de los Modelos de Datos

BD

i

BD

i

BD BD

jj

O[BDi]=BDj

Localización<condición>

Acción<Objetivo>

Componentes Principales de los Modelos de datos Dinámica

El conjunto de valores que toman las distintas categorías de un esquema en un momento determinado ti recibe el nombre de ejemplar del esquema o estado de la base de datos en el tiempo ti (BDi); en otro momento tj el ejemplar del esquema será BDj. Si entre ti y tj se ha producido un cambio en algún valor de la base de datos (alta, baja o modificación) BDi <> BDj. Tanto BDi como BDj deben ser ejemplares válidos de la bases de datos y cumplir con las restricciones de integridad.

La componente dinámica del modelo consta de un conjunto de operadores que se definen sobre la estructura del correspondiente modelo de datos, ya que no todas las estructuras admiten el mismo tipo de operaciones. La aplicación de un operador a un ejemplar de un sistema transforma éste en otro ejemplar:

O[BDi]=BDj. Aplicación de un Operador O.

Componentes de un Operación:

1. Localización: Localizar los ejemplares por un camino (navegacional) o una condición (especificación).

2. Acción: Que se realiza sobre los ejemplares localizados. Puede ser una

recuperación o un actualización (inserción, borrado, modificación)

(11)

2-11 Especialización en Desarrollo de Soluciones Informáticas

Modelos de datos -

Restricciones de Integridad

Fecha inicio <

Fecha Final Todo curso lo

Imparte un instructor

……….

If Fech_ini >= Fecha_fin then ERROR

……….

If Cod_profe en CURSOS = ‘NULL’

Then ERROR

……….

If Fech_ini >= Fecha_fin then ERROR

……….

If Cod_profe en CURSOS = ‘NULL’

Then ERROR

CHECK Fecha_ini < Fecha_fin CURSOS.Cod_profesor

NOt NULL CHECK Fecha_ini < Fecha_fin CURSOS.Cod_profesor

NOt NULL

USUARIOS PROGRAMAS BASE DE DATOS

Restricciones Semánticas Propias Restricciones Ajenas

Restricciones de Integridad

Cuando diseñamos una base de datos se desea que esta refleje fielmente el universo de discurso que estamos tratando de recoger en nuestro sistema de información. La semántica y la integridad en una base de datos están asociados. La primera se refiere al significado de los datos y la segunda a la corrección de los mismos y su consistencia respecto del mundo real del cual proceden.

Es importante tener integradas las restricciones junto con los datos. Por un lado esta el

aseguramiento de la integridad de los mismos, reduciendo drásticamente la carga de

programación (aprox. 90%). Otra ventaja es la semántica, puesto que los datos están

descritos totalmente en una misma parte.

(12)

2-12 Especialización en Desarrollo de Soluciones Informáticas

Componentes de un Restricción - ECA

La operación: (actualización, borrado o modificación)

La condición: (debe cumplirse y generalmente es una proposición lógica)

La acción que debe llevarse a cabo dependiendo del resultado de evaluar la condición.

Restricciones de Integridad

Las restricciones de integridad se pueden considerar, en cierto modo como reglas ECA (Evento, Condición, Acción), en las cuales, al ocurrir un evento, se comprueba la condición y dependiendo de su resultado se pone en marcha una acción (rechazar la operación, informar al usuario, etc.).

Las restricciones generalmente tienen un nombre mediante el cual es posible identificarlas y también puede indicarse el momento en el que se desea que se evalúe la condición (antes o después de una operación, de forma inmediata o al final de una transacción, etc.).

Fases de las Restricciones:

1. Fase de definición: El diseñador describe la restricción respecto de sus componentes. El sistema comprueba que la definición de la restricción es correcta, además que el

conjunto de restricciones es consistente en sí mismo. Finalmente debe ser incluida con los objetos del SGBD.

2. Fase de Ejecución: Comprobar que la restricción hace lo que se definió.

(13)

2-13 Especialización en Desarrollo de Soluciones Informáticas

Clasificación de las Restricciones

Clasificación de las Restricciones

No existe una clasificación única de todas las posibles restricciones, porque dependen de los diferentes modelos de datos y de los productos software. Tal como se había mencionado antes las restricciones fundamentalmente son de dos tipos: Las inherentes a modelo de datos y las semánticas.

Las restricciones ajenas al modelo de datos, son procedimientos específicos incluidos en los programas de aplicación a fin de recoger la semántica del UD, que permiten comprobar la consistencia de los datos de la base. No están almacenados en la BD, y por tanto, pueden ser violadas en actualizaciones en las que no se halla programado la correspondiente restricción. Entre ellas están las embebidas en los lenguajes de programación o en un módulo o lenguaje del SGBD.

Las restricciones propias del modelo de datos se especifican al definir el esquema mediante las facilidades que proporciona la función de definición de datos, almacenándose en la base de datos y no en los programas, por lo que no pueden ser violadas por ninguna aplicación, es decir, cualquier actualización está obligada a respetarlas.

Dependiendo de los componentes (acción y/o condición) que haya que especificar al definir

una restricción y la forma de hacerlo (declarativa o procedimental) tendremos distintos tipos

(14)

Si es preciso definir o no la acción de la restricción se tiene:

1. Restricciones de acción General: Son las más flexibles de las restricciones propias del modelo, pero suponen una importante carga de programación; además, el sistemas desconoce su semántica, ya que pueden estar escritas en cualquier lenguaje, por lo que no es posible comprobar su consistencia ni tampoco el optimizador puede tenerlas en cuenta a fin de mejorar del acceso físico. Son parecidas a las restricciones ajenas, pero con la diferencia que su descripción se realizan en el momento de definir el esquema y principalmente en que no pueden ser violadas por los programas de aplicación. Se dividen a su vez en:

1. Procedimientos Almacenados: Se definen totalmente de forma procedimental.

2. Restricciones de Disparo: Los disparadores permiten definir restricciones de integridad. Se formula una condición de forma declarativa, mediante una proposición lógica; el cumplimiento de la misma dispara una acción específica en forma procedimental. Esto es que se dispara cuando la condición es

verdadera. La acción puede definirse mediante un procedimiento dando bastante flexibilidad.

2. Restricciones de Acción Específica: La acción (que puede ser de rechazo o de otro tipo) está determinada por la misma restricción. Son totalmente declarativas porque la acción no hay que definirla y la condición, en caso de que halla que especificarla, se define en forma declarativa. Entre ellas:

1. Restricciones de Condición General: La condición se define mediante una proposición lógica, por lo que su complejidad es arbitraría. La operación será cualquiera que implique asignar valor a los atributos que aparecen en la condición, es decir, una actualización. La acción siempre es de rechazo y por ello no se declara. En SQL 92 tenemos:

• Restricciones de Verificación: CHECK en algunos lenguajes. Se definen sobre las propiedades de un objeto del modelo.

• Restricciones de Aserción: Análogas a las anteriores aunque se

diferencian de ellas en que pueden estar referidas a más de un elemento en el esquema. Existen por si mismas y exigen un nombre.

2. Restricciones de Condición específica: Reglas de caso especial y restricciones

implícitas. Los SGBD ofrecen la posibilidad de definirlas en el momento de

crear lo elementos del esquema. Ej. Definición de Claves primarias, Claves

ajenas, etc. Estas definiciones plantean acciones se disparan cuando se intentan

violar su condición implicita.

(15)

2-15 Especialización en Desarrollo de Soluciones Informáticas

Proceso de Diseño de Bases de Datos

Diseño Análisis

ESQUEMA FÍSICO ESQUEMA LÓGICO ESQUEMA CONCEPTUAL

MER OO

F. INDIVIDUAL

RELACIONAL REDES JERARQUICO

UNIFICADO MEORIA DE EL.

Proceso de Diseño de bases de datos Relaciónales

Los objetivos que persigue todo modelo de datos son de dos tipos:

1. Formalización: ya que el modelo de datos permite definir formalmente las estructuras permitidas y las restricciones; también el modelo de datos establece la base para la definición de un lenguaje de datos y facilita una apreciación más objetiva de la rigidez o flexibilidad de las estructuras de datos, ayudando a la comparación formal de distintos modelos de datos y a la evaluación de los SGBD.

2. Diseño: ya que el modelo de datos es un elemento fundamental en el desarrollo de una metodología de diseño de bases de datos, en el cual se basan los otros componentes de la metodología (lenguajes, documentación y otras herramientas); permiten, además, prever e impacto de los cambios del mundo real en nuestro sistema de información.

El primer paso en la metodologías es determinar el UD, el cual generalmente debe establecerse a partir de un conjunto de diferentes vistas de los diferentes usuarios de la realidad. Una vez definido el UD se puede proceder paso a paso tal como se muestra en la figura. Se presentan tres etapa bien definidas:

1. Modelado Conceptual: En esta se escoge un modelo conceptual (altamente semántico) y se definen las estructuras y restricciones identificadas, totalmente independiente del SGDB y del diseño de las estructuras lógicas.

2. Modelado Lógico: Se escoge un modelo lógico, el cual esta diseñado para representar la estructura de los datos, por ello se deben transformar los esquemas conceptuales en esquemas lógicos, los cuales son conocidos y manipulados por el SGBD.

3. Modelado Físico: Finalmente los SGBD tienen en sus motores una serie de políticas y estrategias de almacenamiento que le permiten llenar la información física que los usuarios quieren almacenar en la base

(16)

2-16 Especialización en Desarrollo de Soluciones Informáticas

Modelos de Datos y Diseño de Bases de Datos

Proceso de Diseño de Bases de Datos

El mundo Real generalmente tiene objetos, propiedades, restricciones y restricciones semánticas. Todos estos elementos se realizan las abstracciones que impone el modelo conceptual seleccionado, obteniendo así un esquema conceptual de la realidad. Posteriormente el esquema lógico se obtiene a partir de la conversión del esquema conceptual con el modelo lógico escogido y con la ayuda de las estructuras de los datos que se perciben de la realidad para formular los esquemas lógicos. Los SGBD permiten definir éstos esquemas lógicos y posteriormente aplican sus modelos físicos a estos esquemas permitiendo obtener los archivos de bases de datos reales en los cuales se almacena la información de la realidad.

Este diseño de la base de datos si ubicamos en el ciclo de vida clásico de desarrollo de un Sistema de Información lo encontramos en la etapa de diseño, tal como se muestra en la grafica a continuación:

(17)

2-17 Especialización en Desarrollo de Soluciones Informáticas

Metodología de Diseño de Bases de Datos Relaciónales

Introducción

Concepción de BDR es larga y costosa

Sommerville (1988) “Buen Diseño”

Etapas:

Diseño Conceptual: Obtener una Buena

Representación de los recursos de información de la organización, independiente de usuarios, aplicaciones y hardware.

Diseño Lógico: Transformar el Esquema Conceptual al Modelo de Datos.

Diseño Físico: Conseguir un Instrumentación lo más eficientemente posible.

Causas de Malos Diseños

Falta de Conocimiento del dominio de la aplicación

Falta de Experiencia en el Modelado.

La concepción de una Base de Datos Relacional es una tarea larga y costosa. Existe la necesidad de contar con procedimientos ordenados que faciliten el desarrollo de un producto software, ya que esto tiene una incidencia en cuanto a costos y plazos de entrega, además de la calidad y mantenimiento del producto.

Según Sommerville (1988) " un buen diseño es la clave de una eficiente ingeniería del software. Un software bien diseñado es fácil de aplicar y mantener, además de ser comprensible y fiable. Los sistemas mal diseñados, aunque puedan funcionar, serán costosos de mantener, difíciles de probar y poco fiables".

Muchas veces, el diseño de una base de datos se limita aplicar la teoría de normalización, cuando en realidad debe abarcar muchas otras etapas, que van desde la concepción hasta la instrumentación.

Una metodología es un conjunto de modelos y herramientas que nos permiten pasar de una etapa a la siguiente en el proceso de diseño de la base de datos. Rolland y Benci (1988).

En la determinación de las fases de la metodología debemos definir una jerarquía de niveles de abstracción que resulte apropiada, en el sentido de ser lo suficientemente amplia para que a cada nivel le correspondan decisiones de diseño bien definidas, pero, a la vez, no proponer demasiados niveles, ya que sería muy sensible a la interpretación del diseñador.

(18)

2-18 Especialización en Desarrollo de Soluciones Informáticas

Diseño Conceptual

Etapa de Análisis de Requisitos (¿Qué presentar?) (Esquema percibido)

Descripción de la Organización

Reglas de negocio

Etapa de Conceptualización (¿Cómo?) (Esquema Conceptual).

Modelos Conceptuales (hacia el MER).

Enfoque Lingüístico (sustantivos, verbos, preposiciones)

Categorización de Objetos (Entidad, Atributo, Interrelación)

Metodologías Ascendentes y Descendentes.

Integración de Vistas

Sistemas

Aplicación del Modelo E-R (esquema Entidad – Relación)

Tabla de Dominios: (tabla, atributos, evaluación, tipo de dato, tamaño, descripción).

Esquema E-R: (Convención de diamantes, Entidades, Relaciones, Cardinalidades).

Básicamente 2 etapas:

1 Etapa de análisis de requisitos 2 Etapa de conceptualización

El análisis de requisitos debe responder a la pregunta: que 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. La segunda etapa responde a la pregunta Como 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.

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.

En el enfoque de categorización de objetos (Navathe, 1983):

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).

(19)

2-19 Especialización en Desarrollo de Soluciones Informáticas

Diseño Lógico

• Modelo Relacional

(Parte del Esquema E-R), (Esquema Relacional) – Procesos:

– Normalización Completa – Solución de las relaciones – Productos:

– Tabla de dominios actualizada – Esquema Relacional

Diseño Físico

• Autodocumentación

(Esquema E-R y Esquema Relacional).

• Programación

(Restricciones de Integridad).

• Elementos de Diseño

: Índices – Secuencias – Cluster o Agrupaciones – Vistas – Sinónimos y Links.

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 relación

•Todo tipo de interrelación N:M se transforma en una relación

•Todo tipo de interrelación 1:N se traduce en el fenómeno de propagación de la clave o bien se crea una nueva relación.

Reglas de Transformación 1.-Transformación de Dominios

CREATE DOMAIN Estados_Civiles AS CHAR(1) CHECK(VALUE in ( ‘S’, ‘C’, ‘V’, ‘D’)

2.-Transformación de entidades CREATE TABLE...

Cada entidad se transforma en una relación.

3.-Transformación de atributos de entidades

Los AIP , pasan a ser la clave primaria de la relación PRIMARY KEY. Los AIA, pasan a ser UNIQUE. Ambas son cláusulas en el comando CREATE TABLE.

4.-Transformación de Interrelaciones 4.1.-Interrelaciones N:M

Se transforma en una relación que tendrá como clave primaria la concatenación de los AIP 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. Esto se representa por al cláusula FOREING KEY dentro del comando CREATE TABLE de la relación.

4.2.-Interrelaciones 1:N

Propagar el AIP de la entidad que tiene cardinalidad máxima 1 a la que tiene n.

Transformarlo en una relación, como si se tratara de una interrelación N:M. 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 N:M 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.

(20)

2-20 Especialización en Desarrollo de Soluciones Informáticas

Preguntas de Repaso

¿Qué es un modelo y para que sirve en las BD?

¿Cuál es la importancia del Modelo de datos?

¿Cuáles son los principales componentes de un modelo de datos?

¿Qué son las Restricciones?

¿Cuál es la metodología recomendada para modelar Bases de Datos?

Material De profundización Lectura Obligatoria

Realice la lectura descrita a continuación. Escriba un documento en el cual resuma una metodología global para el desarrollo de una base de datos, teniendo en cuenta los conceptos vistos y la lectura. No mas de 2 hojas.

1. Bases EDSI\03-Material Bibliografico\Presentaciones\El Proceso de Creación de una Base de Datos.pdf.

Lecturas Recomendadas Libros

1. Connolly, Thomas. Sistemas de Bases de Datos.

• Cap 9: Planificación, Diseño y Administración de Bases de Datos.

• Cap 10: Técnicas de Determinación de Hechos. (Opcional).

• Cap 15: Metodología. Pags. 399-403.

• Cap 23: Modelo de Datos. Pags. 40-44.

2. De Miguel, Adoracion; Piattini, Mario. Diseño de Bases de Datos Relacionales.

• Cap 8: Proceso de Creación y Metodologías de Desarrollo de Bases de Datos.

Lecturas Recomendadas Web

• Sistemas de Bases de Datos – Modelos de Datos: Bases EDSI\03-Material Bibliografico\Web de Bases de Datos\bases de datos\node31.html

• Metodología de Diseño de BD. \Bases EDSI\03-Material Bibliografico\Web de Bases de Datos\base de datos relacionales\capitulo1\capitulo4.html

(21)

2-21 Especialización en Desarrollo de Soluciones Informáticas

Taller Restricciones y Modelos de Datos

Realizar el Taller 2 - Restricciones y

Modelos de datos.

Referencias

Documento similar

[r]

SECUNDARIA COMPRENDE LOS

[r]

Asegurar una calidad mínima en los datos es una de las tareas más difíciles de conseguir para los organismos públicos cuyo objetivo es publicar datos lo más rápidamente posible

 Clave ajena: sus valores deben coincidir con los de la clave primaria de otra relación  representa una relación entre datos a modo de referencia. 

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

En el caso de realizar una análisis estructural dinámico lineal de un edificio en particular, se necesita disponer de la información correspondiente a las dimensiones en planta y

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en