sábado, 24 de marzo de 2007

INTRODUCCIÓN A LAS BASE DE DATOS (CONCEPTOS)

Una Base de Datos es una colección de datos lógicamente relacionados, junto con una descripción de estos datos. En cambio un Sistema de Gestión de Base de datos (o DBMS por sus siglas en inglés) es el software que gestiona y controla el acceso a la base de datos.

Un Sistema de Base de Datos es una colección de software’s que interactúan con la base de datos.

1.2 Sistemas tradicionales basados en archivos

Anterior a las Bases de Datos en los sistemas se utilizan las Técnicas basadas en archivos. Esto es una colección de programas que realizan diversos servicios para usuarios finales. Entre las limitaciones que presenta esta técnica tenemos:

  • Separación y alistamiento de los datos: resulta más difícil acceder a los datos que deben estar disponibles. Por ejemplo si queremos obtener las transacciones bancarias realizadas por tal usuario; a esto tendríamos que hacer procedimientos un poco complicados.
  • Duplicación de datos: debido al enfoque descentralizado que ofrece las técnicas basadas en archivos. La duplicación de datos implica desperdicios de recursos. También consume espacio de almacenamiento innecesario. Otro problema es que se puede perder la integridad de los datos.
  • Dependencia entre los datos: resulta difícil realizar cambios en una estructura existente ya que hay que realizar los cambios en la aplicación que gestiona los datos.
  • Formatos de Archivos Incompatibles: si una aplicación para la gestión de archivo está hecha en C y otra aplicación para la gestión de otras estructuras de archivos está hecha en COBOL tendríamos una incompatibilidad directa de dichos archivos, lo que hace difícil que se pueda procesar conjuntamente.
  • Consultas fijas/proliferación de programas de aplicación: las consultas a los archivos son fijas, ya que no se pueden hacer consultas en el momento (ad hoc). A menudo se tendría que omitir mecanismos de seguridad o integridad, la recuperación de datos en caso de fallos de hardware, el acceso a archivos estaba restringido.

1.3 Sistema de Base de Datos

La base de datos almacena no solo los datos operacionales de la organización, sino también la descripción de dichos datos. La descripción de los datos se conoce como catálogo del sistema (o diccionario de datos o metadatos). De esta manera la base de datos proporciona la independencia entre programas y datos. Los sistemas de base de datos separan la estructura de los datos de los programas de aplicación y almacena dicha estructura en la propia base de datos.

Al analizar las necesidades de información de una organización, tratamos de identificar entidades, atributos y relaciones. Una entidad es un objeto distintivo (una persona, un lugar, cosa, concepto o suceso) dentro de la organización y que hay que representar dentro de la base de datos. Un atributo es una propiedad que describe algún aspecto del objeto (entidad) que queremos almacenar, y una relación es una asociación entre entidades.

1.3.2 Sistema de Gestión de Base de Datos (SGBD en español DBMS en inglés)

El SGBD es el software que interactúa con los programas de aplicación de usuario y con la base de datos. Normalmente proporciona la siguiente funcionalidad:

Permite definir la base de datos mediante un lenguaje de definición de datos (DDL Data Definition Language). El DDL permite definir las estructuras y tipos de datos y las restricciones aplicables a los datos. Permite a los usuarios insertar, actualizar, borrar y extraer datos de la base de datos mediante el lenguaje de manipulación de datos (DML Data Manipulation Language). Al disponer de un repositorio centralizado de datos el DML puede proporcionar un mecanismo general de consulta de datos, denominado lenguaje de consulta. El lenguaje de consulta más común es el SQL (Structured Query Language, lenguaje estructurado de consulta), que es ahora tanto el estándar formal como el estándar de facto para los SGBD relacionales.

1.3.3 Programa de Aplicación

Los usuarios interactúan con la base de datos emitiendo solicitudes apropiadas (mediante una instrucción SQL) dirigidas al SGBD.

Vistas: permite a cada usuario disponga de su propia vista de la base de datos.

1.3.4 Componentes de un entorno SGBD

Los componentes de un entorno SGBD son:

Hardware: el SGBD requiere de una plataforma hardware para ejecutarse. El hardware puede se desde una computadora personal, hasta un único mainframe o una red de computadoras. El hardware concreto dependerá de las necesidades de la organización y del SGBD utilizado. Software: comprende el propio software SGBD y los programas de aplicación, junto con el sistema operativo. Normalmente los programas de aplicación se escriben en lenguajes de aplicación de tercera generación (3GL) como Java, C/C++, Visual Basic, etc. o lenguajes de cuarta generación como SQL incrustado dentro de SQL. Datos: las bases de datos contienen los datos operacionales como los metadatos (estructura de la base de datos). La estructura de la base de datos se denomina esquema. Los esquemas comprenden entidades, atributos y relaciones. Procedimientos: son las instrucciones y reglas que gobiernan el diseño y la utilización de la base de datos. Ej.: iniciar una sesión SGBD, iniciar y detener el SGBD, cambiar la estructura de una tabla y otros más. Personas: son las que relacionan con el sistema.

