Fundamentos de bases de datos con PHP - Tablas, campos y registros

Fundamentos de bases de datos con PHP - Tablas, campos y registros
COMPÁRTELO:

Con las bases de datos le pediremos al programa interprete de PHP que haga de "intermediario" entre la base de datos y nuestras páginas que mostraran o proporcionan esos datos (según en qué sentido los hagamos circular).

De la misma forma que con los archivos de texto, contamos con numerosas funciones de PHP predefinidas, capaces de abrir una conexión con una base de datos, de escribir o leer datos allí guardados, de traspasarlos a una matriz, y otras funciones muy prácticas que nos facilitan la interacción con la información que almacenemos en la base de datos.

PHP envía datos a MySQL Insertar datos a MySQL

Diferencia entre archivos de texto y bases de datos: el lenguaje SQL

La principal diferencia entre almacenar la información en un archivo de texto y hacerlo en una base de datos es la estructuración y posterior manipulación que podemos hacer con los datos.

Es mucho más fácil trabajar con filas que posean varias columnas en una base de datos, que en un archivo de texto; también es más fácil buscar y encontrar determinadas filas ordenadas, cuyo valor en algunos de sus campos cumpla con una determinada condición dentro de una base de datos; puesto que el acceso es más rápido y seguro, y se puede administrar un gran (enorme) volumen de datos con mayor facilidad.

En cambio, en un archivo de texto, lo máximo que podemos hacer es utilizar un carácter como separador entre dato y dato (una rudimentaria aplicación del concepto de campos o columnas propio de las bases de datos), y mientras que nuestras únicas operaciones posibles son: "agregar" unos caracteres o un renglón al principio o la final del archivo; "reemplazar" el contenido completo del archivo; "leer" secuencialmente una cantidad de caracteres o el archivo completo; todas operaciones basadas en la ubicación física de los datos (necesitamos saber en qué renglón esta el dato que buscamos); en una base de datos, contamos con muchísimas más herramientas proporcionadas por el software gestor de la base (en nuestro caso, el programa denominado MySQL)

La principal herramienta diferenciadora que nos ofrece un gestor de bases de datos su capacidad para interpretar un lenguaje declarativo que permite la ejecución de diversas operaciones sobre una base de datos. En el caso de MySQL, el lenguaje declarativo se llama SQL (Structured Query Languege o Lenguaje de Consultas Estructurado).

Gracias a este lenguaje, expresamos que datos exactos necesitamos en una forma declarativa, cercana al lenguaje natural que utilizamos para hablar entre personas (aunque debemos utilizar palabras especificas del idioma inglés), y será el software gestor (MySQL) el que se ocupara de realizar aquellas operaciones "físicas" sobre le archivo que almacene los datos, liberándonos de la tediosa tarea de tener que programar en ese nivel tan bajo de manipulación de archivo, renglón por renglón, dentro del disco rígido.

Expresamos una frase parecida a la siguiente: "Traer la lista de los productos que pertenezcan a la categoría electrodomésticos ordenado de menor precio a mayor precio", y el software MySQL hará todo el resto del trabajo por nosotros.

¿Para qué necesitamos lidiar con base de datos en nuestra web?

Porque prácticamente todos los sitios web medianos o grandes, todos los portales, los sitios de noticias que se actualizan al instante y las redes sociales las utilizan para almacenar los contenidos de sus páginas, contenidos elaborados por personas ubicadas en cualquier parte del mundo, que se agregan a la base de datos mediante un formulario, y que, sin que ningún diseñador necesite darles formato, quedan publicados instantáneamente.

Esta "magia" es posible gracias a las bases de datos (y al lenguaje SQL).

Otros usos sumamente habituales son: buscar dentro de los contenidos de esas paginas, almacenar los datos de los usuarios registrados en un sitio, recoger sus opciones mediante encuestas, guardar mensajes de un foro, comentarios dejados en un libro de visitas o un blog, mostrar productos de un catalogo de comercio electrónico, las actividades diarias de una agenda, los contactos de una libreta de direcciones, los elementos de un portal, un campus virtual, y un casi infinito etcétera.

Estos usos aplican las funcionalidades que podemos incluir en nuestros sitios web, abriéndonos nuevos mercados, al permitirnos ofrecer servicios que son imposibles sin base de datos.

Programas que utilizamos

Los nuevos programas implicados serán, en nuestro caso, dos:

  1. El programa gestor de bases de datos denominados MySQL (un programa que si bien originalmente funciona mediante líneas de comandos, nunca lo usamos de esta forma); y,
  2. Justamente, para facilitarnos la interacción con el programa anterior, utilizamos una interfaz o series de pantallas donde podemos interactuar con la base de datos a partir de herramientas visuales; nosotros emplearemos phpMyAdmin, aunque podemos investigar también MySQL front; MySQL Administrador, HeidiSQL, o cualquier otra interfaz visual para MySQL.

Ambos programas (MySQL y phpMyAdmin) ya los tenemos instalado si hemos utilizado un instalador como XAMPP, EASYPHP, APPSERV o similares.

Por medio de estos dos programas, lo que realmente estamos ejecutando son consultas escritas en lenguaje SQL.

Conceptos fundamentales: base, tabla, registro y campo

Vamos a ponernos de acuerdo con el vocabulario: no es lo mismo una base que una tabla, ni es lo mismo un registro que un campo. Veamos las diferencias.

Base de datos

