Cónoce acerca de las estructuras de las tablas en SQL
Creación de Tablas Nuevas
CREATE TABLE tabla (
campo1 tipo (tamaño) índice1,
campo2 tipo (tamaño) índice2,… ,
índice multicampo , … )
tabla | Es el nombre de la tabla que se va a crear. |
campo1 campo2 |
Es el nombre del campo o de los campos que se van a crear en la nueva tabla. La nueva tabla debe contener, al menos, un campo. |
tipo | Es el tipo de datos de campo en la nueva tabla. (Ver Tipos de Datos) |
tamaño | Es el tamaño del campo sólo se aplica para campos de tipo texto. |
índice1 índice2 |
Es una cláusula CONSTRAINT que define el tipo de índice a crear. Esta cláusula en opcional. |
índice multicampos | Es una cláusula CONSTRAINT que define el tipo de índice multicampos a crear. Un índice multicampo es aquel que está indexado por el contenido de varios campos. Esta cláusula en opcional. |
CREATE TABLE
Empleados (
Nombre TEXT (25),
Apellidos TEXT (50)
)
Empleados (
Nombre TEXT (10),
Apellidos TEXT,
FechaNacimiento DATETIME
)
CONSTRAINT
IndiceGeneral
UNIQUE (
Nombre, Apellidos, FechaNacimiento
)
Empleados (
IdEmpleado INTEGER CONSTRAINT IndicePrimario PRIMARY,
Nombre TEXT,
Apellidos TEXT,
FechaNacimiento DATETIME
)
La cláusula CONSTRAINT
[(campo externo1, campo externo2)]}
UNIQUE (único1[, único2 [, …]]) |
FOREIGN KEY (ref1[, ref2 [,…]]) REFERENCES tabla externa
[(campo externo1 ,campo externo2 [,…])]}
nombre | Es el nombre del índice que se va a crear. |
primarioN | Es el nombre del campo o de los campos que forman el índice primario. |
únicoN | Es el nombre del campo o de los campos que forman el índice de clave única. |
refN | Es el nombre del campo o de los campos que forman el índice externo (hacen referencia a campos de otra tabla). |
tabla externa | Es el nombre de la tabla que contiene el campo o los campos referenciados en refN |
campos externos | Es el nombre del campo o de los campos de la tabla externa especificados por ref1, ref2,… , refN |
Indice | Descripción |
UNIQUE | Genera un índice de clave única. Lo que implica que los registros de la tabla no pueden contener el mismo valor en los campos indexados. |
PRIMARY KEY | Genera un índice primario el campo o los campos especificados. Todos los campos de la clave principal deben ser únicos y no nulos, cada tabla sólo puede contener una única clave principal. |
FOREIGN KEY | Genera un índice externo (toma como valor del índice campos contenidos en otras tablas). Si la clave principal de la tabla externa consta de más de un campo, se debe utilizar una definición de índice de múltiples campos, listando todos los campos de referencia, el nombre de la tabla externa, y los nombres de los campos referenciados en la tabla externa en el mismo orden que los campos de referencia listados. Si los campos referenciados son la clave principal de la tabla externa, no tiene que especificar los campos referenciados, predeterminado por valor, el motor Jet se comporta como si la clave principal de la tabla externa estuviera formada por los campos referenciados. |
Creación de Índices
ON Tabla (campo [ASC|DESC][, campo [ASC|DESC], …])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]
índice | Es el nombre del índice a crear. |
tabla | Es el nombre de una tabla existente en la que se creará el índice. |
campo | Es el nombre del campo o lista de campos que constituyen el índice. |
ASC|DESC | Indica el orden de los valores de los campos ASC indica un orden ascendente (valor predeterminado) y DESC un orden descendente. |
UNIQUE | Indica que el índice no puede contener valores duplicados. |
DISALLOW NULL | Prohibe valores nulos en el índice |
IGNORE NULL | Excluye del índice los valores nulos incluidos en los campos que lo componen. |
PRIMARY | Asigna al índice la categoría de clave principal, en cada tabla sólo puede existir un único índice que sea “Clave Principal”. Si un índice es clave principal implica que no puede contener valores nulos ni duplicados. |
En el caso de ACCESS, se puede utilizar CREATE INDEX para crear un pseudo índice sobre una tabla adjunta en una fuente de datos ODBC tal como SQL Server que no tenga todavía un índice. No necesita permiso o tener acceso a un servidor remoto para crear un pseudo índice, además la base de datos remota no es consciente y no es afectada por el pseudo índice. Se utiliza la misma sintaxis para las tablas adjuntas que para las originales. Esto es especialmente útil para crear un índice en una tabla que sería de sólo lectura debido a la falta de un índice.
MiIndice
ON
Empleados (Prefijo, Telefono)
(Crea un índice llamado MiIndice en la tabla empleados con los campos Prefijo y Teléfono.)
Modificar el Diseño de una Tabla
[CONSTRAINT índice]
CONSTRAINT índice multicampo} |
DROP {COLUMN campo I CONSTRAINT nombre del índice}}
tabla | Es el nombre de la tabla que se desea modificar. |
campo | Es el nombre del campo que se va a añadir o eliminar. |
tipo | Es el tipo de campo que se va a añadir. |
tamaño | Es el tamaño del campo que se va a añadir (sólo para campos de texto). |
índice | Es el nombre del índice del campo (cuando se crean campos) o el nombre del índice de la tabla que se desea eliminar. |
índice multicampo | Es el nombre del índice del campo multicampo (cuando se crean campos) o el nombre del índice de la tabla que se desea eliminar. |
Operación | Descripción |
ADD COLUMN | Se utiliza para añadir un nuevo campo a la tabla, indicando el nombre, el tipo de campo y opcionalmente el tamaño (para campos de tipo texto). |
ADD | Se utiliza para agregar un índice de multicampos o de un único campo. |
DROP COLUMN | Se utiliza para borrar un campo. Se especifica únicamente el nombre del campo. |
DROP | Se utiliza para eliminar un índice. Se especifica únicamente el nombre del índice a continuación de la palabra reservada CONSTRAINT. |
ALTER TABLE
Empleados
ADD COLUMN
Salario CURRENCY
(Agrega un campo Salario de tipo Moneda a la tabla Empleados.)