Está en la página 1de 10

TEMA 5

Modelo conceptual de datos.


Diagramas de flujo de datos. Reglas
de construcción. Descomposición
en niveles. Flujogramas. Modelo
relacional
BLOQUE II TEMA 5

1. MODELOS DE DATOS
Un modelo de datos es:
1. Un conjunto de conceptos que sirve para describir la estructura de
una base de datos:

▪ Los datos.
▪ Las relaciones entre los datos.
▪ Las restricciones que deben cumplirse entre los datos.

2. Contienen también un conjunto de operaciones básicas para la


realización de consultas (lecturas) y actualizaciones de datos.

3. Además, los modelos de datos más modernos incluyen conceptos para


especificar comportamiento, permitiendo especificar un conjunto de
operaciones definidas por el usuario.
Los modelos de datos se pueden clasificar dependiendo de los tipos de
conceptos que ofrecen para describir la estructura de la base de datos:
1. Los modelos conceptuales o de alto nivel disponen de conceptos muy
cercanos al modo en que los usuarios perciben los datos. Utilizan
conceptos como:

▪ Entidades: Representan un objeto o concepto del mundo real.


▪ Atributos: Representan alguna propiedad de interés de una entidad.
▪ Relaciones: Describen la interacción entre dos o más entidades.

2. Los modelos físicos o de bajo nivel proporcionan conceptos que


describen los detalles de cómo se almacenan los datos en el ordenador:
el formato de los registros, la estructura de los ficheros (ordenados
desordenados, etc.) y los

3. métodos de acceso utilizados (índices, etc.). Están dirigidos al


personal informático, no a los usuarios finales. Entre estos dos
extremos se encuentran los modelos lógicos, cuyos conceptos pueden
ser entendidos por los usuarios finales, aunque no están demasiado
alejados de la forma en que los datos se organizan físicamente.
2.Diagrama de flujo de datos (DFD)
El objetivo del diagrama de flujo de datos es la obtención de un modelo
lógico de procesos que represente el sistema, con independencia de las
restricciones físicas del entorno. Así se facilita su comprensión por los
usuarios y los miembros del equipo de desarrollo.
El sistema se divide en distintos niveles de detalle, con el objetivo de:
• Simplificar la complejidad del sistema, representando los diferentes
procesos de que consta.
• Facilitar el mantenimiento del sistema.
2.1.Descripción
Un diagrama de flujo de datos es una técnica muy apropiada para reflejar
de una forma clara y precisa los procesos que conforman el sistema de
información. Permite representar gráficamente los límites del sistema y

307
BLOQUE II TEMA 5

la lógica de los procesos, estableciendo qué funciones hay que desarrollar.


Además, muestra el flujo o movimiento de los datos a través del sistema y
sus transformaciones como resultado de la ejecución de los procesos.
Esta técnica consiste en la descomposición sucesiva de los procesos, desde
un nivel general, hasta llegar al nivel de detalle necesario para reflejar
toda la semántica que debe soportar el sistema en estudio.
Los diagramas deben ser consistentes. En los diagramas hay que comprobar
que en un DFD resultado de una explosión: (Pregunta examen)
• No falten flujos de datos de entrada o salida que acompañaban al
proceso del nivel superior.
• No aparezca algún flujo que no estuviese ya asociado al proceso de
nivel superior.
• Todos los elementos del DFD resultante deben estar conectados directa
o indirectamente con los flujos del proceso origen.
Los componentes que aparecen en un DFD son: (Pregunta examen)
• Entidad externa: representa un ente ajeno al sistema que proporciona
o recibe información del mismo. Puede hacer referencia a
departamentos, personas, máquinas, recursos u otros sistemas. El
estudio de las relaciones entre entidades externas no forma parte del
modelo.
Puede aparecer varias veces en un mismo diagrama, así como en los
distintos niveles del DFD para mejorar la claridad del diagrama.

• Proceso: representa una funcionalidad que tiene que llevar a cabo el


sistema para transformar o manipular datos. El proceso debe ser capaz
de generar los flujos de datos de salida a partir de los de entrada,
más una información constante o variable al proceso.

El proceso nunca es el origen ni el final de los datos, puede


transformar un flujo de datos de entrada en varios de salida y siempre
es necesario como intermediario entre una entidad externa y un almacén
de datos.

• Almacén de datos: representa la información en reposo utilizada por


