miércoles, 8 de junio de 2016

Base de Datos en plantillas WEB (En ubuntu)


Login

 Código



Imágenes 



1. insAltausuario

Código



Imagen



2. inscalendario

Código



Imagen



3. insClientes

Código



Imagen




4. inspagos

Código



Imagen




5. instipocliente

Código



Imagen





6.instipopago

Código



Imagen



7. instramites

Código




Imagen



lunes, 14 de marzo de 2016

5.1.4 Elección del DBMS y Lenguaje de Programacion



5.1.4 Elección del DBMS y Lenguaje de Programación



Elegimos el lenguaje de programación java conforme a las siguientes razones:

Es Multiplataforma

Con Java puedes hacer que una misma aplicación escrita una sola vez funcione en todos los entornos ya que el ejecutable de Java no lo ejecuta (valga la redundancia) el sistema operativo sino la máquina virtual (o Java Virtual Machine). 

Es Gratis

Para desarrollar en Java no se necesita comprar licencias de ningún tipo, es completamente gratuito. 

Es Abierto


La mayoría de las librerías nativas de Java tienen su código fuente abierta y disponible los desarrolladores, esto ayuda no solo a conocer más a fondo las capacidades de las mismas sino también da la posibilidad de expandirlas.

Es muy Potente

Al día de hoy se puede desarrollar prácticamente cualquier aplicación de cualquier tamaño y para cualquier fin con Java. 

Librerías disponibles


Hay muchísimas librerías de programadores independientes y empresas que amplían su funcionalidad 

Es Seguro

La seguridad es algo muy serio, continuamente liberan actualizaciones que corrigen o previenen este tipo de problemas. 

Elección del Manejador de Base de Datos

El sistema manejador de base de datos que se usara será PostgreSQL ya que:

v  Funciona muy bien con grandes cantidades de datos y una alta concurrencia de usuarios accediendo a la vez al sistema.

v PostgreSQL es también multiplataforma y es un software gratis lo que lo hace fácil de conseguir.
   v La sintaxis que se usa es parecida a la de MySQL lo que lo hace mas fácil de manipular        ya que tenemos un panorama amplio sobre el uso de MySQL.

5.1.3 Lenguajes de programación



5.1.3 Lenguajes de programación

Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.
Los lenguajes de programación de una computadora en particular se conocen como código de máquinas o lenguaje de máquinas. 

Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.

Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.

Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico.

Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leídas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leídos por una persona. 

Los lenguajes de programación son independientes de las computadoras a utilizar. Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos. Hay lenguajes de programación que utilizan compilador.


Java




El lenguaje de programación Java, fue diseñado por la compañía Sun Microsystems Inc, con el propósito de crear un lenguaje que pudiera funcionar en redes computacionales heterogéneas ( redes de computadoras formadas por más de un tipo de computadora, ya sean PC, MAC's, estaciones de trabajo, etc.),y que fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma.

El lenguaje fue diseñado con las siguientes características en mente:



  • Simple. Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos orientados a objetos. Orientado a Objetos. La filosofía de programación orientada a objetos es diferente a la programación convencional.
  • Familiar. Como la mayoría de los programadores están acostumbrados a programar en C o en C++, la sintaxis de Java es muy similar al de estos.
  •  Robusto. El sistema de Java maneja la memoria de la computadora por ti. No te tienes que preocupar por apuntadores, memoria que no se esté utilizando, etc. Java realiza todo esto sin necesidad de que uno se lo indique.
  • Seguro. El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora.
  • Portable. Como el código compilado de Java (conocido como byte code) es interpretado, un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el intérprete de Java.
  • Independiente a la arquitectura. Al compilar un programa en Java, el código resultante un tipo de código binario conocido como byte code. Este código es interpretado por diferentes computadoras de igual manera, solamente hay que implementar un intérprete para cada plataforma. De esa manera Java logra ser un lenguaje que no depende de una arquitectura computacional definida.
  • Multithreaded. Un lenguaje que soporta multiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo.
  • Interpretado. Java corre en máquina virtual, por lo tanto es interpretado.
  • Dinámico. Java no requiere que compiles todas las clases de un programa para que este funcione. Si realizas una modificación a una clase Java se encarga de realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases.

Java puede funcionar como una aplicación sola o como un "applet", que es un pequeño programa hecho en Java. Los applets de Java se pueden "pegar" a una página de Web (HTML), y con esto puedes tener un programa que cualquier persona que tenga un browser compatible podrá usar.


PROGRAMACIÓN EN VISUAL BASIC


Programación en Visual Basic es una forma ágil y simple de crear aplicaciones para Microsoft Windows, proporciona todas las herramientas necesarias para el desarrollo rápido de aplicaciones. 

Visual Basic le proporciona una herramienta ilimitada para crear aplicaciones en la red, permite construir de forma rápida aplicaciones de Windows, no es necesario conocer otros lenguajes de programación para poder saber programar en Visual Basic, es una manera sencilla de crear aplicaciones, además el lenguaje le ofrece una cantidad de herramientas para simplificar esta labor, como proyectos, formularios, plantillas de objetos, controles personalizados, add-ins y un gestor de base de datos.

PROGRAMACIÓN DELPHI

La programación en Delphi es un entorno de desarrollo flexible y potente, es intérprete de un lenguaje llamado Object Pascal, no es solo un intérprete, sino que además incluye otras herramientas para facilitar la escritura del código y el diseño de la aplicación. 

En la interfaz de programación Delphi podemos encontrar multitud de ventanas, iconos, menú de opciones, la versión profesional tiene más componentes, así como códigos fuentes prefabricados, más completa aun es la versión cliente/servidor, que posibilita las acciones para Internet o intranet.

Una de las mayores ventajas de la programación delphi es que es una programación orientada a objeto.

Un programa en Delphi consta de las siguientes secciones: un compilador el cual crea el ejecutable; una librería: conocida como VCL, la cual es una librería de clases; el IDE que viene siendo el ambiente de desarrollo integrado.

La programación Delphi almacena la aplicación con archivos de extensión .dpr, que define al proyecto en sí. Y archivos .dfm el que guarda el formulario creado en Delphi.

















5.1.2 Cuadro comparativo de DBMS



5.1.2 Cuadro comparativo de DBMS

DBMS
Ventajas
Desventajas
MySQL
v Velocidad  al realizar las operaciones, lo que le hace uno de los gestores con mejor      rendimiento.
v Facilidad  de configuración e instalación
v Bajo  costo en requerimientos para la elaboración de bases de datos
v Soporta gran variedad de Sistemas Operativos
v Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que está.
v Un gran porcentaje de las utilidades de MySQL no están documentadas.
v No es intuitivo, como otros programas (ACCESS).

PostGreeSQL
v    Fácil de Administrar.
v    Su sintaxis SQL es estándar y fácil de aprender
v    Multiplataforma
v    Soporte empresarial disponible.

v En comparación con MySQL es más lento en inserciones y actualizaciones, ya que cuenta con cabeceras de intersección que no tiene MySQL.
v Soporte en línea: Hay foros oficiales, pero no hay una ayuda obligatoria
v Consume más recursos que MySQL
v La sintaxis de algunos de sus comandos o sentencias no es nada intuitiva..
Oracle
v  Oracle es el motor de base de datos objeto-relacional más usado a nivel mundial.
v  Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo
v  Permite el uso de particiones para la mejora de la eficiencia,
v  El software del servidor puede ejecutarse en multitud de sistemas operativos

v El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Oracle Personal son excesivamente caras.
v Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes.
v Un Oracle mal configurado puede ser desesperantemente lento.

5.1.1 Marco Teórico




Sistemas Manejadores de Base de Datos comerciales y de software libre


MySQL



Es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de programación.

Características.

Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad.

  • Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.
  • Disponibilidad en gran cantidad de plataformas y sistemas.
  • Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes velocidades de operación, soporte físico, capacidad, distribución geográfica, transacciones.
  • Transacciones y claves foráneas.
  • Conectividad segura.
  • Replicación
  • Búsqueda e indexación de campos de texto.

Oracle



Es básicamente un herramienta cliente/servidor para la gestión de base de datos, es un producto vendido a nivel mundial. 

Diseñado para trabajar con enormes bases de datos (màs de 20 megas), es el motor de base de datos relacional más usado a nivel mundial. 

Características: 

  • Puede ejecutarse en todas las plataformas, desde una PC hasta un supercomputador. 
  • Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente. 
  • Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso admite la administración de bases de datos distribuidas. 
  • El software del servidor puede ejecutarse en multitud de sistemas operativos.
  • El sistema orientado a objetos ha comenzado a evolucionar en esta dirección, añadiendo tipos de clases, referencias, tablas anidadas, matrices y otras estructuras de datos complejas. 
  • Desafortunadamente, la implementación actual de las mismas no ofrece una ventaja clara en eficiencia, como sería de esperar, y sí provocan la incompatibilidad de los diseños que aprovechan las nuevas características con otras bases de datos. 
  • Oracle es la base de datos con mas orientación hacía INTERNET. 

Existe una herramienta importante que forma parte de oracle. 

ü Developer: es una herramienta que nos permite crear formularios en local, es decir, mediante esta herramienta nosotros podemos crear formularios, compilarlos y ejecutarlos, pero si queremos que los otros trabajen sobre este formulario deberemos copiarlo regularmente en una carpeta compartida para todos, de modo que, cuando quieran realizar un cambio, deberán copiarlo de dicha carpeta y luego volverlo a subir a la carpeta.


PostgreSQL





Es muy buen motor, tiene fama de ser muy seguro y fiable, maneja integridad referencial cosa que no hacía MySQL hasta su versión 4, es multiplataforma y de libre distribución. 

CARACTERÍSTICAS: 

La última serie de producción es la 9.1. Sus características técnicas la hacen una de las bases de datos más potentes y robustas del mercado. Su desarrollo comenzó hace más de 16 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de administración e implementación de estándares han sido las características que más se han tenido en cuenta durante su desarrollo. PostgreSQL funciona muy bien con grandes cantidades de datos y una alta concurrencia de usuarios accediendo a la vez al sistema.





5.1 Marco Teorico



5.1.1 Sistemas Manejadores de Base de Datos



Con la popularización de la informática, la aparición de aplicaciones específicas también trajo con ella la disponibilidad de herramientas de gestión de datos que dieron lugar a los denominados Sistemas de Gestión de Bases de Datos, identificados por sus siglas SGBD o por su acrónimo en ingles DBMS (DataBase Management Systems).

Un sistema Administrador de Bases de Datos es un software que posibilita la creación, empleo y mantenimiento de bases de datos. No depende de ningún programa de aplicación o archivo específico, pero se puede usar para hacer que los datos estén disponibles para varios programas de aplicación. Elimina la necesidad de vincular la estructura de los datos en el programa y los datos almacenados en dispositivos de almacenamiento secundario. Las características integradas en sistemas de administración de bases de datos hacen posible separar las condiciones programa/usuario de los datos, de la modalidad en que los datos en cuestión están almacenados.

Los SGBD permitieron a todo tipo de usuarios crear y mantener sus bases de datos, dotándolos de una herramienta que era capaz de transformar el nivel lógico de sus diseños en un conjunto de datos, representaciones y relaciones traducidos al nivel físico correspondiente.

Un sistema de base de datos se encuentra dividido en módulos cada uno de los cuales controla una parte de la responsabilidad total de sistema. En la mayoría de los casos, el sistema operativo proporciona únicamente los servicios más básicos y el sistema de la base de datos debe partir de esa base y controlar además el manejo correcto de los datos.

El diseño de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo.

Funciones Principales: 
  • Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rápidamente. 
  • Manejar los datos de acuerdo a las peticiones de los usuarios. 
  • Registrar el uso de las bases de datos. 
  • Interacción con el manejador de archivos. Esto a través de las sentencias en DML al comando del sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos. Respaldo y recuperación. 

Características:

  • Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.
  • Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. 
  • Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancias.
  • Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. 
  • Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura frente a usuarios malintencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o destruir la información; o simplemente ante las torpezas de algún usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos. 
  • Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada. 
  • Respaldo y recuperación. Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder. 
  • Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.
Componentes de los DBMS

Los componentes funcionales de un sistema manejador de base de datos, son los siguientes:

  • Gestor de archivos: Gestiona la asignación de espacio en la memoria del disco y de las estructuras de datos usadas para representar la información. 
  • Manejador de base de datos: Sirve de interfaz entre los datos y los programas de aplicación. 
  • Procesador de consultas: Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. 
  • Compilador de DDL: Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos, estas se almacenan en el diccionario de datos. 
  • Archivo de datos: En él se encuentran almacenados físicamente los datos de una organización. 
  • Diccionario de datos: Contiene la información referente a la estructura de la base de datos. 
  • Índices: Permiten un rápido acceso a registros que contienen valores específicos.