lunes, 18 de marzo de 2013

Universidad Regional de los Andes


UNIVERSIDAD REGIONAL AUTONOMA DE LOS ANDES


EXTENSIÓN SANTO DOMINGO

FACULTAD: SISTEMAS MERCANTILES

CARRERA: SISTEMAS

SECCION: NOCTURNA


TEMA:
TALLER DE SISTEMAS DE INFORMACIÓN

AUTOR: ALVARO QUIÑONEZ

TUTOR: ING. SEGUNDO MENA Dpl.

Los Link


1) http://html.rincondelvago.com/sistemas-operativos_introduccion.html
2) http://www.buenastareas.com/ensayos/Capitulo-1-Sistemas-De-Informacion-En/2896529.html
3) http://sistemasautomatizadosucr.blogspot.com/2009/04/capitulo-2-negocios-en-linea-globales.html
4)http://www.buenastareas.com/ensayos/Sistemas-De-Informacion-Organizaciones-y-Estrategias/882231.html
5) http://gabrielaberrospialvarado.blogspot.com/2011/01/resumen-2-aspectos-eticos-y-sociales-de_4388.htmlhttp://www.buenastareas.com/ensayos/Sistemas-De-Informacion-Organizaciones-y-Estrategias/882231.html
6)http://infratiteceme.blogspot.com/
7)http://re-velm.blogspot.com/2010/03/el-estilo-organizacional-y-su-impacto.html
8)http://www.blogger.com/blogger.g?blogID=7433439744729556792#editor/target=post;postID=8186897491488139928
9)http://anitaquinteror.blogspot.com/2010/06/capitulo-5-recopilacion-de-informacion.html
10)http://www.monografias.com/trabajos59/elaboracion-prototipos/elaboracion-prototipos.shtml
11)http://www.monografias.com/trabajos60/diagrama-flujo-datos/diagrama-flujo-datos.shtml
12)http://tercero2analisisd.wordpress.com/introduccion-de-analisis-y-diseno/preparacion-de-la-propuesta-de-sistemas/analisis-de-sistemas-mediante-diccionario-de-datos/
13)http://tercero2analisisd.wordpress.com/introduccion-de-analisis-y-diseno/preparacion-de-la-propuesta-de-sistemas/descripcion-de-las-especificaciones-de-procesos-y-decisiones-estructuradas/
14)http://html.rincondelvago.com/propuesta-del-sistema.html
15)http://miguel-angel89.blogspot.com/2010/06/diseno-de-una-salida-eficaz.html
16)http://es.wikipedia.org/wiki/Dise%C3%B1o_de_interfaz_de_usuario
17)http://www.monografias.com/trabajos12/recoldat/recoldat.shtml#entrev
18)http://www.monografias.com/trabajos55/analisis-sistemas-informacion/analisis-sistemas-informacion2.shtml
19)http://www.monografias.com/trabajos-pdf/calidad-ingenieria-software/calidad-ingenieria-software.shtml
20)

Análisis y Diseño De Sistemas Orientados a Objeto Usando El Lenguaje Unificado UML


Los sistemas orientados a objetos describen las entidades como objetos. Los objetos son

parte de un concepto general denominado clases. El deseo de poner elementos en las i lases
no es nuevo. La descripción del mundo como se ha hecho con los animales, vegetales y minerales
es un ejemplo de clasificación, aunque tiene pocas bases científicas. El enfoque- científico
incluye clases de animales [como mamíferos} y después divide las clases en subclases
[como animales ovíparos y marsupiales}.


CONCEPTOS ORIENTADOS A OBJETOS
La programación orientada a objetos difiere de la programación por procedimientos tradicional,
pues examina los objetos que son parte de un sistema. Cada objeto es una representación
en computadora de alguna cosa o evento real. En esta sección se presentan descripciones
generales de los principales conceptos orientados a objetos de las clases, la herencia y
los objetos,. En secciones posteriores de este mismo capítulo se ofrece más información de
otros conceptos de UML.

OBJETOS
Los objetos son personas, lugares o cosas que son relevantes para el sistema bajo análisis. Los
objetos podrían ser clientes, artículos, pedidos, etc. Los objetos también podrían ser pantallas
GUI o áreas de texto en la pantalla.

CLASES
Los objetos se representan y agrupan en clases que son óptimas para reutilizarse y darles
mantenimiento. Una clase define el conjunto de atributos y comportamientos compartidos
por cada objeto de la clase. Por ejemplo, los registros de los estudiantes en la sección de un
curso almacenan información similar para cada estudiante. Se podría decir que los estudiantes
constituyen una clase.

Un atributo describe alguna propiedad de todos los objetos de la clase. Observe que la
clase RentaAuto posee los atributos tamaño, color, marca y modelo. Todos los automóviles
poseen estos atributos, pero los atributos de cada automóvil tendrán diferentes valores. Por
ejemplo, un automóvil puede ser azul, blanco o de algún otro color. Más adelante demostraremos
que es posible serrnás específico acerca del rango de valores para estas propiedades.

Al especificar atributos, normalmente la primera letra es minúscula.

Un método es una acción que se puede solicitar a cualquier objeto de la clase. Los
métodos son los procesos que una clase sabe cómo realizar. Los métodos también se llaman
operaciones. La clase RentaAuto podría tener los siguientes métodos: inicioRenta( ), entregaAutof ) y servicio( ). Al especificar métodos, normalmente la primera letra es minúscula.

HERENCIA
Otro concepto importante de los sistemas orientados a objetos es la herencia. Las clases
pueden tener hijos; es decir, una clase se puede crear a partir de otra clase. En el UML, la
clase original —o madre— se conoce como clase base.

DIAGRAMAS DE SECUENCIAS Y DE COLABORACIÓN
Un diagrama de interacción puede ser un diagrama de secuencias o uno de colaboración,
que muestran esencialmente la misma información. Estos diagramas, junto con los diagramas
de clases, se utilizan en la realización de un caso de uso.

DIAGRAMAS DE SECUENCIAS
Los diagramas de secuencias pueden ilustrar una sucesión de interacciones entre clases o
instancias de objetos en un periodo determinado. Los diagramas de secuencias se utilizan
con frecuencia para representar el proceso descrito en los escenarios de caso de uso.


SOBRECARGA DE MÉTODOS
La sobrecarga de métodos se refiere a incluir el mismo método [u operación) varias veces
en una clase. La firma del método abarca el nombre del método y los parámetros que contiene.

TIPOS DE CLASES
Las clases entran en cuatro categorías: de entidad, de interfaz, abstractas y de control. Estas
categorías se explican a continuación.

1.-Clases de entidad
2.-Clases de límite, o de interfaz
3.-Clases abstractas
4.-Clases de control

Un objeto de una clase podría tener una relación con otros objetos de la misma clase, lo
que se conoce como asociación reflexiva. Un ejemplo sería una tarea que tiene una tarea
precedente, o un empleado que supervisa a otro empleado. Esto se muestra como una línea
de asociación que conecta la clase a sí misma, con etiquetas que indican el nombre del papel,
como tarea y tarea precedente.

DIAGRAMAS DE ESTADOS
El diagrama de estados, o de transición de estados, es otra manera de determinar los métodos
de una clase. Se usa para examinar los diferentes estados que podría tener un objeto.

Un diagrama de estados se crea para una sola clase. Por lo general, los objetos se crean,
sufren cambios y se eliminan.

Los eventos se clasifican en tres categorías diferentes:

1. Señales o mensajes asincronos, que ocurren cuando el programa que realiza la llamada
no espera un mensaje de respuesta, como en el caso de una característica ejecutada de
un menú.
2. Mensajes síncronos, que son llamadas a funciones o subrutinas. El objeto que llama se
detiene y espera a que el control regrese a él, junto con un mensaje opcional.
3. Eventos temporales, que ocurren en un momento predeterminado. Por lo general, estos
eventos no involucran un actor o un evento externo.

PAQUETES Y OTROS ARTEFACTOS DE UML
Los paquetes son los contenedores para otros elementos de UML, como los casos de uso o las
clases. Los paquetes pueden mostrar el particionamiento del sistema, indicando cuáles clases
o casos de uso se agrupan en un subsistema, y se conocen como paquetes lógicos.

El UML es una herramienta poderosa que puede mejorar en gran medida la calidad del análisis
y diseño de su sistema, y puede esperarse que las prácticas mejoradas se traduzcan en
sistemas de mayor calidad.

Implementacion Éxitos Del Sistema De Informacion


En las pequeñas y medianas empresas en Colombia los Sistemas de Información Gerencial manejan como en cualquier otro lugar éxitos y fracasos.

Estos fracasos se deben a la inconsistencia o falta de los mismos sistemas, retrasos en los procesamientos y procedimientos de estos, en el diseño, cuando los datos en el sistema son imprecisos, los altos costos en estos tipos de empresas (micro y medianas empresas) lo que fácilmente puede llevar a que los gerentes de las mismas duden en su implementación, debido a la falta de operación, o por que simplemente dichos gerentes no cuenta con la suficiente capacitación para implementar un sistema de Información. 

Desde mi punto de vista, no son solamente las pequeñas y medianas empresas las que pueden sufrir debilidades a la hora de implementar un Sistema de Información, las grandes también cuentan con la posibilidad de caer en errores o sencillamente no estar suficientemente capacitadas para planear y utilizar dichos medios en su mercado o respecto a las necesidades de sus clientes.

Por otro lado, son exitosos estos Sistemas, cuando, existe completo estudio, involucramiento, comunicación, apoyo, buenas decisiones y un alto nivel de Planeación desde los personajes vinculados con el proceso de creación e implementación del mismo.


Todas las empresas deben cuidar de estar bien informadas, de saber analizar, diseñar, programar y utilizar este medio, ya que dependiendo de esto, su organización puede entrar al mercado con una fortaleza frente a las demás, o con una debilidad respecto a su competencia.

Aseguramiento De La Mediante Ingeniería De Software



La calidad ha sido durante mucho tiempo una preocupación para las empresas, como lo debe ser para los analistas de sistemas en el análisis y diseño de sistemas de información.
Es demasiado arriesgado emprender todo el proceso de análisis y diseño sin usar un enfoque de aseguramiento de la calidad. Los tres enfoques para el aseguramiento de la calidad mediante ingeniería de software son: (1) garantizar el aseguramiento de la calidad total diseñando sistemas y software con un enfoque modular, descendente (de arriba abajo); (2) documentar el software con las herramientas adecuadas, y (3) probar, mantener y auditar el software.
Dos propósitos guían el aseguramiento de la calidad. El primero es que el usuario del sistema de información es el factor individual más importante en establecer y evaluar su calidad. El segundo es que mucho menos costoso corregir los problemas en sus fases iniciales que esperar hasta que un problema se manifiesta a trabes de las quejas o crisis del usuario.
Ya hemos aprendido acerca de la enorme inversión de mano de obra y otros recursos empresariales que se requieren para desarrollar con éxito un sistema. El uso del aseguramiento de la calidad a lo largo del proceso es una forma de reducir los riesgos, ayuda a garantizar que el sistema resultante será lo que se necesita y de sea, mejorara notablemente algún aspecto del desempeño del negocio. Este capitulo proporciona al análisis tres enfoques principales para la calidad.

Diseño De Procedimientos Precisos De Entradas De Datos


La calidad de datos es una medida de qué tan consistentemente correctos, dentro de

ciertos límites prefijados, están los datos. Los datos codificados eficazmente facilitan la entrada
de datos precisa al reducir la cantidad necesaria de datos y, con ello, el tiempo requerido
para introducir la información.


CODIFICACIÓN EFECTIVA
Una de las formas en que los datos pueden ser introducidos de manera más precisa y eficiente
es mediante el empleo inteligente de varios códigos. El proceso de poner datos
ambiguos o demasiado largos en unos cuantos dígitos o letras que se puedan introducir
fácilmente se conoce como codificación (que no se debe confundir con la codificación
de programas].

La codificación ayuda a que el analista de sistemas alcance el objetivo de eficiencia, debido
a que los datos codificados requieren menos tiempo para su captura y reducen la cantidad
de elementos capturados.

La codificación es una forma fluida y concisa de capturar datos.
Además de proporcionar precisión y eficiencia, los códigos deben tener un propósito. Los
tipos específicos de códigos nos permiten tratar los datos de una forma particular. Los propósitos
para codificar incluyen lo siguiente:

1. Llevar registro de algo.
2. Clasificar la información.
3. Ocultar la información.
4. Revelar la información.
5. Solicitar la acción apropiada.


El código de derivación alfabética es un método que se usa comúnmente para identificar
un número de cuenta. El ejemplo de la figura 15.2 proviene de una etiqueta de correo
para una revista. El código se convierte en el número de cuenta. Los primeros cinco dígitos
conforman los primeros cinco dígitos del código postal del suscriptor, los siguientes tres
son las primeras tres consonantes del nombre del suscriptor, los siguientes cuatro números son
de la calle y los últimos tres constituyen el código para la revista. El propósito principal de
este código es identificar una cuenta.

Una desventaja de un código de derivación alfabética se presenta cuando la parte alfabética
es pequeña (por ejemplo, el nombre Po) o cuando el nombre contiene menos
consonantes que las requeridas por el código.

Un ejemplo de codificación de clasificación es la forma en que podría agrupar los elementos
deducibles de impuesto con el propósito de completar sus impuestos sobre la renta.


VALIDACIÓN DE LAS TRANSACCIONES DE ENTRADA
Validar las transacciones de entrada se hace principalmente mediante software que es la
responsabilidad del programador pero es importante que el analista de sistemas sepa qué
problemas comunes podrían invalidar una transacción.


VENTAJAS DE LA PRECISIÓN EN LOS ENTORNOS DE COMERCIO ELECTRÓNICO
Uno de los muchos bonos de las transacciones de comercio electrónico es la mayor precisión
de los datos, debido a cuatro razones:

1. Los clientes generalmente codifican o teclean los datos.
2. Los datos introducidos por los clientes se almacenan para su uso posterior.
3. Los datos introducidos en el punto de venta se reúsan a lo largo del proceso de surtido
del pedido.
4. La información se usa como retroalimentación para los clientes.

Diseño De Interfaces Del Usuario



El diseño de interfaces de usuario es una tarea que ha adquirido relevancia en el desarrollo de un sistema. La calidad de la interfaz de usuario puede ser uno de los motivos que conduzca a un sistema al éxito o al fracaso. Los principios que se presentan son de utilidad para creación de interfaces funcionales y de fácil operación. A pesar de no ser capaces de resolver todos los aspectos propios del contexto con el que se esté trabajando, pueden ser combinados con la prototipación y la aplicación de heurísticas de evaluación para facilitar el proceso de diseño. El presente artículo se centra en los componentes de software de las interfaces de usuario, quedando fuera del alcance de mismo otros aspectos, como hardware y documentación. Lo anteriormente expuesto se complementa con un caso práctico de diseño de interfaces de usuario, producto de realizar la actividad de "Definición de Interfaces de Usuario" (EFS 4) de la metodología Métrica Versión 2.
Key words: evaluation, heuristics, principles, prototypes, user interfaces.


1. Conceptos Generales
La Interfaz de Usuario, en adelante IU, de un programa es un conjunto de elementos hardware y software de una computadora que presentaninformación al usuario y le permiten interactuar con la información y con el computadora. También se puede considerar parte de la IU la documentación (manuales, ayuda, referencia, tutoriales) que acompaña al hardware y al software.
Si la IU está bien diseñada, el usuario encontrará la respuesta que espera a su acción. Si no es así puede ser frustrante su operación, ya que el usuario habitualmente tiende a culparse a sí mismo por no saber usar el objeto.
Los programas son usados por usuarios con distintos niveles de conocimientos, desde principiantes hasta expertos. Es por ello que no existe una interfaz válida para todos los usuarios y todas las tareas. Debe permitirse libertad al usuario para que elija el modo de interacción que más se adecúe a sus objetivos en cada momento. La mayoría de los programas y sistemas operativos ofrecen varias formas de interacción al usuario.
Existen tres puntos de vista distintos en una IU: el del usuario, el del programador y el del diseñador (analogía de la construcción de una casa). Cada uno tiene un modelo mental propio de la interfaz, que contiene los conceptos y expectativas acerca de la misma, desarrollados a través de su experiencia.
El modelo permite explicar o predecir comportamientos del sistema y tomar las decisiones adecuadas para modificar el mismo. Los modelos subyacen en la interacción con las computadoras, de ahí su importancia.

Modelo del usuario: El usuario tiene su visión personal del sistema, y espera que éste se comporte de una cierta forma. Se puede conocer el modelo del usuario estudiándolo, ya sea realizando tests de usabilidad, entrevistas, o a través de una realimentación. Una interfaz debe facilitar el proceso de crear un modelo mental efectivo.
Para ello son de gran utilidad las metáforas, que asocian un dominio nuevo a uno ya conocido por el usuario. Un ejemplo típico es la metáfora del escritorio, común a la mayoría de las interfaces gráficas actuales.
Modelo del diseñador: El diseñador mezcla las necesidades, ideas, deseos del usuario y los materiales de que dispone el programador para diseñar un producto de software. Es un intermediario entre ambos.
El modelo del diseñador describe los objetos que utiliza el usuario, su presentación al mismo y las técnicas de interacción para su manipulación. Consta de tres partes: presentación, interacción y relaciones entre los objetos (Figura 1).
La presentación es lo que primero capta la atención del usuario, pero más tarde pasa a un segundo plano, y adquiere más importancia la interacción con el producto para poder satisfacer sus expectativas. La presentación no es lo más relevante y un abuso en la misma (por ejemplo, en el color) puede ser contraproducente, distrayendo al usuario.
La segunda parte del modelo define las técnicas de interacción del usuario, a través de diversos dispositivos.
La tercera es la más importante, y es donde el diseñador determina la metáfora adecuada que encaja con el modelo mental del usuario. El modelo debe comenzar por esta parte e ir hacia arriba. Una vez definida la metáfora y los objetos del interfaz, los aspectos visuales saldrán de una manera lógica y fácil.

DISEÑO DE BASE DE DATOS


INTRODUCCIÓN
Hoy en día las empresas manejan una gran cantidad de datos. Cualquier empresa que se precie debe tener almacenados todos estos datos en una base de datos para poder realizarlos mediante una aplicación profesional; sin esta funcionalidad resultaría imposible tratar y manejar en su totalidad los datos que leva a cabo la empresa y se perdería un tiempo y un dinero muy valiosos
Uno de los pasos cruciales en la construcción de una aplicación que maneje una base de datos, es sin duda, el diseño de la base de datos.
Si las tablas no son definidas apropiadamente, podemos tener muchos dolores de cabeza al momento de ejecutar consultas a la base de datos para tratar de obtener algún tipo de información.
No importa si nuestra base de datos tiene sólo 20 registros, o algunos cuantos miles, es importante asegurarnos que nuestra base de datos está correctamente diseñada para que tenga eficiencia y que se pueda seguir utilizando por largo del tiempo.
En este artículo, se mencionarán algunos principios básicos del diseño de base de datos y se tratarán algunas reglas que se deben seguir cuando se crean bases de datos.

Dependiendo de los requerimientos de la base de datos, el diseño puede ser algo complejo, pero con algunas reglas simples que tengamos en la cabeza será mucho más fácil crear una base de datos perfecta para nuestro siguiente proyecto.

  • Base de Datos.- Cualquier conjunto de datos organizados para su almacenamiento en la memoria de un ordenador o computadora, diseñado para facilitar su mantenimiento y acceso de una forma estándar. Los datos suelen aparecer en forma de texto, números o gráficos. Hay cuatro modelos principales de bases de datos: el modelo jerárquico, el modelo en red, el modelo relacional (el más extendido hoy en día).
  • Base de Datos Relacional.- Tipo de base de datos o sistema de administración de bases de datos, que almacena información en tablas (filas y columnas de datos) y realiza búsquedas utilizando los datos de columnas especificadas de una tabla para encontrar datos adicionales en otra tabla.
  • Datos Elementales.- Un dato elemental, tal como indica su nombre, es una pieza elemental de información. El primer paso en el diseño de una base de datos debe ser un análisis detallado y exhaustivo de los datos elementales requeridos.
  • Campos y Subcampos.- Los datos elementales pueden ser almacenados en campos o en subcampos. Un campo es identificado por un rótulo numérico que se define en la FDT de la base de datos. A diferencia de los campos, los subcampos no se identifican por medio de un rótulo, sino por un delimitador de subcampo.
  • Delimitador de Subcampo.- Un delimitador de subcampo es un código de dos caracteres que precede e identifica un subcampo de longitud variable dentro de un campo.
  • DBMS: Data Base Management System (SISTEMA DE MANEJO DE BASE DE DATOS).- Consiste de una base de datos y un conjunto de aplicaciones (programas) para tener acceso a ellos.
·         à Errores que se pueden encontrar en el diseño de una base de datos:
  • Modelo de Datos.- es un conjunto de herramientas conceptuales para describir los datos, las relaciones entre ellos, su semántica y sus limitantes.
  • Redundancia.- Esta se presenta cuando se repiten innecesariamente datos en los archivos que conforman la base de datos.
  • Inconsistencia.- Ocurre cuando existe información contradictoria o incongruente en la base de datos.
  • Dificultad en el Acceso a los Datos.- Debido a que los sistemas de procesamiento de archivos generalmente se conforman en distintos tiempos o épocas y ocasionalmente por distintos programadores, el formato de la información no es uniforme y se requiere de establecer métodos de enlace y conversión para combinar datos contenidos en distintos archivos.
  • Aislamiento de los Datos.- Se refiere a la dificultad de extender las aplicaciones que permitan controlar a la base de datos, como pueden ser, nuevos reportes, utilerías y demás debido a la diferencia de formatos en los archivos almacenados.
  • Anomalías en el Acceso Concurrente.- Ocurre cuando el sistema es multiusuario y no se establecen los controles adecuados para sincronizar los procesos que afectan a la base de datos. Comúnmente se refiere a la poca o nula efectividad de los procedimientos de bloqueo.
  • Problemas de Seguridad.- Se presentan cuando no es posible establecer claves de acceso y resguardo en forma uniforme para todo el sistema, facilitando así el acceso a intrusos.
·         à Niveles de Diseño:
  • Problemas de Integridad.- Ocurre cuando no existe a través de todo el sistema procedimientos uniformes de validación para los datos.
  • Nivel Físico.- Es aquel en el que se determinan las características de almacenamiento en el medio secundario. Los diseñadores de este nivel poseen un amplio dominio de cuestiones técnicas y de manejo de hardware.
  • Nivel Conceptual.- Es aquel en el que se definen las estructuras lógicas de almacenamiento y las relaciones que se darán entre ellas. Ejemplos comunes de este nivel son el diseño de los registros y las ligas que permitirán la conexión entre registros de un mismo archivo, de archivos distintos incluso, de ligas hacia archivos.
·         à Clasificación de Modelos de Datos:
  • Nivel de Edición.- Es aquel en el que se presenta al usuario final y que puede tener combinaciones o relaciones entre los datos que conforman a la base de datos global. Puede definirse como la forma en el que el usuario aprecia la información y sus relaciones.
  • Modelos Lógicos Basados en Objetos.- Son aquellos que nos permiten una definición clara y concisa de los esquemas conceptuales y de visión. Su característica principal es que permiten definir en forma detallada las limitantes de los datos.
  • Modelos Lógicos Basados en Registros.- Operan sobre niveles conceptual y de visión. Sus características principales son que permiten una descripción más amplia de la implantación, pero no son capaces de especificar con claridad las limitantes de los datos.
  • Modelos Físicos de Datos.- Describen los datos en el nivel más bajo y permiten identificar algunos detalles de implantación para el manejo del hardware de almacenamiento.

TIPOS DE RELACIONES


El tipo de relación más comúnmente utilizado es la relación entre una tabla Muchos y una tabla Uno, llamada relación Muchos a Uno. Sin embargo, también puede crear relaciones Muchos a Muchos y Uno a Uno. Todas las relaciones pueden ser manuales o automáticas.

Ø  Relaciones manuales y automáticas  

Una relación pueden ser automática o manual.
En una relación automática, cuando un registro en una tabla relacionada se convierte en el registro actual, 4D selecciona el o los registros correspondientes. Estos registros especificados pueden visualizarse, imprimirse, modificarse o utilizarse para realizar búsquedas y ordenaciones. No es necesario utilizar programación.
En una relación manual, puede ejercer control sobre la carga en memoria de los registros correspondientes por parte de 4D. Para ejercer este control es necesario utilizar métodos. Para mayor información sobre la creación de métodos que controlen tablas relacionadas, consulte el Manual Lenguaje de 4D.
Puede utilizar relaciones manuales si quiere optimizar el rendimiento de aplicaciones específicas que no necesitan cargar todos los registros correspondientes a la vez. Por ejemplo, si su estructura relaciona tres o más tablas, usted podría querer controlar cuándo cargar los registros relacionados. Puede utilizar una relación manual si quiere relacionar dos tablas con dos relaciones diferentes. Sólo puede existir una relación automática entre dos tablas, mientras que el número de relaciones manuales entre dos tablas no tiene límites.

Ø  Relaciones Muchos a Uno  

Cuando cree una relación entre dos tablas, la tabla que contiene la llave primaria de la relación se llama Tabla Uno y la tabla que contiene el campo llave de llamada de la relación se llama Tabla Muchos. Las tablas se llaman Uno y Muchos porque un registro de la tabla Uno está relacionado con muchos registros de la tabla Muchos y viceversa. Este tipo de relación se llama una relación de Muchos a Uno.

Ø  Relaciones Uno a Uno