el sistema independientemente del sistema de gestión de datos (por
ejemplo, un. fichero, base de datos, archivador, etc.). Contiene la
información necesaria para la ejecución del proceso.

• El almacén no puede crear, transformar o destruir datos, no puede


estar comunicado con otro almacén o entidad externa y aparecerá por
primera vez (“requiere de otro proceso intermedio”) en aquel nivel
en que dos o más procesos accedan a él.

• Flujo de datos: representa el movimiento de los datos, y establece


la comunicación entre los procesos y los almacenes de datos o las
entidades externas. Un flujo de datos entre dos procesos sólo es
posible cuando la información es síncrona, es decir, el proceso
destino comienza cuando el proceso origen finaliza su función.

308
BLOQUE II TEMA 5

Los flujos de datos que comunican procesos con almacenes pueden ser de los
siguientes tipos: (Pregunta examen)
• De consulta: representan la utilización de los valores de uno o más
campos de un almacén o la comprobación de que los valores de los
campos seleccionados cumplen unos criterios determinados.

• De actualización: representan la alteración de los datos de un almacén


como consecuencia de la creación de un nuevo elemento, por eliminación
o modificación de otros ya existentes.

• De diálogo: es un es un flujo entre un proceso y un almacén que


representa una consulta y una actualización.
Existen sistemas que precisan de información orientada al control de datos
y requieren flujos y procesos de control, así como los mecanismos que
desencadenan su ejecución. Para que resulte adecuado el análisis de estos
sistemas, se ha ampliado la notación de los diagramas de flujo de datos
incorporando los siguientes elementos: (Pregunta examen)
• Proceso de control: representa procesos que coordinan y sincronizan
las actividades de otros procesos del diagrama de flujo de datos.
• Flujo de control: representa el flujo entre un proceso de control y
otro proceso. El flujo de control que sale de un proceso de control
activa al proceso que lo recibe y el que entra le informa de la
situación de un proceso. A diferencia de los flujos tradicionales,
que pueden considerarse como procesadores de datos porque reflejan
el movimiento y transformación de los mismos, los flujos de control
no representan datos con valores, sino que, en cierto modo, se trata
de eventos que activan los procesos (señales o interrupciones).
2.2.Descomposición o explosión por niveles (Pregunta examen)
Los diagramas de flujo de datos han de representar el sistema de la forma
más clara posible, por ello su construcción se basa en el principio de
descomposición o explosión en distintos niveles de detalle. Todo proceso,
independientemente del nivel del diagrama, debe tener al menos una entrada
y una salida.
La descomposición por niveles se realiza de arriba abajo (top-down), es
decir, se comienza en el nivel más general y se termina en el más detallado,
pasando por los niveles intermedios necesarios. De este modo se dispondrá
de un conjunto de particiones del sistema que facilitarán su estudio y su
desarrollo.
La explosión de cada proceso de un DFD origina otro DFD y es necesario
comprobar que se mantiene la consistencia de información entre ellos, es
decir, que la información de entrada y de salida de un proceso cualquiera
se corresponde con la información de entrada y de salida del diagrama de
flujo de datos en el que se descompone.
El "balanceo del diagrama" debe ser validado en cada descomposición.
En cualquiera de las explosiones puede aparecer un proceso que no necesite
descomposición. A éste se le denomina Proceso primitivo y sólo se detalla
en él su entrada y su salida, además de una descripción de lo que realiza.
En la construcción hay que evitar en lo posible la descomposición desigual,

309
BLOQUE II TEMA 5

es decir, que un nivel contenga un proceso primitivo, y otro que necesite


