miércoles, 31 de agosto de 2011

VISUAL BASIC

 INTRODUCCION:

Visual Basic 6.0 es uno de los lenguajes de programación que más entusiasmo despiertan entre los programadores de PCs, tanto expertos como novatos.En el caso de los programadores expertos por la facilidad con la que desarrollan aplicaciones complejas en poquísimo tiempo (comparado con lo que cuesta programar en Visual C++, por ejemplo). En el caso de los programadores novatos por el hecho de ver de lo que son capaces a los pocos minutos de empezar su aprendizaje.

Visual Basic 6.0 es también un programa basado en objetos, aunque no orientado a objetos como C++ o Java. La diferencia está en que Visual Basic 6.0 utiliza objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo propios de los verdaderos lenguajes orientados a objetos como Java y C++.

PROGRAMAS SECUENCIALES, INTERACTIVOS Y ORIENTADOS A EVENTOS

Existen distintos tipos de programas. En los primeros tiempos de los ordenadores los programas eran de tipo secuencial (también llamados tipo batch) Un programa secuencial es un programa que se arranca, lee los datos que necesita, realiza los cálculos e imprime o guarda en el disco los resultados.
A este tipo de programas se les llama también programas basados u orientados a procedimientos o a algoritmos (procedural languages). Este tipo de programas siguen utilizándose ampliamente en la actualidad, pero la difusión de los PCs ha puesto de actualidad otros tipos de programación.
Los programas interactivos exigen la intervención del usuario en tiempo de ejecución, bien para suministrar datos, bien para indicar al programa lo que debe hacer por medio de menús.

PROGRAMAS PARA EL ENTORNO WINDOWS
Visual Basic 6.0 está orientado a la realización de programas para Windows, pudiendo incorporar todos los elementos de este entorno informático: ventanas, botones, cajas de diálogo y de texto, bo- tones de opción y de selección, barras de desplazamiento, gráficos, menús, etc.
En ocasiones bastan unas pocas operaciones con el ratón y la introducción a través del teclado de algunas senten- cias para disponer de aplicaciones con todas las características de Windows 95/98/NT/XP. En los siguientes apartados se introducirán algunos conceptos de este tipo de programación.

Modo de Diseño y Modo de Ejecución

La aplicación Visual Basic de Microsoft puede trabajar de dos modos distintos: en modo de diseño y en modo de ejecución. En modo de diseño el usuario construye interactivamente la aplicación, colocando controles en el formulario, definiendo sus propiedades, y desarrollando funciones para gestionar los eventos.
Hay algunas propiedades de los controles que deben establecerse en modo de diseño, pero muchas otras pueden cambiarse en tiempo de eje- cución desde el programa escrito en Visual Basic 6.0, en la forma en que más adelante se verá. También hay propiedades que sólo pueden establecerse en modo de ejecución y que no son visibles en modo de diseño. Todos estos conceptos –controles, propiedades, eventos, etc.- se explican en los apartados si- guientes.

Formularios y Controles
Cada uno de los elementos gráficos que pueden formar parte de una aplicación típica de Windows 95/98/NT/XP es un tipo de control: los botones, las cajas de diálogo y de texto, las cajas de selec- ción desplegables, los botones de opción y de selección, las barras de desplazamiento horizontales y verticales, los gráficos, los menús, y muchos otros tipos de elementos son controles para Visual Ba- sic 6.0.
Visual Basic 6.0 proporciona nombres por defecto que el usuario puede modificar. En el Apartado Nombres de objetos se exponen algunas reglas para dar nombres a los distintos controles. En la terminología de Visual Basic 6.0 se llama formulario (form) a una ventana. Un formu- lario puede ser considerado como una especie de contenedor para los controles.

Objetos y Propiedades
Los formularios y los distintos tipos de controles son entidades genéricas de las que puede haber varios ejemplares concretos en cada programa. En programación orientada a objetos (más bien ba- sada en objetos, habría que decir) se llama clase a estas entidades genéricas, mientras que se llama objeto a cada ejemplar de una clase determinada. Por ejemplo, en un programa puede haber varios botones, cada uno de los cuales es un objeto del tipo de control command button, que sería la clase.


Nombres de objetos