Las relaciones Uno a Uno se utilizan sólo en casos especiales puesto que las tablas relacionadas por este tipo pueden combinarse en una sola tabla.
Algunas de las razones para utilizar relaciones Uno a Uno son:
  • Su base tiene datos de tipo Texto, Imagen o BLOB muy grandes. Estos campos podrían ralentizar la base si se cargan en la memoria cuando un registro se convierte en el registro actual. Al colocar los textos, imágenes o BLOBs en otra tabla, puede cargar en memoria sólo los datos que necesita y de esta forma optimizar el funcionamiento de la base.
  • Su base contiene un número muy grande de campos y necesita dividirlos en grupos lógicos. Las tablas separadas pueden hacer que la base de datos sea más rápida y fácil de utilizar.
  • Quiera limitar el acceso a ciertos campos. Utilizando tablas separadas, puede asignar diferentes privilegios de acceso a cada tabla.

Ø  Relaciones Muchos a Muchos

Algunas veces, usted necesita relacionar algunos registros de una tabla con otros registros de otra tabla. Este tipo de relación se conoce como relación Muchos a Muchos.
Un ejemplo de una relación Muchos a Muchos es una base de datos que hace seguimiento a las inscripciones de materias de un grupo de estudiantes. Imagine que esta base tiene dos tablas: [Estudiantes] y [Clases]. Un estudiante puede inscribirse en varias clases y un
1.   OBJETIVOS
2.1.       GENERAL
Al terminar la instrucción en esta herramienta, el estudiante debe estar en capacidad de diseñar e implementar bases de datos sencillas que le permitan almacenar y manipular información de manera eficaz para la toma de decisiones.


2.2.       ESPECIFICOS
Al terminar la instrucción en esta herramienta, el estudiante debe estar en capacidad de:
a)    Demostrar comprensión de los conceptos teóricos básicos de los sistemas de información
b)    Demostrar comprensión sobre los conceptos fundamentales de la Base de Datos (definición, características y restricciones)
c)    Reconocer el entorno de trabajo que presenta el SGBD (menús, barras, área de trabajo).
d)    Modelar un sistema de información
e)    Utilizar software para diseñar una Base de Datos sencilla a partir de un modelo entidad-relación
f)     Realizar operaciones básicas con formularios.
g)    Realizar operaciones básicas con consultas.
h)   Realizar operaciones básicas con informes (reportes) que respondan a requerimientos específicos.
i)     Preparar e imprimir objetos de una base de datos.
j)      Diseñar consultas.
k)    Usar fórmulas en consultas.
l)     Configurar el entorno de trabajo que le presenta la base de datos (menús y barras).
m)    Personalizar las opciones del software y las barras.
n)   Hacer copias de respaldo (backup)



FUNDAMENTACIÓN CIENTIFICA
Entre las metas más importantes que se persiguen al diseñar un modelo de bases de datos, se encuentran las siguientes que pueden observarse en esta figura.

 
  1. Almacenar Solo La Información Necesaria.
A menudo pensamos en todo lo que quisiéramos que estuviera almacenado en una base de datos y diseñamos la base de datos para guardar dichos datos. Debemos de ser realistas acerca de nuestras necesidades y decidir qué información es realmente necesaria.
Frecuentemente podemos generar algunos datos sobre la marcha sin tener que almacenarlos en una tabla de una base de datos. En estos casos también tiene sentido hacer esto desde el punto de vista del desarrollo de la aplicación.
1.2. Normalizar la Estructura de las Tablas.
Si nunca antes hemos oído hablar de la "normalización de datos", no debemos temer. Mientras que la normalización puede parecer un tema complicado, nos podemos beneficiar ampliamente al entender los conceptos más elementales de la normalización.
Una de las formas más fáciles de entender esto es pensar en nuestras tablas como hojas de cálculo. Por ejemplo, si quisiéramos seguir la pista de nuestra colección de CD’s en una hoja de cálculo, podríamos diseñar algo parecido a lo que se muestra en la siguiente tabla.

+------------+-------------+--------------+ .. +--------------+
| Álbum | track1 | track2 | | track10 |
+------------+-------------+--------------+ .. +--------------+
Esto parece razonable. Sin embargo el problema es que el número de pistas que tiene un CD varía bastante. Esto significa que con este método tendríamos que tener una hoja de cálculo realmente grande para albergar todos los datos, que en los peores casos podrían ser de hasta 20 pistas. Esto en definitiva no es nada bueno.
Uno de los objetivos de una estructura de tabla normalizada es minimizar el número de "celdas vacías". El darnos cuenta de que cada lista de CD’s tiene un conjunto fijo de campos (título, artista, año, género) y un conjunto variable de atributos (el número de pistas) nos da una idea de cómo dividir los datos en múltiples tablas que luego podamos relacionar entre sí.
Mucha gente no esta familiarizada con el concepto "relacional", de manera sencilla esto significa, que grupos parecidos de información son almacenados en distintas tablas que luego pueden ser "juntadas" (relacionadas) basándose en los datos que tengan en común.
Es necesario que al realizar la estructura de una base de datos, esta sea flexible. La flexibilidad está en el hecho que podemos agregar datos al sistema posteriormente sin tener que rescribir lo que ya tenemos. Por ejemplo, si quisiéramos agregar la información de los artistas de cada álbum, lo único que tenemos que hacer es crear una tabla artista que esté relacionada a la tabla álbum de la misma manera que la tabla pista. Por lo tanto, no tendremos que modificar la estructura de nuestras tablas actuales, simplemente agregar la que hace falta.
La eficiencia se refiere al hecho de que no tenemos duplicación de datos, y tampoco tenemos grandes cantidades de "celdas vacías".
El objetivo principal del diseño de bases de datos es generar tablas que modelan los registros en los que guardaremos nuestra información.
Es importante que esta información se almacene sin redundancia para que se pueda tener una recuperación rápida y eficiente de los datos.
A través de la normalización tratamos de evitar ciertos defectos que nos conduzcan a un mal diseño y que lleven a un procesamiento menos eficaz de los datos.
Podríamos decir que estos son los principales objetivos de la normalización:
Ø  Controlar la redundancia de la información.
Ø  Evitar pérdidas de información.
Ø  Capacidad para representar toda la información.
Ø  Mantener la consistencia de los datos.
  1. Seleccionar el Tipo de Dato Adecuado.