Nuestro gestor de base de datos MySQL nos permitirá crear tantas bases de datos como proyectos necesitemos (y como espacio tengamos en nuestro disco rígido, o en el hosting que utilicemos).

Conceptualmente, una base de datos es un "paquete" que contiene toda la información necesaria para el funcionamiento de un sistema o proyecto completo.

Por ejemplo, una base de datos llamada "tienda" puede almacenar todos los datos de un sistema de comercio electrónico (incluyendo datos sobre las productos, las ventas, el inventario, la facturación, las formas de pago, las formas de envió, etc.), cada base de datos es un almacén donde se guarda información sobre un conjunto completo de información relacionada, necesaria para que un sistema completo funcione.

Físicamente, cada nueva base de datos en MySQL crea un directorio o carpeta que contendrá los archivos de datos de esa base, Al igual que sucede en la relación entre carpetas y archivos, por si sola, la base no significa nada, es similar a una carpeta, un simple contenedor.

Lo que guarda la información son los objetos que tiene almacenados adentro. Pues bien: la información dentro de las base de datos se guarda en tablas (las bases de datos son simplemente conjuntos de tablas).

Tablas

Volviendo al ejemplo de la base de datos de una "tienda", esta base podría contener las siguientes tablas:

  • Producto
  • Categorías
  • Usuarios
  • Pedidos
  • Envíos
  • Pagos

Es decir, cada uno de los conceptos sobre los cuales necesitamos guardar datos corresponderá a una tabla. Por ejemplo, crearemos una tabla para los "productos", ya que la información que tenemos acerca de cada producto comparte una misma estructura: tendremos un nombre para cada producto, una descripción, un precio, una cantidad disponible, etc.

Todas los contenidos de una misma tabla deben compartir la misma estructura.

Campos

La estructura de una tabla se define por la cantidad de campos en que fraccionemos la información que guarda.

Los posibles campos (podemos imaginarlos como "columnas" de una planilla de calculo) para una tabla de –por ejemplo- "productos", podrían ser el código de productos, el nombre del producto, su descripción, la categoría a la que pertenecen, el precio, etc.

Cada campo tendrá definido un tipo de dato que limitara lo que podrá almacenarse en el (datos numéricos, alfanuméricos, fecha, etc.) y , también le definiremos a cada campo una longitud máxima (el "ancho" de la columna, siguiendo el ejemplo de una planilla); es decir, la cantidad máxima de caracteres que prevenimos almacenar en ese campo.

Registros

Cada ítem de esta tabla (cada "producto", en el ejemplo anterior) se almacenara en un registro (una fila horizontal, un renglón).

Cambiamos de ejemplo, y veamos los elementos de una tabla dedicada a almacenar "mensajes" que los usuarios enviaron mediante un formato:

id nombre email mensaje
1 Juan Pérez juan@perez.com ¡Hola amigos!
2 Carlos García carlosgarcia@hotmail.com Saludos desde América
3 María González mgonzalez@gmail.com Me gusta PHP

Lo que vemos en la primera fila (los títulos en negrita) representan lo que seria la estructura de la tabla: en este caso, que información se guardara relativa a cada "mensaje" (ya que estamos ante una tabla llamada "mensajes").

En el ejemplo, hemos decidido estructurar la información en cuatro columnas: "id", "nombre", "email" y "mensaje".

A estas columnas se las denomina campos (se dice: el campo "id", el campo "nombre", el campo "email" y el campo "mensaje"):

id nombre email mensaje

Luego, cada fila (horizontal) representa un dato completo o un registro, es decir, la suma de todos los campos (la información completa que se dispone) sobre uno de los "mensajes" recibidos y sobre uno de los objetos acerca de los cuales almacenamos información.

La fila 1 (el primer registro) contiene los datos del primer mensaje (el de Perez):

1 Juan Pérez juan@perez.com ¡Hola amigos!

La fila 2 (el segundo registro) tiene los datos del mensaje de Garcia:

2 Carlos García carlosgarcia@hotmail.com Saludos desde América

Y así sucesivamente.

Entonces, en resumen:

  • Una base de datos contiene una o más tablas.
  • Una tabla se estructura en campos (columnas).
  • Cada fila o renglón se llama registro.

Ya fijaremos estos conceptos a medida que los sigamos ejercitando.

Compártelo:

Profesor de la Universidad de Guadalajara

Hugo Delgado Desarrollador y Diseñador Web en Puerto Vallarta

Profesional en Desarrollo y Posicionamiento Web desde hace más de 10 años continuos.
Contamos con más de 200 constancias y reconocimientos en la trayectoria Académica y Profesional, incluidos diplomados certificados por Google.

ARTÍCULOS POPULARES:

4 Comentarios en "Fundamentos de bases de datos con PHP - Tablas, campos y registros"

  1. akus

    Hola Richard, para las imágenes y archivos comprimidos en zip es recomendable el campo BLOB. Dale una leí­da al artí­culo Tipos de datos en MySQL: http://disenowebakus.net/tipos-de-datos-mysql.php

  2. Richard

    para una campo donde deseo guardar una imagaen que tipo de dato debo de ponerle

  3. akus

    A tus órdenes Adrián. Puedes ponerte en contacto conmigo ví­a e-mail: info@disenowebakus.net, saludos.

  4. Adrian

    Quiero contactar contigo..me estoy iniciando en base de datos PHP y MySQL

 

Deja un Comentario

Recomendado para ti: