1.3 Base de datos en un sitio electronico
SITIOS WEB VINCULADAS A BASES DE DATOS.
Unos de los tipos más comunes de páginas web dinámicas son los vinculados a bases de datos. Esto significa que usted tiene una página web que coge la información de una base de datos (la página web está conectado a la base de datos a través de la programación,) e inserta la información en la página web cada vez que esta se carga.Si la información almacenada en la base de datos cambia, la página web conectada a la base de datos también cambiará en consecuencia (y automáticamente) sin intervención humana.
Esto es comúnmente visto en los sitios web de organizaciones bancarias en línea, donde se puede acceder (con su nombre de usuario y contraseña) y ver el saldo de su cuenta bancaria. La información de su cuenta bancaria se almacena en una base de datos que está conectada a la página web a través de la programación (por ejemplo: PHP, ASP), permitiéndole ver su información bancaria.
TECNOLOGÍAS USADAS EN SITIOS WEB VINCULADOS A BASES DE DATOS.
Sitios web vinculados a bases de datos pueden ser construidos usando algunas de las tecnologías disponibles, cada una con sus ventajas respectivas. Algunas de estas tecnologías/herramientas son:- PHP
- JSP
- ASP
- PERL
- Cold Fusion
La razón por la que es llamada de esta manera se debe a que la "acción" o la magia que le permite a la página web conectarse a la base de datos, en realidad, toma lugar en el servidor.
Esto es lo que sucede: cada vez que una página web dinámica está a punto de ser enviada al navegador, el servidor automáticamente crea la página y envía una página de HTML estándar al navegador.
El servidor "sabe" cómo construir la página siguiendo las instrucciones proporcionadas por el programador. Esto es diferente a JavaScript (piense en menús desplegables o cuadros de alerta,) que se ejecuta estrictamente en el navegador web.
En este momento muchas personas deben estar confundidas, la confusión radica en la diferencia entre la programación del lado del servidor (páginas web vinculadas a bases de datos) y frente a la programación del lado del cliente (JavaScript).
PROGRAMACIÓN DEL LADO DEL CLIENTE — El otro tipo de página web dinámica.
Del lado del cliente (es decir: en el navegador) o lo que comúnmente se llama DHTML ... HTML dinámico…DHTML es básicamente tomar HTML y JavaScript (a veces VB script) para hacer que la página web cambie su propio contenido (desde el punto de vista del espectador) sin tener que recargar o cargar una nueva página.
Ejemplos de DHTML incluirían menús desplegables, 'flotantes' en los que las imagines se ciernen sobre el resto de la página, etc ... Si usted las busca, se encuentran en abundancia en la web.
¿Cómo lo hago?
Creación de la base de datos desde la línea de comandos
Para crear la base de datos en MySQL tienes diferentes alternativas. Por un lado, puedes acceder a MySQL a través de MySQL monitor que se encuentra en el directorio\xampp\mysql\bin
.
En la Figura 2 podemos ver una sesión de ejecución con los siguientes comandos:
-
mysql -u root
: inicia la conexión a la base de datos con el usuario root. -
show databases;
: muestra las bases de datos que existen. -
use library;
: selecciona una base de datos. -
show tables;
: muestra las tablas que existen en la base de datos. -
describe books;
: muestra el esquema de la tabla.
Para crear la base de datos debemos emplear el lenguaje de definición de datos (Data Definition Language, DDL) de SQL que permite definir las estructuras de la base de datos que almacenarán los datos. En concreto, los comandos SQL más importantes que se utilizan para crear y mantener una base de datos son:
-
CREATE DATABASE
: crea una base de datos con el nombre dado. -
DROP DATABASE
: borra todas las tablas en la base de datos y borra la base de datos. -
CREATE TABLE
: crea una tabla con el nombre dado. -
ALTER TABLE
: permite cambiar la estructura de una tabla existente. -
DROP TABLE
: borra una o más tablas.
SELECT, INSERT, UPDATE
y DELETE
)
y NO los permisos para cambiar la estructura (CREATE, ALTER
, etc.) o administrar
(GRANT, SHUTDOWN
, etc.) la base de datos.
En MySQL se puede crear una cuenta de usuario de tres formas:
-
Usando el comando
GRANT
. - Manipulando las tablas de permisos de MySQL directamente.
- Usar uno de los diversos programas proporcionados por terceras partes que ofrecen capacidades para administradores de MySQL, como phpMyAdmin.
GRANT
, ya que es más conciso
y menos propenso a errores que manipular directamente las tablas de permisos de MySQL.
Por ejemplo, las siguientes instrucciones crean un nuevo usuario llamado
wwwdata
con contraseña abc
,
que sólo se puede usar cuando se conecte desde el equipo local (localhost
) y le otorga únicamente los
permisos SELECT, INSERT, UPDATE
y DELETE
sobre todas las bases de datos alojadas en el servidor:
# Crea un nuevo usuario CREATE USER 'wwwdata'@'localhost' IDENTIFIED BY 'abc'; # Otorga los permisos para poder manipular los datos # sobre todas las bases de datos (*.*) GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'wwwdata'@'localhost' IDENTIFIED BY 'abc' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; # Recarga los permisos de las tablas (en principio, no es necesario porque # GRANT debe hacerlo de forma automática) FLUSH PRIVILEGES;Una ver creado un usuario, podemos consultar sus permisos con el comando
SHOW GRANTS
, tal
como podemos ver en la Figura 3.
Creación de la base de datos desde phpMyAdmin
phpMyAdmin es una herramienta escrita en PHP que permite la administración de una base de datos de MySQL a través de páginas web, ya sea en local o de forma remota a través de Internet. Es un desarrollo de código abierto y está disponible bajo la licencia GPL.En la Figura 4 podemos ver la pantalla principal de la aplicación. En el panel de la izquierda aparecen las bases de datos que existen y entre paréntesis se indica el número de tablas que posee cada base de datos. En la parte principal de la pantalla se indica la versión del servidor de MySQL y el usuario que se está empleando para conectarse. En XAMPP, por defecto se emplea el usuario "root" sin contraseña, lo que supone una vulnerabilidad del sistema ya que facilita un posible ataque. Para evitarlo, es conveniente asignar una contraseña al usuario "root" en MySQL y configurar la contraseña para phpMyAdmin en el fichero
config.inc.php
.
Además, en la página principal existen varias funciones, como crear una nueva base de datos, modificar los privilegios o importar y exportar el esquema y los datos de una base de datos.
Desde la pantalla principal se puede crear una nueva base de datos. Una vez creada, aparece la pantalla que podemos ver en la Figura 5; en esta pantalla se visualiza la sentencia SQL que ha creado la base de datos y se puede indicar el nombre para una nueva tabla en la base de datos recién creada. En este último caso, también hay que indicar el número de campos (columnas) que se quiere que tenga la tabla; más adelante se pueden añadir más campos en cualquier momento.
Podemos ver la pantalla de creación de una nueva tabla con dos campos. En esta pantalla se tiene que indicar la definición de cada campo (columna) de la tabla, como el nombre del campo, el tipo de dato, si admite valor nulo, si es clave primaria, etc. Esta pantalla cambia de aspecto según el número de campos que tenga la tabla; por ejemplo, en la Figura 7 podemos ver la misma pantalla pero cuando una tabla posee siete campos, en vez de una disposición vertical la definición de los campos adquiere una disposición horizontal.
Además, se tiene que seleccionar el motor de almacenamiento para la tabla. MySQL permite seleccionar diferentes motores de almacenamiento. La principal diferencia entre los distintos motores reside en el soporte de las transacciones, el manejo de las claves ajenas y el particionamiento de las tablas.
En la Figura 8 podemos ver la pantalla de respuesta que aparece al crear una nueva tabla. En esta pantalla figura la sentencia SQL de creación de la tabla y también se puede modificar la estructura de la tabla recién creada.
Una vez creada una tabla se pueden insertar datos en la misma. Para ello se emplea la opción Insertar que muestra un formulario como el de la Figura 9. En este formulario aparecen todos los campos que componen una tabla y para cada campo se indica su tipo de dato. Cuando un campo es de tipo autoincremento la base de datos le asignará un valor de forma automática, pero de todas formas aparecerá en el formulario de inserción, por lo que se debe dejar vacío.
Por último, y tal como se ha explicado en el apartado anterior, se debe emplear un usuario específico para conectarse desde una página web, que tenga otorgados únicamente los permisos para manipular los datos (
SELECT, INSERT, UPDATE
y DELETE
). En la Figura 10 podemos ver la pantalla de la
opción Privilegios, donde se muestran todos los usuarios que existen y los permisos que poseen. Acceso a la base de datos desde PHP
Desde PHP se puede acceder fácilmente a una base de datos en MySQL empleando las más de 50 funciones que existen. Las principales funciones que se emplean para acceder a una base de datos son:-
mysql_connect(servidorBD, usuario, contraseña)
: abre una conexión con un servidor de bases de datos de MySQL, devuelve unidentificador
que se emplea en algunas de las siguientes funciones oFALSE
en caso de error. -
mysql_close(identificador)
: cierra una conexión con un servidor de MySQL, devuelveTRUE
en caso de éxito yFALSE
en caso contrario. -
mysql_ping(identificador)
: verifica que la conexión con el servidor de bases de datos funciona, devuelveTRUE
en caso de éxito yFALSE
en caso contrario. -
mysql_select_db(nombreBD, identificador)
: selecciona una base de datos, devuelveTRUE
en caso de éxito yFALSE
en caso contrario. -
mysql_query(sentencia, identificador)
: ejecuta una sentencia SQL y devuelve un resultado (SELECT, SHOW, EXPLAIN
oDESCRIBE
, ...) oTRUE
(INSERT, UPDATE, DELETE
, ...) si todo es correcto, oFALSE
en caso contrario. -
mysql_fecth_array(resultado)
: recorre un resultado, devuelve un array que representa una fila (registro) oFALSE
en caso de error (por ejemplo, llegar al final del resultado); al array se puede acceder de forma numérica (posición de la columna) o asociativa (nombre de la columna). -
mysql_fetch_assoc(resultado)
ymysql_fetch_row(resultado)
: ambas funciones son similares a la anteriormysql_fecth_array(resultado)
, pero sólo permiten el acceso como array asociativo o con índices numéricos respectivamente. -
mysql_affected_rows(identificador)
: devuelve el número de filas (tuplas) afectadas por la última operación si fue del tipoINSERT, UPDATE
, etc., que no devuelven un resultado. -
mysql_num_rows(resultado)
: devuelve el número de filas (tuplas) afectadas por la última operación si fue del tipoSELECT
. -
mysql_free_result(resultado)
: libera la memoria ocupada por un resultado; en principio, se libera automáticamente al finalizar la página, es necesario si en una misma página se realizan varias consultas con resultados muy grandes.
wwwdata
sin contraseña, selecciona la base de datos
biblioteca, recupera todo el contenido de la tabla libros
y muestra los campos Titulo
y Resumen
:
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Prueba de SELECT y MySQL</title> </head> <body> <?php // Se conecta al SGBD if(!($iden = mysql_connect("localhost", "wwwdata", ""))) die("Error: No se pudo conectar"); // Selecciona la base de datos if(!mysql_select_db("biblioteca", $iden)) die("Error: No existe la base de datos"); // Sentencia SQL: muestra todo el contenido de la tabla "books" $sentencia = "SELECT * FROM libros"; // Ejecuta la sentencia SQL $resultado = mysql_query($sentencia, $iden); if(!$resultado) die("Error: no se pudo realizar la consulta"); echo '<table>'; while($fila = mysql_fetch_assoc($resultado)) { echo '<tr>'; echo '<td>' . $fila['Titulo'] . '</td><td>' . $fila['Resumen'] . '</td>'; echo '</tr>'; } echo '</table>'; // Libera la memoria del resultado mysql_free_result($resultado); // Cierra la conexión con la base de datos mysql_close($iden); ?> </body> </html>¿Qué es un servidor de base de datos?
Un servidor de bases de datos se utiliza para almacenar, recuperar y administrar los datos de una base de datos. El servidor gestiona las actualizaciones de datos, permite el acceso simultáneo de muchos servidores o usuarios web y garantiza la seguridad y la integridad de los datos. Y cuando hablamos de datos, podemos estar hablando sobre millones de elementos a los que acceden al mismo tiempo miles de usuarios.
Así como sus funciones básicas, el software de servidores de bases de datos ofrece herramientas para facilitar y acelerar la administración de bases de datos. Algunas funciones son la exportación de datos, la configuración del acceso de los usuarios y el respaldo de datos.
¿Cómo se usan las bases de datos?
Las bases de datos tienen todo tipo de usos, como gestión de documentos, gestión de registros, índices de motores de búsqueda, para servidores de correo electrónico y para brindar contenido dinámico de páginas web. Una persona, aplicación o script de página web puede consultar la base de datos con el lenguaje SQL.
Los servidores de bases de datos se usan en el alojamiento de páginas web para insertar contenido en páginas web dinámicas. Las páginas dinámicas utilizan diseños de tipo estándar que son llenadas con información en función de la dirección URL de la página, o de otras variables como las credenciales de usuario o las acciones que se realicen en la página. Algunos ejemplos de páginas dinámicas que utilizan bases de datos son los siguientes:
- Contenido en publicaciones de blogs o páginas de categoría de blogs
- Anuncios clasificados de empleos o sitios web de clasificados
- Información de directorios web y mapas
- El contenido de su actividad en Facebook
- Resultados de Google y otras búsquedas
- Secciones de contenido administrable en sitios web
- Listas de productos de sitios de comercio electrónico y detalles de procesos de compra
- Detalles y configuración de la cuenta cuando inició sesión en un sitio web
Los cinco servidores de base de datos de empresas más conocidos son:
1. Oracle
2. SQL Server
3. DB2
4. Sybase
5. MySQL
MySQL es la base de datos más famosa de alojamiento web. Se trata de una opción poderosa y también gratis (código abierto) diseñada para funcionar con el famoso lenguaje de programación PHP. Microsoft SQL Server es muy popular en sitios web, empresas y más, pues se integra fácilmente con otros servicios de Microsoft.
Cómo elegir el tamaño de un servidor para su base de datos
La elección de un servidor para su base de datos depende de muchos factores, como el tamaño de la base de datos y la frecuencia y la naturaleza de las consultas a la base de datos. No existen reglas rígidas y rápidas para determinar el tamaño ideal de un servidor para sus datos, pero algunos consejos que puede tener en cuenta son:
- Analice y evalúe el rendimiento de su servidor de base de datos para poder tomar decisiones más informadas sobre sus requerimientos de informática y almacenamiento.
- Asegúrese de que tenga suficiente espacio de almacenamiento para sus bases de datos, tanto para la actividad actual como para el futuro.
- Mantenga sus índices en la memoria RAM para evitar la paginación (haga que su RAM disponible para el servidor de base de datos sea mayor en tamaño que el índice, para que solo se necesite una consulta).
- Asegúrese de que su sistema operativo permita la memoria RAM que necesita (32 bits o 63 bits).
- Si detecta presión de la CPU (alto consumo de la CPU, tareas en espera de la CPU), considere la posibilidad de agregar más CPU o más rápidas.
- Use la tecnología RAID para mejorar la confiabilidad y el rendimiento de su servidor.
- Haga una estimación del precio de la banda ancha, considere el alojamiento con tarifa plana como una opción.
Alojamiento avanzado
Cuando el tiempo de inactividad no es una opción, cuando muchos servidores web necesitan acceder a una base de datos única, o cuando su aplicación o sitio web tiene que hacer frente a los niveles de tráfico altos (por citar algunos ejemplos), un clúster de servidores puede ser la solución.
Al implementar un servidor dedicado totalmente dedicado a su servidor de base de datos (en lugar de alojar servidores web o de datos en el mismo hardware), usted no solo aumentará los recursos disponibles para su servidor dedicado, sino que también será más fácil gestionar, evaluar y escalar sus servidores. Podrá entender y controlar el uso de los recursos. Además, las tareas como migrar su base de datos, configurar su servidor o añadir más recursos para sus bases de datos pueden realizarse por separado de los demás servicios, y así simplificar y acelerar el proceso.
Aún más, al implementar servidores de bases de datos dedicados activos y pasivos con replicación y recuperación ante fallos usted estará protegiéndose de las interrupciones producidas por fallos en la aplicación o el hardware. Y mediante una Red de área de almacenamiento, usted puede compartir datos de forma unificada entre varios servidores de bases de datos, sitios web o usuarios.
Integración de tu Base de Datos en tu Sitio Web
A día de hoy hay muchas soluciones para tener tu tienda online
o para gestionar los contenidos de tu sitio web, pero la mayoría
absoluta de ellas son soluciones independientes a tu solución de gestión
en tu oficina.
Habitualmente las empresas tienen una tienda online donde venden sus productos, sus clientes, sus facturas. Esto conlleva a que muchas tienen que mantener casi dos empresas separadas, incluso hasta numeración para las facturas independientes de las facturas que se emiten en la tienda física.
Hay algunas herramientas que permiten exportar los datos e integrarlos en la solución de gestión de la oficina. Pero no deja de ser una solución a medias por que lo ideal es que tu base de datos de gestión y tu web sean solo una.
Habitualmente las empresas tienen una tienda online donde venden sus productos, sus clientes, sus facturas. Esto conlleva a que muchas tienen que mantener casi dos empresas separadas, incluso hasta numeración para las facturas independientes de las facturas que se emiten en la tienda física.
Hay algunas herramientas que permiten exportar los datos e integrarlos en la solución de gestión de la oficina. Pero no deja de ser una solución a medias por que lo ideal es que tu base de datos de gestión y tu web sean solo una.
Que es la integración de datos
La idea cuando tenemos cualquier aplicación o base de datos en nuestra empresa es que no tengamos datos duplicados en otra aplicación, que todos los datos del mismo tipo sean accesibles desde una sola herramienta y que sean accesibles por todos las personas que deben tener acceso a ellos.Cuando tenemos una aplicación en nuestra oficina para gestionar todos nuestros datos y nuestra pagina web tiene una aplicación independiente, que lo más probable es que tenga el mismo tipo de datos, surgen duplicación de datos, discrepancias y errores de gestión.
Esto lleva a muchas empresas a mantener dos entornos completamente independientes, incluso hasta contabilidades diferentes para que no surjan errores, pero esto no hace más que complicar la gestión.
El objetivo final es que todos nuestros datos sean accesibles desde nuestra aplicación de gestión principal y así ahorrar tiempo y esfuerzos adicionales, mejorando la gestión de nuestros recursos.
Ejemplos de integración de datos
1 - Registros de usuarios/clientes
Si tu sitio web ofrece cualquier tipo de servicio añadido donde los clientes requieren registrarse para poder disfrutar de este servicio, lo ideal es que estos registros, con todos sus datos, se incorporen a tu base de datos de clientes.Es fundamental que la sincronización de datos de clientes sea lo más rápida posible y 100% fiable. Por ejemplo, un usuario se registra y aparece automáticamente un tu base de datos de clientes, pero además es posible que el cliente cambie de dirección o teléfono, si puede cambiar sus datos por la web y que se actualice la información en tu base de datos ya están ahorrando tiempo y mejorando la gestión de los datos de tus clientes.
2 - Actualización de contenidos o productos
A la hora de utilizar tu web tus clientes puede solicitar productos o información relacionada con los servicios que presta tu empresa. Si tienes integrada tu base de datos con tu web, a la hora de actualizar los datos de los productos o la información que solicita el cliente, se actualizará automáticamente en tu web y estará disponible de inmediato a tu cliente.Esta rapidez y fiabilidad de los datos va a mejorar la satisfacción de tu cliente y por consiguiente sus futuras compras.
3 - Pedidos, Facturas.
Si tienes una tienda online, con la integración con tu base de datos de tu empresa, a la hora de que un cliente haga una compra, se genera un pedido, una factura que estará disponible desde la web pero con los datos que se indiquen en la base de datos de la oficina. Gracias a esto puedes mantener una contabilidad única y una coherencia de datos entre la web y las operaciones de tu oficina.La solución: FileMaker
Evidentemente para que puedas tener una base de datos que se integre con tu web necesitas una herramienta que tenga esta capacidad. FileMaker te permite tener una base de datos a medida para todo el trabajo de gestión pero además permite integrar con tu base de datos MySQL de tu sitio Web incluso hablar el lenguaje PHP para poder recibir y mandar datos de tu web.Qué es y para qué sirve una base de datos. Principales tipos Oracle, MySql, SqlServer, Postgre.
DEFINICIÓN Y CONCEPTO DE BASE DE DATOS
Una base de datos es un sistema informático a modo de almacén. En este
almacén se guardan grandes volúmenes de información. Por ejemplo,
imaginemos que somos una compañía telefónica y deseamos tener
almacenados los datos personales y los números de teléfono de todos
nuestros clientes, que posiblemente sean millones de personas.
Esta información es de gran volumen de tamaño: estamos hablando de
veinte o treinta datos multiplicados por miles o millones de personas.
La antigua gestión de datos se basaba en archivos informáticos, pero
para las necesidades de hoy en día hacen falta sistemas más
perfeccionados que son precisamente lo que se denomina sistema de base
de datos. Llegamos a la conclusión de que necesitaríamos una base de
datos para automatizar el acceso a la información y poder acceder a ella
de manera rápida y fácil además de poder realizar cambios de una manera
más eficiente.
Toda base de datos debe tener una serie de características tales como
seguridad (sólo personas autorizadas podrán acceder a la información),
integridad (la información se mantendrá sin pérdidas de datos), e
independencia (esta característica es fundamental ya que una buena base
de datos debería ser independiente del sistema operativo o programas que
interactúen con ella). Hay más características que debe reunir una base
de datos como ser consistente (es decir, que la información se guarde
sin duplicidades y de manera correcta). Y finalmente, las bases de datos
actuales permiten el manejo correcto de transacciones. Esto significa
que se ha de permitir efectuar varias operaciones sobre la base de datos
pero tratadas a modo de una sola. Es decir, si en el conjunto de las
operaciones de una transacción se produce un error, entonces se deshacen
todas las operaciones realizadas anteriormente y se cancela la
transacción. Piensa en una transferencia bancaria que comprende varias
operaciones como sacar dinero de una cuenta, anotarlo en el extracto de
esta cuenta, añadirlo a otra cuenta y anotarlo en el extracto de esta
otra cuenta. Supón ahora que después de sacar el dinero de la cuenta de
origen se produce un error: la transacción (proceso completo) no se ha
completado, y en este caso la base de datos revierte lo que se haya
hecho y deja la situación tal y como estaba antes de comenzar la
transacción. Otro factor importante en las bases de datos es el tiempo
de respuesta, que evidentemente debe ser lo más rápido posible en
devolver o anotar las informaciones. Piensa que una base de datos puede
tener que estar enviando y anotando información correspondiente a
decenas de personas conectadas a internet. Si la velocidad de respuesta
no es buena, la página se quedaría “bloqueada”.
HISTORIA E INICIOS
Los inicios de las base de datos modernas se deben sobre todo al
desarrollo realizado por el inglés Edgar Frank Codd, que propuso el
primer modelo teórico relacional, es decir, definió cómo se debían
relacionar los datos pertenecientes a una base de datos. Por otro lado
IBM desarrolló la primera definición de lenguaje para base de datos (que
definía cómo añadir y extraer información de una base de datos) llamado
SEQUEL. Más tarde SEQUEL acabaría convirtiéndose en el lenguaje más
utilizado hoy en día con bases de datos, el SQL.
SQL se ha convertido en un lenguaje estándar para todas las bases de
datos. Hoy día es empleado por prácticamente todas las bases de datos
existentes. Como en todo lenguaje ha habido mejoras y por tanto nuevas
versiones a lo largo del tiempo, pero aunque cada sistema de base de
datos tenga sus propias particularidades, todos comparten muchas
características comunes.
DOS GRANDES ÁREAS
Dentro de SQL hay dos grandes áreas llamadas DDL y DML. DDL (en inglés
Data Definition Language) es la parte del lenguaje que permite la
definición de datos, por tanto son funciones que definen cómo van a ser
los datos. Por ejemplo nosotros podemos definir que el dato de “edad” de
una persona va a ser un número entero mientras que el dato “nombre” va a
ser una cadena de texto. Los datos en una base de datos se almacenan en
tablas formadas por filas y columnas. Las columnas nos indican el
nombre de los datos y las las filas contendrán los valores de los datos
propiamente dichos almacenados.
Así un ejemplo de tabla muy simple podría ser una tabla de usuarios,
donde vamos a almacenar la información de su nombre y teléfono.
Tendremos por tanto dos columnas y tantas filas como usuarios existan en
nuestra base de datos
NOMBRE
|
TELÉFONO
|
José
|
9434455444
|
Manuel
|
6578545458
|
Miguel
|
4987873487
|
Por otra parte está el área de DML (en inglés Data Manipulation
Language) o Lenguaje de Manipulación de Datos, que como su nombre indica
nos permite manipular la información y que básicamente se compone de
estas instrucciones o funciones:
a) Select: función que permite solicitar que se nos devuelva un dato o serie de datos.
b) Insert: función para insertar nuevas filas de información en una tabla.
c) Update: función para modificar una o varias filas ya existentes previamente.
d) Delete: función que borra una fila o un conjunto de filas de una tabla.
TIPOS DE BASE DE DATOS
Hay diversos tipos de base de datos dependiendo de los objetivos de su
uso. Por ejemplo, son distintos objetivos mantener el historial médico
de los pacientes de un hospital o el registro de operaciones financieras
de un banco. Pero en general los sistemas de bases de datos más
populares son las bases de datos relacionales, aunque también se usan
otros tipos de bases de datos, entre los que cabe destacar las
denominadas “bases de datos orientadas a objetos”.
Las bases de datos relacionales se basan en la idea fundamental del uso
de relaciones para definir los tipos de datos o información. Así en
nuestro ejemplo anterior podemos ver que un usuario queda definido por
un nombre y un teléfono es decir la relación de nombre y teléfono nos da
un usuario.
SISTEMAS GESTORES DE BASES DE DATOS
Con el uso y el incremento del tipo de base de datos se desarrollaron
sistemas informáticos que gestionan toda la funcionalidad de la base de
datos propiamente dicha intentando que sea de la manera más clara,
directa y sencilla.
Normalmente cada compañía de base de datos trae su propio SGBD (Sistema
Gestor de Base de Datos). Aunque también los hay genéricos y muy buenos
nosotros recomendamos que se utilice el propio de cada base de datos
siempre que se pueda.
En la categoría de sistemas de bases de datos libres o gratuitos podemos citar como más importantes:
NOMBRE DE BASE DE DATOS
|
LOGOTIPO
|
PostgreSQL
|
|
DB2-Express C
|
|
MySQL (edición gratuita)
|
Otras bases de datos requieren pagar para poder utilizarlas. Entre ellas tenemos:
NOMBRE DE BASE DE DATOS
|
LOGOTIPO
|
MySQL (ediciones de pago)
|
|
dBase
|
|
IBM Informix
|
|
Microsoft SQL SERVER
|
|
Oracle
|
|
Sybase
|
De todas estas bases de datos la que ha conseguido mayor uso ha sido y
sigue siendo Oracle, ya que desde 1979 ha sido líder indiscutible como
base de datos para empresas de mediano y gran tamaño. Ahora bien, Oracle
es una base de datos con buenas herramientas, potentísima, efectiva y
como buen sistema de base de datos trae muchos programas variados que
permiten hacer de todo en el terreno de las bases de datos: consultas,
informes, análisis de datos, etc. Además Oracle cumple íntegramente con
el estándar SQL y suele ser el referente a la hora de aprender a
programar bases de datos.
Pero hay muchas ocasiones en las que no se utiliza un sistema Oracle
por varios motivos: por un lado, es un sistema bastante “pesado” lo que
significa que requiere disponer de servidores (grandes ordenadores) casi
en dedicación exclusiva para este sistema de base de datos. Por otro
lado, Oracle es una base de datos por cuyo uso hay que pagar y muchos
usuarios y pequeñas empresas prefieren usar bases de datos de uso
gratuito o de menor coste. Como alternativa a Oracle de coste más
reducido y también muy efectiva, muchas empresas utilizan SQLServer,
suministrada por Microsoft.
SQLServer es una solución de coste y rendimiento medio. Suelen usarlo
empresas que tienen un volumen de información elevado, pero sin llegar a
ser excesivo, sobre todo si utilizan un servidor dedicado de Microsoft.
SQL Server ha estado creciendo aunque quizás no con la proyección que
se esperaba. Sin embargo, le ha ido comiendo terreno a las demás
compañías en el sector medio de las bases de datos.
En el desarrollo web donde los sistemas de hosting o alojamiento de
páginas web suelen ser compartidos para ahorrar costes, el sistema de
bases de datos más utilizado es quizás Mysql por su carácter de software
libre de distribución gratuita. Sobre todo esto también se debe a que
la mayoría de sitios web con hosting compartido son pequeñas o medianas
webs que no mueven grandísimos volúmenes de datos, ya que suelen ser
pequeñas o como mucho medianas empresas.
CONSEJOS PARA APRENDER PROGRAMACIÓN CON BASES DE DATOS
A la hora de aprender a programar con bases de datos, una buena opción
es aprender con Oracle y su lenguaje SQL. Oracle facilita versiones de
prueba (académicas o de estudio) gratuitas que pueden servir para
aprender. Aunque tengamos que instalarlo en nuestro ordenador y nos
consuma recursos, podemos trabajar a pequeña escala y aprender todas las
funcionalidades sin grandes desventajas. Por el contrario, tendremos
una gran ventaja, y es que una vez hayamos aprendido con Oracle la
adaptación a cualquier otra base de datos es relativamente sencilla.
Otra alternativa interesante para aprender es utilizar MySql, ya que es
un sistema gratuito que nos vamos a encontrar en la mayor parte de los
servidores compartidos de páginas web. En este caso podremos trabajar
usando un servidor (incluso un servidor gratuito) sin necesidad de
instalar software en nuestro computador.
Finalmente, indicar que antes de aprender programación con bases de
datos, es conveniente conocer los fundamentos de programación
(algoritmia) así como uno o varios lenguajes de programación. Trabajar
con bases de datos debe ser un paso “avanzado” dentro del proceso de
aprendizaje de la programación, nunca el primer paso.
Referencias
http://www.ingenieriasystems.com/2014/07/introduccion-php-y-mysql.html
https://www.nerion.es/soporte/como-subir-una-pagina-web-con-base-de-datos/
http://www.maestrosdelweb.com/que-son-las-bases-de-datos/
Albert Espinosa. (1993). Introduccion al XHTML. MEXICO D.F: Oreilly.
Lucía Etxebarría. (1998). La Web del programador. MEXICO D.F: Venus.
No hay comentarios:
Publicar un comentario