logo El código abierto
y su importancia
en la empresa
Qué son las Bases de Datos MySQL

Volumen 1, #6, Viernes 12 de octubre de 2007

¿Qué son?

Hay muchos mitos y tabúes sobre el significado de bases de datos, pero una base de datos es en general información organizada en tablas, accesadas no directamente, sino mediante comandos especiales para esto y que se encargan de mantener la integridad de la información. Esto implica que tú no puedes ir a "asomarte" a una celda de información y moverle su contenido como lo puedes hacer en una hoja de cálculo. Lo que quieras hacerle a esa celda, deberás hacerlo mediante un comando.

¿Por qué mediante comandos?

Porque en el proceso de modificar el contenido de la base de datos, no sólo está involucrado el hecho de alterar valores, textos, etc., sino también de mantener un orden, de evitar duplicados si es el caso, de llevar un control de índices y todavía más importante, administrar los accesos a la base de datos en ambientes multiusuario, es decir, admitir peticiones simultáneas a la base de datos y encargarse de realizarlas una por una de modo que no choquen entre ellas. Si en cambio ingresáramos información libremente sin cuidar estos aspectos, muy rápidamente quedaría hecha un desastre, los índices corruptos, y los datos no estarían ingresados bajo una misma norma, sino cada quien lo haría como quisiera.

¿Qué son Tablas?

Cada tabla es una matriz, cuyas columas se llaman "Campos" y cuyos renglones se llaman "Registros". Las tablas tienen llaves, las cuales son registradas en el índice de la tabla, de modo que ante una búsqueda, se acelera por mucho encontrar el o los registros buscados. Gracias a las llaves, se pueden evitar registros duplicados si se desea eso, pero simultáneamente las llaves permiten que los datos mantengan una organización especial y localización rápida mediante los índices.

Una o más tablas pueden existir dentro de una base de datos. En general no hay límite en el número de tablas dentro de una base de datos. Una base de datos es más que suficiente para toda una empresa. Muy rara vez es necesario crear varias bases de datos para una empresa. El criterio para decidir si se hacen más bases de datos es simplemente preguntarnos si la información nueva o en cuestión, tiene relación de alguna manera con los datos existentes. Si no la tiene, entonces esos datos van en otra base de datos. Si en un futuro quisieran relacionarse varias bases de datos, siempre es posible hacerlo mediante programación específica.

Relaciones entre Tablas

Esta es una cualidad inherente a las bases de datos. Poder realizar operaciones combinando tablas que tienen algo en común. Por ejemplo. En una tabla habrían nombres de personas con su domicilio y demás datos personales incluyendo su número de credencial del IFE, del IMSS o RFC. Otra tabla puede contener las compras realizadas por estas personas, pero en esta segunda tabla de "compras", no figura más que el RFC. No necesitamos registrar más datos del cliente porque esos ya los tenemos. Si quisiéramos producir un listado de compras realizadas por ciudad de origen, conectaríamos ambas tablas a través del RFC y esto nos daría un listado muy grande, pero que con los comandos para procesar bases de datos, fácilmente tendríamos agrupados cuántos productos de qué tipo se fueron a qué ciudad con una idea clara de que se compra más en qué lugar.

Sólo se requiere pensar qué queremos y plantear el arreglo de tablas a fin de obtener el manejo de datos que queremos.

SQL y MySQL

Structured Query Language es un concepto tan útil para manejar datos de manera sistemática, que su uso dio origen al standard ANSI y al año siguiente el mismo pero ISO.

Son comandos para todo lo que tenga que ver con bases de datos, como: crear una base, crear sus tablas con sus campos del tipo necesario; modificar la estructura de una tabla, alimentarla con datos, hacerle consultas y extraer resultados, borrarle datos, reemplazarle datos, etc.

Aunque los comandos son sencillos, resulta prácticamente imposible estarlos escribiendo para fines prácticos. Lo que se hace más comunmente, es que un programa mande los comandos al "Servidor" de base de datos. Este programa forma las pantallas de captura y de reportes, lo capturado lo acomoda en los comandos para la base de datos y lo consultado es preparado para ser desplegado en los reportes.

Si un programador decidiera acomodar sus datos a su gusto, tendría que diseñar un sistema propio de base de datos y al caminar en esa tarea se encontraría "re-inventando la rueda" y creando sus propios comandos SQL para administrar su base de datos "propia".

