CAPITULO II

MODELO LOGICO Y FISICO

Un Modelo de Diseño de Soluciones esta compuesto por diferentes perspectivas. Una perspectiva es una forma de ver algo, lo que en este caso es el proceso de diseño de la aplicación. Se utiliza para centrarse en el proceso mismo del diseño. Estas perspectivas son:

¨ Diseño Conceptual

¨ Diseño Lógico

¨ Diseño Físico

Las perspectivas son usadas para identificar los requerimientos técnicos y de negocios para la aplicación. El resultado de utilizar este modelo es una mejor distribución de los recursos del proyecto, lo que puede facilitar mucho las cosas.

2.1.- Diseño Conceptual

Es donde se origina el concepto inicial de la solución. Es en este diseño donde el equipo de desarrollo trata de entender las necesidades de los usuarios de la solución. Escenarios y modelos son usados para suavizar este entendimiento de manera que cada una de las entidades involucradas (equipos de desarrollo, clientes y usuarios) sepan que es lo que se necesita de la solución.

El proceso de Diseño Conceptual esta compuesto de las siguientes tareas para determinar y substanciar los requerimientos de la aplicación:

- Identificación de usuarios y sus roles

- Conseguir información de los usuarios

- Validación del diseño

Perfiles de Usuario

Perfiles de usuario son documentos que describen con quien se esta lidiando, y proveen una descripción de la gente y los grupos que usan el sistema. Esta información es usada para organizar como la información será recolectada, e identificar quien dará dicha información para su recolección.

Estos perfiles también pueden ser creados al tiempo que se generan los escenarios de uso.

Escenarios de Uso

Los escenarios de uso describen los requerimientos del sistema en el contexto del usuario, mostrando como se efectúan los procesos de negocios, o como se deberían efectuar. Los escenarios de uso toman los datos que han sido recolectados , y los aplica en un documento donde paso a paso se describe que pasa primero, luego y después en la ejecución de una tarea específica. Esto transforma los requerimientos que se han recolectado en el contexto de cómo se usan los procesos, funciones y procedimientos.

Existen diferentes métodos para construir los escenarios de uso que son :

¨ El Modelo de Proceso de Flujo de Trabajo

Es usado para crear escenarios de uso que muestran como trabajos específicos son ruteados a través de una organización.

Al usar este modelo es necesario definir pre y pos condiciones. Estas son las condiciones necesarias para que el trabajo sea ruteado de un área a otra, y que es necesario para que un paso particular pueda darse.

¨ El Modelo de Secuencia de Tareas

Es usado para crear escenarios de uso . Este modelo observa a las series de acciones o secuencias de tareas que un usuario efectúa para completar una actividad.

Es posible usar este modelo con texto estructurado o no estructurado. Dependiendo del que se use, se necesita identificar el rol del usuario, y escribir el escenario de uso para este. El rol del usuario debe estar identificado en el escenario de uso de manera que cualquiera que lo vea pueda saber quien efectúa que actividad.

¨ El Modelo de Ambiente Físico

Los escenarios de uso también son útiles para entender el ambiente físico en el que se desenvuelve la aplicación. Esto se debe a que el diseño puede ser afectado por el lugar donde la aplicación vaya a ser usada, además de cómo y por que .

Este modelo observa el ambiente en el que la aplicación va a ser usada. Al usar este modelo, se documenta como las actividades se relacionan con el ambiente físico de la empresa. Esto permite determinar como los datos se mueven a determinadas localizaciones, como un proceso o una actividad de negocio se mueve de un departamento a otro, etc.

El paso final del Diseño Conceptual es validar el diseño. Esta es una presentación del entendimiento del equipo de los requerimientos del usuario. Se efectúa mostrando a usuarios finales y otras partes interesadas los escenarios de uso que se han creado, esto permite determinar si se tiene un entendimiento correcto de lo que se requiere de la aplicación.

Una vez que se ha llegado al final del proceso del Diseño Conceptual , se esta generalmente listo para aplicar los documentos obtenidos al diseño lógico. Si es que fuera necesario es posible volver al Diseño Conceptual para determinar necesidades y percepciones de otras características o funcionalidades del producto. Esto provee de gran flexibilidad al proceso de diseño de la solución de negocios

2.2.- Diseño Lógico

Este diseño toma la información brindada por el Diseño Conceptual y la aplica al conocimiento técnico. Mientras que los requerimientos y necesidades de los clientes y usuarios son identificados en la perspectiva de diseño previa, es en éste diseño que la estructura y comunicación de los elementos de la solución son establecidos. Los objetos y servicios, la interfaz de usuario y la base de datos lógica son el conjunto de elementos identificados y diseñados en esta perspectiva.

En esta etapa no interesan los detalles de implementación física, tales como donde se van a alojar ciertos componentes o cuantos servidores están involucrados. El único interés es crear un modelo de abstracción de alto nivel, independiente de cualquier modelo físico.

Este alto nivel de abstracción permite distanciarse de muchos detalles recolectados en la fase conceptual y organizarlos sin tener que analizar los detalles particulares de cada uno de los requerimientos. Además hace posible centrarse en un requerimiento específico a la vez sin perder la visión de la aplicación como un todo.

El Diseño Lógico es el proceso de tomar los requerimientos de usuario obtenidos en el Diseño Conceptual y mapearlos a sus respectivos objetos de negocios y servicios.

Organización de las Estructuras Lógicas

Una vez que se han identificado los objetos, es necesario organizarlos según los servicios que proveen, y las relaciones que tienen unos con otros.

Existen muchas consideraciones que deben ser tomadas en cuenta al diseñar una aplicación en tres capas que proporciona ciertos beneficios como ser escalabilidad, disponibilidad y eficiencia. Cuando se diseñan los objetos se debe dejar que estos factores dirijan la manera de organizar las estructuras lógicas. A pesar de que estos conceptos también se aplican al Diseño Físico, tienen igualmente importancia en esta etapa de Diseño Lógico. Es bueno definir que tan granular tienen que ser los componentes. Si estos mantendrán un estado o no con el fin de maximizar la escalabilidad, estos y otros elementos deben analizarse detenidamente para obtener un buen Diseño Lógico.

Del Diseño Conceptual al Diseño Lógico

Crear un Diseño Lógico consiste en mapear a objetos las reglas de negocios y los requerimientos de usuario identificados en el Diseño Conceptual. Estos objetos pueden ser más fácilmente identificados de los requerimientos de usuario por los nombres o sustantivos, los servicios que proveen estos objetos representan las reglas y requerimientos del dominio del negocio que se está modelando y son reconocidos por verbos, para reconocer las propiedades o atributos de un objeto se deben identificar los datos asociados al objeto.

Cuando se diseñan los objetos es importante que estos se centren en una sola cosa en lo posible, en otras palabras los objetos deberían solamente proveer servicios relacionados con un único propósito.

La funcionalidad de un objeto se llama granularidad . Mientras su granularidad es mas fuerte el objetos presta muchos servicios, mientras más débil es su granularidad menos servicios presta. Lo óptimo es que el objeto tenga granularidad débil.

Objetivos del diseño lógico

• El objetivo principal es transformar el esquema conceptual de datos en el esquema lógico de datos

• Otros objetivos del diseño lógico son ...

– Eliminar redundancias

– Conseguir máxima simplicidad

– Evitar cargas suplementarias de programación para conseguir;

– una estructura lógica adecuada

– un equilibrio entre los requisitos de usuario y la eficiencia

• Diseño lógico con la máxima portabilidad

2.3.- Diseño Físico

