Modelos de datos
Introducción
– En los sistemas de software se deben construir sistemas fiables, portables, fáciles de mantener.
– Se considera una buena práctica de ingeniería:
– Análisis.
– Especificación Contrato.
– Diseño.
– Implementación.
– Operación y mantenimiento.
Enfoque metodológico
a) Construir un sistema de software de tipo medio o grande es una tarea que requiere planificación, organización y control.
b) Requiere usar técnicas formalizadas y estructuradas.
c) Requiere aproximarse al desarrollo de software considerando el proceso completo de producción desde un punto de vista de ingeniería, estructurando el proceso en un conjunto de fases.
– Proceso de desarrollo:
a) Modelo de ciclo de vida (MVC).
b) Métodos y técnicas. Una metodología debe aportar soluciones para afrontar cada fase del ciclo de vida.
c) Criterios de progreso. Toda metodología debe aportar criterios objetivos y tangibles de avance del proyecto extrayendo hitos claros de control, especificando los resultados en forma de documentos y productos de software.
Conceptos y técnicas del modelado
¿Cómo se hace el análisis?
Se practica un tipo de análisis denominado guiado por modelos. Para hacer correctamente el análisis han de construirse una serie de modelos, cada uno de ellos es capturando una parte del problema que se pretende resolver.
– Concepto de modelo:
El conjunto de abstracciones que forman una visión parcial, pero útil, de una parte del mundo es lo que se conoce como modelo.
Construir un modelo Utiliza un lenguaje determinado y unas reglas de construcción de las que no puede salirse.
a) Construir tres modelos alineados en tres niveles. Estos modelos no son independientes ya que representan enfoques distintos de una misma realidad.
b) Cada nivel se ocupa de un tipo de conocimiento entre los que se necesitan para responder a:
¿Qué hay en el mundo (dominio)?.
¿Qué ocurre en el mundo (funcional)?.
¿Cuándo cambia el mundo (control)?.
– Representación de modelos de análisis:
Nivel de MODELO
ControlDINAMICO
Nivel MODELO
FuncionalFUNCIONAL
Nivel delMODELO DE
DominioDATOS
–Nivel de dominio:
Busca modelar e conocimiento de tipo estático identificado, en el mundo del que va a extender el sistema, verdades de tipo universal (axiomas), referentes a los objetos presentes en el dominio, sus características y las relaciones y dependencias entre ellas.
–Modelo funcional:
Describe aquellos aspectos de sistema relativos al as transformaciones que puede sufrir la información contenida en el dominio. Se trata de capturar lo que el sistema ha de hacer, sin considerar cuándo o cómo lo haría.
-Modelo dinámico:
Describe los aspectos del sistema relativos al tiempo, capturando el control del sistema: cuándo ocurren los cambios en el sistema, sin especificar en que consisten esos cambios (aspecto funcional) ni como son implementados.
El nivel del dominio: Modelo de datos
– Modelo Es un instrumento que se aplica a una parcela del mundo real (Universo del Discurso) para obtener una estructura de datos a la que denominamos esquema.
MODELO Instrumento
ESQUEMA Resultado de aplicar el instrumento
MUNDO OBJETIVOS UNIVERSO DEL
REAL DISCURSO MODELOESQUEMA
– Definición de Modelo de Datos Conjunto de conceptos, reglas y consecuencias que nos permiten describir los datos del universo del discurso, constituyendo una herramienta que facilita su interpretación y su representación en forma de datos en nuestro sistema de información.
– Los modelos de datos son la base para los lenguajes de datos. El nivel de abstracción de los lenguajes de datos es menor, ya que son el modelo más una sintaxis:
L.D. = M.D + Sintaxis
El lenguaje puede venir tanto del modelo como de la sintaxis:
SQL = Modelo Relacional + sintaxis
DL/I = Modelo Jerárquico + sintaxis
– Objetivos de todo modelo de datos:
a)FORMALIZACION Permite definir formalmente las estructuras permitidas y sus restricciones a fin de representar los datos, y también porque establece las bases para un lenguaje de datos.
b)DISEÑO El modelo de datos es uno de los elementos básicos en el diseño de una base de datos.
– Propiedades del Universo del Discurso:
Invariantes en el tiempo (ESTATICAS).
Varían en el tiempo (DINAMICAS). Datos o valores que se almacenan a esas estructuras.
MD = < S.O >
S Conjunto de reglas de generación que permiten representar la componente estática, el lenguaje de definición de datos (DDL).
O Conjunto de operaciones autorizadas sobre la estructura que permite representar la componente dinámica. El lenguaje de manipulación de datos (DML).
–Componente estática.
Compuesta por:
– Objetos permitidos.
Entidades.
Atributos.
Dominios sobre los atributos.
Interrelaciones.
– Restricciones.
Inherentes Impuestas por la misma naturaleza del modelo que no admite ciertos objetos o asociaciones. Introduce rigideces a la hora de modelar.
De usuario Permiten captar la semántica del Universo del Discurso que se quiere modelar. Facilitan la labor del diseñador.
–Componente dinámica.
Los valores que toman los distintos objetos de un esquema en un momento determinado se llama ocurrencia.
La componente dinámica del modelo consta de un conjunto de operaciones que se definen sobre la estructura.
– Tipos de operaciones:
a) Selección Localizar una ocurrencia indicando un camino (SISTEMA NAVEGACIONAL) o un conjunto de ocurrencias especificando una condición (ESPECIFICACION).
b) Acción Sobre las ocurrencias previamente localizadas. Puede consistir en: Recuperación o Actualización.
Antecedentes históricos
– Modelo de Red
– Las redes constituyen una manera natural de representar las interrelaciones entre diferentes objetos.
– Las redes pueden representarse mediante una estructura matemática denominada grafo orientado.
– El modelo en red general es muy flexible debido a la inexistencia de restricciones inherentes.
– Su implementación en el nivel físico resulta difícil y poco eficiente. Debido a esto, al llevar al la práctica modelos basados en red, se introducen restricciones para facilitar su implantación que se hacen más restrictivas.
– Si bien es verdad que en la actualidad los SGBD basados en los modelos de tipo red ya no dominan el mercado.
-CADASYL
Correspondencia de la arquitectura de tres niveles del grupo ANSI/X3/SPARC Kohl el modelo de red CODASYL es como se indica a continuación:
– El nivel conceptual se denomina esquema.
– El nivel externo o se denomina subesquema.
– El nivel interno está implícito en la implementación.
Componente estática:
Hay dos estructuras de datos fundamentales y en el modelo en red:
– Los tipos de registros: colecciones de elementos de los datos lógicamente relacionados. El registro está a su vez compuesto de campos.
– El conjunto: El elemento básico para la representación de las interrelaciones. por medio de los conjuntos se establecen asociaciones.
Componente dinámica:
– Conjunto de operaciones, que aplicadas al un estado de la base de datos, la transforman en otro estado distinto.
– El lenguaje de manipulación de datos de CODASYL es de tipo navegacional (opera registro a registro), procedimental (requiere el conocimiento de la estructura física de la base de datos por parte de programado r).
UN MODELO JERARQUICO
– Es un caso particular del modelo en red (modelo en red mejorado).
– Las estructuras en árbol, muy extendidas en la información para representar estructuras de datos, tienen como característica su poca flexibilidad, y lo que origina la falta de adaptación a muchas situaciones reales.
– En el modelo jerárquico, el esquema es una estructura en forma de árbol compuesta por nodos, que representan las entidades.
··El árbol se organiza en un conjunto de niveles.
·el más alto de la jerarquía es el nodo a raíz.
·Los arcos que unen los nodos representan las asociaciones jerárquicas entre dos entidades y no tienen nombre.
·Un nodo de nivel superior (nodo padre) puede tener un número ilimitado de nodos hijos, pero un no de hijo sólo puede tener un único nodo padre.
·Todo nodo, a excepción del raíz, ha de tener obligatoriamente un padre.
·Llamamos hojas a los nodos que no tienen descendientes.
·Hay número de niveles de la estructura jerárquica se llama altura del árbol.
·Al número de nodos del árbol se le llama momento.
·Cada nodo no terminan y sus descendientes forman un subárbol, de modo que un árbol es una estructura recursiva.
Correspondencia de la arquitectura ANSI/X3/SPARC con el modelo jerárquico:
– El nivel conceptual se compone de un conjunto de árboles definidas mediante una estructura denominada Data Base Description (DBD)
– El nivel externo se compone de su conjunto de los árboles definidos en el nivel conceptual.
– El nivel interno está implícito en La implementación.
LOS MODELOS EN RED Y EL MODELO RELACIONAL
En representación de los datos :
oEn red utilizan dos elementos de modelado: El tipo de registro y el tipo de conjunto.
oen el modelo relacional utiliza un único concepto: la relación.
LA manipulación de los datos:
oNo es sistemas no relacionales están en un nivel de abstracción mucho más bajo que los relacionales.
oEn el modelo relacional el LMD es muy poco procedimental.
En restricciones:
oEl modelo CEL REY ODASYL proporciona un conjunto básico de restricciones de integridad, en particular para proteger la integridad de los conjuntos.
oel un sistema relacional , la mayoría de las restricciones semánticas pueden ser recogidas por el SGBD