ser particionado en uno o varios niveles más. (Pregunta examen)
El modelo de procesos deberá contener: (Pregunta examen)
• Un diagrama de contexto (Nivel 0). El diagrama de contexto es el nivel
más alto y delimita la frontera entre el sistema y el mundo exterior.
(Pregunta 11)
• Un diagrama 0 (Nivel 1).
• Tantos diagramas 1, 2, 3, ... n como funciones haya en el diagrama 0
(Nivel 2).
• Tantos niveles intermedios como sea necesario.
• Varios DFD en el último nivel de detalle.
El diagrama de contexto tiene como objetivo delimitar el ámbito del sistema
con el mundo exterior definiendo sus interfaces. En este diagrama se
representa un único proceso que corresponde al sistema en estudio, un
conjunto de entidades externas que representan la procedencia y destino
de la información y un conjunto de flujos de datos que representan los
caminos por los que fluye dicha información. (Pregunta examen)
A continuación, este proceso se descompone en otro DFD, en el que se
representan los procesos principales o subsistemas. Un subsistema es un
conjunto de procesos cuyas funcionalidades tienen algo en común. Éstos
deberán ser identificados en base a determinados criterios como, por
ejemplo: funciones organizativas o administrativas propias del sistema,
funciones homogéneas de los procesos, localización geográfica de los
mismos, procesos que actualicen los mismos almacenes de datos, etc.
Cada uno de los procesos principales se descompone a su vez en otros que
representan funciones más simples y se sigue descomponiendo hasta que los
procesos estén suficientemente detallados y tengan una funcionalidad
concreta, es decir, sean procesos primitivos.
Como resultado se obtiene un modelo de procesos del sistema de información
que consta de un conjunto de diagramas de flujo de datos de diferentes
niveles de abstracción, de modo que cada uno proporciona una visión más
detallada de una parte definida en el nivel anterior.
Además de los diagramas de flujo de datos, el modelo de procesos incluye
la especificación de los flujos de datos, de los almacenes de datos y la
especificación detallada de los procesos que no precisan descomposición,
es decir los procesos de último nivel o primitivos. En la especificación
de un proceso primitivo se debe describir, de una manera más o menos
formal, cómo se obtienen los flujos de datos de salida a partir de los
flujos de datos de entrada y características propias del proceso.
Dependiendo del tipo de proceso se puede describir el procedimiento
asociado utilizando un lenguaje estructurado o un pseudocódigo, apoyándose
en tablas de decisión o árboles de decisión.
3.Modelo Relacional (Pregunta examen)
El modelo relacional representa la segunda generación de los SGBD. Es un
modelo basado en la teoría de los conjuntos y fue definido por Codd en
1970. En él, todos los datos están estructurados a nivel lógico como tablas
formadas por filas y columnas, aunque a nivel físico pueden tener una
estructura completamente distinta. Un punto fuerte del modelo relacional

310
BLOQUE II TEMA 5

es la sencillez de su estructura lógica. Sus características principales


son:
▪ Las estructuras de datos son las relaciones, que presentan al usuario
la información en forma de tablas bidimensionales independientemente
de cómo se guarden los datos a nivel físico.
▪ Proporciona una base sólida para la seguridad de los datos,
controlando su valor por la pertenencia a un dominio, evitando la
duplicidad de la información gracias a los no duplicados y las claves,
evitando las inconsistencias a través de las reglas de integridad,
etc.
▪ Permite la manipulación de las relaciones en forma de conjuntos,
basándose en la teoría de conjuntos (álgebra relacional) y en la
lógica de predicados (cálculo relacional).
En el caso del modelo de datos relacional, habrá una regla de integridad
para garantizar que los valores de una clave primaria de una relación no
se repitan en tuplas (filas) diferentes de la relación. Toda base de datos
relacional debe cumplir esta regla que, por lo tanto, es una regla de
integridad del modelo.
Una clave primaria no puede ser nula, ni ninguno de los atributos que la
componen.
3.1.Conceptos Fundamentales (Pregunta examen)
El esquema de una base de datos relacional se compone de uno o más esquemas
de relación y de un conjunto de restricciones de seguridad. Un esquema de
relación consiste en un nombre de relación, seguido de los atributos que
lo componen: Nombre (Atrib1, Atrib2, Atrib3).
Una relación o tabla se define como un conjunto de tuplas (filas)
compuestas a su vez de atributos, pertenecientes cada uno a un dominio.
Un dominio es un conjunto de valores que puede tomar un campo.
Un atributo es una propiedad de una relación y su información está asociada
a un dominio del que toma sus valores. El número de atributos de una
relación define su grado, mientras que el número de tuplas (filas) de las
mismas define su cardinalidad. (Pregunta examen)
En un SGBD relacional pueden existir varios tipos de relaciones:
▪ Relaciones base: Son relaciones reales que tienen nombre y forman
parte directa de la base de datos almacenada. Son autónomas.
▪ Vistas: Denominadas relaciones virtuales, son relaciones con nombre
y derivadas: se representan mediante su definición en términos de
otras relaciones con nombre. No poseen datos propios.
▪ Instantáneas: Son relaciones con nombre y derivadas. Son reales, a
diferencia de las vistas. Están presentadas no sólo por su definición
en términos con otras relaciones con nombre, sino también por sus
propios datos almacenados. Son relaciones de sólo lectura y se
refrescan periódicamente.
▪ Resultados de consultas: Son las relaciones resultantes de alguna
consulta especificada. Puede o no tener nombre y no persisten en la
base de datos.
▪ Resultados intermedios: Son las relaciones que contienen los
resultados de las subconsultas. Normalmente no tienen nombre y
tampoco persisten en la base de datos.

