Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gabriela Zúñiga
Teconología Web y Bases de Datos -
Una base de datos es una colección de archivos relacionados entre sí, tablas y otros objetos organizados y
presentados para servir a un propósito concreto, para almacenar, controlar, consultar y actualizar la información.
Una tabla en BBDD es donde se guarda la información sobre un grupo de cosas con las mismas características o
atributos, por ejemplo, en una base de datos se puede tener una tabla con información acerca de todos los
libros, con los siguientes campos título, el nombre del autor, el año de publicación, etc.; es decir, diferentes
propiedades o atributos comunes a todos los libros, o también se puede tener una tabla con toda la información
de contacto de amigos, por ejemplo, su nombre y apellidos, su número de móvil, su dirección de correo
electrónico, etc., pero nunca en una misma tabla se guardará información de cosas con propiedades distintas. Es
decir, no se puede mezclar información en una única tabla de los libros y los amigos porque la información (los
atributos de cada una de las cosas sobre las que guardo información) no es la misma.
Un sistema gestor de Base de Datos es un conjunto de programas que permite la creación de una base de datos,
la manipulación de la información que ésta contiene y también la realización de todas las tareas de
administración necesarias para mantenerla operativa.
Manejador de archivos. Gestiona la asignación del espacio del medio de almacenamiento para las estructuras de
datos utilizadas para representar información.
Gestor de base de datos (DBM). Sirve de interfaz entre los datos de bajo nivel y los programas de aplicación que
pueden estar escritos en Java, C, ensamblador, etc.
Procesador de consultas. Es el encargado de traducir las proposiciones de un lenguaje de consultas a
instrucciones de bajo nivel como, por ejemplo, SQL (lenguaje de estructuras de consultas), que veremos
detalladamente más adelante.
Compilador de DLL. Se encarga de convertir las proposiciones en un conjunto de tablas que contienen
metadatos.
Precompilador de DML. Convierte las proposiciones en DML al lenguaje de diseño del manejador de la base de
datos.
2
TEMA 5 – Introducción a las Bases de Datos
Teconología Web y Bases de Datos -
Por Administrador de base de datos se designa a la persona o equipo de profesionales responsables del control y
manejo del sistema de base de datos. Por norma general, estos profesionales poseen amplios conocimientos de
informática, con experiencia en el diseño de bases de datos, en sistemas operativos, en comunicación de datos,
en hardware y también en programación
Sus tareas son:
Definir el esquema de la base de datos. Es la estructura según la que se forma la base de datos, que queda
especificada por medio de un conjunto de definiciones que se expresan con un lenguaje especial llamado
lenguaje de definición de datos (DDL).
Definir las estructuras de almacenamiento y los métodos de acceso a la información. Las estructuras de
almacenamiento y de acceso a la información se crean con un conjunto de proposiciones DML.
Conceder o denegar autorizaciones para el acceso a los datos. Se trata, básicamente, de registrar a los usuarios
con acceso al SGBD y de asignar a cada uno de ellos su campo de actuación. De esta manera, es posible regular
con un sistema personalizado de privilegios las partes de las bases de datos (áreas de aplicación, datos, recursos
del sistema) a las que van a tener acceso o no los usuarios.
3
TEMA 5 – Introducción a las Bases de Datos
Teconología Web y Bases de Datos -
Especificar los límites de integridad de la base de datos. Se trata de una serie de restricciones que se encuentran
especificadas en una estructura especial del sistema y que serán aplicables cada vez que se realice una
actualización en el sistema.
Especializados. Aquellos que desarrollan aplicaciones avanzadas de base de datos que no encajan en el marco
tradicional de procesamiento de datos (como, por ejemplo, sistemas expertos, reconocimientos de imágenes,
procesamiento de audio, etc.).
Programadores de aplicaciones. Profesionales en computación que interactúan con el sistema mediante
llamadas en DML, las cuales se hallan incorporadas en un programa escrito en un lenguaje de programación
como pueda ser C, JSP, ASP, PHP o Perl.
Sofisticados. Aquellos que interactúan con el sistema sin escribir programas, y que tienen capacidad para acceder
a la información por medio de lenguajes de consulta (por ejemplo SQL).
Ingenuos. Algo así como un usuario final que utiliza el sistema de base de datos siendo un total desconocedor de
su diseño interno. Éste sería el caso, por ejemplo, de un empleado de un banco.
6 Descripción de XAMPP
4
TEMA 5 – Introducción a las Bases de Datos
Teconología Web y Bases de Datos -
7 Servidor Apache
Apache es el servidor de web por excelencia. Ha sido uno de los mayores éxitos del software libre y su aceptación
entre los servidores de web de Internet es tan grande que ha llegado hasta el punto de llegar a ser un serio
competidor del servidor de web de Microsoft (IIS, Internet Information Server). Su desarrollo es continuo y su
portabilidad le ha llevado a plataformas como Windows y sistemas Unix.
Una de las principales características de Apache es su extensibilidad basada en una gran capacidad de
modulación de su código fuente, hecho que ha facilitado la aparición de módulos de extensión como PHP,
facilitando, de este modo, enormemente la programación de aplicaciones en el lado del servidor, en especial en
el campo del acceso a bases de datos.
8 Lenguaje PHP
PHP corresponde a las iniciales de Personal Home Page Tools (herramientas para páginas iniciales personales). Es
un lenguaje de programación tipo script para entornos web con unas funciones muy semejantes a las de ASP y
JSP, utilizado, sobre todo, en servidores Linux para personalizar la información enviada a los usuarios que
acceden a un sitio web. Desde un punto de vista técnico, es un lenguaje interpretado de alto nivel, similar en
construcciones léxicas y sintácticas C, C++, Java y Perl, por lo que a quienes ya conozcan estos lenguajes les
resultará muy fácil comenzar a escribir código PHP.
PHP es un lenguaje incrustado en páginas HTML, es decir, es un lenguaje de programación que se introduce
dentro de las páginas HTML. El código PHP se interpreta en el lado del servidor, desde donde se genera la página
HTML solicitada antes de llevar a cabo su transmisión al navegador. De esta forma, podemos programar
aplicaciones asociadas al servidor de web, aumentando, así, la funcionalidad de dicho servidor y convirtiéndolo
en un sistema de desarrollo de aplicaciones cliente/servidor mucho más completo. Su principal objetivo es hacer
que desarrolladores de aplicaciones basadas en la web puedan escribir páginas que se generan dinámicamente
de una forma sencilla y rápida.
PHP proporciona, por tanto, una gran facilidad para acceder a diferentes tipos de bases de datos como Oracle,
Sybase, MySQL, PostgreSQL, Adabas, etc. De hecho, es bastante sencillo portar una aplicación escrita para
MySQL a cualquier otra, ya que las funciones de acceso que ofrece PHP son, en muchos casos, de sintaxis
compartida.
9 MySQL
MySQL es un sistema de gestión de bases de datos (SGBD) SQL que en algunos aspectos es aproximadamente tan
potente como Oracle. MySQL está considerado un SGBD de gama media, con una tecnología que se encuentra a
medio camino entre un Oracle y un Microsoft Access.
5
TEMA 5 – Introducción a las Bases de Datos
Teconología Web y Bases de Datos -
Sus principales objetivos han sido la velocidad y la robustez. Es un SGBD sencillo y rápido que se adapta
perfectamente a entornos en los que el volumen de datos sea del orden de megabytes (en la documentación se
habla de su uso con bases de datos de 50 millones de registros). Evita, por tanto, complejidades como el sistema
de transacciones, hecho que lo limita para su uso en grandes sistemas (gran volumen de datos, muchos accesos
simultáneos y alta distribución de los datos).
En estos últimos años destacadas compañías han desarrollado aplicaciones SQL de uso libre y con código fuente
abierto (open source). En el mundo de GNU/Linux MySQL es, junto a Postgres, uno de los SGBD más populares.
MySQL se encuentra, igual que PHP, en fase de pleno desarrollo; se están publicando con regularidad nuevas
versiones del sistema, así como herramientas que son básicas en cualquier SGBD actual:
Como una motivación previa y para que el lector pueda tener una visión global desde el principio, presentaremos
en este apartado una visión global del sistema. En el siguiente gráfico aparecerán destacadas las partes
fundamentales del mismo.
Los pasos que describen la interacción entre el cliente y la base de datos son:
1. El cliente carga una página HTML con un formulario, rellena los datos y se los envía al servidor.
2. Por medio de la red TCP/IP los datos llegan al servidor.
3. El servidor detecta que los datos se envían a una página PHP, por lo que informa al módulo de PHP del
programa que hay que ejecutar y le pasa los datos del cliente.
4. El módulo de PHP ejecuta el programa, el cual accede a MySQL utilizando, de nuevo, una comunicación
TCP/IP.
5. MySQL procesa la petición del programa PHP y le envía los resultados de vuelta.
6. El módulo PHP recibe los resultados del servidor de base de datos, les da formato en una nueva página
HTML y se los devuelve al cliente mediante el servidor Apache.
El cliente recibe la página HTML como resultado de su petición por medio de la red TCP/IP.
6
TEMA 5 – Introducción a las Bases de Datos
Teconología Web y Bases de Datos -
En este primer esquema ya podemos ver que la interacción con la base de datos se hace, en su totalidad, por medio de PHP.
La lista de sistemas de gestión de bases de datos relacionales (SGBDR, en inglés RDBMS) es extensa. Los más
conocidos están disponibles para diferentes plataformas, como Windows, OS/2 y Linux, y también para la
mayoría de las versiones de UNIX, y funcionan en las macrocomputadoras y minicomputadoras más populares.
Entre los SGBDR comerciales más conocidos destacan:
• Oracle (www.oracle.com). Oracle Corporation fue el primer vendedor de bases de datos relacionales
que ofreció un producto SQL comercial, adelantándose al propio anuncio de IBM en casi dos años. Una
de sus principales ventajas es su portabilidad. En la actualidad, Oracle se encuentra disponible en casi
todas las plataformas de computadoras.
7
TEMA 5 – Introducción a las Bases de Datos
Teconología Web y Bases de Datos -
8
TEMA 5 – Introducción a las Bases de Datos
Teconología Web y Bases de Datos -
9
TEMA 5 – Introducción a las Bases de Datos
Teconología Web y Bases de Datos -
También existen SGBDR disponibles de forma gratuita o a un bajo coste. Este software ha nacido y crecido en
sistemas operativos gratuitos que se han producido como movimiento open source y que han dado como
resultado muchas piezas de software importantes (entre ellas Linux, Apache, Perl, PHP, Sendmail, BIND, etc.).
Entre las bases de datos open source más populares, destacan:
10
TEMA 5 – Introducción a las Bases de Datos
Teconología Web y Bases de Datos -
• Postgres (www.postgresql.org). Esta popular base de datos de UNIX rivaliza con muchas bases de datos
comerciales en cuanto a prestaciones. Está disponible libremente y con soporte comercial por una tasa
anual.
data informe
11
TEMA 5 – Introducción a las Bases de Datos