1.3.5 Diseño de Base de Datos: un cambio en el paradigma

La estructura de la base de datos se determina durante el diseño de la base de datos. Para que el enfoque de la base de datos tenga éxito se debe pensar primero en los datos y luego en las aplicaciones (cambio de paradigma). Una base de datos mal diseñada generará errores que puede generar decisiones incorrectas. Existen metodologías que podemos utilizar para el diseño de base de datos (ejemplo Modelo Entidad-Relación).

1.4 Papeles en un entorno de base de datos

Aquí vamos a examinar el quinto de los componentes de un SGBD, las personas. Identificar cuantos tipos de personas puede participar en un SGBD.

Administradores de datos y de base de datos: El administrador de datos (DA, Data Administrator) es el encargado de administrar los recursos de datos (planificación de la base de datos, le desarrollo de estándares, políticas y procedimientos y el diseño procedimental/lógico de la base de datos. El administrador de la base de datos (DBA, Database Administrator) es el encargado de la materialización física de la base de datos, incluyendo la implementación, el control, la seguridad y la integridad, el mantenimiento de la fiabilidad del sistema y la garantía que las aplicaciones trabajen de una manera adecuada para los usuarios. Diseñadores de la base de datos: se pueden distinguir dos tipos de diseñadores. El diseñador lógico de la base de datos que se encarga de identificar los datos (entidades y atributos), las relaciones entre los datos y las restricciones que hay que aplicar a los datos que se almacenan dentro de la base de datos. Debe tener una profunda compresión sobre las reglas del negocio dentro de la organización. El diseñador físico de la base de datos decide como materializar físicamente el diseño lógico de la base de datos.

Desarrolladores de aplicaciones: una vez implementa la base de datos los desarrolladores de aplicaciones se encargan de proporcionar la funcionalidad requerida por los usuarios finales. Estas aplicaciones se encargan de extraer datos, insertarlos, actualizarlos o borrarlos. Los programas pueden ser escritos en lenguajes de tercera o cuarta generación.

Usuarios finales: los usuarios finales pueden clasificarse de acuerdo con la forma en que utilizan el sistema. Los usuarios inexpertos, que normalmente no son conscientes que existe un SGBD, acceden a los datos mediante una aplicación escritos a propósito y que intenta que la operación sea lo más simple posible. Los usuarios avanzados están familiarizados con la estructura de la base de datos y con las funcionalidades ofrecidas por el SGBD. Pueden acceder a los datos mediante consultas SQL.

1.5 Historio de los sistemas de gestión de base de datos

Para más información pueden acceder a la página Web: Historia de la Base de Datos .

1.6 Ventajas y desventajas de los SGBD (DBMS)

Entre las ventajas que tienen los DBMS tenemos:

  • Control de la redundancia de los datos: economía de espacio en disco.
  • Coherencia de los datos: al eliminar o controlar la redundancia, reducimos el riesgo de que se produzcan incoherencias.
  • Más información a partir de la misma cantidad de datos: al integrar los datos operacionales, la información puede deducir información adicional a partir del conjunto de datos existentes.
  • Compartición de datos: la base de datos pertenece a toda la organización y debe ser compartida por todos los usuarios autorizados a diferencia de los archivos que son propiedad de las personas o departamentos.
  • Mayor integridad de datos: se suele expresar en términos de restricciones, que son las reglas de coherencia que no se permite que la base de datos viole. Esto hace referencia a la validez y coherencia de los datos almacenados.
  • Imposición de estándares: permite definir e imponer los estándares necesarios (de la organización, de algún departamento, etc.).
  • Economía a escala: centralizar los datos puede ayudar a reducir grandemente los costos.
  • Equilibrio entre los requisitos conflictivos: el administrador de la base de datos puede tomar desiciones acerca del diseño y la utilización operacional de la base de datos que proporcionen el mejor uso de los recursos.
  • Mejor accesibilidad de los datos y mayor capacidad de respuesta: debido a que los datos están centralizados en un repositorio de datos, los datos que atraviesan la fronteras departamentales son accesibles de modo directo por los usuarios finales. También el uso de lenguajes de consulta que proporcionan los DBMS que permiten a los usuarios hacer consultas ad hoc y obtener la información requerida en su computador.
  • Mayor productividad: los DBMS incluyen muchas de las funciones estándar que el programador tendría normalmente que incluir dentro de su aplicación basada en archivos.
  • Manteminimiento simplificado gracias a la independencia de los datos: los DBMS guardan tanto los datos como las estructura de dichos datos, lo que le da una independencia de las aplicaciones que van a trabajar sobre estos datos.
  • Mayo nivel de concurrencia: los DBMS se encargan de gestionar el acceso concurrente a la base de datos lo que garantiza el acceso a un mismo archivo silumltaneamente.
  • Servicios mejorado de copia de seguridad y recuperación: los DBMS tienen diferentes mecanismos en caso de fallo o para realizar copias de seguridad lo que ayuda grandemente a la hora de recuperar datos.
Desventajas:
  • Complejidad: los DBMS son software muy complejos y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del DBMS para poder aprovercharlo al máximo.
  • Tamaño: la complejidad y la gran cantidad de funciones que tienen los DBMS hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr.
  • Coste del DBMS: los DBMS de hoy en día son muy costosos. Un DBMS multiusuario puede estar entre 100,000 a 1,000,000 dolares. También hay que tomar en cuenta el costo de soporte que puede ser un porcentaje del precio.
  • Coste del hardware adicional: los requisitos de hardware para correr un DBMS por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.

Resumen Capítulo 1 - Sistemas de Bases de Datos (Un enfoque práctico para diseño, implementación y gestión)
De: Thomas M. Connolly - Carolyn E. Begg

miércoles, 7 de marzo de 2007

HOW TO: COMO INSTALAR SERVIDOR IIS EN WINDOWS XP HOME

Bien, de todos es conocido la necesidad de tener bien instalado un servidor. Mi caso era el siguiente. Había desarrolado un sitio en ASP y tenía que mostrarlo al cliente. Pero no quería subirlo a la web, sino que iba a utilizar el portatil para enseñarselo y ver su opinión , lógico, no? :)