En principio cada objeto de Visual Basic 6.0 debe tener un nombre, por medio del cual se hace refe- rencia a dicho objeto. El nombre puede ser el que el usuario desee, e incluso Visual Basic 6.0 pro- porciona nombres por defecto para los diversos controles. Estos nombres por defecto hacen refe- rencia al tipo de control y van seguidos de un número que se incrementa a medida que se van intro- duciendo más controles de ese tipo en el formulario (por ejemplo VScroll1, para una barra de des- plazamiento -scroll bar- vertical, HScroll1, para una barra horizontal, etc.).
Existe una convención ampliamente aceptada que es la siguiente: se utilizan siempre tres le- tras minúsculas que indican el tipo de control, seguidas por otras letras (la primera mayúscula, a modo de separación) libremente escogidas por el usuario, que tienen que hacer referencia al uso que se va a dar a ese control.

Abrebiatura Control Abrebiatura Control
chk check box cbo combo y drop-list box
Cmd command button dir dir list box
drv drive list box fil file list box
frm form fra Frame
hsb horizontal scroll bar img Image
lbl label lin Line
lst list mnu Menu
opt option button pic Picture
shp shape txt text edit box
tmr timer vsb vertical scroll bar

Eventos

Ya se ha dicho que las acciones del usuario sobre el programa se llaman eventos.Cada vez que se produce un evento sobre un determinado tipo de control, Visual Basic 6.0 arranca una determinada función o procedimiento que realiza la acción programada por el usuario para ese evento concreto. Estos procedimientos se llaman con un nombre que se forma a partir del nombre del objeto y el nombre del evento, separados por el carácter (_), como por ejemplo txtBox_click, que es el nombre del procedimiento que se ocupará de responder al evento click en el objeto txtBox.

Métodos

Los métodos son funciones que también son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje.
Cada tipo de obje- to o de control tiene sus propios métodos. Por ejemplo, los controles gráficos tienen un método llamado Line que se encarga de dibujar líneas rectas. De la misma forma existe un método llamado Circle que dibuja circunferencias y ar- cos de circunferencia Es obvio que el dibujar líneas rectas o circunferencias es una tarea común para todos los programadores y que Visual Basic 6.0 da ya resuelta.

Proyectos y ficheros

Cada aplicación que se empieza a desarrollar en Visual Basic 6.0 es un nuevo proyecto. Un proyec- to comprende otras componentes más sencillas, como por ejemplo los formularios (que son las ven- tanas de la interface de usuario de la nueva aplicación) y los módulos (que son conjuntos de funcio- nes y procedimientos sin interface gráfica de usuario).
¿Cómo se guarda un proyecto en el disco? Un proyecto se compone siempre de varios ficheros (al menos de dos) y hay que preocuparse de guardar cada uno de ellos en el directorio adecuado y con el nombre adecuado.
Existe siempre un fichero con extensión *.vbp (Visual Basic Project) que se crea con el comando File/Save Project As. El fichero del proyecto contiene toda la informa- ción de conjunto. Además hay que crear un fichero por cada formulario y por cada módulo que tenga el proyecto. Los ficheros de los formularios se crean con File/Save Filename As teniendo como extensión *.frm. Los ficheros de código o módulos se guardan también con el comando Fi- le/Save Filename As y tienen como extensión *.bas si se trata de un módulo estándar o *.cls si se trata de un módulo de clase (class module). Clicando en el botón Save en la barra de herramientas se actualizan todos los ficheros del pro- yecto. Si no se habían guardado todavía en el disco, Visual Basic 6.0 abre cajas de diálogo Save As por cada uno de los ficheros que hay que guardar.


jueves, 25 de agosto de 2011

SISTEMAS DE GESTIÓN DE BASE DE DATOS

SISTEMAS DE ARCHIVOS
Un sistema de archivos es un conjunto de programas que prestan servicio a los usuarios finales, donde cada programa define y maneja sus propios datos. Los sistemas de archivos surgen de la necesidad de reemplazar el manejo de los archivos manuales para obtener acceso a los datos con mayor rapidez.
Los sistemas de archivos presentan algunos inconvenientes que se atribuyen a que la definición de los datos se encuentra codificada dentro de los programas de aplicación, y no siendo almacenada de forma independiente a las aplicaciones.