311
BLOQUE II TEMA 5

▪ Resultados temporales: Son relaciones con nombre, similares a las


relaciones base o a las instantáneas, pero se destruyen
automáticamente en algún momento apropiado.
3.2.Claves
Una superclave es un atributo o un conjunto de atributos que identifican
de modo único las tuplas de una relación.
Una clave candidata es una superclave en la que ninguno de sus subconjuntos
es una superclave de la relación. Cuando una clave candidata está formada
por más de un atributo se dice que es una clave compuesta. Una relación
puede tener varias claves candidatas.
Si se elimina un atributo de una clave candidata, ésta deja de serlo. El
atributo o conjunto de atributos K de la relación R es una clave candidata
si y sólo si satisface las siguientes propiedades:
▪ Unicidad: nunca hay dos tuplas en la relación R con el mismo valor
de K.
▪ Irreductibilidad (minimalidad): ningún subconjunto de K tiene la
propiedad de unicidad, es decir, no se pueden eliminar componentes
de K sin destruir la unicidad.
La clave primaria de una relación es aquella clave candidata que se escoger
para identificar sus tuplas de modo único. Ya que una relación no contiene
tuplas duplicadas siempre habrá una clave candidata, por lo que toda
relación tiene siempre una clave primaria. Las claves candidatas que no
son escogidas como clave primaria son denominadas claves alternativas.
Una clave ajena es un atributo o un conjunto de atributos de una relación
cuyos valores coinciden con los valores de la clave primaria de alguna
otra relación. Representan relaciones entre datos. Se dice que un valor
de clave ajena representa una referencia a la tupla que contiene el mismo
valor en su clave primaria (tupla referenciada).
3.3.Restricciones del Modelo Relacional (Pregunta examen)
En primer lugar, definiremos el valor nulo como un atributo cuyo valor es
desconocido, no representa ni la cadena vacía ni el valor cero, sino que
es ausencia total de información. No es lo mismo un campo vacío que un
campo nulo.
Las restricciones que impone el modelo relacional son:
▪ Restricción de dominio: Al tener que definir cada atributo sobre un
dominio se impone una restricción sobre el conjunto de valores
permitidos.

▪ Regla de integridad de la entidad: Se aplica a claves primarias de


las relaciones al evitar que los atributos que las componen tengas
valores nulos. No se aplica sobre las claves alternativas (índices
secundarios).

▪ Regla de integridad referencial: Se aplica sobre las claves ajenas.


Si en una relación hay una clave ajena (foráneas), los valores de la
misma han de coincidir con los valores de la clave primaria a la que
hacen referencia o bien deben ser valores nulos.

312
BLOQUE II TEMA 5

▪ Las claves ajenas nos crean una serie de cuestiones que debemos
contestar a la hora de modificar o borrar los datos de la clave
primaria. Para clave ajena de la base de datos habrá que contestar
tres preguntas:

o Regla de los nulos.


o Regla de borrado.
o Regla de modificación:
4.Reglas de Codd (Pregunta examen)
Codd, el creador del modelo relacional, estableció una lista con las 12
reglas:
▪ Regla 0: Regla fundamental. El sistema debe ser relacional
(relaciones).
▪ Regla 1: Regla de la información. Se representa mediante valores en
tablas.
▪ Regla 2: Regla del acceso garantizado. Todo dato atómico debe ser
accedido
▪ Regla 3: Regla del tratamiento sistemático de valores nulos. El
sistema debe permitir que haya campos nulos. Se debe disponer de una
representación de valores desconocidos y no aplicables diferente de
los valores normales.
▪ Regla 4: Catálogo dinámico en línea basado en el modelo relacional.
El sistema debe soportar un catálogo en línea, el catálogo relacional,
que da acceso a la estructura de la base de datos y que debe ser
accesible a los usuarios autorizados.
▪ Regla 5: Regla del sublenguaje de datos completo.
▪ Regla 6: Regla de actualización de vistas. Todas las vistas
actualizables lo son también por el sistema.
▪ Regla 7: Inserción, actualización y borrado de alto nivel. Con varias
tuplas a la vez. **Tuplas: representa un objeto único de datos
implícitamente estructurados en una tabla. En términos simples, una
tabla de una base de datos puede imaginarse formada de filas y
columnas (campos o atributos).
▪ Regla 8: Independencia física de los datos. Del soporte y del método
de acceso. Los cambios físicos afectarán a programas.
▪ Regla 9: Datos independientes de las aplicaciones que los utilicen
más difícil.
▪ Regla 10: Independencia de la integridad. La Integridad en catálogo.
No debe depender del lenguaje.
▪ Regla 11: Independencia de distribución. Se puede tener una BBDD
distribuida Federada
▪ Regla 12: Regla de la no subversión. Si el sistema ofrece una interfaz
de acceso a bajo nivel, dicho acceso no se podrá usar para subvertir
el sistema.
El Modelo Relacional fue presentado por Codd a finales de los años sesenta.
Codd propuso un modelo de datos basado en la teoría matemática de las
relaciones, en el que los datos se estructuran lógicamente en forma de
relaciones.