La cuestión era que tenía instalado en el portatil Windows XP "Home", Apache Web Server y PHP. Intenté instalar soporte ASP para Apache, pero todos los módulos que probé para Apache no me funcionaron bien. No nos engañemos. ASP implica Microsoft, y por añadido ISS.

Instalar ISS5 en Win XP Pro es sencillo, pero en la versión Home, símplemente no te va a dejar. Pensé en usar PWS pero en XP Home tampoco va.

Navegando en la red, encontré un documento en ingles e italiano escrito por Mariano Conea que procedo a intentar explicar en español.

PROCEDIMIENTO DE INSTALACION DE ISS5 EN WINDOWS XP HOME

1.- Neceitarás el CD de instalación de WIN 200 Server o Pro (El CD de WIN XP Pro no te sirve)

2.- Si no tienes 2 lectoras de cd-rom, sugiero que copies el directorio i386 del cd de WIndows XP Home en el disco duro.

3.- En ese directorio encuentra el archivo IMS.CAB, abrelo con WinRar ( o similar) y descomprime el contanido en una carpeta temporal (se necesitará al final)

nota del traductor: (a mi no me hizo falta, pero como cada caso es particular, no entraña riesgo el descomprimirlo)

4.- Busca el archivo c:WINDOWSINFSYSOC.INF

5.- En la seccion [COMPONENTS] busca la línea:

iis=iis.dll,OcEntry,iis.inf,hide,7

6.- Cámbiala por esta otra:

iis=iis2.dll,OcEntry,iis2.inf,,7

(recuerda hacer el cambio a iis2.dll y iis2.inf y eliminar la palabra hide. de esta forma nos saltamos la protección de XP Home)

7.- Desde el Cd de Win 2000 (Pro o Server) coge los archivos: iis.dl_ y iis.in_ qye están el el directorio i386 y copialos al escritorio, abre una ventana des DOS, sitúa el prompt en tu Escritorio y escribe los siguientes comandos:

EXPAND IIS.DL_ IIS2.DLL
EXPAND IIS.IN_ IIS2.INF

esto genera 2 nuevos archivos llamados iis2.dll y iis2.inf
copia IS2:DLL en c:WINDOWSSYSTEM32SETUP
y IIS.INF en c:WINDOWSINF

8.- Vete a "Panel de Control" -> "Agregar Quitar Programas" -> "Agregar o Quitar Componentes de Windows" e inicia el Asistente para componentes de Windows. Verás el apartado de "Servicios de Internet Information server (IIS)" como casilla de verificación activable.

9.- Activala (Supongo que si estás buscando solo PWSselecciones en detalles solo los componentes que quieras instalar)

nota del traductor: (si activas la casilla e ISS por defecto se instalan varios servicio como el SMTP o FTP..)

