Una tabla es un sistema de elementos de datos (atributo -
valores) que se organizan que usando un modelo vertical - columnas (que son
identificados por su nombre)- y horizontal filas. Una tabla tiene un número
específico de columnas, pero puede tener cualquier número de filas. Cada fila
es identificada por los valores que aparecen en un subconjunto particular de la
columna que se ha identificado por una llave primaria. Una tabla de una base de
datos es similar en apariencia a una hoja de cálculo, en cuanto a que los datos
se almacenan en filas y columnas. Como consecuencia, normalmente es bastante
fácil importar una hoja de cálculo en una tabla de una base de datos. La
principal diferencia entre almacenar los datos en una hoja de cálculo y hacerlo
en una base de datos es la forma de organizarse los datos.
MySQL soporta varios motores de almacenamiento que tratan
con distintos tipos de tabla. Los motores de almacenamiento de MySQL incluyen
algunos que tratan con tablas transaccionales y otros que no lo hacen:
MyISAM: trata tablas no transaccionales. Proporciona
almacenamiento y recuperación de datos rápida, así como posibilidad de
búsquedas fulltext. MyISAM se soporta en todas las configuraciones MySQL, y es
el motor de almacenamiento por defecto a no ser que tenga una configuración
distinta a la que viene por defecto con MySQL.
El motor de almacenamiento MEMORY:
Proporciona tablas en memoria. El motor de almacenamiento
MERGE permite una colección de tablas MyISAM idénticas ser tratadas como una
simple tabla. Como MyISAM, los motores de almacenamiento MEMORY y MERGE tratan
tablas no transaccionales y ambos se incluyen en MySQL por defecto.
Los motores de almacenamiento InnoDB y BDB:
Proporcionan tablas transaccionales. BDB se incluye en la
distribución binaria MySQL-Max en aquellos sistemas operativos que la soportan.
InnoDB también se incluye por defecto en todas las distribuciones binarias de
MySQL 5.0. En distribuciones fuente, puede activar o desactivar estos motores
de almacenamiento configurando MySQL a su gusto.
El motor de almacenamiento EXAMPLE:
Es un motor de almacenamiento 'tonto' que no hace nada.
Puede crear tablas con este motor, pero no puede almacenar datos ni
recuperarlos. El objetivo es que sirva como ejemplo en el código MySQL para
ilustrar cómo escribir un motor de almacenamiento. Como tal, su interés
primario es para desarrolladores.
NDB Cluster:
Es el motor de almacenamiento usado por MySQL Cluster
para implementar tablas que se particionan en varias máquinas. Está disponible
en distribuciones binarias MySQL-Max 5.0. Este motor de almacenamiento está
disponible para Linux, Solaris, y Mac OS X. Los autores mencionan que se
añadirá soporte para este motor de almacenamiento en otras plataformas,
incluyendo Windows en próximas versiones.
El motor de almacenamiento ARCHIVE:
Se usa para guardar grandes cantidades de datos sin
índices con una huella muy pequeña.
El motor de almacenamiento CSV:
Guarda datos en archivos de texto usando formato de
valores separados por comas.
El motor de almacenamiento FEDERATED:
Se añadió en MySQL 5.0.3. Este motor guarda datos en una
base de datos remota. En esta versión sólo funciona con MySQL a través de la
API MySQL C Client. En futuras versiones, será capaz de conectar con otras
fuentes de datos usando otros drivers o métodos de conexión clientes.
La versión 5 de MySQL crea por defecto tablas InnoDB que
permiten el manejo de integridad referencial, transacciones. Al igual que las
tablas regulares de Oracle. Para saber si el gestor de base de datos de MySQL
que tenemos las soporta es necesario ejecutar la siguiente sentencia.
SHOW VARIABLES like '%innodb%';
Comando Describe: MySQL proporciona este comando que
resulta útil para conocer la estructura de una tabla, las columnas que la
forman y su tipo y restricciones. La sintáxis es la siguiente:
DESCRIBE nombre Tabla. DESCRIBE f1;
Comando SHOW TABLES y SHOW CREATE TABLE: El comando
SHOW TABLES muestra las tablas dentro de una base de datos y SHOW CREATE TABLES
muestra la estructura de creación de la tabla.
Tablas Temporales: Las tablas temporales solo
existen mientras la sesión está viva. Si se corre este código en un script de
PHP (Cualquier otro lenguaje), la tabla temporal se destruirá automáticamente
al término de la ejecución de la página. Si no específica MEMORY, la tabla se
guardará por defecto en el disco.
CREATE TEMPORARY TABLE temporal (ife INTEGER (13) PRIMARY
KEY,nombre CHAR (30) NOT NULL UNIQUE);
Este tipo de tabla solo puede ser usada por el usuario
que la crea. Si creamos una tabla que tiene el mismo nombre que una existente
en la base de datos, la que existe quedará oculta y trabajaremos sobre la
temporal.
Tablas Memory (Head): Se almacenan en memoria, una
tabla head no puede tener más de 1600 campos
Las tablas MEMORY: usan una longitud de registro
fija. MEMORY no soporta columnas BLOB o TEXT. MEMORY en MySQL 5.0 incluye
soporte para columnas AUTO_INCREMENT e índices en columnas que contengan
valores NULL. Las tablas MEMORY se comparten entre todos los clientes (como
cualquier otra tabla no-TEMPORARY).
CREATE TEMPORARY TABLE temporal (ife INTEGER (13) PRIMARY
KEY, nombre CHAR (30) NOT NULL UNIQUE) ENGINE = MEMORY;
Modificación: Esta operación se puede realizar con
el comando ALTER TABLE. Para usar ALTER TABLE, necesita permisos ALTER, INSERT
y CREATE para la tabla. La sintaxis para MySQL es ALTER [IGNORE] TABLE
tbl_name
No hay comentarios:
Publicar un comentario