You are on page 1of 23

Deysi Marín Velásquez

dmarin1@usbcali.edu.co
Facultad de Ingeniera
Universidad San Buenaventura Cali
Previos

• SGBD.
• SQL Developer.
• Crear la conexión a la base de datos.
• SQL Plus.
Structured Query Languaje
• Versión original desarrollada por IBM en 1970,
llamado originalmente Sequel.

• ANSI (American National Standards Institute) y la


ISO (Internacional Organization for Standarization)
publican los estándarés de SQL.
SQL-DDL (Data Definition Language )
Permite especificar las relaciones y la
información de las relaciones. Provee comandos
para definir, para borrar y modificar los
esquemas relacionales.
• El esquema de cada relación.
• Los dominios de cada atributo.
• Las restricciones de integridad.
SQL-DDL (Data Definition Language )
• El conjunto de índices que debe mantener cada
relación.
• La información de seguridad y la autorización
de información para cada relación.
• La estructura física de almacenamiento en disco
de cada relación.
SQL-DDL (Data Definition Language )
• Dominios específicos para Oracle:
✓VARCHAR2(size): el tamaño se especifica entre 1 y
4000.
✓NUMBER(p,s): precisión y escala.
✓LOB: permite almacenar largas estructuras de
información como texto, gráficos, audio y video.
SQL-DDL (Data Definition Language )
• Dominios específicos para Oracle:
✓CLOB: almacena grandes cantidades de texto
(hasta 4GB). Reemplaza a LONG.
✓BLOB: almacena información multmedia dentro
de la base de datos. Reemplaza a LONG RAW.
✓BFILE: similar al anterior, pero la información está
almacenada en el SO.
SQL-DDL (Data Definition Language )
• Reglas para nombrar las tablas y las columnas:
✓Deben iniciar con letras.
✓Debe constar de entre 1 y 30 caracteres.
✓Sólo pueden contener A-Z, a-z, 0-9, _ , $, y #.
✓No se pueden duplicar nombres en la misma
relación.
✓No se puede utilizar una palabra reservada de
Oracle.
SQL-DDL (Data Definition Language )
• Esquema básico para crear una relación:

create table relation_name


(atribute1 domainAt1,
atribute2 domainAt2,
…,
atributen domainAtn,
integrity-constraint1,
…,
integrity-constraintk);
SQL-DDL (Data Definition Language )
• Restricciones:
✓Primary key(Aj1, Aj2, …, Ajn): indica los atributos de
la relación que conforman la llave primaria, lo que
implica que estos valores no pueden ser nulos y
deben ser únicos.
✓Foreign key(Ak1, Ak2, …, Akn: indica los atributos
que corresponden a las llaves primeras de alguna
relación.
SQL-DDL (Data Definition Language )
… Restricciones Foreign Key:
»References: identifica la tabla y la columna a la
que hace referencia.
»On delete cascade: borra las filas que dependen de
esta llave, cuando la tabla original se borra.
»On delete set null: convierte a null los valores de
las filas que dependen de esta llave.
SQL-DDL (Data Definition Language )
• Restricciones:
✓Not null: indica que no se permite un valor nulo
en el atributo.
✓Unique: requiere que cada valor en una columna
sea única, es decir, no van a existir 2 filas de la
tabla con valores repetidos para esa columna.
✓Check: define una condición que cada fila debe
satisfacer.
SQL-DDL (Data Definition Language )
• Ejemplos:
create table department
(dept_name varchar(20) PRIMARY KEY,
building varchar(15) NOT NULL,
budget numeric(12,2),
CONSTRAINT budget_min CHECK (Budget>= 0)
);
SQL-DDL (Data Definition Language )
• Ejemplos:
create table instructor
(ID varchar2(5) PRIMARY KEY,
inst_name varchar2(20) NOT NULL,
dept_name varchar2(20),
email varchar2(30),
CONSTRAINT dept_name_fk FOREIGN KEY
(dept_name) REFERENCES department(dept_name),
CONSTRAINT inst_email_uk UNIQUE(email)
);
SQL-DDL (Data Definition Language )
• DESCRIBE relation_name: verifica la existencia
de una tabla en la base de datos chequea la
definición de las columnas.
• DROP TABLE relation_name: borra la tabla y
su contenido.
• DELETE FROM relation_name: borra el
contenido de la tabla, pero no la tabla.
SQL-DDL (Data Definition Language )
• ALTER TABLE relation_name: modifica los
atributos de una relación.
✓ALTER TABLE r ADD A D; (A nombre del
atributo, D dominio). Crea un nuevo atributo en la
tabla, todos las tuplas de la relación quedan
asignadas como null.
✓ALTER TABLE r ADD (CONSTRAINT atr_name_fk
FOREIGN KEY (atrib) REFERENCES t (atrib));
SQL-DDL (Data Definition Language )
✓ALTER TABLE r DROP A D; elimina un atributo
de la tabla (no es soportado por todas las bases de
datos).
✓ALTER TABLE r MODIFY A D; modifica tipo de
dato, tamaño o valor por defecto.
✓ALTER TABLE r RENAME COLUMN old_name to
new_name; cambia el nombre de una columna.
SQL-DDL (Data Definition Language )
✓ALTER TABLE r RENAME TO t; cambia el
nombre de una relación.
• SELECT * FROM CAT; muestra las tablas del
esquema.
Ejercicios:
Utilizando como referencia el archivo “Ejercicios” de
la carpeta “Semana 6” realice:
• Si crea las tablas de la forma en que están escritas
en el archivo, ¿Qué ocurre?.
• Cree las tablas del archivo, teniendo en cuenta:
✓Verificar los dominios de los datos(varchar2, number).
✓Analizar la estructura para el uso de constraints que
permite Oracle.
Ejercicios:
• Utilice el comando DESCRIBE y verifique las
tablas creadas.
• Realice una modificación en la tabla instructor
para insertar un campo de nombre email, con
la restricción de ser un campo único.
• En la tabla course modifique el nombre “title”
por “course_name”.
Ejercicios:
• Modifique el nombre de la instructor por
“teacher”.
• Cambie el tamaño del dato “semester” por 2.
• Muestre las tablas del esquema.
• Guarde el Script con todo lo realizado en un
archivo de texto y conservelo.
Ejercicios:
• Elimine todas las tablas.
• Abra el script almacenado y ejecútelo
nuevamente.
• Escriba el comando drop table al inicio del
script (antes de la creación de las tablas).
• Ejecute el script con este cambio. ¿Qué ocurre?
Bibliografía
• A. Silberschatz, H. F. Korth y S. Sudarshan,
Database system concepts, New York, United
States: Mc Graw Hill, 2011.

• R. Camps Paré, L. A. Casillas Santillán, D. Costal


Costa, Bases de datos, Barcelona, España:
Eureca Media, SL, 2005.

You might also like