2_BaseDat2

Embed Size (px)

DESCRIPTION

Diccionario de datos, integridad de los datos, restricciones de integridad

Citation preview

Diccionario de datos (DD)

El diccionario de datos es un listado organizado de todos los datos que pertenecen a un sistema. El objetivo de un diccionario de datos es dar precisin sobre los datos que se manejan en un sistema, evitando as malas interpretaciones o ambigedades.Define con precisin los datos de entrada, salida, componentes de almacenes, flujos, detalles de las relaciones entre almacenes, entre otras cosas, y son buenos complementos a los diagramas de flujo de datos, los diagramas de entidad-relacin, etc.De forma ms precisa, un diccionario de datos es un conjunto de metadatos que contiene las caractersticas lgicas de los datos que se van a utilizar en el sistema que se est desarrollando, incluye nombre, descripcin, alias, contenido y organizacin.Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la informacin, se desarrolla durante el anlisis de flujo de datos y auxilia a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo.En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. Los elementos ms importantes son flujos de datos, almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripcin de todos estos elementos.

Contenido de un registro del diccionario

El DD tiene dos tipos de descripciones para el flujo de datos del sistema,Los elementos datos y

La estructura de datos.

Elementos datos: son los bloques bsicos para todos los dems datos del sistema, por si mismos no le dan un significado suficiente al usuario. Se agrupan para formar una estructura de datos.Descripcin: Cada entrada en el diccionario consiste de un conjunto de detalles que describen los datos utilizados o producidos por el sistema. Cada uno est identificado con:Un nombre: para distinguir un dato de otro.

Descripcin: indica lo que representa en el sistema.

Alias: porque un dato puede recibir varios nombres, dependiendo de quin lo use.

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 especficos para los datos. Si los valores de los datos estn restringidos a un intervalo especifico, esto debe estar en la entrada del diccionario.

Estructura de datos: es un grupo de datos que est relacionado con otros y que en conjunto describen un componente del sistema.Descripcin: Se construyen sobre cuatro relaciones de componentes. Se pueden utilizar las siguientes combinaciones ya sea individualmente o en conjuncin con alguna otra.Relacin secuencial: define los componentes que siempre se incluyen en una estructura de datos.

Relacin de seleccin: (uno u otro), define las alternativas para datos o estructuras de datos incluidos en una estructura de datos.

Relacin de iteracin: (repetitiva), define la repeticin de un componente.

Relacin opcional: los datos pueden o no estar incluidos, o sea, una o ninguna iteracin.

DefinicionesUna definicin de un dato se introduce mediante el smbolo =; en este contexto el = se lee como: est definido por, o est compuesto de, o significa. Para definir un dato completamente, la definicin debe incluir:El significado del dato en el contexto de la aplicacin. Esto se documenta en forma de comentario.

La composicin del dato, si es que est compuesto de otros elementos significativos.

Los valores que el dato puede tomar, si se trata de un dato elemental que ya no puede ser descompuesto.

NotacinLas estructuras de datos son descritas, por lo general, mediante los siguientes smbolos:Un signo de igual (=) significa est compuesto de.

Un signo de ms (+) significa y.

Las llaves { } indican elementos repetidos, tambin llamados grupos repetidos o tablas. Puede haber uno o varios elementos repetidos dentro del grupo. El grupo repetido puede tener condiciones, tales como una cantidad fija de repeticiones o lmites, superior e inferior para la cantidad de repeticiones.

Los corchetes [ ] representan una situacin disyuntiva. Puede estar presente un elemento u otro, pero no ambos. Los elementos listados entre corchetes son mutuamente excluyentes, y se separan mediante barras ( | ).

Los parntesis ( ) representan un elemento opcional. Los elementos opcionales pueden ser dejados en blanco en las pantallas de captura, y pueden contener espacios o ceros para los campos numricos en las estructuras de archivo.

La @ (o una definicin subrayada) identifica la llave para un almacn de datos.

Una frase entre asteriscos es un comentario (* *).