Es donde los requerimientos del diseño conceptual y lógico son puestos en una forma tangible. Es en este diseño que las restricciones de la tecnología son aplicadas al Diseño Lógico de la solución. El Diseño Físico define cómo los componentes de la solución, así como la interfaz de usuario y la base de datos física trabajan juntos. Desempeño, implementación, ancho de banda, escalabilidad, adaptabilidad y mantenibilidad son todos resueltos e implementados a través del Diseño Físico. Ya que esta perspectiva transforma los diseños previos en una forma concreta, es posible estimar qué recursos, costos o programación de tiempo serán necesarios para concretar el proyecto.

Al lidiar con estas tres perspectivas, es importante notar que éstas no son series de pasos con puntos de finalización claros. No es necesario alcanzar un punto específico en una de las perspectivas antes de continuar con la siguiente. De hecho, un área de diseño puede ser usada en combinación con otra de manera tal que mientras una parte de la solución es diseñada conceptual o lógicamente, otra esta siendo codificada o implementada en el producto final. Desde que no existen etapas con puntos definidos o límites, es posible regresar a las distintas perspectivas de diseño cuantas veces sea necesario. Esto permite afinar el diseño revisando y rediseñando la solución.

Objetivos del diseño físico

• Minimizar el tiempo de respuesta

– Tiempo entre la introducción de una transacción T de BD y la obtención de respuesta

• Maximizar la productividad de las transacciones

• Optimizar el aprovechamiento del espacio

– Cantidad de espacio ocupado por ficheros de la BD y sus estructuras de acceso

• En general se especifica límites promedio y del peor de los casos de cada parámetro anterior como parte de los requisitos de rendimiento del sistema.

 Durante el diseño físico hay que tener en cuenta...

• Que el rendimiento depende del tamaño y número de registros en los ficheros

Estimar tamaño_registro y num_registros para cada fichero

Estimar crecimiento de cada fichero: "cómo y cuánto va a crecer" en tamaño de registro, o en número de registros

• El uso que se espera dar a la base de datos

Estimar patrones de actualización y obtención de datos para cada fichero, considerando todas las transacciones

CAPITULO III

RELACIONES ENTRE ENTIDADES

Y RELACIONES ENTRE TABLAS

3.1.- Relaciones entre entidades

Modelo Entidad - Relación

El modelo E-R se basa en una percepción del mundo real, la cual esta formada por objetos básicos llamados entidades y las relaciones entre estos objetos así como las características de estos objetos llamados atributos.

Entidades y conjunto de entidades

Una entidad es un objeto que existe y se distingue de otros objetos de acuerdo a sus características llamadas atributos . Las entidades pueden ser concretas como una persona o abstractas como una fecha.

Un conjunto de entidades es un grupo de entidades del mismo tipo. Por ejemplo el conjunto de entidades CUENTA, podría representar al conjunto de cuentas de un banco X, o ALUMNO representa a un conjunto de entidades de todos los alumnos que existen en una institución.

Una entidad se caracteriza y distingue de otra por los atributos, en ocasiones llamadas propiedades, que representan las características de una entidad. Los atributos de una entidad pueden tomar un conjunto de valores permitidos al que se le conoce como dominio del atributo. Así cada entidad se describe por medio de un conjunto de parejas formadas por el atributo y el valor de dato. Habrá una pareja para cada atributo del conjunto de entidades.

Ejemplo:

Hacer una descripción en pareja para la entidad alumno con los atributos

No_control, Nombre y Especialidad.

Nombre_atributo, Valor

No_control , 96310418

Nombre , Sánchez Osuna Ana

Esp , LI

O considerando el ejemplo del Vendedor cuyos aributos son: RFC, Nombre, Salario.

Nombre_atributo, Valor

RFC , COMD741101YHR

Nombre , Daniel Colín Morales

Salario , 3000

Relaciones y conjunto de relaciones.

Una relación es la asociación que existe entre dos a más entidades.

Un conjunto de relaciones es un grupo de relaciones del mismo tipo.

La cantidad de entidades en una relación determina el grado de la relación, por ejemplo la relación ALUMNO-MATERIA es de grado 2, ya que intervienen la entidad ALUMNO y la entidad MATERIA, la relación PADRES, puede ser de grado 3, ya que involucra las entidades PADRE, MADRE e HIJO.

Aunque el modelo E-R permite relaciones de cualquier grado, la mayoría de las aplicaciones del modelo sólo consideran relaciones del grado 2. Cuando son de tal tipo, se denominan relaciones binarias.

La función que tiene una relación se llama papel, generalmente no se especifican los papeles o roles, a menos que se quiera aclarar el significado de una relación.

Diagrama E-R (sin considerar los atributos, sólo las entidades) para los modelos ejemplificados:

Limitantes de mapeo.

Existen 4 tipos de relaciones que pueden establecerse entre entidades, las cuales establecen con cuantas entidades de tipo B se pueden relacionar una entidad de tipo A:

Tipos de relaciones:

Relación uno a uno.

Se presenta cuando existe una relación como su nombre lo indica uno a uno, denominado también relación de matrimonio. Una entidad del tipo A solo se puede relacionar con una entidad del tipo B, y viceversa;

Por ejemplo: la relación asignación de automóvil que contiene a las entidades EMPLEADO, AUTO, es una relación 1 a 1, ya que asocia a un empleado con un único automóvil por lo tanto ningún empleado posee más de un automóvil asignado, y ningún vehículo se asigna a más de un trabajador.

Relación uno a muchos.

Significa que una entidad del tipo A puede relacionarse con cualquier cantidad de entidades del tipo B, y una entidad del tipo B solo puede estar relacionada con una entidad del tipo A. 

Muchos a uno.

Indica que una entidad del tipo B puede relacionarse con cualquier cantidad de entidades del tipo A, mientras que cada entidad del tipo A solo puede relacionarse con solo una entidad del tipo B.

Muchas a muchas.

Establece que cualquier cantidad de entidades del tipo A pueden estar relacionados con cualquier cantidad de entidades del tipo B.

A los tipos de relaciones antes descritos, también se le conoce como cardinalidad.

La cardinalidad nos especifica los tipos de relaciones que existen entre las entidades en el modelo E-R y establecer con esto las validaciones necesarias para conseguir que los datos de la instancia (valor único en un momento dado de una base de datos) correspondan con la realidad.

Algunos ejemplos de cardinalidades de la vida común pueden ser:

Uno a uno.

El noviazgo, el RFC de cada persona, El CURP personal, El acta de nacimiento, ya que solo existe un solo documento de este tipo para cada una de las diferentes personas.

Uno a muchos.

Cliente – Cuenta en un banco, Padre-Hijos, Camión-Pasajeros, zoologico- animales, árbol – hojas.

Muchos a muchos.

Arquitecto – proyectos, fiesta – personas, estudiante – materias.

NOTA: Cabe mencionar que la cardinalidad para cada conjunto de entidades depende del punto de vista que se le de al modelo en estudio, claro esta, sujetándose a la realidad.

Otra clase de limitantes lo constituye la dependencia de existencia. Refiriéndonos a las mismas entidades A y B, decimos que si la entidad A depende de la existencia de la entidad B, entonces A es dependiente de existencia por B, si eliminamos a B tendríamos que eliminar por consecuente la entidad A, en este caso B es la entidad Dominante y A es la entidad subordinada.

Llaves primarias.

Como ya se ha mencionado anteriormente, la distinción de una entidad entre otra se debe a sus atributos, lo cual lo hacen único. Una llave primaria es aquel atributo el cual consideramos clave para la identificación de los demás atributos que describen a la entidad. Por ejemplo, si consideramos la entidad ALUMNO del Instituto Tecnológico de La Paz, podríamos tener los siguientes atributos: Nombre, Semestre, Especialidad, Dirección, Teléfono, Número de control, de todos estos atributos el que podremos designar como llave primaria es el número de control, ya que es diferente para cada alumno y este nos identifica en la institución.

Claro que puede haber más de un atributo que pueda identificarse como llave primaria en este caso se selecciona la que consideremos más importante, los demás atributos son denominados

Llaves secundarias.

Una clave o llave primaria es indicada gráficamente en el modelo E-R con una línea debajo del nombre del atributo.

Diagrama Entidad-Relación

Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de un esquema gráfico empleando los terminología de entidades, que son objetos que existen y son los elementos principales que se identifican en el problema a resolver con el diagramado y se distinguen de otros por sus características particulares denominadas atributos, el enlace que que rige la unión de las entidades esta representada por la relación del modelo.

Recordemos que un rectángulo nos representa a las entidades; una elipse a los atributos de las entidades, y una etiqueta dentro de un rombo nos indica la relación que existe entre las entidades, destacando con líneas las uniones de estas y que la llave primaria de una entidad es aquel atributo que se encuentra subrayado.

Reducción de diagramas E-R a tablas

Un diagrama E-R, puede ser representado también a través de una colección de tablas. Para cada una de las entidades y relaciones existe una tabla única a la que se le asigna como nombre el del conjunto de entidades y de las relaciones respectivamente, cada tabla tiene un número de columnas que son definidas por la cantidad de atributos y las cuales tienen el nombre del atributo.

3.2.- Relaciones entre tablas

Entre dos tablas básicas o tablas simples cualesquiera, se debe y puede buscar, identificar y establecer una o varias relaciones entre ellas, ejemplo;

tabla Clientes tabla Productos

R1= El Cliente compra Productos

R2= El Cliente devuelve Productos Dañados

R3= El Cliente aparta Productos

tabla Autos tabla TALLERES MECANICOS

R1= El auto ingresa al taller

R2= El auto es diagnosticado en el taller

R3= El auto es reparado en el taller

R4= El auto sale del taller

Una relación simple es la unión o combinación de dos tablas básicas mediante una y solo una acción, hecho o conducta especifica.Entiéndase de otra manera, como una frase que relaciona las dos tablas y un y solo un verbo que las une.

Si se analizan detenidamente las relaciones de los ejemplo, es también posible deducir que un conjunto de relaciones forman o constituyen un proceso administrativo, contable, fiscal, o de otro tipo cualesquiera, en el primer ejemplo el proceso es el ventas, en el segundo es el proceso de reparación de un auto.

Debe ser obvio que un proceso cualesquiera no se podrá describir completamente, con tres o cuatro relaciones simples nadamas.

Aun mas, en un sistema de información cualesquiera cada una de las relaciones genera una tabla especial llamada "de relación", pero también genera en muchos casos un documento especifico, por ejemplo el cliente compra al contado productos genera la tabla de relación y el documento llamado "Factura", en la relación el auto ingresa al taller se genera la tabla de relación y/o documento llamado "ORDEN DE ENTRADA", en la relación el cliente aparta productos se genera la tabla de relación y/o documento llamado "NOTA O RECIBO DE APARTADO", etc.

Existirán casos o relaciones donde será casi imposible identificar o nombrar el documento o relación existente, para resolver este problema, existen dos soluciones básicas, la primera de ellas es crear por nuestra cuenta el documento, es decir si en un modelo practico no existe un documento para esta parte del proceso lo mas sencillo es crearlo en la empresa, documentarlo y pedir a la empresa que lo ponga en practica, en algunos casos es también posible no crear documento alguno, solo llamar a esta relación con el nombre de las dos tablas, por ejemplo rel perros/gatos, rel clientes/productos, etc. ( aunque no es recomendable o muy explicativo).

Igualmente es muy recomendable,, al describir un proceso cualquiera y su conjunto de relaciones, no usar o buscar relaciones muy abstractas, porque será casi imposible pasarlas a un modelo de información implementado en computadora, por ejemplo la relación al cliente le gustan los autos, por ejemplo los perros corretean gatos, etcétera.

En resumen las relaciones y en general el proceso deben de ser simples, y documentales.

Para terminar de complicar las cosas un modelo completo de información, no se construye con dos tablas básicas, un par de procesos y una cuantas relaciones o documentos, el modelo completo incluye un montón de tablas básicas, otro montón de procesos diferentes entre ellas, y cada proceso contiene un conjunto amplio de relaciones.

Por ejemplo en una Empresa de "AUTOREFACCIONES", fácilmente se encuentran las tablas básicas, de clientes, mecánicos, proveedores, partes, proceso de ventas al publico, proceso de compras a proveedores, etcétera y cada proceso con su propio conjunto de relaciones y o documentos.

CAPITULO IV

BASES DE DATOS

4.1.- Introducción

Un archivo es un elemento de información conformado por un conjunto de registros. Estos registros a su vez están compuestos por una serie de caracteres o bytes. Los archivos, alojados en dispositivos de almacenamiento conocidos como memoria secundaria, pueden almacenarse de dos formas diferentes: archivos convencionales o bases de datos.

Los archivos convencionales, pueden organizarse como archivos secuenciales o archivos directos. Sin embargo, el almacenamiento de información a través de archivos convencionales presenta una serie de limitaciones que restringen de manera importante la versatilidad de los programas de aplicación que se desarrollan.

El uso de sistemas de información por parte de las organizaciones requiere el almacenamiento de grandes cantidades de información, ya sea para el uso mismo del sistema, para generar resultados o para compartir dicha información con otros sistemas.

Las formas en las cuales pueden organizarse son archivos secuenciales o archivos directos. En los archivos secuenciales los registros están almacenados en una secuencia que depende de algún criterio definido. Por ejemplo, pueden almacenarse los registros de los empleados de la empresa de manera secuencial de acuerdo al departamento al que pertenecen o de acuerdo a su antigüedad.

Si se desea consultar o modificar información, también es necesario buscar uno por uno en los registros hasta encontrarla.

Los archivos directos permiten accesar directamente un registro de información sin tener que buscar uno a uno por todos los registros del archivo, utilizando una llave de acceso dentro del archivo.

4.2.- Definición de Base de Datos

Se define una base de datos como 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.

Las bases de datos proporcionan la infraestructura requerida para los sistemas de apoyo a la toma de decisiones y para los sistemas de información estratégicos, ya que estos sistemas explotan la información contenida en las bases de datos de la organización para apoyar el proceso de toma de decisiones o para lograr ventajas competitivas. Por este motivo es importante conocer la forma en que están estructuradas las bases de datos y su manejo.

4.2.1.- Componentes principales

Datos. Los datos son la Base de Datos propiamente dicha.

Hardware. El hardware se refiere a los dispositivos de almacenamiento en donde reside la base de datos, así como a los dispositivos periféricos (unidad de control, canales de comunicación, etc.) necesarios para su uso.

Software. Está constituido por un conjunto de programas que se conoce como Sistema Manejador de Base de Datos (DMBS: Data Base Management System). Este sistema maneja todas las solicitudes formuladas por los usuarios a la base de datos.

Usuarios. Existen tres clases de usuarios relacionados con una Base de Datos:

  1. El programador de aplicaciones, quien crea programas de aplicación que utilizan la base de datos.
  2. El usuario final, quien accesa la Base de Datos por medio de un lenguaje de consulta o de programas de aplicación.
  3. El administrador de la Base de Datos (DBA: Data Base Administrator), quien se encarga del control general del Sistema de Base de Datos.

4.2.2.- Ventajas en el uso de Bases de Datos.

  • Globalización de la información. Permite a los diferentes usuarios considerar la

información como un recurso corporativo que carece de dueños específicos.

- Eliminación de información redundante. Duplicada

  • Eliminación de información inconsistente. Si el sistema esta desarrollado a través de

archivos convencionales, dicha cancelación deberá operarse tanto en el archivo de facturas del Sistema de Control de Cobranza como en el archivo de facturas del Sistema de Comisiones.

- Permite compartir información. Varios sistemas o usuarios pueden utilizar una misma entidad.

- Permite mantener la integridad en la información. Solo se almacena la información correcta.

- Independencia de datos. La independencia de datos implica un divorcio entre programas y datos; es decir, se pueden hacer cambios a la información que contiene la base de datos o tener acceso a la base de datos de diferente manera, sin hace cambios en las aplicaciones o en los programas.

4.3.- Tipos de modelos de Datos

Existen fundamentalmente tres alternativas disponibles para diseñar las bases de datos: el modelo jerárquico, el modelo de red y el modelo relacional.

a) El modelo jerárquico

La forma de esquematizar la información se realiza a través de representaciones jerárquicas o relaciones de padre/hijo, de manera similar a la estructura de un árbol. Así, el modelo jerárquico puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a muchos.

En el primer tipo se dice que existe una relación de uno a uno si el padre de la estructura de información tiene un solo hijo y viceversa, si el hijo tiene solamente un padre. En el segundo tipo se dice que la relación es de uno a muchos si el padre tiene más de un hijo, aunque cada hijo tenga un solo padre.

Inconveniente del modelo jerárquico

Relación maestro-alumno, donde un maestro tiene varios alumnos, pero un alumno también tiene varios maestros, uno para cada clase. En este caso, si la información estuviera representada en forma jerárquica donde el padre es el maestro y el alumno es el hijo, la información del alumno tendrá que duplicarse para cada uno de los maestros.

Otra dificultad que presenta el modelo jerárquico de representación de datos es respecto a las bajas. En este caso, si se desea dar de baja a un padre, esto necesariamente implicará dar de baja a todos y cada uno de los hijos que dependen de este padre.

b) El modelo de red

El modelo de red evita esta redundancia en la información, a través de la incorporación de un tipo de registro denominado el conector, que en este caso pueden ser las calificaciones que obtuvieron los alumnos de cada profesor.

La dificultad surge al manejar las conexiones o ligas entre los registros y sus correspondientes registros conectores.

c) El modelo relacional

Se está empleando con más frecuencia en la práctica, debido el rápido entendimiento por parte de los usuarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos y a las ventajas que ofrece sobre los dos modelos anteriores.

En este modelo toda la información se representa a través de arreglos bidimensionales o tablas. Las tablas son un medio de representar la información de una forma más compacta y es posible acceder a la información contenida en dos o más tablas.

Estas operaciones básicas son:

  • Seleccionar renglones de alguna tabla (SELECT)
  • Seleccionar columnas de alguna tabla (PROJECT)
  • Unir o juntar información de varias tablas (JOIN)

Es importante mencionar que la mayoría de los paquetes que manejan bases de datos disponibles en el mercado poseen las instrucciones SELECT, PROJECT Y JOIN con diferentes nombres y modalidades.

Para crear las relaciones, modificarlas, eliminarlas, recuperar los datos almacenados en ellas, y para manipularlas en general, necesitamos un lenguaje formal que nos facilite el acceso, de lo contrario nos veríamos obligados a trabajar a bajo nivel, o nivel de máquina. Este lenguaje debe ser lo suficientemente expresivo para permitirnos llevar a cabo todas estas operaciones, y debe estar basado en formalismos que cumplan con todas las premisas expuestas en los apartados anteriores respecto a reglas de integridad, formas normales, etc. Existen dos tipos básicos de formalismos para expresar las consultas sobre las relaciones de una base de datos relacional: el álgebra relacional y el cálculo relacional

4.4.- Bases de datos de red

El uso de una base de datos de un listado telefónico personal es muy distinto del uso de una base datos de un hospital, una empresa o un banco.

El listado telefónico sólo lo utilizará una persona cada vez, mientras que las otras bases de datos necesitarán ser consultadas al mismo tiempo por muchas personas desde distintos sitios.

En la base de datos de un hospital muchas personas pueden necesitar acceder a los datos de un paciente al mismo tiempo: una enfermera en una planta para conocer la dosis a suministrar de los medicamentos; el médico para estudiar el caso de ese paciente; y desde administración necesitarán los datos sobre ese paciente para elaborar el coste de su hospitalización. Todos ellos necesitarán por tanto hacer consultas o introducir nuevos datos.

Esto sería imposible si la base de datos estuviera situada en un ordenador al que no se puede acceder más que sentándose delante. Si se pusieran en varios sitios ordenadores con bases de datos iguales, al final del día y tras las operaciones que se hayan realizado, una base de datos ya no tendría nada que ver con otra y cualquier consulta posterior a cualquiera de ellas sería del todo infiable.

Para este tipo de bases de datos con múltiples usuarios aparecieron las llamadas bases de datos de red. Estas están situadas en un único ordenador –llamado servidor (generalmente ordenadores de gran potencia)– y se puede acceder a ellas desde terminales u ordenadores con un programa que permita el acceso a ella –los llamados clientes–. Los Gestores de bases de datos de este tipo permiten que varios usuarios hagan operaciones sobre ella al mismo tiempo: uno puede hacer una consulta al mismo tiempo que otro, situado en un lugar diferente, está introduciendo datos en la base.

Gestores de este tipo son: Oracle, PL4, DB2 o SQL Server, que está pensados únicamente para este uso y no se emplean para bases de datos personales

FileMaker y Access, originariamente pensados para uso personal, tienen capacidades de red que hacen de ellos programas muy aptos para su empleo en bases de datos de pequeñas empresas, que no necesitan un número de accesos simultáneos muy alto.

4.5.- Lenguajes de Bases de Datos

4.5.1- SQL (Structured Query Language):

El lenguaje de consulta de bases de datos relacionales por antonomasia, es, el llamado SQL. Este lenguaje, basado en el álgebra relacional y el cálculo relacional, actúa de interfaz entre el usuario y la base de datos y facilita realizar todas las operaciones permitidas. El lenguaje fue diseñado para que, mediante un número muy reducido de comandos y una sintaxis simple, fuese capaz de realizar un gran número de operaciones. La curva de aprendizaje de SQL es realmente rápida. Además, SQL es bastante flexible, en el sentido de que cláusulas SQL pueden ser anidadas indefinidamente dentro de otras cláusulas SQL, facilitando así las consultas que utilizan varias relaciones, vistas u otras consultas.

Además de poder ser usado directamente, es decir, en modo comando, desde el DBMS, SQL puede ser usado desde otros lenguajes de programación de tercera generación, tales como C, para poder acceder a los datos de la base de datos y usarlos para cualquier fin en el programa. Cuando SQL es usado de este modo se le denomina SQL embebido (embedded). Esta característica amplía enormemente las posibilidades del modelo relacional. A continuación mostramos los conceptos fundamentales de SQL. Las consultas en SQL constan de uno o más bloques de recuperación SELECT-FROM-WHERE. El resultado de una consulta es siempre una relación. La estructura es la siguiente:

SELECT atributos
FROM relaciones
[WHERE condiciones-lógicas]

SELECT corresponde a la operación de proyección del álgebra relacional. Especifica todos los atributos que se desean recuperar.

FROM especifica una lista de relaciones de donde se escogerán los atributos de la cláusula SELECT.