Muchas empresas han re-inventado esta rueda y han llegado a la misma conclusión. Por eso existe el standard SQL porque son conclusiones comunes de todos los fabricantes como IBM y Oracle.

De los fabricantes de sistemas de base de datos salieron productos tradicionalmente costosísimos y que sólo estaban al alcance de empresas con suficiente poder económico

En paralelo con estas craciones tan importantes , la PC seguía su camino penetrando todos los rincones del mundo, hasta el hogar, la escuela y la oficina más modesta. La necesidad de organizar datos hizo que se crearan sistemas de bases de datos no SQL, sino más primitivos, más rudimentarios como dBase, FoxBase, Paradox y Access, todavía a precios elevados, aunque más baratos que los poderosos SQL de IBM, Oracle y Microsoft

La tecnología OPEN SOURCE, tuvo que nuevamente poner su huella, pero ahora el tema de Bases de Datos SQL y volverlas accesible A TODO MUNDO.

Una compañía sueca, dedicada a los estudios estadísticos necesitó su propio desarrollo bajo esquemas de SQL. Siguió el Standard ISO, aunque desde su punto de vista, ciertas restricciones del standard debían ser solucionadas con funciones más flexibles. Así nació MySQL, producto desestimado por muchos porque al leer "My" al principio, piensan que es un juguete, pero la misma Oracle tiene serios problemas para mantener a raya al sistema prácticamente más potente del mundo en estos días: MySQL, potente no solamente en su capapcidad de procesamiento, la cual no ha hallado límites. Google utiliza MySQL y nos consta a todos lo velozmente que Google procesa peticiones que arrojan resultados de decenas de millones de registros

MySQL

Es actualmente la base de datos más potente y con capacidades comprobadas por su velocidad y capacidad de proceso, día a día poniendose a prueba en el mismo Google y muchísimas empresas y organizaciones más que puedes encontrar aquí:http://www.mysql.com/customers/

Maneja un esquema de licencias dual, según los fines para los que se usa, de modo que siempre es posible usarla de manera gratuita para creaciones Open Source bajo licencia GPL o mediante compra de licencia comercial si se planea vender bajo código cerrado.

La realidad es que las necesidades para procesar datos son tan grandes, que toda empresa debería tener un MySQL a la mano de preferencia fuera del alcance de los peligros y de los curiosos, pues siempre es un riesgo tener datos en una computadora que no está bien cuidada, que no cuenta con respaldos y que no tiene un adminisrador dedicado.

Lo más correcto es tener el server MySQL en un servicio de Hosting dedicado, con aire acondicionado, fuente de energía de respaldo, sistema de respaldo de datos en cinta, ingenieros o técnicos para monitorear el estado de la base de datos y atender situaciones de corrupción de indices que se presentan durante los desarrollos de sistemas, debido a olvidos al cerrar las tablas correctamente. De esta manera, la empresa puede dedicarse a trabajar con sus datos desde cualquier lugar del mundo, permitiendo que clientes y proveedores se integren mejor a su empresa vía internet, con la tranquilidad de que sus datos no están al alcance de virus, de apagones, de intrusos y demás riesgos que sí existen abajo de cualquier escritorio.

El hecho de que haya acceso a la base de datos vía internet, no significa que cualquier puede llegar a alterar información. El acceso vía internet se hace mediante programas hechos a la medida para cada función y quien tenga acceso a la base de datos tiene sólo los permisos otorgados, sea para consultar una parte de la base de datos, para ingresar sólo cierto tipo de datos, pero nunca se otorgan permisos para tocar toda la base de datos.

El acceso vía internet, cuenta con excelentes mecanismos de seguridad y de autenticación de datos para garantizar que quien solicite cambios a la base de datos se identifique plenamente sea con certificado digital, llaves encriptadas, confirmaciones vía email, preguntas secretas sólo conocidas por quien registró la cuenta. Como siempre, los riesgos deben minimizarse solicitando al usuario renovación de claves periódicas o interminables mecanismos para complicar aún más el acceso de intrusos. Uno muy bueno se relaciona con la transferencia en forma paralela de fondos bancarios, que indica quien pide cierta operación vía internet, está confirmando su aceptación con un pago.


En la siguiente edición #7:

Web Servers


Apdo. Postal 321, C.P. 76800. San Juan del Río, Qro. México. (427)-271-2003
ESH Powered by Energia SH