Una vez identificadas todas las tablas y columnas que necesita la base de datos, debemos determinar el tipo de dato de cada campo. Existen tres categorías principales que pueden aplicarse prácticamente a cualquier aplicación de bases de datos:
Ø  Texto
Ø  Números
Ø  Fecha y hora
Cada uno de éstos presenta sus propias variantes, por lo que la elección del tipo de dato correcto no sólo influye en el tipo de información que se puede almacenar en cada campo, sino que afecta al rendimiento global de la base de datos.
A continuación se dan algunos consejos que nos ayudarán a elegir un tipo de dato adecuado para nuestras tablas:
Ø  Identificar si una columna debe ser de tipo texto, numérico o de fecha.
Ø  Elegir el subtipo más apropiado para cada columna.
Ø  Configurar la longitud máxima para las columnas de texto y numéricas, así como otros atributos.
1.4. Utilizar Índices Apropiadamente
Los índices son un sistema especial que utilizan las bases de datos para mejorar su rendimiento global. Dado que los índices hacen que las consultas se ejecuten más rápido, podemos estar incitados a indexar todas las columnas de nuestras tablas.
Sin embargo, lo que tenemos que saber es que el usar índices tiene un precio. Cada vez que hacemos un INSERT, UPDATE, REPLACE, o DELETE sobre una tabla, MySQL tiene que actualizar cualquier índice en la tabla para reflejar los cambios en los datos.
¿Así que, cómo decidimos usar índices o no? La respuesta es "depende". De manera simple, depende que tipo de consultas ejecutamos y que tan frecuentemente lo hacemos, aunque realmente depende de muchas otras cosas.
Así que antes de indexar una columna, debemos considerar que porcentaje de entradas en la tabla son duplicadas. Si el porcentaje es demasiado alto, seguramente no veremos alguna mejora con el uso de un índice. Ante la duda, no tenemos otra alternativa que probar.
1.5. Usar Consultas REPLACE
Existen ocasiones en las que deseamos insertar un registro a menos de que éste ya se encuentre en la tabla. Si el registro ya existe, lo que quisiéramos hacer es una actualización de los datos.
1.6. Usar Una Versión Reciente de MySQL
La recomendación es simple y concreta, siempre que esté en nuestras manos, debemos usar la versión más reciente de MySQL que se encuentre disponible. Además de que las nuevas versiones frecuentemente incluyen muchas mejoras, cada vez son más estables y más rápidas. De esta manera, a la vez que sacamos provecho de las nuevas características incorporadas en MySQL, veremos significativos incrementos en la eficiencia de nuestro servidor de bases de datos.
1.8. Usar Tablas Temporales.
Cuando estamos trabajando con tablas muy grandes, suele suceder que ocasionalmente necesitemos ejecutar algunas consultas sobre un pequeño subconjunto de una gran cantidad de datos. En vez de ejecutar estas consultas sobre la tabla completa y hacer que MySQL encuentre cada vez los pocos registros que necesitamos, puede ser mucho más rápido seleccionar dichos registros en una tabla temporal y entonces ejecutar nuestras consultas sobre esta tabla.
Una tabla temporal existe mientras dure la conexión a MySQL. Cuando se interrumpe la conexión MySQL remueve automáticamente la tabla y libera el espacio que ésta usaba.
1.7. Recomendaciones.
El último paso del diseño de la base de datos es adoptar determinadas convenciones de nombres. Aunque MySQL es muy flexible en cuanto a la forma de asignar nombre a las bases de datos, tablas y columnas, he aquí algunas reglas que es conveniente observar:
Ø  Utilizar caracteres alfanuméricos.
Ø  Limitar los nombres a menos de 64 caracteres (es una restricción de MySQL).
Ø  Utilizar el guión bajo (_) para separar palabras.
Ø  Utilizar palabras en minúsculas (esto es más una preferencia personal que una regla).
Ø  Los nombres de las tablas deberían ir en plural y los nombres de las columnas en singular (es igual una preferencia personal).
Ø  Utilizar las letras ID en las columnas de clave primaria y foránea.
Ø  En una tabla, colocar primero la clave primaria seguida de las claves foráneas.
Ø  Los nombres de los campos deben ser descriptivos de su contenido.
Ø  Los nombres de los campos deben ser unívocos entre tablas, excepción hecha de las claves.
Los puntos anteriores corresponden muchos de ellos a preferencias personales, más que a reglas que debamos de cumplir, y en consecuencia muchos de ellos pueden ser pasados por alto, sin embargo, lo más importante es que la nomenclatura utilizada en nuestras bases de datos sea coherente y consistente con el fin de minimizar la posibilidad de errores al momento de crear una aplicación de bases de datos.