10.- Necesitarás 10/15 minutos y durante ese tiempo el sistema te pedirá varios archivos: algunosestán en el directorio de XP Home y otros en el CD de Win2000. En un momento dadto te pedirá el archivo EXCH_adsiisex.dll file: este es el archivos que hemos extraido en un directorio temporal en el punto 3 del manual, seleccionalo y proseguirás sin problemas.

11.- Cuando acabe, reinicia el ordenador.

12 Prueva a ver si funciona: abre el Explorador y escribe en la direccion: http://localhost

Seguramente no funcionará, así que prueba lo siguiente
- abre una venta de DOS y escribe: iisreset /RESTART

13.- Gracias a las capturas de Jamez Picard para poder explicar el punto 13.

Abre el panel de control:
Click en mantenimiento y personalización

Luego: Herramientas administrativas

Luego Selecciona Administrador de Servicios de Internet (no Administrador Web Personal)

Luego verás la siguiente consola:
Botón derecho en tu Sitio web Predeterminado y clic en propiedades

Selecciona la pestaña de seguridad de directorios: y clic en el botón de "Modificar"
para Control de Autentificación y Acceso Anónimo.

Selecciona el botón Modificar para cuenta de acceso anónimo.

Verás un cuadroi de diálogo parecido a este:

Modifícalo para que quede así:
1.- Introduce el nombre de usuario y contraseña que usas para abris sesión en Windows XP Home.
Cuando entras en windows, si tansolo tienes que hacer clic en tu nombre de usuario y no te pide contraseña, quiere decir que tienes una contraseña en blanco. Por ejemplo si mi nombre de usuario es "YourLoginUser" entronces la configración tendría un aspecto así:
2.- Desactiva la casilla para para Permitir que ISS controle la contraseña.
3.- Desactiva la casilla de contraseña si no tienes contraseña en tu cuenta.

Clic en OK y clic en OK otra vez) para todas las ventanas abiertas de Windows.
Ahora estará disponible usar IIS en XP Home sin problemas de accesso

nota del traductor:(Si no realizas el paso 13, seguramente el servidor te de un error tipo "Error 500 Http://")

Cierra y Reiniciael Servidor Web y reintenta el punto 12 del manual
Si todo funciona bien verás la pantalla e presentación de ISS5

Sitio original del tutorial
- En español: http://www.forosdelweb.com/showthread.php?t=163506
- En inglés:
Web original http://www.geocities.com/pippo_mares/iis.htm
Traduccion a español: LaNTraX para Foros de Web.

lunes, 5 de marzo de 2007

HOW TO: COMO INSTALAR LA LIBRERÍA PEAR EN WINDOWS XP FOR DUMMIES

Para la instalación de esta librería en el sistema operativo Windows XP tendremos que seguir los siguientes pasos:

  1. Primero tenemos que abrir una consola MSDOS. Para se van a Inicio->Ejecutar, y colocan cmd.
  2. Después mediante el comando cd dentro de la consola debemos ir a la carpeta php. En mi caso se encuentra en C:serverphp. Si tienes instalado algún paquete estilo xampp, appserv o wampp entonces la ruta sería un estilo como este C:xampphtdocsphp (para xampp), o C:Appservphp para appserv.
  3. Ya dentro de la carpeta php, ahora escribes go-pear.bat. Este archivo es el instalador de PEAR. Si al correr este archivo la consola te muestra un error como “El sistema no puede hallar la ruta especificada.”, entonces es que la ruta del php.exe dentro del archivo go-pear.bat está incorrecta. Para arreglar este problema tendremos que abrir el archivo go-pear.php en un editor de texto (puede ser el notepad de Windows). Dentro del editor vamos a la línea que dice “set PHP_BIN=cliphp.exe” y cambiamos esa línea por esta “set PHP_BIN=php.exe”. Ahora la instalación si podrá avanzar correctamente.
  4. Después nos aparecera un mensaje que si deseamos abortar la instalación o presiones “Enter” para continuar. Entonces presionar “Enter”.
  5. Después te pregunta si vas a usar un http Proxy o presiones “Enter” para no elegir un http Proxy. Entonces presionar “Enter”.
  6. Después te muestran una lista de siete nombres con sus respectivas rutas. Si la ultima ruta te aparece en blanco (“7. php.exe path : ”), entonces debes colocar la ruta donde se encuentra el php.exe. Para eso debes presionar el número “7” y luego “Enter”. Te aparecerá algo como “php.exe path [ ] : ” . Allí debes colocar el mismo path que colocaste arriba en el primer paso (Ej.: C:xampphtdocsphp) y luego presionar “Enter
  7. Ahora te sale la misma lista anterior de los siete elementos pero el número siete contiene el path que introduciste. Entonces presionas “Enter”.
  8. De allí en adelante coloca “Y” (o sea sí) en todas las preguntas que te hagan, y listo ya tendrás las librería incluidas en PEAR a tu disposición.