Sei sulla pagina 1di 7

UNIVERSIDAD NACIONAL

JOSE FAUSTINO SANCHEZ CARRION


FACULTAD DE INGENIERIA INDUSTRIAL,
SISTEMAS E INFORMATICA
ESCUELA ACADEMICO PROFESIONAL DE
INGENIERIA INFORMATICA
CURSO
ADMINISTRACION DE BASE DE DATOS
SEPARATA N 02
TABLAS Y RESTRICCIONES
DOCENTE
ING. CIP EDWIN IVAN FARRO PACIFICO
HUACHO-LIMA
PERU
Universidad Nacional Jos Faustino Snchez Carrin Ing. CIP Edwin Ivn Farro Pacfico
Ing. CIP Edwin Ivn Farro Pacfico Pag 2
TABLAS
CREAR TABLAS
Los requisitos de l clusula CREATE TABLE son:
Nombre de la tabla
Nombre de la columna
Tipo de datos de la columna
Sintaxis:
CREATE TABLE [usuario.]tabla ({columna1 tipo_dato [DEFAULT exp][constraint_columna]},
{columna2 tipo_dato [DEFAULT exp][constraint_columna]})
Reglas de nomenclatura:
El nombre debe tener como longitud de 1 a 30 caracteres con el primer carcter alfabtico:
A-Z,a-z,0-9
$ y # tambin son vlidos pero no se sugieren
No debeser una palabra reservada en oracle
No debe ser igual al nombre de otro objeto dentro del mismo usuario de oracle
Ejemplo:
SQL> CREATE TABLE departamento
2 (iddepa number(2),
3 nombre varchar2(14),
4 ubicacion varchar2(13));
Borrar tablas
Sintaxis:
DROP TABLE nombre_tabla
Ejemplo:
SQL>DROP TABLE departamento;
Crear una tabla a partir de un select.
Se pueden crear tablas a partir de una sentencia SELECT utilizando la clusula AS.
Sintaxis:
CREATE TABLE nombre_tabla [(columna1,columna2,)]
AS sentencia_select;
Ejemplo:
CREATE TABLE departamento AS SELECT * FROM dept;
Mostrar estructura.
Listar registros.
Universidad Nacional Jos Faustino Snchez Carrin Ing. CIP Edwin Ivn Farro Pacfico
Ing. CIP Edwin Ivn Farro Pacfico Pag 3
Restricciones de Columnas
La siguiente tabla muestra los diferentes restricciones manejadas por oracle.
CONSTRAINT USO
PRIMARY KEY Identifica de manera nica a cada fila de la tabla
CHECK Especifica una condicin que cada fila debe
satisfacer en la tabla.
FOREING KEY (nombre_columna) Designa una columna o combinacin de
columnas como la clave fornea
REFERENCES(nombre_columna) Establece y obliga una relacin entre esta
columna de la clave primaria de la tabla
referenciada.
[NOT] NULL Especifica que esta columna no puede contener
un valor nulo.
UNIQUE Especifica que una o ms columnas deben
tener valores nicos travs de todas las filas.
Oracle crea un ndice nico para asegurar este
constraint.
ON DELETE CASCADE Especifica que Oracle mantendr la integridad
automticamente removiendo los valores de la
clave fornea dependiente si se remueven los
valores de la clave primaria o nica.
Ejemplo:
Crear una tabla que utilice los diferentes tipos de constraints.
SQL> CREATE TABLE emp1
2 (codigo NUMBER(4) PRIMARY KEY,
3 nombre VARCHAR2(10) UNIQUE,
4 trabajo VARCHAR2(9) NOT NULL,
5 jefe NUMBER(4) NULL,
6 ingreso DATE DEFAULT SYSDATE,
7 salario NUMBER(7,2) DEFAULT 0 CHECK(salario>=0),
8 comision NUMBER(7,2) DEFAULT 0 CHECK(comision>=0),
9 departamento NUMBER(2) CHECK(departamento IN (10,20)));
Modificar tablas
Clusula ALTER TABLE
Se utiliza para alterar la definicin de uan tabla:
Aadiendo o eliminando columnas o restricciones
Modificando definiciones de columnas (tipo de datos, Not Null, etc.)
Ejemplo:
Agregue la columna telfono a la tabla emp1.
SQL> ALTER TABLE emp1
ADD telefono CHAR(8);
Ejemplo:
La comisin debe ser menor o igual que el salario.
Universidad Nacional Jos Faustino Snchez Carrin Ing. CIP Edwin Ivn Farro Pacfico
Ing. CIP Edwin Ivn Farro Pacfico Pag 4
SQL>ALTER TABLE emp1
ADD CHECK(comision<=salario);
Ejemplo:
Cambie el tipo de dato de la columna trabajo de CHAR(9) a CHAR(10).
SQL> ALTER TABLE emp1
MODIFY trabajo CHAR(10);
Ejemplo:
Borrar la clave primaria de la tabla emp1.
SQL> ALTER TABLE emp1
DROP PRIMARY KEY;
Ejemplo
Agregar el atributo DNI con la restriccin UNIQUE.
SQL> ALTER TABLE emp1
ADD dni char(8)
CONSTRAINT u_dni UNIQUE
Eliminar Columnas
Sintaxis:
ALTER TABLE nombre_tabla DROP COLUMN nombre_columna;
Ejemplo:
Elimine la columna telfono de la tabla emp1;
SQL> ALTER TABLE emp1 DROP COLUMN telefono;
Renombrar una tabla
El comando RENAME permite renombrar una tabla.
Sintaxis;
RENAME nombre_tabla TO nombre_nuevo
Ejemplo:
SQL> RENAME departamento TO dpto1;
Renombrar una columna
De la tabla emp1 modificar el nombre del atributo departamento por dpto.
sp_rename nombre_tabla.campo ,nombre_tabla.nuevo_nombre
Universidad Nacional Jos Faustino Snchez Carrin Ing. CIP Edwin Ivn Farro Pacfico
Ing. CIP Edwin Ivn Farro Pacfico Pag 5
Ejercicio 01
Crear la siguiente estructura de tablas de acuerdo a las restricciones que indique el profesor
ALUMNO
Campo Tipo de dato Longitud Restricciones
Idalumno Varchar2 5
Nombalum Varchar2 50 No nulo
fingalum date Fecha del sistema
CURSO
Campo Tipo de dato Longitud Restricciones
Idcurso Varchar2 5
nombcurs Varchar2 50 No nulo
MATRICULA
Campo Tipo de dato Longitud Restricciones
Idmatricula Varchar2 5
Idalumno Varchar2 5 No nulo
Idcurso Varchar2 5 No nulo
Nota1 Interger Valor por defecto 0
Nota2 Integer Valor por defecto 0
Nota3 Integer Valor por defecto 0
prom Integer Valor por defecto 0
Crear la tabla Alumno
SQL> CREATE TABLE ALUMNO
(idalumno varchar2(5) primary key,
nombalum varchar2(50) not null,
fingalum date default sysdate)
Crear la tabla Curso
SQL> CREATE TABLE CURSO
(idcurso varchar2(5) primary key,
nombcurs varchar2(50) not null)
Universidad Nacional Jos Faustino Snchez Carrin Ing. CIP Edwin Ivn Farro Pacfico
Ing. CIP Edwin Ivn Farro Pacfico Pag 6
Crear la tabla Matricula
SQL> CREATE TABLE MATRICULA
(idmatricula varchar2(4) primary key,
idalumno varchar2(5) not null,
idcurso varchar2(5) not null,
nota1 integer default 0,
nota2 integer default 0,
nota3 integer default 0,
prom integer default 0,
CONSTRAINT ck_nota1 CHECK(nota1>=0),
CONSTRAINT ck_nota2 CHECK(nota2>=0),
CONSTRAINT ck_nota3 CHECK(nota3>=0),
CONSTRAINT ck_prom CHECK(prom>=0),
CONSTRAINT fk_idalumno Foreign Key (idalumno) References alumno(idalumno),
CONSTRAINT fk_idcurso Foreign Key (idcurso) References curso(idcurso))
Ejercicio 02
MODELO
#idmodelo
descmode
precmode
CONTRATO
# idcontrato
fechcont
totacont
iniccont
saldcont
(#)idcliente
INGRESO_MES
#idingreso
total
inicial
saldo
CLIENTE
# idcliente
nombclie
apatclie
amatclie
direclie
telfclie
(#)idrecomendo
1,n
1
DETA_CONTRATO
#idcontrato
#idmodelo
descdeta
fentrdeta
cantdeta
precmode
1
1
1
Universidad Nacional Jos Faustino Snchez Carrin Ing. CIP Edwin Ivn Farro Pacfico
Ing. CIP Edwin Ivn Farro Pacfico Pag 7
CLIENTE
Campo Tipo de dato Longitud Restricciones
idcliente Varchar2 5 PK
nombclie Varchar2 50 No nulo
apatclie Varchar2 30 No nulo
amatclie Varchar2 30 No nulo
direclie Varchar2 50 No nulo
telfclie Varchar2 8
idrecomendado Varchar2 5
MODELO
Campo Tipo de dato Longitud Restricciones
Idmodelo Varchar2 5 PK
descmode Varchar2 50 No nulo
Precmode Number 10,2 >=0
CONTRATO
Campo Tipo de dato Longitud Restricciones
Idcontrato Varchar2 5 PK
fechcont Date Fecha del sistema
Totacont Number 10,2 >=0
saldcont Number 10,2 >=0
Iniccont Number 10,2 >=0
idcliente Varchar2 5
DETA_CONTRATO
Campo Tipo de dato Longitud Restricciones
Idmodelo Varchar2 5 PK
idcontrato Varchar2 5 PK
Descdeta Varchar2 50
Fentdeta Varchar2 Date
Precmode Number 10,2 >=0
cantidad Number 10 >=0

Potrebbero piacerti anche