BASE DE DATOS
Una base de datos es un conjunto de datos almacenados entre los que existen relaciones lógicas y ha sido diseñada para satisfacer los requerimientos de información de una organización, almacenando en ella su descripción.
En las bases de datos se almacenan grandes cantidades de datos, que son definidos una sola vez y que pueden ser accesados por varios usuarios a la vez, teniendo todos los datos integrados y creando una dependencia de datos a la organización y no a los departamentos o núcleos de la misma, eliminando la redundancia de datos y estableciendo una mínima duplicidad de los datos.
Los sistemas de información separan la definición de la estructura de datos de los programas de aplicación y almacenan esta definición en la base de datos, lo que permite que al añadir o modificar estructura de datos, los programas de aplicación no se ven afectados, ya que no dependen directamente de ello.

SISTEMA DE GESTIÓN DE BASE DE DATOS (SGBD)
DATA BASE MANAGMENT SYSTEM (DBMS)

Los sistemas de Gestión de Bases de Datos, son aplicaciones que permiten a los usuarios definir, crear y mantener la base de datos y proporciona un acceso controlado a la misma.
Algunos de los SGBD más conocidos son: SQL, DB2, SLQ/DS, ORACLE, INGRES, INFORMIX, SYBASE, PARADOX, DBASE, ACCESS, FOXPRO, R, RM/T y RM/V2.

OBJETIVOS DE UN SGBD
  •   Definir la Base de Datos mediante el Lenguaje de Definición de Datos, el cual permite especificar la estructura, tipo de datos y las restricciones sobre los datos, almacenándolo todo en la base de datos.
  • Gestionar la estructura física de los datos y su almacenamiento, proporcionando eficiencia en las operaciones de la base de datos y el acceso al medio de almacenamiento.
  • Eliminar la redundancia de datos, establecer una mínima duplicidad en los datos y minimizar el espacio en disco utilizado.
  • Proveer interfaces procedimentales y no procedimentales, permitiendo la manipulación por usuarios interactivos y programadores.
  • Independizar la descripción lógica de la Base de datos y las descripciones particulares de los diferentes puntos de vistas de los usuarios.

ACTORES EN EL ENTORNO DE UNA BASE DE DATOS

Administrador de la base de datos: se encarga del diseño físico de la base de datos y de su implementación, realiza el control de la seguridad y de la concurrencia, mantiene el sistema para que siempre se encuentre operativo y se encarga de que los usuarios y las aplicaciones obtengan buenas prestaciones.
El diseñador de la base de datos debe tener un profundo conocimiento de los datos de la empresa y también debe conocer sus reglas de negocio. Las reglas de negocio describen las características principales de los datos tal y como las ve la empresa.
El diseñador de la base de datos debe implicar en el desarrollo del modelo de datos a todos los usuarios de la base de datos, tan pronto como sea posible. El diseño lógico de la base de datos es independiente del SGBD concreto que se vaya a utilizar, es independiente de los programas de aplicación, de los lenguajes de programación y de cualquier otra consideración física.

VENTAJAS DE LOS SGBD
INTEGRACIÓN DE LOS DATOS
  • Control sobre la redundancia de datos: Los sistemas de archivos almacenan varias copias de los mismos datos en archivos distintos.Sin embargo, en una base de datos no se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los datos, o bien es necesaria para mejorar las prestaciones.
  • Consistencia de datos: Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente.Desgraciadamente, no todos los SGBD de hoy en día se encargan de mantener automáticamente la consistencia.
  • Más información sobre la misma cantidad de datos: Al estar todos los datos integrados, se puede extraer información adicional sobre los mismos.
  • Compartición de datos: En los sistemas de archivos, los archivos pertenecen a las personas o a los departamentos que los utilizan.Además, las nuevas aplicaciones que se vayan creando pueden utilizar los datos de la base de datos existente.
  • Mantenimiento de estándares: Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales.
