2.

1_ Los sistemas de administración de bases de datos son usados para:
• Permitir a los usuarios acceder y manipular la base de datos proveyendo métodos
para construir sistemas de procesamiento de datos para aplicaciones que requieran
acceso a los datos.
• Proveer a los administradores las herramientas que les permitan ejecutar tareas de
mantenimiento y administración de los datos.
Algunas de sus características son:
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.



Los sistemas de bases de datos relacionales RDBMS (Relational Database Management
System, por sus siglas en Inglés) tales como Oracle, MySQL, SQL Server, PostgreSQL,
Informix, entre otros, le permiten ejecutar las tareas que se mencionan a continuación,
de una forma entendible y razonablemente sencilla:
  Le permiten ingresar datos al sistema.
  Le permiten almacenar los datos.
  Le permiten recuperar los datos y trabajar con ellos.
  Le proveen herramientas para capturar, editar y manipular datos.
  Le permiten aplicar seguridad.
  Le permiten crear reportes e informes con los datos.



2.1.1_ La memoria se puede estructurar en las siguientes partes:

Área 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
j Area de codigo de software.


Instancia de una Base de Datos
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.

Cuando se inicia una instancia El DBMS monta la base de datos, es decir, asocia dicha
instancia a su base de datos correspondiente. En un misma computadora pueden
ejecutarse varias instancias simultáneamente, accediendo cada una a su propia base
de datos física.
Únicamente el administrador de la base de datos puede iniciar una instancia y abrir
una base de datos. Si una base de datos está abierta, entonces el administrador puede
cerrarla y, cuando esto ocurre, los usuarios no pueden acceder a la información que
contiene.






2.1.2_ 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.

  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 auqnue 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.
Cuando se van creando objetos en un tablespace, éstos físicamente se van
almacenando en los datafiles asignados a dicho tablespace, es decir, cuando creamos
una tabla y vamos insertando datos en ella, estos datos realmente se reparten por los
archivos físicos o datafiles que forman parte del tablespace. No se puede controlar en
qué archivo físico se almacenan los datos de un tablespace. Si un tablespace está
formado por 2 datafiles y tenemos una tabla en ese tablespace, a medida que vamos
insertando filas éstas se almacenarán en cualquiera de los dos datafiles
indistintamente, es decir, unas pueden estar en un datafile y otras en otro.
El espacio total disponible en un tablespace es lógicamente la suma de los tamaños
que ocupan los archivos físicos o datafiles que lo forman. Como hemos indicado estos
datafiles, al crearlos, están totalmente vacíos, simplemente es un espacio reservado y
formateado por Oracle para su uso. A medida que se van creando objetos en ellos
como tablas, índices, etc. y se van insertando registros en estas tablas, los datafiles se
van llenando o, lo que es lo mismo, el tablespace se va llenando.
Tienen las siguientes características:
● Un archivo sólo puede estar asociado con una base de datos.
● Los archivos de datos tienen atributos que permiten reservar
automáticamente para ellos extensiones cuando se acaba el espacio.
● Uno o más archivos de datos forman una unidad lógica de almacenamiento
llamada tablespace

Os Block:
Conocidos como Disk Block, estos mapean a los data blocks. A la hora de crear una
nueva base de datos se debe indicar cuántos bloques de sistema operativo formarán
un bloque de datos.






2.1.3 _ 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.
Requerimiento Oracle MySQL
RAM 512 MB 512 MB
Memoria virtual
1
1024 MB 1024 MB
Requerimiento Oracle MySQL
Espacio disco duro 1.5 GB 1 GB
Tamaño máximo de la base de datos 4 GB Sin limite
Sistema Operativo: Windows Server, Windows Seven, Linux, Unix
Arquitectura del Sistema 32/64-bit
Protocolo de red TCP/IP

Protocolo de red TCP/IP con SSL



1 La regla general para determinar el tamaño de la memoria virtual depende del tamaño de
memoria RAM instalada. Si su sistema tiene menos de 4 GB de RAM por lo general el espacio de
intercambio debe ser de al menos dos veces este tamaño. Si usted tiene más de 8 GB de
memoria RAM instalada puede considerar usar el mismo tamaño como espacio de intercambio.
Cuanta más memoria RAM tenga instalada, es menos probable usar el espacio de intercambio, a
menos que tenga un proceso inadecuado.


2.1.4_ 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 las 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.