EjemplosNombre = Ttulo + Primer-nombre + Apellido-paterno + Apellido-maternoTtulo = [Sr | Sra. | Dr. | Ing. | Lic.]Primer-nombre = {carcter}Apellido-paterno = {carcter}Apellido-materno = {carcter}Carcter = [A-Z | a-z | | ]Peso = * peso del paciente al ingresar al hospital *CLIENTES = {cliente} * esto es un almacn de datos *cliente = @nombre-cliente + direccin + nmero-telfono

Datos elementalesSon aquellos para los cuales no hay una descomposicin significativa. Por ejemplo, puede ser que no se requiera descomponer el nombre de una persona en primer-nombre, apellido-materno y apellido-paterno; esto depende del contexto del sistema que se est modelando. Cuando se han identificado los datos elementales, deben ser introducidos en el DD y proveer una breve descripcin que describa el significado del dato. En el caso de que el dato tenga un nombre significativo, se puede omitir la descripcin, sin embargo, es importante especificar las unidades de medida que el dato puede tomar.Ejemplo: Peso = * peso del paciente al ingresar al hospital *unidad: kilo, rango:2150

Altura = * Altura del trabajador *unidad: cm, rango: 100200 *

Sexo = * Genero sexual del trabajador *valores: [F | M]

Datos opcionalesEs aquel que puede o no estar presente como componente de un dato compuesto. Ejemplo: Direccin = calle + nmero + (ciudad) + (pas) + (cdigo-postal)

SeleccinIndica que un elemento consiste de exactamente una opcin de un conjunto de alternativas. Ejemplos:Sexo = [Femenino | Masculino]Tipo-de-cliente = [Gubernamental | Acadmico | Industria | Otros]

Iteracin o repeticinSe usa para indicar ocurrencias repetidas de un componente en un elemento compuesto.Orden-de compra = nombre-cliente + direccin-de-envo + {artculo}Significa que una orden de compra siempre debe contener un nombre de cliente, una direccin de envo y cero o ms ocurrencias de un artculo.

Orden-de compra = nombre-cliente + direccin-de-envo + 1{artculo}10Se pueden especificar lmites superiores e inferiores a las iteraciones; el ejemplo indica que una orden de compra siempre debe contener un nombre de cliente, una direccin de envo y de 1 a 10 artculos.

Ejemplos de iteraciones con lmites:a = 1{b} * tiene definido el lmite inferior *

a = {b}10 * tiene definido el lmite superior *

a = 1{b}10 * tiene definidos ambos lmites *

a = {b} * no tiene definidos ambos lmites *

El DD provee informacin del DER (diagrama Entidad-Relacin). En general, las instancias del DER corresponden a los almacenes de datos de los DFD (diagramas de flujo de datos). Ejemplo:CLIENTES = {cliente} * esto es un almacn de datos *cliente = @nombre-cliente + direccin + nmero-telfonocompra = * asociacin entre un cliente y uno o ms artculos * nombre-cliente + 1{id-artculo + cantidad-artculos}ARTCULOS = {artculo} * esto es un almacn de datos *artculo = @id-artculo + descripcin

En el ejemplo anterior, cliente es la definicin de un tipo de objeto (entidad) y una instancia del almacn de datos CLIENTES. La llave de cliente es el atributo nombre-cliente, el cual diferencia una instancia de otra. El signo @ es usado para indicar los campos llave, o bien estos campos llave se subrayan.

Razones para su utilizacinPara manejar los detalles en sistemas muy grandes, ya que tienen enormes cantidades de datos, aun en los sistemas ms chicos hay gran cantidad de datos. Los sistemas al sufrir cambios continuos, es muy difcil manejar todos los detalles. Por eso se registra la informacin, ya sea sobre hoja de papel o usando procesadores de texto. Los analistas mas organizados usan el diccionario de datos automatizados diseados especficamente para el anlisis y diseo de software.

Para asignarle un solo significado a cada uno de los elementos y actividades del sistema. 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.