EXISTENCIA DE LOS SGBD
  • Mejora en la integridad de datos: La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados.Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas.
  • Mejora en la seguridad: Los SGBD permiten mantener la seguridad mediante el establecimiento de claves para identificar al personal autorizado a utilizar la base de datos.
  • Mejora en la accesibilidad a los datos: Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que realice tal tarea.
  • Mejora en la productividad: A nivel básico, el SGBD proporciona todas las rutinas de manejo de archivos típicas de los programas de aplicación.
  • Mejora en el mantenimiento gracias a la independencia de datos: Los SGBD separan las descripciones de los datos de las aplicaciones.
  • Aumento de la concurrencia: La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas en el acceso de múltiples usuarios.
  • Mejora en los servicios de copias de seguridad y de recuperación ante fallos: Los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.
INCONVENIENTES DE LOS SGBD
  1. Complejidad: Los SGBD son conjuntos de programas muy complejos con una gran funcionalidad.
  2. Tamaño: Los SGBD son programas complejos y muy extensos que requieren una gran cantidad de espacio en disco y de memoria para trabajar de forma eficiente.
  3. Coste económico del SGBD: El coste de un SGBD varía dependiendo del entorno y de la funcionalidad que ofrece.
  4. Costo del equipamiento adicional: Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento.
  5. Costo de la conversión: En algunas ocasiones, el costo del SGBD y el costo del equipo informático que sea necesario adquirir para su buen funcionamiento, es insignificante comparado al coste de convertir la aplicación actual en un sistema de bases de datos.
  6. Prestaciones: Los SGBD están escritos para ser más generales y ser útiles en muchas aplicaciones, lo que puede hacer que algunas de ellas no sean tan rápidas como en los sistemas de archivos.
  7. Vulnerable a los fallos: El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los fallos que puedan producirse.
ARQUITECTURA DE TRES NIVELES
Hay tres características importantes inherentes para el enfoque de las bases de datos; estas son : a) separación entre los programas y los datos (independencia entre los programas y datos ); b) el manejo de múltiples vistas de usuario y c) el empleo de un catálogo para almacenar la descripción (esquema) de la base de datos.

Los tres niveles de la arquitectura son: Interno, Conceptual y Externo.

1. El nivel interno: tiene un esquema interno, el cual describe la estructura de almacenamiento físico de la Base de Datos. El esquema interno utiliza un modelo físico de data y describe los detalles completos de almacenamiento de data y el acceso a los caminos de la BD.
2. El nivel conceptual: tiene un esquema conceptual el cual describe la estructura de todas las Bases de Datos para una comunidad de usuarios. El esquema conceptual es una descripción global de la BD que oculta los detalles de las estructuras de almacenamiento físico y se concentra en describir las entidades, los tipos de data, las relaciones y constantes.
3. El nivel externo: o nivel de vista incluye un número de esquemas externos o vistas de usuario. Cada esquema externo describe la vista de la BD de un grupo o de los usuarios de la BD. Cada vista típicamente describe la parte de la BD en la cual un grupo de usuarios en particular esta interesado y oculta el resto de la BD para otros grupos de usuario.

En su mayoría, los DBMS no se distinguen del todo en tres niveles, pero en algunos de ellos se cuenta, en cierta medida, con la arquitectura de tres esquemas. Algunos DBMS incluyen ciertos detalles del nivel físico en el esquema conceptual.
En una arquitectura de tres esquemas cada grupo de usuarios hace referencia exclusivamente a su propio esquema externo, por tanto el DBMS debe de transformar una solicitud expresada en un esquema externo a el esquema conceptual, luego la solicitud ahora en esquema conceptual es llevada al esquema interno, es después procesada sobre la base de datos, por ejemplo si fuese un pedido de datos, será necesario modificar el formato de la información antes de ser enviada al usuario externo.