313
BLOQUE II TEMA 5

Los objetivos perseguidos por Codd en la presentación de su modelo son los


siguientes: (Pregunta examen)
1. Independencia Física.
2. Independencia Lógica.
3. Flexibilidad.
4. Uniformidad.
5. Sencillez.
Codd, También creó ocho servicios que debe ofrecer todo SGBD.
1. Capacidad de almacenar datos en las bases de datos, acceder a ellos
y actualizarlos y debe ocultar al usuario la estructura física interna
2. Proporcionar un catálogo en el que se almacenen las descripciones de
los datos y que sea accesible. Diccionario de datos (tablas de solo
lectura que proporcionan información de BD e información que describe
los datos (metadatos).
3. Transacciones Correctas: Se realicen, o que no se realice ninguna.
4. Concurrencia. Un SGBD debe proporcionar un mecanismo que asegure que
la base de datos se acceso/actualice correctamente.

▪ Protocolos de Bloqueo: Conjunto de reglas, que indican en qué


momento se puede bloquear o no una transacción
▪ Esquema de Ordenación: por marcas temporales
▪ Esquema de validación: transacciones de lectura. (divide la
transacción en etapas, lectura, validación y escritura)
▪ Esquema de granularidad: Agrupar elementos de datos y definirlos
como un todo para sincronizarlos.
▪ Esquema de multi-versión: Crear nuevas versiones de los datos cada
vez que se ejecute una transacción.
▪ Interbloqueos: transacciones tal que toda transacción del conjunto
está esperando a que otra transacción del conjunto finalice.
5. Recuperación. Un SGBD debe proporcionar un mecanismo capaz de
recuperar la BD en caso de que ocurra algún suceso que la dañe.
6. Un SGBD debe proporcionar protección q garantice q sólo los usuarios
autorizados pueden acceder a la base de datos.
7. Un SGBD debe ser capaz de integrarse con algún software de
comunicación.
8. Un SGBD debe garantizar que tanto los datos de la base de datos, como
los cambios que se realizan sobre estos datos, sigan reglas.
La integridad de la base de datos requiere la validez y consistencia de
los datos almacenados. "proteger la base de datos".
La integridad se ocupa de la calidad de los datos. Normalmente se expresa
mediante restricciones.
5.Álgebra Relacional (Pregunta examen)
El álgebra relacional es un lenguaje forma con una serie de operadores que
trabajan sobre una o varias relaciones para obtener otra relación
resultado, sin que cambien las relaciones originales. Tanto los operandos
como los resultados son relaciones, por lo que la salida de una operación
puede ser la entrada de otra. Esto permite anidar expresiones del álgebra
del mismo modo que se anidan las expresiones matemáticas. A esta propiedad
se le denomina clausura.

314
BLOQUE II TEMA 5

Existen cinco operadores fundamentales, que permiten realizar la mayoría


de las operaciones, y otros no fundamentales, que se pueden expresar a
partir de los cinco fundamentales.
o Fundamentales:

• Restricción
• Proyección: Permite extraer columnas (atributos) de una relación,
dando como resultado un subconjunto vertical de atributos de la
relación.
• Producto Cartesiano
• Unión
• Diferencia

o No Fundamentales:

• Concatenación.
• Concatenación externa.
• Intersección: a partir de dos relaciones del mismo tipo, obtiene
una nueva relación formada por las tuplas (filas) que pertenecen
a las dos relaciones de partida.
• División.

315

También podría gustarte