Sei sulla pagina 1di 6

Capitulo 22: Introduccin a las Bases de Datos

C.F.P Nro. 401 de San Martn

INTRODUCCIN A LAS BASES DE DATOS


Toda informacin es importante si est conectada a otra. (Umberto Eco)

INTRODUCCION
Aunque ya aprendi bastante en este curso sobre PHP, no podr llegar muy lejos sino maneja el concepto de Base de Datos. Las Bases de Datos surgen a finales de la dcada del 60, como propuesta de solucin a un conjunto de problemas tcnicos y administrativos presentados en el manejo de archivos. A medida que los sistemas de informacin se volvan ms complejos y se extendan a nuevas reas de operacin de una empresa o institucin, las dificultades en mantener su funcionamiento y costos bajo control se acentuaban. Estos son algunos de los problemas surgidos: Redundancia: La repeticin de datos no controlada produce un costo de almacenamiento y de acceso mayor a los necesarios. En segundo lugar, y mas importante, la redundancia introduce la posibilidad de inconsistencia (Es decir, tener diversas copias de los mismos datos donde la informacin de los mismos pueden no coincidir). Aislamiento de datos: Debido a que los datos estn dispersos en varios archivos, y los archivos pueden estar en diferentes formatos, es difcil escribir nuevos programas de aplicacin para recuperar los datos apropiados. Problemas de atomicidad: Una computadora, como cualquier otro dispositivo mecnico o elctrico, este sujeto a fallo. En muchas aplicaciones es crucial asegurar que, una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran al estado de consistencia que exista antes del fallo. Es decir, debe ser atmica: sta debe ocurrir en ellos por completo o no ocurrir en absoluto. Es difcil asegurar esta propiedad en un sistema de procesamiento de archivos convencional. Problemas de seguridad: No todos los usuarios de un sistema deberan poder acceder a todos los datos se les debe asignar distintos permisos a los grupos de usuarios. Anomalas en el acceso concurrente: Conforme se ha ido mejorando el conjunto de ejecucin de los sistemas y ha sido posible una respuesta en tiempo ms rpida, muchos sistemas han ido permitiendo a mltiples usuarios actualizar los datos simultneamente. En tales sistemas un entorno de interaccin de actualizaciones concurrentes puede dar lugar a datos inconsistentes.

Capitulo 22: Introduccin a las Bases de Datos

C.F.P Nro. 401 de San Martn

Para tratar de evitar de este tipo de problemas, la tecnologa de base de datos hace la siguiente propuesta. Tmenos el conjunto de toda la informacin que es relevante a la operacin de una organizacin: para un banco, ser informacin relativa a cuentas, clientes, empleados, equipos, etc. (para una empresa que vende productos, ser sus clientes, proveedores, productos, transportes etc.), toda esta informacin apropiadamente organizada y codificada, se colocara en un gran repositorio denominado Base de Datos. Ningn programa de aplicacin tendr acceso directo a los archivos que componen la base de datos, sino que interponemos entre estos archivos y los programas de aplicacin un nuevo nivel de software llamado sistema de gestin de base de datos, que abreviaremos SGBD (Sistema de Gestor de Base de Datos, tambin denominado DBMS, Database Management System o Motor de Base de Datos). El SGBD provee acceso a la informacin a un alto nivel de abstraccin (es decir, el SGBD esconde ciertos detalles de cmo se almacenan y se mantiene la informacin), en lugar de manipular archivos, registros, ndices, cilindros, el programa de aplicacin se maneja enteramente en trminos de clientes, cuentas, saldos, transportes etc., que son traducidos por el SGBD a su implementacin fsica. La base de datos no estar bajo el control de ninguno de los grupos encargados de construir sistemas de aplicaciones, sino que tal control estar centralizado en un grupo o persona, el administrador de la base de datos (DBA), quien es el responsable de definir, mantener, y garantizar la integridad y seguridad de la base de datos. Finalmente, el SGBD proveer generalmente una aplicacin especial llamada lenguaje de consulta (SQL) que permite a los usuarios finales interrogar la base de datos a discrecin sin tener que pasar por el analista o programador como intermediarios. Debemos notar que esta discusin simplifica un proceso que en la prctica es bastante complejo. El ideal de la base de datos institucional, nica y omnisciente, esta lejos de haberse convertido en realidad, e incluso es a veces indeseables la centralizacin excesiva. Pero en lneas generales, hemos dado la motivacin para la introduccin de un SGBD en una organizacin.