MÓDULOS DE LOS DBMS
Los DBMS son software tremendamente complicados; a continuación se muestran los componentes de software que constituyen un DBMS y los tipo de software del sistema que interactúan con los DBMS.
  •  La BD y los catálogos del DBMS usualmente son almacenados en discos. 
  •  El acceso a disco es controlado principalmente por el sistema operativo el cual controla las I/O a los discos.
  •  Un módulo de administración de datos almacenados de alto nivel ( stored data manager) del DBMS controla el acceso a la información del DBMS almacenada en disco, sí este es parte de la BD o del catálogo.
  • El compilador DDL (DDL compiler) procesa las definiciones de esquema especificadas en el DDL y almacena la descripción de los esquemas en el catálogo del DBMS; Este contiene información como los nombres de los archivos y de los elementos de información, los detalles de almacenamiento de cada archivo, la información de correspondencia entre los esquemas y las restricciones.
  • El procesador en tiempo real (runtime processor) de la BD maneja el acceso a la BD en tiempo real, este recibe las operaciones de obtención y actualización y las lleva a la BD para su ejecución.
  • El procesador de consultas (query prossesor) maneja las consultas de alto nivel que son ingresadas interactivamente, donde el usuario espera los resultados de la búsqueda en el momento.
  • El precompilador (precompiler) extrae los comandos del DML de un programa de aplicación escrito en un lenguaje de programación host.
  • Estos comandos son enviados al compilador DML para su compilación en código objeto para el acceso de la BD.
Esta figura se utiliza para mostrar las partes mas representativas de los DBMS en cuanto a módulos se refiere.El DBMS también puede interactuar con los compiladores de los lenguajes de programación host, y puede ofrecer interfaces amigables para ayudar al usuario cuando especifiquen sus solicitudes.

DISEÑO DE UNA BASE DE DATOS
El diseño de una base de datos es un proceso complejo que abarca decisiones en distintos niveles.Así, el diseño de una base de datos se descompone en diseño conceptual, diseño lógico y diseño físico.
DISEÑO CONCEPTUAL
El diseño conceptual se refiere a la etapa donde se debe construir un esquema de la información a partir de los requerimientos y resultados de usuario, independientemente de cualquier consideración física, como aspectos de implementación, DBMS a utilizar, hardware disponible, entre otras.
Al construir el esquema, los diseñadores descubren la semántica de los datos, encontrando entidades, atributos y relaciones. El objetivo es comprender:
  • La perspectiva que cada usuario tiene de los datos. 
  • La naturaleza de los datos, independientemente de su representación física. 
  • El uso de los datos a través de las áreas de aplicación.
 El esquema conceptual se puede utilizar para que el diseñador transmita lo que ha entendido sobre los requerimientos de usuario, de manera particular, la información que maneja y los resultados sobre la manipulación de ésta de una empresa.

DISEÑO LÓGICO
El diseño lógico es el proceso de construir un esquema de la información, basándose en un modelo de base de datos específico independiente del DBMS y de cualquier otra consideración física.Conforme se va desarrollando el esquema lógico, éste se va probando y validando con los requisitos de usuario.La normalización es una técnica que se utiliza para comprobar la validez de los esquemas lógicos basados en el modelo relacional, ya que asegura que las relaciones (tablas) obtenidas no tienen datos redundantes.

Estos diseños son etapas clave para conseguir un sistema que funcione correctamente, en caso contrario, será difícil o imposible definir todas las vistas de usuario (esquemas externos) y mantener la integridad de la base de datos.Además, hay que tener en cuenta que la capacidad de ajustarse a futuros cambios es un factor que identifica a los buenos diseños de bases de datos. Por todo esto, es fundamental dedicar el tiempo y las energías necesarias para producir el mejor esquema que sea posible.

El esquema lógico es una fuente de información para el diseño físico. Además, juega un papel importante durante la etapa de mantenimiento del sistema, ya que permite que los futuros cambios que se realicen sobre los programas de aplicación o sobre los datos, se representen correctamente en la base de datos.

DISEÑO FÍSICO
El diseño físico es el proceso de producir la descripción de la implementación de la base de datos en memoria secundaria, donde las estructuras de almacenamiento y los métodos de acceso garanticen un acceso eficiente a los datos.
En general, el propósito del diseño físico es describir cómo se va a implementar físicamente el esquema lógico obtenido en la fase anterior. Por ejemplo, en el modelo relacional, esto consiste en:
  • Obtener un conjunto de relaciones (tablas) y las restricciones que se deben cumplir sobre ellas.
  • Determinar las estructuras de almacenamiento y los métodos de acceso que se van a utilizar para conseguir unas prestaciones óptimas.
  • Diseñar el modelo de seguridad del sistema.