Una vez que se sabe la forma de ingresar comandos, es el momento de acceder a una
base de datos.

Suponga que en su hogar posee varias mascotas y desea registrar distintos tipos de
información sobre ellas. Puede hacerlo si crea tablas para almacenar sus datos e
introduce en ellas la información deseada. Entonces, podrá responder una variedad de
preguntas acerca de sus mascotas recuperando datos desde las tablas. Los pasos
serían:

• Crear una base de datos
• Crear una tabla
• Introducir datos en la tabla
• Recuperar datos desde la tabla de varias maneras
• Emplear múltiples tablas

La base de datos menagerie (palabra inglesa que en español significa "colección de
animales") se ha hecho deliberadamente simple, pero no es difícil imaginar situaciones
del mundo real donde podría usarse un tipo similar de base de datos. Por ejemplo,
para un granjero que desee hacer el seguimiento de su hacienda, o para los registros
de los pacientes de un veterinario.
Una vez instalado MySQL (disponible en el sitio web de MySQL en formato TAR:

http://downloads.mysql.com/docs/menagerie.tar.gz
Y Zip:

( http://downloads.mysql.com/docs/menagerie.zip)
Se realiza lo siguiente: Mediante la sentencia SHOW se encuentran las bases de datos
que existen actualmente en el servidor:
mysql> SHOW DATABASES;

+----------+
| Database |
+----------+
| mysql |
| test |
| tmp |
+----------+

La lista obtenida puede ser distinta, pero es casi seguro que tendrá las bases de datos
mysql y test. La base de datos mysql es necesaria porque es la que describe los
privilegios de acceso de los usuarios. La base de datos test se provee para que los
usuarios hagan pruebas.

Tenga en cuenta que si no tiene el privilegio SHOW DATABASES, no podrá ver todas
las bases de datos que hay en el servidor. Consulte Sección 13.5.1.3, “Sintaxis de
GRANT y REVOKE”. Si la base de datos test existe, intente acceder a ella:

mysql> USE test
Database changed

Advierta que, al igual que QUIT, USE no necesita que ponga un punto y coma al final
(aunque puede hacerlo si lo desea). La sentencia USE tiene otra particularidad: debe
escribirse en una sola línea.
Puede colocar los ejemplos siguientes en la base de datos test, si tiene acceso a ella,
pero si trabaja en un ambiente compartido, lo que deposite allí puede ser fácilmente
borrado por alguien más que tenga el acceso. Por este motivo, debería pedirle a su
administrador permiso para usar una base de datos propia. Suponga que quiere
llamarla menagerie. El administrador necesitará ejecutar un comando como este:

mysql> GRANT ALL ON menagerie.* TO 'su_nombre_mysql'@'su_host_cliente';
Donde su_nombre_mysql es el nombre de usuario que se le asignó, y su_host_cliente
es el host u computadora desde donde se conectará.


2.1.5_ 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 archivomy.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 (archivohost_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_ Oracle Database XE es una gran base de datos para:

Desarrolladores que trabajan en PHP, Java, .NET, XML, y Open Source
applications
DBAs que necesitan desarollar libremente
Vendedores de Software y hardware que necesitan distribuir sin cargos
Instituciones educativas y estudiantes que cursan materias relacionados con
base de datos

Oracle es líder en bases de datos. Con Oracle XE, es posible desarrollar y desplegar aplicaciones
potentes, actualizar sin costo y generar complejas migraciones.

Oracle Express Edition se instala en una máquina con cualquier número de procesadores, solo
puede contener una base de datos y direccionar un máximo de 4GB de datos y un máximo de 1GB
RAM.

Oracle Database XE, usa una interface basada en browser (Navegador) para:
Administrar la base de datos
Crear tablas, vistas, y otros objetos de base de datos
Importar, exportar, y ver tablas de datos
Ejecutar consultas y scripts SQL
Generar reportes

Oracle Database XE incluye Oracle Application Express release 2.1, un ambiente de desarrollo
gráfico para crear aplicaciones Web con base de datos. Oracle Database XE es una versión
reducida de Oracle con las misma características y potencialidad de Oracle Database. Es
necesario destacar que no soporta todos los tipos de datos de Oracle Database XE.

Oracle Database XE incluye las siguientes utilidades:

Línea de comandos SQL (SQL*Plus), para ejecutar sentencias SQL y comandos
PL/SQL y ejecutar scripts
SQL*Loader, para insertar datos en la base de datos
Utilidades para importar, exportar y volcar la base de datos

Download Oracle Database 11g Express Edition. Proceso que descargara el
archivoOracleXE112_Win32.zipdescomprimalo en el archivo de su preferencia.

Requerimientos del sistema para Oracle Database XE
Server y Oracle Database XE Client.

Requerimiento Valor
Arquitectura del
sistema
Intel x86 (desde Windows 2000 hasta seven) o Linux x86 (Debian,
Mandriva, Novell, Red Hat y Ubuntu )
Protocolo de red TCP/IP
Espacio en disco
Servidor : 1.6 gigabytes mínimo
Cliente: 75 megabytes
RAM 256 megabytes mínimo, 512 megabytes recomendado
Estos puertos son usados por defecto por Oracle
Database XE

1521: Oracle database listener
2030: Oracle Services para Microsoft Transaction Server
8080: Puerto para Oracle XML DB y la inteface gráfica de usuario Oracle Database
XE.
Instalación de Oracle Database XE en Windows
Doble clic sobre el icono o el archivo setup.exe en ambos casos con privilegios de
administrador. Pulse sobre el botón desiguientepara iniciar la instalación.


Acepte los términos de acuerdo de licencia

Verifique los requerimientos de espacio y si los cumple pulse aceptar. Considere un Giga más para
almacenamiento.

Introduzca el password para el usuario SYSTEM. Después de
terminar la instalación deberá iniciar la base de datos con este
usuario.

A continuación Oracle Database XE nos informa sobre los
puertos que utilizara. Pulse Instalar.

El tiempo de instalación de Oracle Database XE depende de su
equipo (procesador y memoria). Al terminar el proceso de
instalación pulse el botón Terminar.

Al pulsar el botón Terminar nos direccionara a la página de acceso de la base de datos
(http://127.0.0.1:8080/apex). Recuerde iniciar por primera vez con el usuario SYSTEM y su
password.

Pulse el icono Sessions e introduzca la siguiente información

Para futuros accesos usted puede pulsar botón de inicio, todos los programas, base de datos 10g
Express Edition o el icono en su escritorio denominado Base de Datos

Ahora vamos a crear un usuario

Conteste el siguiente formulario


Instalación de Oracle Database XE en Ubunto 10

Lo primero que tenemos que hacer es descargar el paquete .deb correspondiente. Para
ello accedemos a la pagina oficial de oracle. Note que para poder descargar hay que registrase
gratuitamente

Seleccionado el paquete oracle-xe-universal_10.2.0.1-1.0_i386.deb es necesario abrir con el
instalador de paquetesGDebi.

Terminada la descarga instale el paquete


Una vez que termina de instalarse el paquete. Tenemos que configurar la base de datos. Para ello
ejecutamos el comando:

sudo /etc/init.d/oracle-xe configure

Con eso arranca un script de configuración en modo texto que nos hara una serie de preguntas:

Puerto de la aplicacion web que nos permite administrar graficamente la base de
datos,
Puerto de la base de datos,
Password el usuario SYSTEM de Oracle,
Si queremos arrancar la base de datos cada vez que iniciemos la máquina.

Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition. The following questions will determine whether the database
should
be starting upon system boot, the ports it will use, and the passwords
that
will be used for database accounts. Press <Enter> to accept the defaults.
Ctrl-C will abort.
Specify the HTTP port that will be used for Oracle Application Express
[8080]:8080
Specify a port that will be used for the database listener [1521]:1521
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password:
Do you want Oracle Database 10g Express Edition to be started on boot
(y/n) [y]:y
Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"

Yo respondi usando los valores por defecto, cambia los valores de los puertos si entran en conflicto
con otros usados en tu máquina y no te olvides de la contraseña que pongas para SYS y SYSTEM,
la usaremos posteriormente.

En ambos sistemas operativos después de introducir el usuario y el password correspondiente. Es
necesario definir un usuario con los privilegios necesarios para administrar la base de datos.

Para administrar graficamente tu base de datos usaremos la siguiente URL.

http://127.0.0.1:8080/apex

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.

MySQL Enterprise Edition incluye:

MySQL Enterprise 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.
MySQL Enterprise de alta disponibilidad que proporciona, con soluciones certificadas que
incluyen replicación de MySQL, Oracle VM Templates para MySQL.
MySQL Enterprise 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 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.
La versión 5.2. está preinstalada en Ubuntu para su configuración seleccionaremos del menu
principalAplicaciones, MySQL Administrador. Introduzca el password de root.

Obtendrá como respuesta la interface de conexión. Teclee el password de root y presione el
botón conect.

Similar a Oracle procederemos a crear un usuario administrador para evitar usar root.
Seleccione User Administration y presione el botón New User

Introduzca los datos solicitados. Es necesario dar privilegios al usuario (Scheme Privileges), sin
mayores explicaciones otorgue todos y pulse el botón Apply Changes.


2.1.7_ GUÍA PARA INSTALAR EL DBMS
INSTALACIÓN DE ORACLE 11G EN WINDOWS XP

Requerimientos:

1. Permisos de Administrador: Es necesario tener permisos de administrador para ejecutar el
instalador.

2. Requisitos mínimos de Hardware: Es necesario cumplir con los siguientes requerimientos
mínimos en equipo donde se desea instalar:

Requisito Mínimo
Memoria Física (RAM) 1Gb
Memoria Virtual El doble de tamaño que la RAM
(2Gb)
Espacio en disco Instalación Básica: 4.55Gb
Instalación Avanzada: 4.92Gb
Adaptación de Vídeo 256 colores
Procesador 550Mhz

3. Requisitos mínimos de Software:


Arquitectura de procesador Intel (x86), AMD64, o Intel EM64T
Sistema Operativo o Windows 2000 Service Pack 1 o
superior
o Windows Server 2003 o
Superior
o Windows XP
Professional
o Windows Vista Businnes o
Superior

*Windows NT no esta soportado
Compilador o ACUCOBOL-GT version 6.2
o Micro Focus Net Express 5.0
Protocolo de red o TCP/IP
o TCP/IP with SSL
o Named Pipes

4. Navegadores web soportados:

o Netscape Navigator 7.2 o Superior
o Mozilla version 1.7 o Superior
o Microsoft Internet Explorer 6.0 SP2 o Superior
o Firefox 1.0.4 o Superior
Descarga de Oracle Database 11g Standard Edition para Windows XP
Profesional

Con cualquier navegador de Internet, como Mozilla Firefox, accederemos a la URL:
http://www.oracle.com/technology/software/products/database/index.html
Para poder realizar la descarga deberemos ser usuarios registrados de Oracle (es gratuito).

Si somos usuarios registrados introduciremos usuario y contraseña en "Username" y "Password" y
pulsaremos "Continue" para iniciar la descarga. Si no lo somos pulsaremos "sign up now" para
proceder al registro.
Tras haber introducido usuario y contraseña o haber realizado el proceso de registro de nuevo
usuario, nos mostrará la ventana de descarga de Mozilla Firefox, marcaremos "Guardar archivo" y
pulsaremos "Aceptar".
A continuación indicaremos la ubicación de la descarga del
ficherowin32_11gR1_database_1013.zip. Es importante mencionar que ocupa casi 2GB de
espacio en disco.
Tras la descarga del fichero win32_11gR1_database_1013.zip, lo descomprimeros
con WinZIP oWinRAR.
Instalación de Oracle Database 11g Standard Edition
en Windows XP Profesional
Pasos para instalar el DBMS:

1. Tras la descompresión, accederemos a la carpeta ../database y ejecutaremos el fichero setup.exe.
2. En nuestro caso marcaremos la opción "Instalación Avanzada" que permite personalizar casi todas
las opciones de instalación. Pulsaremos "Siguiente" para continuar:
3. A continuación seleccionaremos el tipo de instalación, en nuestro caso marcaremos "Personal
Edition". Pulsaremos "Siguiente" para continuar.
4. Especificaremos un directorio base en "Directorio Base de Oracle" y en Ubicación del Software
indicaremos un "Nombre" para identificar esta instalación de Oracle y una "Ruta de Acceso" (donde
se copiarán los archivos de Oracle). Pulsaremos "Siguiente" para continuar.
5. Si todo es correcto indicará "0 requisitos a verificar", si encuentra algún problema lo indicará y
podremos subsanarlo. Cuando todo sea correcto pulsaremos "Siguiente" para continuar.
6. En nuestro caso tenemos instalada ya Oracle Database 10g Express Edition., por lo que nos pedirá
si queremos actualizar, marcaremos "No" pues queremos dejar la versión XE también operativo,
pulsaremos "Siguiente" para continuar.
7. En nuestro caso seleccionaremos "Crear Base de Datos", pues queremos utilizar Oracle Database
como servidor de Oracle una vez finalizado el proceso de instalación. Pulsaremos "Siguiente" para
continuar.
8. En nuestro caso seleccionaremos "Uso General/Procesamiento de Transacciones", pues queremos
crear un servidor de base de datos Oracle para uso general (aplicaciones de Contabilidad,
Facturación, Recursos Humanos, Gestión, etc.). Pulsaremos "Siguiente" para continuar.
9. En nuestro caso, tanto "Nombre de la Base de Datos Global" como el "SID" tendrán el mismo valor:
"bdoracle". Teniendo en cuenta que nuestra base de datos de Oracle no se configurará para Oracle
Real Application Clusters (RAC) ni habrá varias bases de datos. Pulsaremos "Siguiente" para
continuar.
10. En nuestro caso marcaremos "Activar Gestión Automática de Memoria", teniendo en cuenta que
tenemos un equipo con 2GB de RAM, indicaremos a Oracle que utilice hasta un máximo de 800MB
(40%).
11. En nuestro caso marcaremos "Usar Valor por Defecto", que se basará en el juego de caracteres
del sistema operativo (WE8MSWIN1252).
12. En nuestro caso no marcaremos la opción "Desactivar Todos los Valores de Seguridad", de esta
forma podremos disponer de los nuevos valores de seguridad mejorados.
13. En nuestro caso, puesto que no tenemos instalado Oracle Management Agent, sólo podremos
seleccionar "Usar Database Control para Gestión de Base de Datos". No marcaremos "Activar
Notificación de Correo Electrónico" pues aún no tenemos un servidor de email disponible (esta
opción se puede modificar posteriormente):
14. En nuestro caso, para almacenar los archivos de base de datos, seleccionaremos la opción: a)
Seleccione Sistema de Archivos. y b) En el campo Especificar Ubicación de Archivo de Base de
Datos, especifique el directorio principal para los archivos de base de datos.
15. En nuestro caso, puesto que sí queremos que se active la copia de seguridad automática,
marcaremso "Activar Copias de Seguridad Automáticas" y marcaremos también en
"Almacenamiento de Área de Recuperación" la opción "Sistema de Archivos", en "Ubicación del
Área de Recuperación" indicaremos la unidad y carpeta de destino de la copia de seguridad. En
"Credenciales de Trabajo de Copia de Seguridad utilizaremos el usuario "alonso" que pertenece al
grupo de seguridad "Administradores" del sistema operativo Microsoft Windows XP.
16. A continuación indicaremos las contraseñas para cada usuario que Oracle creará por defecto
(SYS, SYSTEM, SYSMAN, DBSNMP). Podremos establecer la misma contraseña para todos
marcando la opción "Usar la misma contraseña para todas las cuentas" y escribiendo la contraseña
en "Introducir Contraseña" y "Confirmar Contraseña".
17. En este punto, Oracle Universal Installer nos permite introducir los datos de cuanta de usuario
MetaLink, en nuestro caso, puesto que no disponemos de esta cuenta, no marcaremos la opción
"Activar Oracle Configuration Manager". Pulsaremos "Siguiente" para continuar con la instalación
de Oracle Database.
18. Por último, antes de iniciar la instalación, Oracle Universal Installer nos muestra un resumen de los
valores seleccionados en las ventanas anteriores (Valores Globales, Idioma del Producto,
Requisitos de Espacio, Nuevas instalaciones, etc.). Para iniciar la instalación pulsaremos "Instalar".
19. Tras la instalación, podremos comprobar que Oracle funciona correctamente entrando en la
administración (Oracle Enterprise Manager), abriendo un navegador de Internet (por ejemplo
Mozilla Firefox) y escribiendo la URL: https://nombre_servidor:1158/em. Para el caso de Mozilla
Firefox nos advertirá de que "La conexión segura ha fallado" debido a que el certificado de
seguridad no es válido, pulsaremos en "O puede añadir una excepción".

En la ventana de inicio de sesión de Oracle Enterprise Manager, introduciremos el usuario (system)
y la contraseña y pulsaremos "Conectar":

Como se puede observar en los archivos de apoyo, en Oracle Database 11g, toda las administración
es vía web (http), bastante intuitiva y sencilla. Podremos acceder a esta administración desde
cualquier equipo de nuestra red (LAN) sin necesidad de instalar software cliente ni nada por el
estilo, con un simple navegador de Internet. Sólo necesitaremos tener abierto el puerto 1158 en el
equipo con Oracle Database 11g.


2.1.8_ 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.

Por lo tanto, la creación de las tablas en el proceso de programación en Oracle juegan un
papel muy importante. En el momento de crear las tablas se definen características a dos
niveles: Tabla y Columna, como se muestra a continuación:

A nivel de tabla: Refieren a una o a varias columnas, donde cada columna se define
individualmente.

Nombre:
Nombre de la tabla puede ser de 1 a 30 caracteres. La tabla tiene como
propietario al usuario que las crea. Por ejemplo EQUIPO.
Hay que tener en cuenta también ciertas restricciones con los nombres
de las tablas: longitud máxima de 30 caracteres, no puede haber
nombres de tabla duplicados, deben comenzar con un carácter
alfabético, permitir caracteres alfanuméricos y el guión bajo '_', y Oracle
no distingue entre mayúsculas y minúsculas.
Propietario:
La tabla tiene como propietario al usuario que las crea En nuestro caso
somos el usuario ALUMNO. Otro usuario que desee usar nuestras
tablas debe tener autorización para ello y hacer referencia a la tabla
como ALUMNO.EQUIPO(propietario.tabla)
Cantidad de
Columnas:
Una tabla puede tener un máximo de 254 columnas.
A nivel de Columna el nombre de la columna puede tener un máximo de 30 caracteres.

En Oracle podemos implementar diversos tipos de tablas. A continuación se
presenta una recopilación no exhaustiva de ellas.


Tipo Tabla Descripción
Regular
(heap)
Son el mecanismo de almacenamiento de los datos en una base de
datos Oracle. Contienen un conjunto fijo de columnas. Las columnas
de una tabla describen los atributos de la entidad que se representa
con la tabla. Cada columna tiene un nombre y características
específicas: tipo de dato y longitud, restricciones, etc.
Clustered
Un cluester proporciona un método opcional de almacenar datos de
tabla. Un cluster está compuesto de un grupo de tablas que comparten
los mismos bloques de datos. Las tablas son agrupadas mediante
columnas comunes.
Index
Aquí una tabla es almacenada en la estructura de un índice. Esto
impone orden físico a las filas por si mismas. A diferencia de un heap,
donde los datos son almacenados en donde caben, en una tabla IOT
(Tabla Organizada por Indices) los datos son almacenados en el orden
de la clave primaria.
Particionadas
Es un esquema de organización de los datos con el cual podemos
dividirla en múltiples objetos de almacenamientos llamados particiones
de datos o rangos, dependiendo los valores puede ser dividido en uno
o más columnas de la tabla. Cada particiones de datos es almacenado
separadamente. Estos objetos almacenados pueden estar en
diferentes tablespaces, en el mismo o en una combinación de ambos.
Temporales
Son tablas cuyos datos permanecerán en el sistema sólo durante el
tiempo que dure la transacción o sesión involucrada. No obstante, al
igual que para las tablas permanentes, la definición de las tablas
temporales se almacena en las tablas del sistema.
La sintaxis del comando que permite crear un tabla es la siguiente

Del examen de la sintaxis de la sentencia Create Table se pueden concluir que
necesitamos conocer los distintos tipos de columna y las distintas restricciones que se
pueden imponer al contenido de las columnas.

Existen varios tipos de datos en SQL. De esta manera, cada columna puede albergar una
información de naturaleza distinta. Los tipos de datos más comunes y sus características
en Oracle Express (10 Y 11g) se resumen en la siguiente tabla. Las versiones de Oracle
comercial soportan una gama mucho más amplia de tipos de datos.
Tipo de Dato Descripción
BLOB
Contiene datos binarios con un tamaño máximo de 4 gigabytes.
Los datos binarios nos van a permitir guardar en la base de
datos archivos, imagenes, sonidos, etc ...
Casi siempre es preferible guardar la ruta del archivo en la base
de datos en lugar del propio archivo en modo binario, pero
existen ciertas circunstancias en las que no nos queda otra
solución.
BINARY_DOUBLE Presición doble
BINARY_FLOAT Presición simple
CLOB
Un tipo de datos CLOB de Oracle contiene datos de caracteres
basados en el juego de caracteres predeterminados del
servidor. Su tamaño máximo es de 4 gigabytes. Se asigna
a cadena.

Use la siguiente expresión para una consulta de un campo
CLOB

SELECT
DBMS_LOB.substr(campo, DBMS_LOB.getlength(campo),1
)
FROM tablaprueba;
CHAR
Almacena datos de tipo carácter alfanumérico de longitud fija,
con un tamaño máximo de 2000. caracteres
DATE
Almacena fechas desde el 1-Ene-4712 AC hasta el 31-Dic-4712
DC.
NUMBER(dig [,
dec])
Datos numéricos de n dígitos, de los cuales dec son
decimales. El tamaño máximo es de 38 dígitos.
NVARCHAR2
Almacena un valor alfanumérico de longitud variable en
caracteres Unicode con las mismas restricciones de varchar.
TIMESTAMP
Fecha y hora (incluidos los segundos), con un tamaño que
abarca desde 7 a 11 bytes.
VARCHAR2(tamaño
)
Guarda datos de tipo carácter alfanumérico de longitud
variable, con un tamaño máximo de 4,000 caracteres.

Ejemplo: Considere la siguiente tabla de datos correspondientes a los campeones de
Fórmula 1 (1950 - 2012) y sus escuderías. Y su traducción a sentencias Oracle.

Año Campeón Escudería
2012 - -
2011 Sebastian Vettel Red Bull Racing
2010 Sebastian Vettel Red Bull Racing
2009 Jenson Button Brawn GP
2008 Lewis Hamilton McLaren
2007 Kimi Raikkonen Ferrari
2006 Fernando Alonso Renault
2005 Fernando Alonso Renault
2004 Michael Schumacher Ferrari
2003 Michael Schumacher Ferrari
2002 Michael Schumacher Ferrari
2001 Michael Schumacher Ferrari
2000 Michael Schumacher Ferrari
CREATE TABLE f1 (
year INTEGER PRIMARY KEY,
campeon CHAR(30),
escuderia CHAR(20)
);

Ejemplo: Estados, capitales, densidad de población y superficie de la Republica
Mexicana
CREATE TABLE estados (
idEstado INTEGER PRIMARY KEY,
nombreEstado CHAR(25) NOT NULL,
capital CHAR(25) NOT NULL,
densidad INTEGER NOT NULL,
poblacion INTEGER NOT NULL
);



Tablas Temporales
Oracle permite la creación de tablas temporales para mantener datos propios y exclusivos
a una sesión Oracle determinada. Estos datos permanecerán en el sistema sólo durante
el tiempo que dure la transacción o sesión involucrada. No obstante, al igual que para las
tablas permanentes, la definición de las tablas temporales se almacena en las tablas del
sistema.

La siguiente sintaxis permite crear una tabla temporal personal para cada sesion. Eso
significa que los datos no se comparten entre sesiones y se eliminan al final de la misma.

CREATE GLOBAL TEMPORARY TABLE [ schema. ]table (
nombreColumna tipoDato [DEFAULT expresión] [NOT NULL],
[,nombre_columna tipo_dato [DEFAULT expresión]
[restricción_columna] ...
|restricción_tabla];
ON COMMIT { DELETE | PRESERVE } ROWS ]
[ physical_properties ]

Con la opcion ON COMMIT DELETE ROWS se borran los datos cada vez que se
hace COMMIT en la sesion.
Con la opcion ON PRESERVE DELETE ROWS los datos no se borran hasta el final de la
sesion.

Sus ventajas son varias, la información contenida en ella esta solo disponible para la
sesión actual, cualquier inserción, borrado, actualización solo se refleja en la sesión
activa.

Muchas funcionalidades de cualquier tabla normal se mantienen en ella, como triggers a
nivel tabla, vistas, indices, exportar e importar (claro solo la definición de la tabla).

No es posible declarar llaves foráneas en una tabla temporal.


(DROP) Eliminación

Cuando una tabla ya no es útil y no vamos a volver a necesitarla debe ser borrada. Esta
operación se puede realizar con el comando DROP TABLE.

DROP TABLE nombre_tabla [CASCADE CONSTRAINTS][PURGE]

Se borra la tabla de la base de datos, borrando toda la información contenida en la tabla,
es decir, todas las filas. También se borrará toda la información que sobre la tabla
existiera en el diccionario.

Si alguna columna de la tabla a borrar sirve como clave ajena de alguna tabla detalle,
impide la eliminación de la tabla, ya que existe una restricción que requiere de la
existencia de la tabla maestra. Esto se puede areglar colocando la sentencia CASCADE
CONSTRAINTS.

Esto produce que las restricciones de la tabla detalle se borren antes de borrar la tabla
maestra.PURGE evita que los objetos borrados se vayan a la papelera

La siguiente sentencia produce la eliminación de la tabla BORRAME.

Modificación

Oracle permite modificar las restricciones definidas para una tabla. Esto puede llevar a
“inconsistencia” de los datos ya introducidos en la base de datos. Por ello, Oracle tiene
definidos mecanismos para modificación de los datos ya existentes.

Esta operación se puede realizar con el comando ALTER TABLE.


ALTER TABLE [esquema.]tabla
clausula_constraint [,…]
[ENABLE clausula_activa | DISABLE clausula_disable]
[{ENABLE|DISABLE} TABLE LOCK]
[{ENABLE|DISABLE} ALL TRIGGERS];
Hay que tener en cuenta varios puntos:

 No es posible disminuir el tamaño de la calumna, si esta contiene datos
 En modificaciones, todos los datos tanto nuevos como viejos deben de ser
compatibles o la tabla debe de estar vacia.
 La opcion ADD NOT NULL solo sera posible si la tabla esta vacia
 La opcion MODIFI NOT NULL solo se podra modificazr siempre y cuando
 no se tenga un valor nulo o este vacia la calumna en cuestion.

Considere el ejemplo Propietario - Automóvil, bajo el criterio de hacienda del Gobierno
del Estado de Veracruz, México. Modificaremos el ejemplo para añadir el atributo color.


Es factible modificar una tabla añadiendo o eliminando restricciones, en este caso para el
ejemplo anterior el comando a utilizar será

ALTER TABLE tabla {ADD | DROP} CONSTRAINT restricción;

ALTER TABLE automovil DROP CONSTRAINT FK_Propietario;
ALTER TABLE automovil ADD
CONSTRAINT FK_Propietario FOREIGN KEY (idPropietario)
REFERENCES propietario (idPropietario)
ON DELETE CASCADE;


El cual permitirá el borrado en cascada.
Ahora veremos los comandos en:
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
almacenamientoMERGE 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ñnadirá 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%';

Ejecutar

Si nuestro gestor soporta por defecto las tablas innodb las sentencias para crear las
tablas previamente mostradas serán exactamente igual a las de oracle. En caso contrario
se muestra la sintaxis correspondiente

CREATE TABLE f1 (
year INTEGER PRIMARY KEY,
campeon CHAR(30),
escuderia CHAR(20)
) ENGINE = InnoDB;

Ejemplo: Estados, capitales, densidad de población y superficie de la Republica
Mexicana
CREATE TABLE estados (
idEstado INTEGER PRIMARY KEY,
nombreEstado CHAR(25) NOT NULL,
capital CHAR(25) NOT NULL,
densidad INTEGER NOT NULL,
poblacion INTEGER NOT NULL
) ENGINE = 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ásis es la
siguiente DESCRIBE nombreTabla.

DESCRIBE f1;
Ejecutar

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.

Descargar
Ejecutar

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 termino 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

Considere el ejemplo Propietario - Automóvil, bajo el criterio de hacienda del Gobierno
del Estado de Veracruz, México. Modificaremos el ejemplo para añadir el
atributo color según la sintaxis MySQL

ALTER TABLE automovil
ADD(color CHAR(15) NOT NULL);

Descargar
Ejemplo: Eliminar una llave foranea
ALTER TABLE automovil DROP FOREIGN KEY FK_Propietario;

Ejemplo: Agregar una llave foranea con borrado en cascada

ALTER TABLE automovil ADD
CONSTRAINT FK_Propietario
FOREIGN KEY (idPropietario)
REFERENCES propietario (idPropietario)
ON DELETE CASCADE;

Puede ejecutar múltiples cláusulas ADD, ALTER, DROP, y CHANGE en un único
comandoALTER TABLE. Esta es una extensión MySQL al estándar SQL, que permite
sólo una de cada cláusula por comando ALTER TABLE.