SISTEMA DE BASE DE DATOS


En sntesis un Sistema de Base de Datos se compone de: 1) La informacin que se almacenara en un depsito, almacn o base de datos. 2) El SGBD o Motor de Base de Datos que se encuentra entre la base de datos fsica y el usuario. (Muchas veces estos Motores de Bases de Datos proveen una Interfaz para trabajar con la base de datos. Sin embargo es posible conseguir otros tipos de interfaces, generalmente graficas para trabajar con los datos). 3) Los usuarios de la Base de Datos (usuarios comunes, DBA, programador de aplicaciones etc.)

BASES DE DATOS EN LA WEB


En este curso estuvimos trabajando principalmente con sitios dinmicos, hemos desarrollado muchas aplicaciones sin embargo el verdadero dinamismo del sitio lo puede generar una base de datos. En general sabemos que las pginas Web estticas son difciles de modificar, para poder modificar el texto de una pgina Web esttica habra que descargar la pgina en XHTML del servidor, modificar su contenido y guardarla de nuevo en el servidor Web, tarea que slo podra realizar el Webmaster. Esto significa, que cada vez que necesite actualizar su pgina, tendr que contactar con el desarrollador y pagar por cada cambio que se ha realizado en el sitio Web. Los sitios modernos actuales trabajan con tecnologa dinmica incorporando una base de datos. La informacin de la pagina esta en la base de datos, entonces, cuando nosotros necesitamos modificar la informacin de la misma podemos usar un CMS (Content Management System). Un CMS consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido del sitio Web. Acceder al CMS es sencillo y cada uno de ellos incorpora un editor de publicaciones. Cuando se modifica el contenido mediante un CMS, el contenido modificado es almacenado en la base de datos del servidor, como la pagina esta conectada a esa base de datos la informacin de la pagina es actualizada en el momento. Este sistema es el que usan los Blogs o Sistemas de Noticias.

Capitulo 22: Introduccin a las Bases de Datos

C.F.P Nro. 401 de San Martn

Otra aplicacin interesante con base de datos podra ser un catalogo de productos. Toda la informacin relativa a los productos es almacenada en la base de datos. Cuando aado un nuevo producto a la base de datos (incorporando su descripcin, imagen, precio, categora, etc.) automticamente se agrega a la pgina del listado de productos.

CICLO DE VIDA DE UN SISTEMA DE BASE DE DATOS


El ciclo de vida de un sistema base de datos define el proceso completo desde la concepcin hasta la implementacin. Todo el desarrollo y proceso de aplicacin de este ciclo se puede dividir en pequeas fases, y slo despus de la finalizacin de cada fase puede pasar a la siguiente fase. Aunque los modelos de ciclos de vida pueden ser distintos, es necesario definir un ciclo de vida a seguir antes de entrar en el desarrollo de cualquier sistema. Requerimientos del sistema En esta fase de definen los distintos requisitos y necesidades del sistema que sern fundamentales para el desarrollo del mismo. Diseo Lgico Despus de reunir todos los requisitos del sistema se define un modelo de datos conceptual (el mas usado es el Diagrama de Entidad Relacional o DER). Diseo Fsico Una vez armado el diseo lgico el siguiente paso es desarrollar el modelo fsico. La fase de diseo fsico implica el diseo de tablas y sus relaciones. Implementacin de la Base de Datos Una vez finalizado el diseo, la base de datos se pueden crear usando por ejemplo sentencias DDL del lenguaje SQL del SGBD. Modificacin de Datos Para esta fase se usa las sentencias DML del lenguaje SQL para consultar y actualizar la base de datos, as como crear ndices y establecer limitaciones tales como la integridad referencial. Monitoreo o Supervisin de la Base de Datos Cuando el sistema comience a funcionar, el monitoreo indicara si se estn cumpliendo con los requerimientos de performance, y en el caso de que no se cumpla, deben realizarse modificaciones para mejorar su rendimiento. As, el ciclo de vida contina con las fases de rediseo, implementacin (modificacin) y monitoreo.

Capitulo 22: Introduccin a las Bases de Datos

C.F.P Nro. 401 de San Martn

SGBD RELACIONAL
En 1970, Edgar Codd que trabajaba en los laboratorios de IBM publico el trabajo Un modelo relacional de datos para grandes bancos de datos compartidos" (A Relational Model of Data for Large Shared Data Banks) que venia desarrollando hace aos. En este ensayo describi un nuevo sistema para almacenar y trabajar con grandes bases de datos. En las base de datos del tipo relacional tambin denominadas RDBMS (Relational DataBase Management System Sistema Administrador de Base de Datos Relacionales) permiten almacenar la informacin mediante el uso de TABLAS, desde esas TABLAS se podr recuperar o consultar la informacin almacenada. Se la conocen tambin como RELACIONALES ya que se pueden crear distintas TABLAS y conectarlas (es decir, RELACIONARLAS) con el fin de recuperar datos relacionados que estn almacenados en TABLAS distintas.

Las Tablas organizan la informacin mediante FILAS y COLUMNAS. Las FILAS son conocidas como REGISTROS o TUPLAS y las COLUMNAS como CAMPOS o ATRIBUTOS. Los REGISTROS representan un conjunto de datos de un determinado elemento (Por ejemplo la informacin de un determinado libro) mientras que los CAMPOS representan una subdivisin de los datos de un registro (Por ejemplo el autor o la editorial de un libro) de tal modo, que el formato de todos los registros es el mismo.

Base de Datos Tabla Registro Campo

El modelo relacional es el ms utilizado de los modelos de bases de datos, sin embargo existen otros modelos usados en la actualidad como son el modelo jerrquico, el de red, el modelo de objetos y el modelo NoSQL.

Nota
El modelo NoSQL (Not-Only SQL) se refiere a bases de datos que no utilizan el esquema relacional. Por ejemplo Cassandra es un sistema de gestin de bases de datos distribuidas open source, una solucin NoSQL desarrollada inicialmente por Facebook. Cassandra es un proyecto perteneciente a la Apache Software Foundation.

Capitulo 22: Introduccin a las Bases de Datos

C.F.P Nro. 401 de San Martn

Entre las Base de datos que trabajan con el modelo relacional podemos citar a: DB/2 de IBM. Access de Microsoft. SQL Server de Microsoft. Oracle de la empresa Oracle. MySQL de Oracle (Anteriormente de la empresa SUN). PostgreSQL (Administrada por la comunidad de usuarios PGDG (PostgreSQL Global Development Group).

INTRODUCCIN A MySQL
MySQL (www.mysql.com) es el SGBD o DBMS de cdigo abierto ms popular del mundo, gracias a su gran rendimiento, alta fiabilidad y facilidad de uso. Desde Abril del ao 2009 este SGBD esta en manos de la empresa ORACLE CORPORATION, la empresa que tal vez ms conoce sobre base de datos. MySQL es una idea originaria de la empresa MySQL AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estndar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad.

MySQL esta desarrollado para distintas plataformas de Hardware y Software es muy comn encontrarlo en Servidores Windows/GNU Linux para desarrollos de Aplicaciones Web. Actualmente es usado por las siguientes organizaciones: Amazon, Google (Donde incluso aporta mejoras a la base de datos), la NASA, la US NAVY, Wikipedia, Nokia, Yahoo!, Facebook, YouTube, MTV, American Express, Boeing, etc.

RAZONES PARA USAR MySQL


Estas son algunas de las razones para usar el SGBD MySQL: El software MySQL tiene una doble licencia. Los usuarios pueden elegir entre usar el software MySQL como un producto Open Source (Cdigo Abierto) bajo los trminos de la licencia GNU General Public License (GPL) o pueden adquirir una licencia comercial estndar para incorporar MySQL a productos privativos. Soporte de diversas plataformas de Hardware y Software. Hay versiones de MySQL para Windows, GNU Linux, Unix, Mac OS X. etc. MySQL es una base de datos Cliente/Servidor, lo cual quiere decir que tenemos un Server (o daemon) que se ejecuta en segundo plano, a la escucha de las peticiones del programa cliente. Es el SGBD mas instalados en servidores en el mundo. Alta disponibilidad: Solidez y disponibilidad constante son caractersticas distintivas de MySQL, con clientes confiando en ellas para garantizar que el sistema este corriendo todo el tiempo sin cadas.

Capitulo 22: Introduccin a las Bases de Datos

C.F.P Nro. 401 de San Martn

Aplicaciones WEB. MySQL es el estndar de facto para sitios web de gran trfico por su motor de consultas de alto rendimiento y su posibilidad de insertar datos a gran velocidad. Es el compaero ideal para lenguajes de programacin como PHP, JAVA, PERL, etc. Los requisitos de memoria, CPU, etc., son muy bajos comparados con los de otros sistemas gestores de bases. Tiene millones de usuarios en el mundo. Esto lo convierte en un software muy probado, maduro y estable.

QUE SIGNFICA QUE EL SOFTWARE SEA OPEN SOURCE?


Open Source significa Cdigo abierto y es el trmino que se emplea para designar a los programas distribuidos y desarrollados por programadores que ofrecen el cdigo fuente de sus programas para su posterior revisin o modificacin. Por lo tanto un programa Open Source puede ser modificado y perfeccionado por miles de programadores de todo el mundo de acuerdo con los trminos establecidos en su licencia. Esto hace que el programa o software evolucione, se desarrolle y se vaya optimizando, modificando y perfeccionando, a una velocidad mucho mayor de la lo hace un programa cerrado o privativo, en el que slo sus propios creadores pueden introducir modificaciones y mejoras, ya que slo ellos son los que tienen acceso al cdigo fuente, permaneciendo ste oculto para el resto de la gente. Entre el grupo de programadores que adhieren al movimiento Open Source podemos encontrar a Linus Torvalds (creador de Linux), Eric Raymond (autor del libro La catedral y el Bazar) y Bruce Perens (autor del termino Open Source).

PORQUE USAR UN IDE PARA MYSQL?


Cuando el producto se instala no nos deja ningn entorno grafico para trabajar lo que hace que sea complicado de usar. Por suerte la mayora de los programadores usan un IDE (Integrated Development Environment) que son un conjunto de herramientas diseadas para un trabajo ms fcil para el programador. Por suerte, tambin, la mayor parte de esas herramientas son graficas, es decir pueden ejecutarse como una aplicacin Windows o desde un Navegador. Algunas de ellas son HeidiSQL, Toad for MySQL, MySQL Workbench, SQLyog, Navicat etc. Pero sin lugar la ms popular de estas herramientas es phpMyAdmin. PhpMyAdmin,(http://www.phpmyadmin.net/) es una herramienta muy completa que permite acceder a todas las funciones tpicas de la base de datos MySQL a travs de una interfaz web muy intuitiva. Este programa esta hecho en lenguaje PHP (de ah su nombre) por una comunidad de programadores sin nimo de lucro.

Nota
PhpMyAdmin proporciona una interfaz grfica para las operaciones ms comunes de MySQL, incluyendo la gestin de base de datos, tablas, columnas, relaciones o permisos de usuarios.

La mayor parte de los desarrolladores en MySQL trabajan en este entorno ya que la mayora de los hosting lo emplean en sus paneles de control. La herramienta XAMPP ya lo contiene por lo tanto debe ejecutar el Panel de Control del mismo y ejecutar los mdulos Apache y MySQL. Finalmente podemos acceder a PhpMyAdmin desde la direccion: http://localhost/phpmyadmin/

Potrebbero piacerti anche