Professional Documents
Culture Documents
creación de
objetos
Base de Datos I
1
Sentencias DDL, creación de
objetos. Tablas y sus columnas,
constraints e índices.
Sentencias SQL
Las sentencias del lenguaje SQL se dividen en sub lenguajes para agrupar las
sentencias por su acción. El primer sub lenguaje que veremos es el Lenguaje
de Definiciones de Datos, o DDL (por sus siglas en ingles de Data Definition
Language).
En este sub lenguaje tenemos las sentencias CREATE, DROP, ALTER, RENAME
y TRUNCATE (recientemente incorporada al estándar SQL:2008), en la
presente lectura revisaremos a cada una de ellas con un ejemplo en que
empezaremos a crear una tabla de Estudiantes.
Usada para crear objetos en general, desde una base de datos propiamente
dicha hasta crear una tabla, pasando por usuarios, programas almacenados
y vistas.
2
Un ejemplo de la creación de las tablas que usamos de ejemplo…
‘EMPNO’ double,
‘ENAME’ varchar(10),
‘JOB’ varchar(9),
‘MGR’ double,
‘HIREDATE’ date,
‘SAL’ double,
‘COMM’ double,
‘DEPTNO’ int(2)) ;
Sentencia ALTER
3
posibilidades de esta sentencia. Para agregar restricciones veremos
ejemplos en los próximos puntos
Para eliminar una columna (soportado por algunos motores como Oracle y
DB2).
DROP micolumna;
4
ALTER TABLE mitabla
Restricciones o Constraints
Una vez creadas las tablas, para implementar las relaciones detectadas en el
análisis se deben crear las constraints, para que el motor pueda controlar,
que una columna clave primaria, por ejemplo, no contenga nulos o repita
valores, esto es, hacer cumplir la Regla de Integridad de las Entidades y que
una clave foránea no tenga un valor que no esté en la tabla referenciada,
esto es, hacer cumplir la Regla de Integridad Referencial.
La sintaxis para crear una clave primaria en una tabla (llamada mitabla) ya
creada es la siguiente:
La sintaxis para crear una clave foránea en una tabla (llamada otratabla) ya
creada es la siguiente:
REFERENCES otratabla(identificacion);
5
Otras restricciones
Not Null
Para garantizar que una columna no acepte valores nulos, es decir, que sea
obligatoria de cargar al insertarse la fila, o al modificarse la columna, se
aplica la declaración de restricción NOT NULL a continuación de la
declaración del tipo de dato de la columna en la creación o modificación.
Unique
Las columnas que durante el análisis han sido determinadas como claves
candidatas, pueden utilizar la restricción UNIQUE que impide insertar una
fila con un valor repetido en esta columna. Las bases de datos implementan
un índice sobre esta columna permitiendo detectar rápidamente si es que
existe alguna fila previa con el valor a ingresar en esta columna y advertido
el motor, rechazará el cambio.
Check
Si una columna tiene determinado conjunto de valores posible, con más
detalle que el tipo de datos, por ejemplo, los tipos de documentos podrían
limitarse a un dominio especial, conformado por los valores ‘DNI’, ‘CI’, ‘PAS’.
Entonces podría asociarse a la columna esta validación para que no permita
valores en esta columna que no estén en esta lista.
6
Sentencia DROP
La sentencia que permite eliminar los objetos, incluyendo las filas contenidas
y las restricciones, índices y demás contenidos relacionados es:
Si esta mi tabla tuviera otras tablas que hacen referencia con claves
foráneas, la opción de cascada elimina estas restricciones, asociadas.
Sentencia TRUNCATE