Unidad 2
Arquitectura del
gestor
2.1. Características del DBMS
Control de la redundancia de datos
Este consiste en lograr una mínima cantidad de espacio de almacenamiento para almacenar los datos evitando la duplicación de la información. De esta manera se logran ahorros en el tiempo de procesamiento de la información, se tendrán menos inconsistencias, menores costos operativos y hará el mantenimiento más fácil.
Compartimiento de datos
Una de las principales características de las bases de datos, es que los datos pueden ser compartidos entre muchos usuarios simultáneamente, proveyendo, de esta manera, máxima eficiencia.
Mantenimiento de la integridad
La integridad de los datos es la que garantiza la precisión o exactitud de la información contenida en una base de datos. Los datos interrelacionados deben siempre representar información correcta a los usuarios.
Soporte para control de transacciones y recuperación de fallas.
Se conoce como transacción toda operación que se haga sobre la base de datos. Las transacciones deben por lo tanto ser controladas de manera que no alteren la integridad de la base de datos. La recuperación de fallas tiene que ver con la capacidad de un sistema DBMS de recuperar la información que se haya perdido durante una falla en el software o en el hardware.
Independencia de los datos.
En las aplicaciones basadas en archivos, el programa de aplicación debe conocer tanto la organización de los datos como las técnicas que el permiten acceder a los datos. En los sistemas DBMS los programas de aplicación no necesitan conocer la organización de los datos en el disco duro. Este totalmente independiente de ello.
Seguridad
La disponibilidad de los datos puede ser restringida a ciertos usuarios. Según los privilegios que posea cada usuario de la base de datos, podrá acceder a mayor información que otros.
Velocidad
Los sistemas DBMS modernos poseen altas velocidades de respuesta y proceso.
Independencia del hardware
La mayoría de los sistemas DBMS están disponibles para ser instalados en múltiples plataformas de hardware.
Este consiste en lograr una mínima cantidad de espacio de almacenamiento para almacenar los datos evitando la duplicación de la información. De esta manera se logran ahorros en el tiempo de procesamiento de la información, se tendrán menos inconsistencias, menores costos operativos y hará el mantenimiento más fácil.
Compartimiento de datos
Una de las principales características de las bases de datos, es que los datos pueden ser compartidos entre muchos usuarios simultáneamente, proveyendo, de esta manera, máxima eficiencia.
Mantenimiento de la integridad
La integridad de los datos es la que garantiza la precisión o exactitud de la información contenida en una base de datos. Los datos interrelacionados deben siempre representar información correcta a los usuarios.
Soporte para control de transacciones y recuperación de fallas.
Se conoce como transacción toda operación que se haga sobre la base de datos. Las transacciones deben por lo tanto ser controladas de manera que no alteren la integridad de la base de datos. La recuperación de fallas tiene que ver con la capacidad de un sistema DBMS de recuperar la información que se haya perdido durante una falla en el software o en el hardware.
Independencia de los datos.
En las aplicaciones basadas en archivos, el programa de aplicación debe conocer tanto la organización de los datos como las técnicas que el permiten acceder a los datos. En los sistemas DBMS los programas de aplicación no necesitan conocer la organización de los datos en el disco duro. Este totalmente independiente de ello.
Seguridad
La disponibilidad de los datos puede ser restringida a ciertos usuarios. Según los privilegios que posea cada usuario de la base de datos, podrá acceder a mayor información que otros.
Velocidad
Los sistemas DBMS modernos poseen altas velocidades de respuesta y proceso.
Independencia del hardware
La mayoría de los sistemas DBMS están disponibles para ser instalados en múltiples plataformas de hardware.
- · Area Global del sistema (SGA), la cual se comparte entre todos los servidores y los procesos en segundo plano.
- · Áreas globales de programas (PGA), que es privada para cada servidor y proceso en segundo planos; a cada proceso se asigna un PGA.
- · Área de Ordenaciones (Sort Areas).
- · Memoria Virtual
- · Area de codigo de software.
Cada
instancia está asociada a una base de datos. Cuando se inicia una base de datos
en un servidor (independientemente del tipo de computadora), se le asigna un
área de memoria (SGA) y lanza uno o más procesos. A la combinación del SGA y de
los procesos es lo que se llama instancia. La memoria y los procesos de una
instancia gestionan los datos de la base de datos asociada de forma eficiente y
sirven a uno o varios usuarios.
En una base de datos almacenamos información relevante para nuestro negocio u organización y desde el punto de vista físico, la base de datos está conformada por dos tipos de archivos:
·
Archivos
de datos: contiene los datos de la base
de datos internamente, está compuesto por páginas enumeradas secuencialmente
que representa la unidad mínima de almacenamiento. Cada página tiene un tamaño
de 8kb de información. Existen diferentes tipos de páginas, a tener en cuenta:
Páginas de datos: es el tipo principal de páginas y son las que almacenan los registros
de datos.
Páginas de espacio libre (PFS Page Free Space): almacenan información sobre la ubicación y el tamaño del espacio libre.
Paginas GAM and SGAM: utilizadas para ubicar extensiones.
Páginas de Mapa de Ubicaciones de índices (IAM – Index Allocation Map): contiene información sobre el almacenamiento de páginas de una tabla o índice en particular.
Páginas Índices: Utilizada para almacenar registros de índices.
Páginas de espacio libre (PFS Page Free Space): almacenan información sobre la ubicación y el tamaño del espacio libre.
Paginas GAM and SGAM: utilizadas para ubicar extensiones.
Páginas de Mapa de Ubicaciones de índices (IAM – Index Allocation Map): contiene información sobre el almacenamiento de páginas de una tabla o índice en particular.
Páginas Índices: Utilizada para almacenar registros de índices.
·
Archivo
de Registro de Transacciones: El
propósito principal del registro de transacciones es la recuperación de datos a
un momento en el tiempo o complementar una restauración de copia de respaldo
completa (full backup). El registro de transacciones no contiene páginas, sino
entradas con todos los cambios realizados en la base de datos, como son las
modificaciones de datos, modificaciones de la base de datos y eventos de copia
de seguridad y restauración. El acceso a datos es secuencial, ya que el
registro de transacciones se actualiza en el mismo orden cronológico en el que
se hacen las modificaciones.
Este archivo no puede ser leído por herramientas de usuario de SQL aunque
existen herramientas de terceros que leen este archivo para recuperar los
cambios efectuados. Dependiendo de la versión el registro de transacciones se
utiliza para otros propósitos como por ejemplo bases de datos espejo (mirror) y
transporte remoto de transacciones (log shipping).
Para muchos de los administradores de bases de
datos, la imagen anterior representa la parte lógica y la parte física, donde:
Data File: Los datafiles son los archivos
físicos en los que se almacenan los objetos que forman parte de un tablespace.
Un datafile pertenece solamente a un tablespace y a una instancia de base de
datos. Un tablespace puede estar formado por uno o varios datafiles. Cuando se
crea un datafile, se debe indicar su nombre, su ubicación o directorio, el
tamaño que va a tener y el tablespace al que va a pertenecer. Además, al
crearlos, ocupan ya ese espacio aunque se encuentran totalmente vacíos, es
decir, Oracle reserva el espacio para poder ir llenándolo poco a poco con
posterioridad. Por supuesto, si no hay sitio suficiente para crear un archivo
físico del tamaño indicado, se producirá un error y no se creará dicho archivo.
Antes de instalar cualquier SGBD es necesario conocer los requerimientos de hardware y software, el posible software a desinstalar previamente, verificar el registro de Windows y el entorno del sistema, así como otras características de configuración especializadas como pueden ser la reconfiguración de los servicios TCP/IP y la modificación de los tipos archivos HTML para los diversos navegadores.
Se presenta a continuación una serie de requerimientos mínimos de hardware y software para instalar oracle 11g Express y MySQL estándar versión 5.1. en Windows Seven y Ubuntu 10.
2.1.4 Instalación
del software de BD en modo transaccional
Debido al constante crecimiento de datos que generan las empresas hoy en día, se ha vuelto muy necesaria la búsqueda de nuevas plataformas para almacenar y analizar la información, ambientes que consuman menos recursos, que sean más escalables y que provean una alta disponibilidad. La solución consiste en el procesamiento paralelo de los datos de una base de datos.
Una
base de datos en modo transaccional significa que la BD será capaz de que las
operaciones de inserción y actualización se hagan dentro de una transacción, es
un componente que procesa información descomponiéndola de forma unitaria en
operaciones indivisibles, llamadas transacciones, esto quiere decir que todas
las operaciones se realizan o no, si sucede algún error en la operación se
omite todo el proceso de modificación de la base de datos, si no sucede ningún
error se hacen toda la operación con éxito.
Una
transacción es un conjunto de líneas de un programa que llevan insert o update
o delete. Todo aquél software que tiene un log de transacciones (que es la
"bitácora" que permite hacer operaciones de commit o rollback),
propiamente es un software de BD; aquél que no lo tiene (v.g. D-Base),
propiamente no lo es. Todo software de base de datos es transaccional; si el
software de la BD no es "transaccional", en realidad NO es un "software"
de BD; en todo caso, es un software que emula el funcionamiento de un verdadero
software de BD. Cada transacción debe finalizar de forma correcta o incorrecta
como una unidad completa. No puede acabar en un estado intermedio.
Se
usan los siguientes métodos:
· Begin TRans para iniciar la
transacción
· CommitTrans para efectuar los cambios
con éxito
· RollbackTrans para deshacer los
cambios
Y
depende que base de datos uses para efectuar las operaciones pero, es la misma
teoría para cualquier BD.
Instalación
de MySQl en Windows 7
1. Comprobar que no existe una versión
anterior, si existe desinstalarla.
2. Descargar el archivo de instalación, en
nuestro caso MySQL Enterprise.
3. Ejecute el archivo:
4. Procesa a instalar en el modo por defecto.
Es necesario tener conexión a Internet
6. Es este punto se configura como se
comportará nuestro servidor y el servicio. Además se descargan e instalan los
paquetes necesarios.
7. Ahora proceda a configurar MySQL Workbench;
es una herramienta visual de diseño de bases de datos que integra desarrollo de
software, administración de bases de datos, diseño de bases de datos, creación
y mantenimiento para el sistema de base de datos MySQL. Es el sucesor de
DBDesigner 4 de fabFORCE.net, y reemplaza el anterior conjunto de software,
MySQL GUI Tools Bundle.
En
MySQL 5.x se soporta por defecto el modo transaccional mediante el motor InnoDB
Dos
recursos basados en disco muy importantes que gestiona el motor de
almacenamiento InnoDB son sus archivos de datos de espacios de tablas y sus
archivos de registro (log).
Si
no se especifican opciones de configuración para InnoDB, MySQL 5.0 crea en el
directorio de datos de MySQL un archivo de datos de 10MB (autoextensible)
llamado ibdata1 y dos archivos de registro (log) de 5MB llamados ib_logfile0 e
ib_logfile1.
2.1.5 Variables de
Ambiente y archivos importantes para instalación.
Variable: Es un espacio en memoria al cual se le da un
nombre Hay variables específicas que se crean al momento de entrar al sistema,
pero también hay variables que pueden ser definidas por el usuario. Las
variables son una forma de pasar información a los programas al momento de
ejecutarlos.
Variables
de Ambiente: Se usan
para personalizar el entorno en el que se ejecutan los programas y para
ejecutar en forma correcta los comandos del shell.
Toman su valor inicial
generalmente de un archivo .profile, pero hay veces en que el usuario tiene que
modificar los valores de alguna variable de ambiente cuando está tratando de
instalar o ejecutar un nuevo programa
A continuación se comentan las opciones
más utilizadas de la sección mysqld (afectan al funcionamiento del servidor
MySQL), se almacenan en el archivo my.cnf (o my.ini)
basedir =
ruta: Ruta a la raíz MySQL
console: Muestra los errores por consola independientemente
de lo que se configure para log_error.
datadir =
ruta: Ruta al directorio de datos.
default-table-type
= tipo: Tipo de la Tabla InnoDB o,
MyISAM.
flush: Graba en disco todos los comandos SQL que se
ejecuten (modo de trabajo, sin transacción).
general-log
= valor: Con valor uno, permite que
funcione el archivo LOG para almacenar las consultas realizadas.
general-log-file
= ruta: Indica la ruta al registro
general de consultas.
language: Especifica el idioma de los lenguajes de error,
normalmente esots archivos de lenguaje, están bajo /usr/local/share.
log-error
= ruta: Permite indicar la ruta al
registro de errores.
log =
ruta: Indica la ruta al registro de
consultas.
long-query-time
= n: Segundos a partir de los cuales
una consulta que tardes más, se considerará una consulta lenta.
og-bin =
ruta: Permite indicar la ruta al
registro binario.
pid-file
= ruta: Ruta al archivo que almacena el
identificador de proceso de MySQL.
port =
puerto: Puerto de escucha de MySQL.
skip-grant-tables: Entra al servidor saltándose las tablas de
permisos, es decir todo el mundo tiene privilegios absolutos.
skip-networking: El acceso a MySQL se hará solo desde el servidor
local.
slow-query-log
= 0|1: Indica si se hace LOG de las
consultas lentas.
slow-query-log-file
= ruta: Ruta al archivo que hace LOG de
las consultas lentas.
socket =
ruta: Archivo o nombre de socket a
usar en las conexiones locales.
standalone: Para Windows, hace que el servidor no pase a ser
un servicio.
user =
usuario: Indica el nombre de usuario con
el que se iniciará sesión en MySQL.
tmpdir =
ruta: Ruta al directorio para archivos
temporales.
Archivos
LOG en MySQL
Hay cuatro registros (logs):
Registro de Errores (Error Log): Indica cuando arrancó y se detuvo el servidor. Se
graba por defecto en la carpeta de datos de MySQL (archivo host_name.err, donde
host_name es el nombre del servidor), pero la variable de sistema log_error
permite indicar otra ruta si fuera necesario.
Registro General de Consultas
(General Log File): Está en
la carpeta de datos de MySQL, salvo que se indique la variable
general-log-file. Contiene las consultas realizadas. Es el archivo
host_name.log.
Registro Binario (Binary Log): Registra instrucciones DML. Los archivos binarios
se almacenan por defecto en el directorio de datos. Sirve para intentar
restaurar una base de datos en caso de desastre. Es binario, por lo que su
manejo es complicado, para ver el contenido se usa la utilidad mysqlbinlog de
esta forma: mysqlbinlog archivoLOG
Registro de Consultas Lentas
(Slow Query Log File): Registra
las consultas que tardaron más del tiempo mínimo establecido. El archivo está
(salvo quese especifique slow-log-file como parámetro) en la carpeta de datos
de MySQL con el nombre host_name-slow.log
2.1.6 Procedimiento general de instalación de un DBMS
MySQL Enterprise Edition
MySQL Enterprise
Edition incluye el conjunto más completo de características avanzadas y
herramientas de gestión para alcanzar los más altos niveles de escalabilidad,
seguridad, fiabilidad y tiempo de actividad. Reduce el riesgo, costo y
complejidad en el desarrollo, implementación y administración de aplicaciones
críticas de negocio MySQL.
El MySQL
Enterprise incluye las siguientes opciones:
Backup: Realiza copias de seguridad de
bases de datos MySQL en línea, de los subconjuntos de tablas InnoDB, y la
recuperación mediante puntos de restauración.
Alta Disponibilidad: es proporcionada con soluciones
certificadas que incluyen replicación de MySQL.
Escalabilidad: permite alcanzar el rendimiento
sostenido y la escalabilidad de cada vez mayor de usuarios, consulta, y las
cargas de datos
MySQL Enterprise Security: Proporciona listas para utilizar
los módulos de autenticación externos para integrar fácilmente las
infraestructuras existentes de seguridad, incluyendo Pluggable Authentication
Modules y el directorio activo de Windows
MySQL Enterprise Monitor: supervisa continuamente su base
de datos y de forma proactiva le asesora sobre cómo implementar las mejores
prácticas de MySQL, incluyendo consejos y alertas de seguridad
MySQL Query Analyzer: Mejora el rendimiento de las
aplicaciones mediante el control de rendimiento de las consultas y precisa
localización de código SQL que está causando una desaceleración
MySQL Workbench: Cuenta con ofertas de modelado de
datos, desarrollo de SQL y herramientas de administración integral para la
administración del servidor de configuración del usuario, y mucho más.
El proceso de
instalación es muy simple y prácticamente no requiere intervención por parte
del usuario.
Cada
vez que veo la pantalla de la GNU GPL me lleno de felicidad. No sólo por las
condiciones y el precio: es además, para mí, una garantía de profesionalidad
Todo listo; presiona Install
cuando quieras.
Estadísticamente, la instalación
típica será la que mejor se adapte a tus necesidades.
Una
vez instalado MySQL, la siguiente fase es la configuración del servidor en sí
mismo. Asegúrate de que la marca Launch the MySQL Instance Configuration Wizard
esté activa.
2.1.7 Procedimiento
para Configuración de un DBMS
Para configurar nuestro DBMS
podemos acceder a las siguientes pantallas, para Oracle o MySQL.
El esquema de una base de datos
(en inglés, Database Schema) describe la estructura de una Base de datos, en un
lenguaje formal soportado por un Sistema administrador de Base de datos (DBMS).
En una Base de datos Relacional, el Esquema define sus tablas, sus campos en
cada tabla y las relaciones entre cada campo y cada tabla.
Oracle generalmente asocia un
'username' como esquemas en este caso SYSTEM y HR (Recursos humanos).
Por otro lado MySQL presenta dos
esquemas information_schema y MySQL ambos guardan información sobre privilegios
y procedimientos del gestor y no deben ser eliminados.
Adelante, sin miedo…
Optamos por Detailed Configuration,
de modo que se optimice la configuración del servidorMySQL
Ha llegado un momento crucial.
Dependiendo del uso que vayamos a darle a nuestro servidor deberemos elegir una
opción u otra, cada una con sus propios requerimientos de memoria. Puede que te
guste la opción Developer Machine, para desarrolladores, la más apta para un
uso de propósito general y la que menos recursos consume. Si vas a compartir
servicios en esta máquina, probablemente Server Machine sea tu elección o, si
vas a dedicarla exclusivamente como servidor SQL, puedes optar por Dedicated
MySQL Server Machine, pues no te importará asignar la totalidad de los recursos
a esta función.
De nuevo, para un uso de
propósito general, te recomiendo la opción por defecto, Multifunctional
Database.
InnoDB es
el motor subyacente que dota de toda la potencia y seguridad a MySQL. Su
funcionamiento requiere de unas tablas e índices cuya ubicación puedes
configurar. Sin causas de fuerza mayor, acepta la opción por defecto.
Esta pantalla nos permite
optimizar el funcionamiento del servidor en previsión del número de usos
concurrentes. La opción por defecto, Decision Support (DSS) / OLAP será
probablemente la que más te convenga.
Deja ambas opciones marcadas, tal
como vienen por defecto. Es la más adecuada para un uso de propósito general o
de aprendizaje, tanto si eres desarrollador como no. Aceptar conexiones TCP te
permitirá conectarte al servidor desde otras máquinas (o desde la misma
simulando un acceso web típico)
Hora de decidir qué codificación
de caracteres emplearás, salvo que quieras empezar a trabajar con Unicode
porque necesites soporte multilenguaje, probablemente Latin1 te sirva (opción
por defecto).
Instalamos MySQL como un servicio
de Windows (la opción más limpia) y lo marcamos para que el motor de la base de
datos arranque por defecto y esté siempre a nuestra disposición. La alternativa
es hacer esto manualmente.
Además, me aseguro de marcar que
los ejecutables estén en la variable PATH, para poder invocar a MySQL desde
cualquier lugar en la línea de comandos.
Pon una contraseña al usuario
root. Esto siempre es lo más seguro.
Si lo deseas, puedes indicar que
el usuario root pueda acceder desde una máquina diferente a esta, aunque debo
advertirte de que eso tal vez no sea una buena práctica de seguridad.
Última etapa, listos para generar
el fichero de configuración y arrancar el servicio.
Sólo damos al botón de Finalizar
y terminamos con la configuración del DBMS.
2.1.8 Comandos Generales de Alta y Baja del DBMS
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
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.
Nota: El motor de almacenamiento MEMORY
anteriormente se conocía como HEAP.
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
alter_specification [,
alter_specification] ...;
alter_specification:
ADD [COLUMN] column_definition
[FIRST | AFTER col_name]
| ADD [COLUMN]
(column_definition,)
| ADD INDEX [index_name]
[index_type] (index_col_name,)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY [index_type]
(index_col_name,)
| ADD [CONSTRAINT [symbol]]
UNIQUE [index_name] [index_type]
(index_col_name,)
| ADD [FULLTEXT|SPATIAL]
[index_name] (index_col_name,)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY [index_name]
(index_col_name,)
[reference_definition]
| ALTER [COLUMN] col_name {SET
DEFAULT literal | DROP DEFAULT}
| CHANGE [COLUMN] old_col_name
column_definition
[FIRST|AFTER col_name]
| MODIFY [COLUMN]
column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO] new_tbl_name
| ORDER BY col_name
| CONVERT TO CHARACTER SET
charset_name [COLLATE collation_name]
| [DEFAULT] CHARACTER SET
charset_name [COLLATE collation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options
No hay comentarios.:
Publicar un comentario