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.
0 comentarios :
Publicar un comentario