Profundizar en los siguientes temas:
base de datos relacional:
Una base de datos relacional es una base de datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores, y en donde todas las operaciones de la base de datos operan sobre estas tablas.Estas bases de datos son percibidas por los usuarios como una colección de relaciones normalizadas de diversos grados que varían con el tiempo.
En una computadora existen diferentes formas de almacenar información. Esto da lugar a distintos modelos de organizaciónde la base de datos: jerárquico, red, relacional y orientada a objeto.
Los sistemas relacionales son importantes porque ofrecen muchos tipos de procesos de datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, períodos cortos de aprendizaje y las consultas de información se especifican de forma sencilla.
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. Más adelante explicaremos que son las tablas.
Las base de datos relacionales están constituidas por una o más tablas que contienen la información ordenada de una forma organizada. Cumplen las siguientes leyes básicas:
Generalmente, contendrán muchas tablas.
Una tabla sólo contiene un número fijo de campos.
El nombre de los campos de una tabla es distinto.
Cada registro de la tabla es único.
El orden de los registros y de los campos no está determinados.
Para cada campo existe un conjunto de valores posible.
Ambiente cliente/servidor:
En vez de construir sistemas informáticos como elementos monolíticos, existe el acuerdo general de construirlos como sistemas cliente / servidor. El cliente (usuario de la PC) solicita un servicio (como imprimir) que un servidor le proporciona (un procesador conectado a la LAN). Este enfoque común de la estructura de los sistemas informáticos se traduce en una separación de las funciones que anteriormente forman un todo. Los detalles de realización van desde los planteamientos sencillos hasta la posibilidad real de manejar todos los ordenadores de modo uniforme.
Una base de datos es un conjunto de información relacionada con un asunto o con una finalidad, tal como el seguimiento de los pedido de clientes o una colección de música. Si la base de datos no esta almacenada en una maquina, o solo lo esta parte de la misma, es posible que necesite controlar información de varias fuentes distintas que tiene que organizar y coordinar usted mismo.
Si utiliza Microsoft Access, puede administrar toda la información desde un único archivo de bases de datos. Dentro de este archivo, divida los datos en contenedores de almacenamiento separados denominados tablas, vea, agregue y actualice los datos en las tablas mediante formulario en línea; busque y recupere solamente los datos que necesite mediante consultas; y analice o imprima los datos con el esquema deseado mediante informes.
La arquitectura cliente-servidor llamado modelo cliente-servidor o servidor-cliente es una forma de dividir y especializar programas y equipos de computo a fin de que la tarea que cada uno de ellos realiza se efectúe con la mayor eficiencia, y permita simplificar las actualizaciones y mantenimiento del sistema.
El servidor no necesita tanta potencia de procesamiento, parte del proceso se reparte con los clientes.
Se reduce el tráfico de red considerablemente. Idealmente, el cliente se conecta al servidor cuando es estrictamente necesario, obtiene los datos que necesita y cierra la conexión dejando la red libre.
Un sistema Cliente/Servidor Suele Ejecutarse en al menos dos sistemas distintos (uno hace de cliente y el otro de servidor). No obstante, es posible que tanto el cliente como el servidor se encuentren en un único sistema. Generalmente un servidor proporciona servicios a varios sistemas clientes, aunque puede haber un único sistema. La función del cliente suele llevarla a cabo un servidor de archivos, excepto cuando se necesita el máximo rendimiento y debe utilizarse un servidor especializado. A menudo el cliente es un sistema de escritorio conectado en red. Siempre que el usuario necesite recuperar o almacenar información, la parte cliente de la aplicación ejecuta una solicitud, que se envía (generalmente por una red) al servidor. El servidor ejecuta entonces la solicitud y devuelve la información al cliente.
Los sistemas Cliente/Servidor se desarrollaron inicialmente para conseguir un rendimiento considerablemente superior con un aumento moderado del precio, pasando parte del procesamiento de la parte del cliente al servidor. De esta forma puede mejorar el rendimiento, pero apenas afecta al costo.
Lo anterior suena bastante atractivo, pero en realidad en la practica existen elementos debemos de tomar en cuenta antes de decidirnos por este modelo; ya que al igual que cualquier otro modelo de programación, éste presenta ventajas y desventajas. A continuación presentamos algunas de ellas:
Ventajas:
Costos. El enfoque cliente/servidor es económico, sobre todo cuando está unido al concepto de racionalización. Los costos de compra, arrendamiento y mantenimiento de macrocomputadoras centrales son tal elevados que los correspondientes a la compra de servidores, PCs y demás componentes para crear una red de área local parecen ridículos. Con frecuencia sucede que el costo de un sistema cliente/servidor completo es inferior al de la instalación de una computadora central para que pueda procesar una nueva aplicación.
Acceso a la información. Si bien el acceso a los datos es posible por otros medios, la arquitectura Cliente/Servidor constituye el ambiente ideal para facilitar el acceso a la información. El usuario no sólo puede tener un acceso transparente a toda la información que necesita, sino además está habilitado para procesarla como guste.
Ergonomía. Un buen sistema Cliente/Servidor no se concibe sin una interfaz gráfica de usuario y sin una transparencia total. De esta manera, el cliente puede trabajar en el ambiente que más le convenga sin preocuparse de la conversión de interfaces y protocolos. Se concentra en el trabajo que debe realizar más que en la tecnología.
Buena tecnología en el lugar adecuado. En teoría, un ambiente Cliente/Servidor puede conformarse de varias plataformas, sistemas operativos, SGBD, etc. De ahí que haya muchas opciones para cada aplicación; por ejemplo HP con UNIX y con estaciones de trabajo Macintosh para un servicio y un servidor Netware y estaciones de trabajo Windows para otro.
Modularidad. En un ambiente Cliente/Servidor, es factible agregar o eliminar estaciones de trabajo y servidores, puesto que el sistema puede ser más o menos fácil de volver a configurar. También es más sencillo implantar una aplicación nueva por medio de construir una extensión con un servidor y estaciones de trabajo nuevos.
Desventajas:
Incompatibilidad. El ambiente Cliente/Servidor supone que la época en que IBM tenía todo el mercado dominado ha concluido. Con el fin de esta etapa, se debe recurrir a varios proveedores. Todos sabemos lo que sucede en estos casos: cuando hay algún problema, el proveedor inicial lo remite a otro proveedor.
Si las especificaciones se ponen por escrito, no hay problema; pero en la practica cotidiana, las incompatibilidades mayores o menores entre computadoras, sistemas operativos, lenguajes, protocolos, interfaces y programas de aplicación superan las expectativas. Cuanto más elevado es el número de proveedores, las incompatibilidades son mayores.
Capacitación. En casi todos los casos de implantación del modelo Cliente/Servidor, la principal dificultad es la capacitación de los usuarios. No se trata de sólo impartir cursos a los usuarios y a los ingenieros en computación, sino de cambiar toda una cultura, cual es más complicado y costoso. Es necesario redefinir todas las funciones computacionales; la visión de los sistemas de cómputo se debe cambiar por completo, la polivalencia debe ubicarse en el primer plano así como cambiar desarrollar nuevos expertos. El costo de una capacitación a fondo puede ser superior a la del conjunto del sistema. Sin embargo, se debemos considerar que la capacitación es una inversión a largo plazo.
Costos. Si bien el costo es uno de los principales factores que inclinan la balanza en favor de la arquitectura Cliente/Servidor, los inconvenientes antes mencionados conducen a reflexionar sobre la variedad de costos ocultos que conlleva: capacitación, solución de montones de pequeños problemas imprevistos, el tiempo perdido en reconciliarse con lo proveedores, la reorganización y el desarrollo de aplicaciones que aún no se encuentran en el mercado.
La implantación del modelo Cliente/Servidor comprende varios elementos. En primer lugar, se debe contar con una arquitectura completa de telecomunicación; es decir, no basta tener un protocolo de comunicación común entre todos los sistemas llamados a cooperar, sino también se necesita toda una serie de funciones o aplicaciones de telecomunicación para retomar la terminología del modelo OSI de interconexión de sistemas abiertos.
Diseño de una base de datos, tipos de base de datos
Un
buen diseño de la base de datos es la pieza clave para crear una base de datos
que realice las operaciones que desee de una forma efectiva, precisa y eficaz.
Pasos para diseñar una base de datos:
Determinar la finalidad de la base de datos.
Determinar las tablas que se necesitan en la base de datos.
Determinar los campos que se necesitan en las tablas.
Identificar los campos con valores exclusivos
Determinar las relaciones entre las tablas.
Precisar el diseño.
Agregar datos y crear otros objetos de la base de datos.
Utilizar
las herramientas de análisis de Microsoft Access.
Determinar la finalidad de la base de datos:
El primer paso para diseñar una base de datos de Microsoft Access es determinar la finalidad de la base de datos y cómo se utiliza. Debe saber qué información desea obtener de la base de datos. A partir de ahí, puede determinar sobre qué asuntos necesita almacenar hechos (las tablas) y qué hechos necesita almacenar sobre cada asunto (los campos de las tablas). Hable con los demás usuarios que utilizarán la base de datos. Piense detenidamente en las preguntas que desea que responda la base de datos. Realice bocetos de los informes que desea que produzca. Reúna los formularios que utiliza actualmente para registrar los datos. Examine bases de datos bien diseñadas similares a la que va a diseñar.
Determinar
las tablas que se necesitan:
Determinar las tablas puede ser el paso más complicado del proceso de diseño
de la base de datos. Esto se debe a que los resultados que desea obtener de la
base de datos (los informes que desea imprimir, los formularios que desea
utilizar, las preguntas para las que desea respuestas) no proporcionan pistas
necesariamente acerca de la estructura de las tablas que los producen.
No es necesario que diseñe las tablas mediante Microsoft Access. De hecho,
posiblemente sea más conveniente realizar un boceto en papel de la base de
datos y trabajar sobre el diseño primero. Al diseñar las tablas, divida la
información teniendo en cuenta los siguientes principios de diseño
fundamentales:
Una tabla no debe contener información duplicada y la información no debe
duplicarse entre las tablas. Cuando cada elemento de información está
almacenado en una tabla, se actualiza en un solo lugar. Esto resulta más
eficiente y elimina la posibilidad de que existan entradas duplicadas que
contengan información diferente. Por ejemplo, probablemente desee almacenar la
dirección y el número de teléfono de cada cliente una sola vez en una sola
tabla.
Cada tabla debe contener información sobre un asunto.
Cuando cada tabla contiene hechos sólo sobre un asunto, puede mantener la
información acerca de cada asunto independientemente de otros asuntos. Por
ejemplo, puede almacenar las direcciones de los clientes en una tabla diferente
de los pedidos de los clientes, de modo que pueda eliminar un pedido y conservar
a la vez la información sobre el cliente.
Determinar los campos que se necesitan:
Cada tabla contiene información acerca del mismo asunto, y cada campo de una tabla contiene hechos individuales sobre el asunto de la tabla. Por ejemplo, la tabla de Clientes puede incluir los campos del nombre de la compañía, la dirección, la ciudad, el país y el número de teléfono. Al realizar bocetos de los campos para cada tabla, tenga en cuenta estas sugerencias:
Relacione
cada campo directamente con el asunto de la tabla.
No incluya datos derivados ni calculados (datos que son el resultado de una
expresión).
Incluya toda la información que necesite.
Almacene información en sus partes lógicas más pequeñas (por ejemplo, Nombre
y Apellidos, en lugar del Nombre completo).
Identificar los campos con valores exclusivos:
Para que Microsoft Access conecte información almacenada en tablas independientes (por ejemplo, para conectar a un cliente con todos los pedidos del cliente), cada tabla de la base de datos debe incluir un campo o un conjunto de campos que identifiquen de forma exclusiva cada registro individual de la tabla. Este campo o conjunto de campos se denomina clave principal.
Determinar las relaciones entre las tablas:
Ahora que ha dividido la información en tablas y que ha identificado los campos
de clave principal, necesita una forma de indicar a Microsoft Access cómo
volver a reunir toda la información relacionada de un modo significativo. Para
ello, debe definir relaciones entre las tablas.
Puede resultar útil ver las relaciones de una base de datos bien diseñada
existente. Para ver las relaciones de la base de datos de ejemplo Neptuno, abra
la base de datos Neptuno.mdb y en el menú Herramientas elija Relaciones.
Precisar el diseño:
Una
vez diseñadas las tablas, los campos y las relaciones que necesita, es el
momento de estudiar el diseño y detectar los posibles fallos que puedan quedar.
Es más sencillo cambiar el diseño de la base de datos ahora que una vez que
haya rellenado las tablas con datos.
Utilice Microsoft Access para crear las tablas, especificar relaciones entre las
tablas e introducir algunos registros de datos en cada tabla. Observe si puede
utilizar la base de datos para obtener las respuestas que desee. Cree bocetos de
los formularios e informes y compruebe si muestran los datos que desea. Busque
duplicaciones de datos innecesarias y elimínelas.
Introducir datos y crear otros objetos de la base de datos:
Cuando considere que la estructura de las tablas cumple los objetivos de diseño descritos anteriormente, es el momento de comenzar a agregar los datos existentes a las tablas. A continuación, puede crear las consultas, formularios, informes, macros y módulos que desee.
Utilizar
las herramientas de análisis de Microsoft Access:
Microsoft Access incluye dos herramientas que pueden ayudarle a precisar el diseño
de la base de datos. El Asistente para analizar tablas puede analizar el diseño
de una tabla, proponer nuevas estructuras de tablas y relaciones si es
conveniente y reestructurar una tabla en nuevas tablas relacionadas si es
necesario.
El Analizador de rendimiento puede analizar la base de datos completa y realizar
recomendaciones y sugerencias para mejorarla. El asistente también puede
implantar estas recomendaciones y sugerencias.
¿Qué es Access?
Microsoft Access es un sistema de gestión de base de datos creado y modificado por Microsoft (DBMS) para uso personal de pequeñas organizaciones. Es un componente de la suite Microsoft Office aunque no se incluye en el paquete básico. Para base de datos de gran calibre (en cuanto a volúmen de datos o de usuarios) es recomendable usar otros sistemas como MySQL o Microsoft SQL Server, y código VBA (Visual Basic para Aplicaciones). Una posibilidad adicional es la de crear ficheros con bases de datos que pueden ser consultados por otros programas. Entre las principales funcionalidades de Access se encuentran:
Crear tablas de datos indexadas.
Modificar tablas de datos.
Relaciones entre tablas (creación de bases de datos relacionales).
Creación de consultas y vistas.
Consultas referencias cruzadas.
Consultas de acción (INSERT, DELETE, UPDATE).
Formularios.
Informes.
Llamadas a la API de windows.
Interacción con otras aplicaciones que usen VBA (resto de aplicaciones de Microsoft Office,Autocad, etc.).
Macros.
Además, permite crear frontends - o programa que muestra la interfaz de usuario - de bases de datos más potentes ya que es un sistema capaz de acceder a tablas externas a través de ODBC como si fueran tablas Access.
Es un software de gran difusión entre pequeñas empresas (PYMES) cuyas bases de datos no requieren de excesiva potencia, ya que se integra perfectamente con el resto de aplicaciones de Microsoft y permite crear pequeñas aplicaciones con unos pocos conocimientos de programación.
Entre sus mayores inconvenientes figuran que no es multiplataforma, pues sólo está disponible para sistemas operativos de Microsoft, y que no permite transacciones. Su uso es inadecuado para grandes proyectos de software que requieren tiempos de respuesta críticos o muchos accesos simultáneos a la base de datos.