3.           DESARROLLO
Son muchas las consideraciones a tomar en cuenta al momento de hacer el diseño de la base de datos, quizá las más fuertes sean:
Ø  La velocidad de acceso,
Ø  El tamaño de la información,
Ø  El tipo de la información,
Ø  Facilidad de acceso a la información,
Ø  Facilidad para extraer la información requerida,
Ø  El comportamiento del manejador de bases de datos con cada tipo de información.
No obstante que pueden desarrollarse sistemas de procesamiento de archivo e incluso manejadores de bases de datos basándose en la experiencia del equipo de desarrollo de software logrando resultados altamente aceptables, siempre es recomendable la utilización de determinados estándares de diseño que garantizan el nivel de eficiencia mas alto en lo que se refiere a almacenamiento y recuperación de la información.
De igual manera se obtiene modelos que optimizan el aprovechamiento secundario y la sencillez y flexibilidad en las consultas que pueden proporcionarse al usuario



ALGUNAS DE LAS HERRAMIENTAS QUE PUDE ENCONTRAR PARA EL DISEÑO Y DOCUMENTACIÓN DE LAS BASES DE DATOS, SON DBDesigner 4


Ø  La instalación si bien no es difícil y podemos encontrar varios tutoriales a cerca de ello, es necesario tener muy en cuenta algunos detalles que son muy importantes para que el programa pueda funcionar de manera correcta.
Ø  No incluye el soporte para la conexión a bases de datos MySQL, pero si se puede instalar de manera independiente.
Ø  Ingeniería inversa para MySQL, Oracle, MSSQL y ODBC.
Ø  Permite la exportación del modelo en script SQL, imagen (PNG) o XML.
Ø  Dispone la opción de importar archivos ERwin 4.1.
Ø  La salida de la documentación puede ser en HTML.
easyDesigner

Ø  Bastante básico.
Ø  No tiene la opción de la ingeniería inversa.
Ø  Tiene la opción de exportar el modelo como un script SQL o imagen (PNG).

Mogwai ERDesigner

Ø  Soporte de ingeniería inversa para MySQL, Oracle, DB2(experimental), Microsoft SQLServer, PostgreSQL y H
Ø  Permite la exportación del modelo en script SQL, imagen (GIF, BMP, JPEG y SVG)
Ø  Genera la documentación en PDF, HTML, RTF y más.
MySQL Workbench

Ø  Ingeniería inversa para MySQL.
Ø  Posibilidad de exportar el modelo en imagen (PNG, SVG), archivo PDF y script SQL.
Ø  También ofrece la posibilidad de Administrar MySQL.
Ø  Personalización de conexiones (UML, clásico, IDEFIX, etc), de vistas, etc
Ø  Desde mi punto de vista es uno de los mejores programas para el diseño de base de datos.

4.           CONCLUSIONES

Una base de datos correctamente diseñada permite obtener acceso a información exacta y actualizada. Puesto que un diseño correcto es esencial para lograr los objetivos fijados para la base de datos, parece lógico emplear el tiempo que sea necesario en aprender los principios de un buen diseño ya que, en ese caso, es mucho más probable que la base de datos termine adaptándose a sus necesidades y pueda modificarse fácilmente.
En este artículo se proporcionan instrucciones para preparar una base de datos. Aprenderá a decidir qué información necesita, a dividir la información en las tablas y columnas adecuadas y a relacionar las tablas entre sí. Debe leer este artículo antes de crear la primera base de datos.

La finalidad de este trabajo, es dar una inducción en el tema de Diseño de Bases de Datos, a personas ajenas al tema. De manera que por ello los temas se presentan de una manera sencilla y sin tanta terminología.
Nos muestra la gran importancia que para cualquier entidad, ya sea una empresa grande o chica, para el gobierno, hasta para la vida cotidiana de una persona (como se muestra en el ejemplo de los CD’s), tienen las bases de datos. Todo gira alrededor de ellas, todos los procesos del mundo están registrados en ellas, de ahí la importancia de llevar a cabo un diseño eficiente y libre de errores de las mismas.
Siempre que una persona escucha hablar de bases de datos y de toda la terminología que las acompaña piensa que es un tema excesivamente complicado, y no es así, todo tiene un porqué y lógica, es cosa de familiarizarse un poco con ellas (bases de datos).
Cuando se ven en realidad todas las ventajas que tienen, es mas sencillo el proceso de aprendizaje, ya que siente que el aprender a manejarlas se vera recompensado.
Además de los sencillas que son, es muy fácil acceder a información, manuales y cursos relacionados a ellas, todo esta a la mano, con la facilidad de poner este tema en un buscador de la red y aparecerán infinidad de temas, unos mas complejos que otros, pero siempre uno que se adecue a las capacidades de aprendizaje de cada persona.
Otro punto muy importante es que la mayoría son gratis.