Para documentar las caractersticas del sistema, incluyendo partes o componentes as como los aspectos que los distinguen. Tambin es necesario saber bajo qu circunstancias se lleva a cabo cada proceso y con qu frecuencia ocurren. Produciendo una comprensin ms completa. Una vez que las caractersticas estn articuladas y registradas, todos los participantes en el proyecto tendrn una fuente comn de informacin con respecto al sistema.

Para facilitar el anlisis de los detalles con la finalidad de evaluar las caractersticas y determinar donde efectuar cambios en el sistema. Determina si son necesarias nuevas caractersticas o si estn en orden los cambios de cualquier tipo. Se abordan las caractersticas:

Naturaleza de las transacciones: las actividades de la empresa que se llevan a cabo mientras se emplea el sistema.

Preguntas: solicitudes para la recuperacin o procesamiento de informacin para generar una respuesta especfica.

Archivos y bases de datos: detalles de las transacciones y registros maestros que son de inters para la organizacin.

Capacidad del sistema: Habilidad del sistema para aceptar, procesar y almacenar transacciones y datos

Localizar errores y omisiones en el sistema, detectan dificultades, y las presentan en un informe. Aun en los manuales, se revelan errores.

Integridad de datosSe refiere a la correccin y completitud de los datos en una base de datos. Cuando los contenidos se modifican con sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados puede perderse de diversas maneras.Pueden aadirse datos no vlidos a la base de datos, tales como un pedido que especifica un producto no existente.

Pueden modificarse datos existentes tomando un valor incorrecto, como por ejemplo si se reasigna un vendedor a una oficina no existente.

Los cambios en la base de datos pueden perderse debido a un error del sistema o a un fallo en el suministro de energa.

Los cambios pueden ser aplicados parcialmente, como por ejemplo si se aade un pedido de un producto sin ajustar la cantidad disponible para vender.

Una de las funciones importantes de un SMBD relacional es preservar la integridad de los datos almacenados en la mayor medida posible.

Tipos de restricciones de integridadIntegridad de entidad: Tambin conocida como Restriccin de unicidad; establece que la columna que sea la clave primaria de una tabla debe tener un valor nico para cada fila; en caso contrario, la base de datos perder su integridad. Se especifica en la sentencia CREATE TABLE. El SMBD comprueba automticamente la unicidad del valor de la columna que es clave primaria con cada sentencia INSERT Y UPDATE. Un intento de insertar o actualizar una fila, con un valor de la clave primaria ya existente, fallar.

Restriccin de valor No Nulo: Tambin conocida como Datos Requeridos; establece que una columna No tenga una sola celda vaca. Se define efectuando la declaracin de esa columna como NOT NULL cuando la tabla que contiene las columnas se crea por primera vez, como parte de la sentencia CREATE TABLE.

Chequeo de Validez: cuando se crea una tabla cada columna tiene un tipo de datos y el SMBD asegura que solamente los datos del tipo especificado sean ingresados en la tabla.

Integridad referencial: asegura la integridad entre las claves ajenas (forneas) y primarias (relaciones padre/hijo). Existen cuatro actualizaciones de la base de datos que pueden corromper la integridad referencial:

La insercin de una fila hijo se produce cuando no coincide la clave ajena (fornea) con la clave primaria del padre.

La actualizacin en la clave ajena (fornea) de la fila hijo, donde se produce una actualizacin en la clave ajena de la fila hijo con una sentencia UPDATE y la misma no coincide con ninguna clave primaria.

La supresin de una fila padre, con la que, si una fila padre -que tiene uno o ms hijos- se suprime, las filas hijos quedarn hurfanas.

La actualizacin de la clave primaria de una fila padre, donde si en una fila padre, que tiene uno o ms hijos, se actualiza su clave primaria, las filas hijos quedarn hurfanas.

Fuentes:http://es.wikipedia.org/wiki/Diccionario_de_datoshttp://www.monografias.com/trabajos5/inso/inso.shtmlhttp://www.mitecnologico.com/Main/DiccionariosDeDatos

Apuntes de Bases de Datos II 24/05/12

Valentn Belisario Domnguez Vera