WHERE es opcional e incluye las condiciones que deben cumplir los atributos de las relaciones.

Ejemplos:

SELECT direccion, telefono
FROM profesor
WHERE nombre = "Miller"

Devolvería la dirección y el teléfono del profesor Miller.

SELECT nombre, director, desc
FROM depto
WHERE profesor IN
(SELECT prof_ID
FROM profesor
WHERE profesor = "Sinclair")

Devolvería el nombre, nombre del director y descripción del departamento al que pertenece el profesor Sinclair.

Además de estas cláusulas básicas, existen otros muchos operadores que modifican los resultados, y que permiten acciones tales como mostrar valores no repetidos (DISTINCT), unir, intersectar o restar filas en un resultado (UNION, INTERSECT, MINUS), contar valores (, sumarlos (SUM), agrupar por valores (GROUP BY, obtener máximos y mínimos (MAX, MIN ), promedios (AVG), ordenaciones (ORDER BY), etc.

SQL incluye tres comandos de actualización de datos : UPDATE (modificar), INSERT (insertar) y DELETE (eliminar).

4.5.2.- MYSQL

Entre otros se encuentra MySql es un gestor de Bases de Datos Multi-Thread, multiusuario que gestiona bases de datos relacionales poniendo las tablas en ficheros diferenciados.

Aunque este gestor de base de datos tiene muchas críticas debido a las carencias de este producto como son:

  • Inexistencia de transacciones
  • Imposibilidad de haces subconsultas o consultas anidadas
  • Inexistencia de procesos almacenados
  • Carencia de Tiggers en las claves externas
  • Sin soporte para la integridad referencial

MySql se ha hecho muy conocido el mundo Linux, aunque trabaja en otras plataformas como son Windows, Sco, Sun, IBM Aix, HP-Ux. Cabe decir que mientras se trabaje Aplicaciones sencillas que no sean muy criticas, será muy eficaz, además si se trabaja Bases de Datos con menos de 500 000 registros podremos tener una de las bases de datos mas rápidas.

MySql es gratis incluso para su uso comercial mientras trabaje como servidor de web, pero si se desea trabajar con otras aplicaciones será entonces necesario obtener una licencia.

4.5.3.- QBE (Query By Example):

Un sistema de consulta de bases de datos relacionales relativamente nuevo, es e QBE, desarrollado originalmente por IBM bajo el sistema VM/CMS. El lenguaje QBE es un sistema relacional de manejo de datos basado en el cálculo relacional de dominios.

Posee dos características principales que le distinguen :

  1. No tiene una sintaxis lineal, sino bidimensional.
  2. Las consultas se expresan "por ejemplo". En vez de expresar un procedimiento para conseguir la respuesta deseada, el usuario da un ejemplo de lo que desea. El sistema generaliza el ejemplo para obtener la respuesta deseada.

Las más modernas aplicaciones combinan esta metodología con la tecnología de los GUI (Graphical User Interface) para ofrecer una evolución llamada GQBE (Graphical Query By Example).

Sistemas que ofrecen estas posibilidades son, por ejemplo, Microsoft AccessTM, Microsoft Visual FoxProTM, Corel Paradox®, Oracle8 de Oracle® Corporation, ADABAS D, de Software AG o Sybase® SQL Anywhere. Además, algunos de estos sistemas, por ejemplo MS Access o ADABAS D, permiten combinar el SQL standard con GQBE, aumentando así la potencia y flexibilidad.

4.5.4.- MICROSOFT ACCESS

Posiblemente, la aplicación más compleja de la suite Office, sea Access, una base de datos visual. Como todas las modernas bases de datos que trabajan en el entorno Windows, puede manejarse ejecutando unos cuantos clic de mouse sobre la pantalla. Access contiene herramientas de diseño y programación reservadas a los usuarios con mayor experiencia, aunque incluye bases de datos listas para ser usadas; están preparadas para tareas muy comunes, que cualquiera puede realizar en un momento determinado –ordenar libros, archivar documentación, etc.-.

Una peculiaridad que se debe tener en cuenta al trabajar con programas de gestión de bases de datos, como es el caso de Access, es que no existe la opción Save (Guardar), referida a los datos de la aplicación, debido a que los cambios en los datos se van guardando siempre en el dispositivo de almacenamiento permanente. Cuando se presenta la opción Save, se refiere a guardar los cambios realizados en el diseño de los distintos objetos que componen la base de datos, no a los datos.

4.5.5.- ORACLE

Es el mayor y mas usado Sistema Manejador de Base de Dato Relacional (RDBMS) en el mundo. La Corporación Oracle ofrece este RDBMS como un producto incorporado a la línea de producción. Además incluye cuatro generaciones de desarrollo de aplicación, herramientas de reportes y utilitarios.

Oracle corre en computadoras personasles (PC), microcomputadoras, mainframes y computadoras con procesamiento paralelo masivo. Soporta unos 17 idiomas, corre automáticamente en más de 80 arquitectura de hardware y software distinto sin tener la necesidad de cambiar una sola línea de código. Esto es porque más el 80% de los códigos internos de Oracle son iguales a los establecidos en todas las plataformas de sistemas operativos.

Oracle ha presentado cuatro generaciones para desarrollo de aplicación:

Oracle 5 y Oracle 6: fueron las dos primeras versiones de Oracle, quedando aun rezagadas por las versiones sucesoras.

Oracle 7: La base de datos relacional componentes de Oracle Universal Server. Posee además las versiones 7.1, 7.1.2, y 7.1.3.

Oracle 7 Parallel: Ofrece a los usuarios un método seguro y administrable para incrementar la performance de sus bases de datos existentes introduciendo operaciones en paralelo y sincrónicas dentro de sus ambientes informáticos.

Oracle 8: Incluye mejoras de rendimiento y de utilización de recursos.

Las estructura física tales como los archivos del sistema operativo, son almacenados tangibles como son cintas magnéticas, discos y otros. A cada archivo le corresponde un espacio en el sistema operativo. Oracle requiere de varios archivos para su funcionamiento, los cuales conforman su estructura física.

A la estructura lógica le corresponde un espacio por unidad, pero sus limitaciones son independiente de las localizaciones de espacio físico.

USO DE MEMORIA:

El uso de memoria en el RDBMS Oracle tiene coo propósito lo siguente:

  • Almacenar los códigos de los programas para empezar a ejecutarse.
  • Almacenar los datos necesarios durante la ejecución de un programa.
  • Almacenar información sobre como es la transferencia entre procesos y periféricos.

PROGRAMAS Y ARCHIVOS QUE COMPONE ORACLE

Un RDBMS Oracle esta compuesto por tres partes principales, que son:

  1. El Kernel de Oracle
  2. Las instancias del Sistema de Base de Datos.
  3. Los Archivos relacionados al sistema de Base de Datos.

EL KERNEL DE ORACLE

El Kernel es el corazón del RDBMS Oracle, el cual maneja las siguientes tareas:

  • Manejar el almacenamiento y definición de los datos.
  • Suministrar y limitar el acceso a los datos y la concurrencia de los usuarios.
  • Permitir los backup y la recuperación de los datos.
  • Interpretar el SQL y PL/SQL.

Así como el Kernel es un sistema operativo, el Kernel Oracle es cargado a la memoria al inicio de las operaciones y es usado por cada base de datos existente en el equipo.

DIFERENTES HERRAMIENTAS DE ORACLE

SQLForms: es la herramienta de Oracle que permite, de un modo sencillo y eficiente, diseñar pantallas para el ingreso, modificaciones, bajas y consultas de registros. El usuario podrá, una vez definida la forma, trabajar con ella sin necesidad de generar códigos, dado que Oracle trae incorporado un conjunto de procedimientos y funciones asociados a las teclas de funciones, como por ejemplo la tecla [F7], que se usa para iniciar una consulta.

La herramienta fundamental de SQL es la sentencia SELECT, que permite seleccionar registros desde las tablas de la Base de Datos, devolviendo aquellos que cumplan las condiciones establecidas y pudiendo presentar el resultado en el orden deseado.

SQL (Structured Query Languague = Lenguaje de Consulta estructurado).

La orden FROM identifica la lista de tablas a consultar. Si alguna de las tablas a consultar no es propiedad del usuario, debe especificarse el nombre del propietario antes que el nombre de la tabla en la forma nombre_propietario.nombre_tabla.

La orden WHERE decide los registros a seleccionar según las condiciones establecidas, limitando el número de registros que se muestran.

La orden ORDER BY indica el orden en que aparece el resultado de la consulta.

MEJORAS DE SQL SERVER EN ORACLE

  • Oracle posee igual interacción en todas la plataformas (Windows, Unix, Macintosh y Mainframes). Estos porque más del 80% de los códigos internos de Oracle son iguales a los establecidos en todas las plataformas de Sistemas Operativos.
  • Oracle soporta bases de datos de todos los tamaños, desde severas cantidades de bytes y gigabytes en tamaño.
  • Oracle provee salvar con seguridad de error lo visto en el monitor y la información de acceso y uso.
  • Oracle soporta un verdadero ambiente cliente servidor. Este establece un proceso entre bases de datos del servidor y el cliente para la aplicación de programas.

4.5.6.- INFORMIX

Informix nos brinda la posibilidad de retornar desde los procedimientos almacenados un conjunto de datos que podremos luego procesar como si se tratase de una tabla.

Muchas veces desde nuestros programas nos encontramos ante la necesidad de seleccionar una gran cantidad de registros de una o más tablas, procesarlos, verificar determinadas condiciones y finalmente mostrar un resultado que acaba siendo un pequeño subconjunto del total. Esta situación genera obviamente un enorme tráfico de red en relación a la salida obtenida.

Si bien para minimizar el conjunto inicial de datos podemos aplicar un filtro en nuestra selección, ésto no siempre es posible ya sea porque no existe la forma de implementarlo o porque el hacerlo implique la caída notable del tiempo de respuesta de la misma.

Lo primero que se nos viene entonces en mente es usar un Procedimiento Almacenado que haga todo el trabajo y que nos devuelva sólo el conjunto de datos que queremos mostrar. Pero, ¿es ésto posible?

La cláusula "With Resume"

Afortunadamente sí es posible e Informix lo implementa de una forma muy sencilla y a la vez muy poderosa.

Toda vez que querramos retornar desde un procedimiento almacenado un conjunto de datos en múltiples filas debemos usar la cláusula With Resume en conjunción con el Return.

De esta forma le indicamos al procedimiento que envíe al programa llamador una ocurrencia de los datos, que espere a la siguiente petición para retomar el envío y así sucesivamente hasta terminar de mandarle todas las filas.

En resumen, estaremos viendo y podremos procesar este conjunto de valores tal como si se tratara del resultado de un simple Select.

Un ejemplo

Supongamos que necesitamos desarrollar un informe que nos muestre los datos de los clientes de una empresa cuya edad esté comprendida en un determinado rango, y con la particularidad de tener que formatear el contenido de algunos de esos datos para mostrarlos de una forma más conveniente. En nuestro ejemplo le enviaremos al procedimiento las edades mínima y máxima, siéndonos devue ltos sólolos registros que cumplan la condición especificada y conteniendo los mismos el nombre del cliente, la fecha de nacimiento, la edad en años (calculada dentro del procedimiento) y el sexo (expandido dentro del procedimiento a partir del código que contiene la tabla).

El procedimiento es el siguiente:

CREATE PROCEDURE SP_EntreAnios (pEdadMinima SMALLINT, pEdadMaxima SMALLINT)

-- Aca declaramos los tipos de dato que componen al registro que retorna nuestro

-- procedimiento

RETURNING CHAR(50), DATE, SMALLINT, CHAR(10);

-- Aca definimos las variables que contendran los valores a retornar

DEFINE rNombre CHAR(50);

DEFINE rFechaNacimiento DATE;

DEFINE rEdad SMALLINT;

DEFINE rSexo CHAR(10);

-- Aca definimos las variables internas del procedimiento

DEFINE wcSexo CHAR(1);

1

Informix – Devolviendo más de una fila desde un procedimiento almacenado.

-- Comienzo del proceso

FOREACH

SELECT

dNombre, fNacimiento, cSexo

INTO

rNombre, rFechaNacimiento, wcSexo

FROM

Clientes

LET rEdad = YEAR(TODAY) - YEAR(rFechaNacimiento);

IF (rEdad BETWEEN pEdadMinima AND pEdadMaxima) THEN

IF (wcSexo = 'F') THEN

LET rSexo = 'FEMENINO';

ELIF (wcSexo = 'M') THEN

LET rSexo = 'MASCULINO';

ELSE

LET rSexo = 'OTRO ...';

END IF;

RETURN rNombre, rFechaNacimiento, rEdad, rSexo WITH RESUME;

END IF;

END FOREACH;

END PROCEDURE;

-- Fin del Procedimiento

Para ejecutarlo desde el dbaccess o el isql de Informix para por ejemplo obtener los datos de clientes de entre 30 y 40 años debemos escribir:

execute procedure SP_EntreAnios (30, 40);

A medida que el procedimiento vaya recorriendo la tabla nos irá apareciendo la información por pantalla.

4.5.7.- SYBASE

ASE, la base de datos más importante de Sybase facilita la administración de los sistemas permitiendo la optimización de los recursos. Se destacan tres elementos clave de Sybase Adaptive Server Enterprise para controlar los costos de instalación y mantenimiento de un sistema de gestión de bases de datos relacional: facilidad de administración, uso eficiente de los recursos y optimización automatizada de los recursos. "la base de datos de Sybase es tremendamente sencilla de instalar y de administrar. Además, su rendimiento es fabuloso. Sybase ofrece tantas posibilidades de configuración diferentes que podemos modificarlas a nuestro gusto para alcanzar el mayor rendimiento según las necesidades de la empresa". La base de datos de Sybase, que está disponible en el mercado en su versión 12.5, soporta las complejas necesidades del proceso y manipulación de datos OLTP ofreciendo las flexibilidad, escalabilidad, rendimiento y seguridad que precisan las nuevas aplicaciones e-Business. Además, el compromiso de Sybase para ofrecer sistemas abiertos ofrece a los usuarios una robusta aplicación para la gestión de aplicaciones de datos de misión crítica y de altos índices de transacciones. "Sybase ofrece una serie de características clave que se añaden a los ahorros en los costos de implementación, como puedan ser funciones de autoadministración, soporte automático para fallos y flexibilidad en su administración.

CAPITULO V

EL DICCIONARIO DE DATOS

Un análisis del dominio de la información puede ser incompleto si solo se considera el flujo de datos. Cada flecha de un diagrama de flujo de datos representa uno o más elementos de información. Por tanto, el analista debe disponer de algún otro método para representar el contenido de cada flecha de un DFD, Se ha propuesto el diccionario de datos como una gramática casi formal para describir el contenido de los elementos de información, un listado organizado de todos los datos pertinentes al sistema con definiciones precisas y rigurosas para que tanto el usuario como el analista tengan un entendimiento común de todas las entradas, salidas, componentes de almacenes y cálculos intermedios.

El diccionario de datos define los datos haciendo lo siguiente:

  • Describe el significado de los flujos y almacenes que se muestran en el DFD
  • Describe la composición de agregados de paquetes de datos que se mueven a lo largo de los flujos, es decir, paquetes complejos que pueden descomponerse en unidades más elementales.
  • Describe la composición de los paquetes de datos de los almacenes
  • Especifica los valores y unidades relevantes de piezas elementales de información en los flujos de datos y los almacenes de datos

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

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

  5. 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.
  6. 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

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

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

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

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.

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

5.2.- Notación del diccionario de datos

  • = está compuesto de
  • + y
  • () optativo (puede estar presente o ausente)
  • {} iteración
  • [] seleccionar una de varias alternativas
  • ** comentario
  • @ identificador (campo clave) para un almacén
  • | separa opciones alternativas en la construcción

Definiciones - Elementos de datos básicos – Alias (Estructuras)

Ejemplos:

Estructura nombre = título de cortesía + nombre + (segundo nombre) + apellido

título de cortesía = [Sr. | Srta. | Sra. | Dr. | Prof.]

nombre = {carácter válido}

segundo nombre = {carácter válido}

apellido = {carácter válido}

carácter válido = [ A-Z | a-z | ‘ | - ]

domicilio del cliente = (domicilio de envío) + (domicilio de facturación)

domicilio del cliente = [domicilio de envío | domicilio de facturación | domicilio de envío + (domicilio de facturación)]

domicilio del cliente = domicilio de envío + (domicilio de facturación)

solicitud = nombre del cliente + domicilio de envío + 1{artículo}10

sexo = [Femenino | Masculino]

tipo de cliente = [Gobierno | Industria | Universidad | Otro]

Asegurar que el diccionario sea completo y consistente

  • Definir en el diccionario todas las componentes del DFD (o del modelo).
  • Definir todas las componentes de las estructuras en el diccionario
  • No tener más de una definición para el mismo dato
  • Utilizar la notación correcta
  • No tener definiciones que no se utilicen en el DFD (o el modelo)

El diccionario de datos está formado por las tablas ilustradas en la figura , en la cuál se muestra el modelo lógico de la base de datos, el modelo físico es ilustrado en la figura .

5.3.- Tablas del Diccionario de Datos

Tabla Entity

Almacenará la información de todas las entidades que forman parte de la base de datos. En el caso de altas y modificaciones la información de Repetibilidad y Obligatoriedad con respecto a las etiquetas, servirá para la validación de entrada de datos. Es decir todos aquellas etiquetas que sean obligatorias deberán ser capturadas.

Tabla Attribute

Almacenará todos los atributos que pertenecen a entidades de la base de datos. La Obligatoriedad y Repetibilidad de los atributos es utilizado, como en el caso anterior de las entidades, para validar la entrada y modificación de ítem o recursos. Para el caso de los atributos, la información de Obligatoriedad y Repetibilidad es utilizada por un procedimiento almacenado para generar las expresiones de consultas y para generar el registro MARC (MARCMAKER). El tamaño del atributo es utilizado para la validación de entrada y modificación de datos.

Tabla Ent_Att

Almacenará la información de la relación que existe entre los Entidades y Atributos, es decir los atributos que corresponden a cada entidad.

Tabla Key

Almacenará la relación de todas las llaves existentes dentro de todas las entidades de la base de datos.

Tabla Link

Almacenará la información que sirve para identificar las relaciones entre las entidades de la Base de Datos del SIV

Tabla Sceen_Grid

Almacenará la información que define el área de criterios para especificar condiciones de búsqueda y mostrar un resumen de los resultados de búsqueda.

Tabla User

Almacenará los datos de los usuarios incluyendo su contraseña o password y el tipo de usuario, así como la institución a la que pertenece.   

CAPITULO VI

DICCIONARIO DE TABLAS

Una biblioteca ha de mantener listas de los libros que posee, de los usuarios que tiene, una clínica, de sus pacientes y médicos, una empresa, de sus productos, ventas y empleados. A este tipo de información se le llama datos.

Un gestor de base de datos es un programa que permite introducir y almacenar datos, ordenarlos y manipularlos. Organizarlos de manera significativa para que se pueda obtener información no visible como totales, tendencias o relaciones de otro tipo. Debe permitir en principio:

-Introducir datos

-Almacenar datos

-Recuperar datos y trabajar con ellos

Todo esto se puede hacer con una caja de zapatos, lápiz y papel; pero a medida que la cantidad de datos aumenta, han de cambiar las herramientas. Se pueden usar carpetas, archivadores…, pero en un momento dado es conveniente acudir a los ordenadores, aunque las operaciones siguen siendo las mismas.

Un programa de base de datos almacena la información que introducimos en forma de tablas como las que podemos ver, por ejemplo, en un listado telefónico:

Listado telefónico

Nombre

Dirección

Teléfono

García García, Ana

Avda. Arroyos, 54

(562) 7439566

Pérez Lorca, Juan

Los Almendros 887

(562) 2384562

Santos Gemio, Luis

Bustamante 74

(562) 5512340

En este listado nos interesa tener almacenados de modo ordenado los datos de una serie de personas. Para que aparezcan de modo claro los hemos desglosado en tres apartados: Nombre, Dirección y Teléfono, haciendo que aparezca cada uno en una columna diferente. Así es mucho más sencillo encontrar la dirección de una persona buscando a partir de su nombre.

Aquí podemos ver cómo la información referida a una persona, "un dato", aparece en una fila de la tabla: a esto es a lo que se denomina Registro. A cada una de las partes en las que hemos desglosado la información se le denomina Campo, y al conjunto formado por todos los registros, Tabla.

Por lo tanto podemos decir que:

Registro: es el concepto básico en el almacenamiento de datos. El registro agrupa la información asociada a un elemento de un conjunto y está compuesto por campos.

Tabla: es el conjunto de registros homogéneos con la misma estructura.

Los campos

Para crear los campos de una manera más completa es necesario profundizar en cada una de las características de un campo.

Nombre del campo

En esta columna se introduce el nombre de los campos. La columna tiene un máximo de 64 caracteres. Se pueden utilizar espacios, pero no se puede empezar con un espacio. No se pueden utilizar: los puntos, los signos de admiración, los acentos graves ni los corchetes.

Dentro de una misma tabla no puede haber dos campos con el mismo nombre.

El nombre del campo debe ser descriptivo de la información que el campo va a contener para no crear confusión a la hora de trabajar con los datos.

Propiedades generales de los campos

PROPIEDAD

DESCRIPCIÓN

TIPO DE CAMPO

Tamaño del campo

Permite establecer la longitud máxima de un campo de texto numérico.

Texto, numérico, contador

Formato

Permite determinar la apariencia de presentación de los datos, utilizando los formatos predefinidos o nuestros propios formatos

Todos, excepto OLE y Memo

Lugares decimales

Permite especificar el número de cifras decimales para mostrar los números.

Numérico y moneda

Máscara de entrada

Permite controlar y filtrar los caracteres o valores que los usuarios introducen en un control de cuadro de texto, evitando errores y facilitando su escritura.

Texto, numérico, fecha/hora, moneda

Título

Permite definir una etiqueta de campo predeterminada para un formularios o informe

Todos

Valor predeterminado

Introduce en el campo un valor cuando se agregan nuevos registros (long. Máx. 255 caracteres)

Todos, excepto OLE y contador

Regla de validación

Permite escribir la condición que deben satisfacer los datos introducidos para ser aceptados

Todos, excepto OLE y contador

Texto de validación

Define el texto del mensaje que se visualiza cuando los datos no cumplen las condiciones enumerdas en la regla de validación

Todos excepto OLE y contador

Requerido

Permite especificar si es necesario que exista un valor en un campo.

Todos excepto contador

Permitir longitud cero

Permite especificar si una cadena de longitud cero ("") es una entrada válida para el campo

Texto, memo

Indexado

Define un campo como índice o campo clave.

Texto, numérico, contador, fecha/hora.

Las propiedades de un campo, se establecen seleccionando el campo y haciendo clic en la propiedad deseada del cuadro PROPIEDADES DEL CAMPO situado en la parte inferior de la ventana DISEÑO DE TABLA.

Access tiene una configuración predeterminada para las propiedades de cada uno de los tipos de campo. Sin duda la más importante es el tamaño del campo, ya que este nos permitirá hacer una estimación del espacio ocupado por nuestra base de datos en el disco fijo.

Tipo de datos

1. Texto: almacena cadenas de caracteres, ya sean números (con los que no se vaya a realizar operaciones), letras o cualquier símbolo.

2. Numérico: Almacena números destinados a realizar operaciones. Hay cinco tamaños:

Byte: para almacenar el rango de 0 a 255

Entero: para el rango entre -32768 y 32767

Entero Largo: para el rango entre-2.147.483.648 y 2.147.483.647

Simple: para números decimales entre el -3,4x 1038 y el 3,4x 1038 con 7 decimales

Doble: Doble para números entre el -1,797x 1038 con 15 lugares decimales.

3. Fecha/hora: fecha y hora general, fecha y hora larga, fecha y hora corta.

4. Autonumérico: Es un valor numérico que Access incrementa de modo automático cada vez que se añade un registro. No se puede modificar manualmente.

5. Si/No: Para almacenar datos que sólo tengan dos posibilidades: si-no, 0-1, verdadero-falso, blanco-negro...

6. Memo: Para almacenar texto largo, hasta de 64000 bytes.

7. Moneda: Para almacenar valores de moneda.

8. Objeto OLE: Son objetos tales como gráficos, texto, imágenes, creados en otras aplicaciones, que se han incrustado o vinculado.

Desde esta vista se diseñan los campos pero no se pueden introducir datos. Si se desea introducir datos, se pulsa el botón Vista

Para ver el gráfico seleccione la opción "Descargar" del menú superior

, se abrirá la vista Hoja de datos. El aspecto es parecido a una hoja de cálculo en la cual los encabezados de las columnas son los nombres de los campos y cada fila es un registro.

Desde esta vista no se pueden modificar el tipo de datos que contienen los campos o su descripción.

CAPITULO VII

REDES MAN – LAN - WAN

7.1.- Concepto De Red

Una red consiste en dos o más computadoras unidas que comparten recursos como archivos, CD-Roms o impresoras y que son capaces de realizar comunicaciones electrónicas. Las redes están unidas por cable, líneas de teléfono, ondas de radio, satélite, etc.

7.2.- Objetivos.

Su objetivo principal es lograr que todos sus programas datos y equipo estén disponible para cualquiera de la red que lo solicite, sin importar la localización física del recurso y del usuario. Otro de sus objetivos consiste en proporcionar una alta fiabilidad, al contar con fuentes alternativas de suministro, es decir que todos los archivos podrían duplicarse en dos o tres máquinas, de tal manera que si una de ellas no se encuentra disponible, podría utilizarse una de las otras copias. Igualmente la presencia de varios CPU significa que si una de ellas deja de funcionar, las otras pueden ser capaces de encargarse de su trabajo, aunque su rendimiento en general sea menor.El ahorro económico debido a que los ordenadores pequeños tiene una mejor relación costo / rendimiento, en comparación con la que ofrece las máquinas grandes. Proporciona un poderoso medio de comunicación entre personas que se encuentran en lugares distantes entre sí.

7.3.- Clasificación básica de redes.

7.3.1.- Red De Area Local / Lan (Local Área Network)

Es una red que cubre una extensión reducida como una empresa, una universidad, un colegio, etc. No habrá por lo general dos ordenadores que disten entre si más de un kilómetro. Una configuración típica en una red de área local es tener una computadora llamada servidor de ficheros en la que se almacena todo el software de control de la red así como el software que se comparte con los demás ordenadores de la red. Los ordenadores que no son servidores de ficheros reciben el nombre de estaciones de trabajo. Estos suelen ser menos potentes y tienen software personalizado por cada usuario. La mayoría de las redes LAN están conectadas por medio de cables y tarjetas de red, una en cada equipo.

7.3.2- Red De Area Metropolitana / Man ( Metropolitan Área Network)

Las redes de área metropolitana cubren extensiones mayores como pueden ser una ciudad o un distrito. Mediante la interconexión de redes LAN se distribuyen la informática a los diferentes puntos del distrito. Bibliotecas, universidades u organismos oficiales suelen interconectarse mediante este tipo de redes.

7.3.3.- Redes De Area Extensa / WAN (Wide Area Network)

Las redes de área extensa cubren grandes regiones geográficas como un país, un continente o incluso el mundo. Cable transoceánico o satélites se utilizan para enlazar puntos que distan grandes distancias entre si.

Con el uso de una WAN se puede conectar desde España con Japón sin tener que pagar enormes cantidades de teléfono. La implementación de una red de área extensa es muy complicada. Se utilizan multiplexadores para conectar las redes metropolitanas a redes globales utilizando técnicas que permiten que redes de diferentes características pueden comunicarse sin problema. El mejor ejemplo de una red de área extensa es Internet.

7.4.- Cableado de la red.

El Cable es el medio a través del cual fluye la información a través de la red. Hay distintos tipos de cable de uso común en redes LAN. Una red puede utilizar uno o más tipos de cable, aunque el tipo de cable utilizado siempre estará sujeto a la topología de la red, el tipo de red que utiliza y el tamaño de esta.

Estos son los tipos de cable más utilizados en redes LAN:

7.4.1.- Cable de par trenzado sin apantallar / Unshielded Twisted Pair (UTP)

Este tipo de cable es el más utilizado. Tiene una variante con apantallamiento pero la variante sin apantallamiento suele ser la mejor opción para una PYME. La calidad del cable y consecuentemente la cantidad de datos que es capaz de transmitir varían en función de la categoría del cable. Las graduaciones van desde el cable de teléfono, que solo transmite la voz humana al cable de categoría 5 capaz de transferir 100 Mega bites por segundo.

La diferencia entre las distintas categorías es la tirantez. A mayor tirantez mayor capacidad de transmisión de datos. Se recomienda el uso de cables de categoría 3 a 5 para la implementación de redes en PYMES o sea pequeñas y medianas empresas. Es conveniente sin embargo utilizar cables de categoría 5 ya que estos permitirán migraciones de tecnologías 10Mb a tecnología 100 Mb.

Conector UTP El estándar para conectores de cable UTP es el RJ-45. Se trata de un conector de plástico similar al conector del cable telefónico. La sigla RJ se refiere al Estándar Registerd Jack, creado por la industria telefónica. Este estándar se encarga de definir la colocación de los cables en su pin correspondiente.

7.4.2.- Cable de par trenzado pantallar / Shielded Twisted Pair (STP)

Una de las desventajas del cable UTP es que es susceptible a las interferencias eléctricas. Para entornos con este tipo de problemas existe un tipo de cable UTP que lleva apantallamiento, esto significa protección contra interferencias eléctricas. Este tipo de cable es usado por lo general en redes de topología Token Ring.

7.4.3.- Cable Coaxial

El