El documento describe un diccionario de datos, que es un catálogo que contiene información sobre los elementos de datos en un sistema, como flujos de datos, almacenes de datos y procesos. El diccionario proporciona detalles como nombres, descripciones y organización de los datos. Se desarrolla durante el análisis de flujo de datos y ayuda a los analistas a determinar los requisitos del sistema. El diccionario también se utiliza durante el diseño.
Topografía 1 Nivelación y Carretera en la Ingenierías
Diccionario de datos
1. DICCIONARIO DE DATOS
Es un catálogo, un depósito, de los elementos en un sistema. Como su nombre lo sugiere,
estos elementos se centran alrededor de los datos y la forma en que están estructurados
para satisfacer los requerimientos de los usuarios y las necesidades de la organización.
En un diccionario de datos se encuentra la lista de todos los elementos que forman parte
del flujo de datos en todo el sistema. Los elementos más importantes son flujos de datos,
almacenes de datos y procesos. El diccionario guarda los detalles y descripciones de
todos estos elementos.
Si los analistas desean conocer cuántos caracteres abarca un determinado dato o qué
otros nombres recibe en distintas partes del sistema, o dónde se utiliza, encontrarán las
respuestas en un diccionario de datos desarrollado en forma apropiada.
El diccionario se desarrolla durante el análisis de flujo de datos y auxilia a los analistas
que participan en la determinación de los requerimientos de sistemas.
Definición de Elementos
El nivel más importante de datos es el elemento dato. (es probable que usted conozca
otros nombres que se le dan a este término: campo dato o parte elemental.). Ninguna
unidad más pequeña tiene significado para los analistas de sistemas o usuarios.
Los elementos dato son los bloques básicos para todos los demás datos del sistema. Por
si mismo conllevan suficiente significado para ningún usuario.
Diccionario de datos
Contiene las características lógicas de los sitios donde se almacenan los datos del
sistema, incluyendo nombre, descripción, alias, contenido y organización. Identifica los
procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a
la información, se desarrolla durante el análisis de flujo de datos y auxilia a los analistas
que participan en la determinación de los requerimientos del sistema, su contenido
también se emplea durante el diseño.
Razones para su utilización:
1- Para manejar los detalles en sistemas muy grandes, ya que tienen enormes cantidades
de datos, aun en los sistemas mas chicos hay gran cantidad de datos.
Los sistemas al sufrir cambios continuos, es muy difícil manejar todos los detalles. Por
eso se registra la información, ya sea sobre hoja de papel o usando procesadores de
texto. Los analistas mas organizados usan el diccionario de datos automatizados
diseñados específicamente para el análisis y diseño de software.
2- Para asignarle un solo significado a cada uno de los elementos y actividades del
sistema.
2. Los diccionarios de datos proporcionan asistencia para asegurar significados comunes
para los elementos y actividades del sistema y registrando detalles adicionales
relacionadas con el flujo de datos en el sistema, de tal manera que todo pueda localizarse
con rapidez.
3- Para documentar las características del sistema, incluyendo partes o componentes así
como los aspectos que los distinguen. Tambien es necesario saber bajo que
circunstancias se lleva a cabo cada proceso y con que frecuencia ocurren. Produciendo
una comprensión mas completa. Una vez que las características están articuladas y
registradas, todos los participantes en el proyecto tendrán una fuente común de
información con respecto al sistema.
4- Para facilitar el análisis de los detalles con la finalidad de evaluar las características y
determinar donde efectuar cambios en el sistema.
Determina si son necesarias nuevas características o si están en orden los cambios de
cualquier tipo.
Se abordan las características:
* Naturaleza de las transacciones: las actividades de la empresa que se llevan a cabo
mientras se emplea el sistema.
* Preguntas: solicitudes para la recuperación o procesamiento de información para
generar una respuesta especifica.
* Archivos y bases de datos: detalles de las transacciones y registros maestros que son
de interés para la organización.
* Capacidad del sistema: Habilidad del sistema para aceptar, procesar y almacenar
transacciones y datos
5- Localizar errores y omisiones en el sistema, detectan dificultades, y las presentan en un
informe. Aun en los manuales, se revelan errores.
Contenido de un registro del diccionario
El diccionario tiene dos tipos de descripciones para el flujo de datos del sistema, son los
elementos datos y estructura de datos.
Elemento dato: son los bloques básicos para todos los demás datos del sistema, por si
mismos no le dan un significado suficiente al usuario. Se agrupan para formar una
estructura de datos.
Descripción: Cada entrada en el diccionario consiste de un conjunto de detalles que
describen los datos utilizados o producidos por el sistema.
3. Cada uno esta identificado con:
Un nombre: para distinguir un dato de otro.
Descripción: indica lo que representa en el sistema.
Alias: porque un dato puede recibir varios nombres, dependiendo de quien uso este dato.
Longitud: porque es de importancia de saber la cantidad de espacio necesario para cada
dato.
Valores de los datos: porque en algunos procesos solo son permitidos valores muy
específicos para los datos. Si los valores de los datos están restringidos a un intervalo
especifico, esto debe estar en la entrada del diccionario.
Estructura de datos: es un grupo de datos que están relacionados con otros y que en
conjunto describen un componente del sistema.
Descripción:
Se construyen sobre cuatro relaciones de componentes. Se pueden utilizar las siguientes
combinaciones ya sea individualmente o en conjunción con alguna otra.
Relación secuencial: define los componentes que siempre se incluyen en una estructura
de datos.
Relación de selección: (uno u otro), define las alternativas para datos o estructuras de
datos incluidos en una estructura de datos.
Relación de iteración: (repetitiva), define la repetición de un componente.
Relación opcional: los datos pueden o no estar incluidos, o sea, una o ninguna iteración.
Notación
Los analistas usan símbolos especiales con la finalidad de no usar demasiada cantidad de
texto para la descripción de las relaciones entre datos y mostrar con claridad las
relaciones estructurales. En algunos casos se emplean términos diferentes para describir
la misma entidad (alias) estos se representan con un signo igual (=) que vincula los datos.
Estructuras de Datos
Una estructura de datos es un grupo de datos elementales que están relacionados con
otros y que en conjunto describen un componente del sistema
4. TÉRMINOS UTILIZADOS FRECUENTEMENTE
1. Administración de Base de Datos Relacional: Técnica de admistración de bases de
datos en la que la información se guarda en tablas de datos bidimensionales. El programa
que funciona con dos tablas de datos al mismo tiempo, relaciona la información mediante
vinculaciones establecidas por una columna o campos comunes.
2. Acceso: La manera en la cual los archivos o conjunto de datos son referenciados por la
computadora.
3. Base de Datos: Es una serie de datos organizados y relacionados entre sí, los cuales
son recolectados y explotados por los Sistemas de Información de una empresa o negocio
en particular.
4. Buscadores: O también llamados motores de búsqueda, son herramientas que
permiten clasificar la información que existe en la red y hacerla localizable en poco tiempo
según las preferencias del usuario.
5. Campo: Unidad básica de una base de datos, un campo puede ser, por ejemplo, el
nombre de una persona. Los nombres de los campos, no pueden empezar con espacios
en blanco y caracteres especiales. No pueden llevar puntos, ni signos de exclamación o
corchetes. Si pueden tener espacios en blanco en el medio.
6. Datos estadísticos: estos almacenan información estadística sobre los datos en la base
de datos.
7. El DBMS: es un conjunto de programas que se encargan de manejar la creación y
todos los accesos a las bases de datos.
8. ELIMINACION: Es una solicitud de eliminación que se expresa de forma muy parecida
a una consulta. Sin embargo, en vez de presentar tuplas al usuario, quitamos las tuplas
seleccionadas de la base de datos. Sólo puede eliminar tuplas completas; no se puede
eliminar únicamente valores de determinados atributos.
5. 9. Facilidad de Consultas: Permitir al usuario hacer cuestiones sencillas a la base de
datos. Este tipo de consultas tienen como misión proporcionar la información solicitada
por el usuario de una forma correcta y rápida.
10. Formulario: es el elemento en forma de fecha que permite la gestión de los datos de
una forma mas cómoda y visiblemente mas atractiva
11. Gestor de Base de Datos: Es un conjunto de programas que permiten crear y
mantener una base de datos, asegurando su integridad, confidencialidad y seguridad
12. Independencia de los datos: Se refiere a la protección contra los programas de
aplicaciones que pueden originar modificaciones cuando se altera la organización física y
lógica de las bases de datos.
13. JDBC: La Conectividad de Bases de Datos Java (Java Database Connectivity, JDBC)
es una especificación de la interfaz de aplicación de programa (application program
interface, API) para conectar los programas escritos en Java a los datos en bases de
datos populares.
14. La manipulación de datos: la manipulación de datos es la recuperación de información
almacenada en la base de datos
15. Lenguaje de consulta: Son los lenguajes en el que los usuarios solicitan información
de la base de datos. Estos lenguajes son generalmente de más alto nivel que los
lenguajes de programación. Los lenguajes de consulta pueden clasificarse como
procedimentales y no procedimentales
16. Manipulación de Base de Datos: Usando la base de Datos -- el usuario puede añadir,
borrar y modificar información a la base de datos así como también hacer consultas
17. Modelo de base de datos orientado a objetos: es una adaptación a los sistemas
de bases de datos. Se basa en el concepto de encapsulamiento de datos y código que
opera sobre estos en un objeto.
6. 18. Modelos de Red: Este modelo permite la representación de muchos a muchos de una
Base de Datos. El modelo de red evita redundancia en la información, a través de la
incorporación de un tipo de registro denominado el conector.
19. Nivel logico: definición de las estructuras de datos que constituyen la base de datos
20. Reglas de Integridad: Son restricciones que definen los estados de consistencias de
las bases de datos.
21. DBMS: Es un conjunto de programas que se encarga de manejar la cremación y todos
los acceso a las bases de datos.
22. DDL: Es un lenguaje de definición de datos
23. Rectángulos: es parte de la estructura de base de datos y son aquellos que
representan un conjunto de entidades
24. Recuperación: Proporcionar como mínimo el mismo nivel de recuperación que los
sistemas de bases de datos actuales. De forma que, tanto en caso de fallo de hardware
como de fallo de software, el sistema pueda retroceder hasta un estado coherente de los
datos.
24. Sistema de Administración de Base de Dato: Es el softwware que controla la
organización, almacenamiento, recuperación, seguridad e integridad de los datos en una
base de datos
25. SISTEMA GESTOR DE BASE DE DATOS: Es un conjunto de programas que
permiten crear y mantener una base de datos, asegurando su integridad, confidencialidad
y seguridad.
26. Software: Es un sistema manejador de bases de datos que permite al usuario accesar
con facilidad a los datos almacenados o que ande ser almacenados
7. 27. Transacción: es una secuencia de operaciones de acceso a la base de datos que
constituye una unidad lógica de ejecución.
28. Transacciones compartidas: Las transacciones compartidas soportan grupos de
usuarios en estaciones de trabajo, los cuales desean coordinar sus esfuerzos en tiempo
real, los usuarios pueden compartir los resultados intermedios de una base de datos. La
transacción compartida permite que varias personas intervengan en una sola transacción.
29. TUPLAS: Es la representación de una fila en una de las tablas que se esta
almacenando datos. Y las cuales serán llamadas por los administradores de Base de
Datos en el tiempo de ejecución de un sistema.
30. Usuario final: es quien accesa a las bases de datos por medio de un lenguaje de
consulta o de programas de aplicación.
8. LA NORMALIZACIÓN
La normalización es el proceso de organizar los datos de una base de datos. Se incluye la
creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas
tanto para proteger los datos como para hacer que la base de datos sea más flexible al
eliminar la redundancia y las dependencias incoherentes.
Los datos redundantes desperdician el espacio de disco y crean problemas de
mantenimiento. Si hay que cambiar datos que existen en más de un lugar, se deben
cambiar de la misma forma exactamente en todas sus ubicaciones. Un cambio en la
dirección de un cliente es mucho más fácil de implementar si los datos sólo se almacenan
en la tabla Clientes y no en algún otro lugar de la base de datos.
¿Qué es una "dependencia incoherente"? Aunque es intuitivo para un usuario mirar en la
tabla Clientes para buscar la dirección de un cliente en particular, puede no tener sentido
mirar allí el salario del empleado que llama a ese cliente. El salario del empleado está
relacionado con el empleado, o depende de él, y por lo tanto se debería pasar a la tabla
Empleados. Las dependencias incoherentes pueden dificultar el acceso porque la ruta
para encontrar los datos puede no estar o estar interrumpida.
Hay algunas reglas en la normalización de una base de datos. Cada regla se denomina
una "forma normal". Si se cumple la primera regla, se dice que la base de datos está en la
"primera forma normal". Si se cumplen las tres primeras reglas, la base de datos se
considera que está en la "tercera forma normal". Aunque son posibles otros niveles de
normalización, la tercera forma normal se considera el máximo nivel necesario para la
mayor parte de las aplicaciones.
Al igual que con otras muchas reglas y especificaciones formales, en los escenarios
reales no siempre se cumplen los estándares de forma perfecta. En general, la
normalización requiere tablas adicionales y algunos clientes consideran éste un trabajo
considerable. Si decide infringir una de las tres primeras reglas de la normalización,
asegúrese de que su aplicación se anticipa a los problemas que puedan aparecer, como
la existencia de datos redundantes y de dependencias incoherentes.
En las descripciones siguientes se incluyen ejemplos.
PRIMERAFORMANORMAL
Elimine los grupos repetidos de las tablas individuales.
Cree una tabla independiente para cada conjunto de datos relacionados.
Identifique cada conjunto de datos relacionados con una clave principal.
No use varios campos en una sola tabla para almacenar datos similares. Por ejemplo,
para realizar el seguimiento de un elemento del inventario que proviene de dos orígenes
posibles, un registro del inventario puede contener campos para el Código de proveedor 1
y para el Código de proveedor 2.
9. ¿Qué ocurre cuando se agrega un tercer proveedor? Agregar un campo no es la
respuesta, requiere modificaciones en las tablas y el programa, y no admite fácilmente un
número variable de proveedores. En su lugar, coloque toda la información de los
proveedores en una tabla independiente denominada Proveedores y después vincule el
inventario a los proveedores con el número de elemento como clave, o los proveedores al
inventario con el código de proveedor como clave.
SEGUNDAFORMANORMAL
Cree tablas independientes para conjuntos de valores que se apliquen a varios registros.
Relacione estas tablas con una clave externa.
Los registros no deben depender de nada que no sea una clave principal de una tabla,
una clave compuesta si es necesario. Por ejemplo, considere la dirección de un cliente en
un sistema de contabilidad. La dirección se necesita en la tabla Clientes, pero también en
las tablas Pedidos, Envíos, Facturas, Cuentas por cobrar y Colecciones. En lugar de
almacenar la dirección de un cliente como una entrada independiente en cada una de
estas tablas, almacénela en un lugar, ya sea en la tabla Clientes o en una tabla
Direcciones independiente.
TERCERAFORMANORMAL
Elimine los campos que no dependan de la clave.
Los valores de un registro que no sean parte de la clave de ese registro no pertenecen a
la tabla. En general, siempre que el contenido de un grupo de campos pueda aplicarse a
más de un único registro de la tabla, considere colocar estos campos en una tabla
independiente. Por ejemplo, en una tabla Contratación de empleados, puede incluirse el
nombre de la universidad y la dirección de un candidato. Pero necesita una lista completa
de universidades para enviar mensajes de correo electrónico en grupo. Si la información
de las universidades se almacena en la tabla Candidatos, no hay forma de enumerar las
universidades que no tengan candidatos en ese momento. Cree una tabla Universidades
independiente y vincúlela a la tabla Candidatos con el código de universidad como clave.
EXCEPCIÓN: cumplir la tercera forma normal, aunque en teoría es deseable, no siempre
es práctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles
entre los campos, debe crear tablas independientes para las ciudades, códigos postales,
representantes de venta, clases de clientes y cualquier otro factor que pueda estar
duplicado en varios registros. En teoría, la normalización merece el trabajo que supone.
Sin embargo, muchas tablas pequeñas pueden degradar el rendimiento o superar la
capacidad de memoria o de archivos abiertos.
10. Puede ser más factible aplicar la tercera forma normal sólo a los datos que cambian con
frecuencia. Si quedan algunos campos dependientes, diseñe la aplicación para que pida
al usuario que compruebe todos los campos relacionados cuando cambie alguno.
OTRAS FORMAS DE NORMALIZACIÓN
La cuarta forma normal, también llamada Forma normal de Boyce Codd (BCNF, Boyce
Codd Normal Form), y la quinta forma normal existen, pero rara vez se consideran en un
diseño real. Si no se aplican estas reglas, el diseño de la base de datos puede ser menos
perfecto, pero no debería afectar a la funcionalidad.
Normalizar una tabla de ejemplo
Estos pasos demuestran el proceso de normalización de una tabla de alumnos ficticia.
1. Tabla sin normalizar:
2. Primera forma normal: no hay grupos repetidos
Las tablas sólo deben tener dos dimensiones. Puesto que un alumno tiene varias clases,
estas clases deben aparecer en una tabla independiente. Los campos Clase1, Clase2 y
Clase3 de los registros anteriores son indicativos de un problema de diseño.
Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deberían
hacerlo. Otra forma de considerar ese problema es con una relación de uno a varios y
poner el lado de uno y el lado de varios en tablas distintas. En su lugar, cree otra tabla en
la primera forma normal eliminando el grupo repetido (Nº clase), según se muestra a
continuación:
Nº alumno Tutor Despacho-Tut Nº clase
1022 García 412 101-07
1022 García 412 143-01
Nº alumno Tutor Despacho-Tut Clase1 Clase2 Clase3
1022 García 412 101-07 143-01 159-02
4123 Díaz 216 201-01 211-02 214-01
11. 1022 García 412 159-02
4123 Díaz 216 201-01
4123 Díaz 216 211-02
4123 Díaz 216 214-01
3. Segunda forma normal: eliminar los datos redundantes
Observe los diversos valores de Nº clase para cada valor de Nº alumno en la tabla
anterior. Nº clase no depende funcionalmente de Nº alumno (la clave principal), de modo
que la relación no cumple la segunda forma normal.
Las dos tablas siguientes demuestran la segunda forma normal:
Alumnos:
Nº alumno Tutor Despacho-Tut
1022 García 412
4123 Díaz 216
4. Registro:
Nº alumno Nº clase
1022 101-07
1022 143-01
1022 159-02
4123 201-01
4123 211-02
4123 214-01
12. 5. Tercera forma normal: eliminar los datos no dependientes de la clave
En el último ejemplo, Despacho-Tut (el número de despacho del tutor) es funcionalmente
dependiente del atributo Tutor. La solución es pasar ese atributo de la tabla Alumnos a la
tabla Personal, según se muestra a continuación:
Alumnos
:
6. Personal:
Nº alumno Tutor
1022 García
4123 Díaz
Nombre Habitación Dept
García 412 42
Díaz 216 42