Oracle Sep 01 Tablas

8
FACULTAD DE INGENIERIA INDUSTRIAL, SISTEMAS E INFORMATICA ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA INFORMATICA CURSO BASE DE DATOS SEPARATA Nº 01 TABLAS, RESTRICCIONES Y SECUENCIAS DOCENTE MG. ING. EDWIN IVAN FARRO PACIFICO HUACHO-LIMA PERU

description

oracle

Transcript of Oracle Sep 01 Tablas

Page 1: Oracle Sep 01 Tablas

FACULTAD DE INGENIERIA INDUSTRIAL, SISTEMAS EINFORMATICA

ESCUELA ACADEMICO PROFESIONAL DEINGENIERIA INFORMATICA

CURSOBASE DE DATOS

SEPARATA Nº 01TABLAS, RESTRICCIONES Y SECUENCIAS

DOCENTEMG. ING. EDWIN IVAN FARRO PACIFICO

HUACHO-LIMAPERU

Page 2: Oracle Sep 01 Tablas

Universidad Nacional José Faustino Sánchez Carrión

Mg. Ing. Edwin Iván Farro Pacífico Pag 2

TABLAS Y RESTRICCIONESHABILITAR USUARIO SCOTT

1. Con ectarse como system

2. Ingresar usuario, clave y nombre de la base de datos, luego clc en Probar y conectar

3. Habilitar el usuario Scott

Page 3: Oracle Sep 01 Tablas

Mg. Ing. Edwin Iván Farro Pacífico Pag 3

Universidad Nacional José Faustino Sánchez Carrión

4. Iniciar sesión como scott

TABLAS

1. Mostrar el contenido de las tablas

SQL>select table_name from user_tables;

2. Mostrar la estructura de las tablas

SQL>desc emp;

SQL>desc dept;

SQL>desc salgrade;

CREAR TABLASLos requisitos de l cláusula CREATE TABLE son:Nombre de la tabla

Nombre de la columnaTipo 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 carácter

alfabético: v' A-Z,a-z,0-9

v' $ y # también son válidos 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(iddepa number(2),nombre varchar(1 4),ubicacion varchar(1 3),constraint pk_iddeap primary key(iddepa));

Page 4: Oracle Sep 01 Tablas

Mg. Ing. Edwin Iván Farro Pacífico Pag 4

Universidad Nacional José Faustino Sánchez Carrión

Borrar tablasSintaxis:

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 cláusula AS.Sintaxis:

CREATE TABLE nombre_tabla [(columna1,columna2,...)]AS sentencia_select;

Ejemplo:

SQL>create table depaasselect * from dept;

Mostrar estructura.

Listar registros.

Restricciones de ColumnasLa siguiente tabla muestra los diferentes restricciones manejadas por oracle.

CONSTRAINT USOPRIMARY KEY Identifica de manera única a cada fila de la tablaCHECK Especifica una condición que cada fila debe

satisfacer en la tabla.FOREING KEY (nombre_columna) Designa una columna o combinación de

columnas como la clave foránea

REFERENCES(nombre_columna) Establece y obliga una relación entre estacolumna de la clave primaria de la tablareferenciada.

[NOT] NULL Especifica que esta columna no puede contenerun valor nulo.

UNIQUE Especifica que una o más columnas debentener valores únicos través de todas las filas.Oracle crea un índice único para asegurar esteconstraint.

ON DELETE CASCADE Especifica que Oracle mantendrá la integridadautomáticamente removiendo los valores de laclave foránea dependiente si se remueven losvalores de la clave primaria o única.

Page 5: Oracle Sep 01 Tablas

Mg. Ing. Edwin Iván Farro Pacífico Pag 5

Universidad Nacional José Faustino Sánchez Carrión

SECUENCIAUna secuencia es un objeto que permite obtener número único que sigue una determinadaformación.Sintaxis:

CREATE SEQUENCE nombre_secuencia Opciones;

Ejemplo:

Crear una secuencia para generar el número de departamento, la cual empiece en 1 y seincremente de 1 en uno hasta llegar a 9999

SQL>create sequence sq_idemplestart with 1increment by 1maxvalue 9999

nocyclenocache;

MODIFICAR SECUENCIA

EjercicioQue la secuencia aumente de 3 en 3

SQL>alter sequence sq_idempleincrement by 3maxvalue 9999nocycle

nocache;

Ejemplo:Crear una tabla que utilice los diferentes tipos de constraints y una secuencia para generar elcódigo

SQL>create table emple(idemple number(4),nombempl varchar(30) not null,dniempl char(8),suelempl number(10,2) default 0,comiempl number(10,2) default 0,constraint pk_idemple primary key(idemple),constraint u_dniempl unique(dniempl),constraint ck_suelempl check(suelempl>=0),constraint ck_comiempl check(comiempl>=0),constraint ck_comision check(comiempl<suelempl));

Page 6: Oracle Sep 01 Tablas

Mg. Ing. Edwin Iván Farro Pacífico Pag 6

Universidad Nacional José Faustino Sánchez Carrión

Mod ifi car tablas

Cláusula ALTER TABLESe utiliza para alterar la definición de uan tabla:

Añadiendo o eliminando columnas o restricciones

Modificando definiciones de columnas (tipo de datos, Not Null, etc.)

Ejemplo:Agregue la columna teléfono a la tabla emple

SQL>alter table em pleadd telfempl varchar(10);

Ejemplo:Cambie el tipo de dato de la columna telfempl de VARCHAR(10) a CHAR(12).

SQL>alter table em plemodify telfempl char(12);

Ejemplo:Borrar la clave primaria de la tabla emp1.

SQL>alter table em pledrop primary key;

EjemploAgregar el atributo brevete con la restricción UNIQUE.

SQL>alter table em pleadd brevete char(9)constraint u_brevete unique;

Eliminar ColumnasSintaxis:

ALTER TABLE nombre_tabla DROP COLUMN nombre_columna;

Ejemplo:Elimine la columna teléfono de la tabla emple

SQL>alter table em pledrop column telfempl;

Renombrar una tablaEl comando RENAME permite renombrar una tabla.Sintaxis;

RENAME nombre_tabla TO nombre_nuevo

Page 7: Oracle Sep 01 Tablas

Mg. Ing. Edwin Iván Farro Pacífico Pag 7

Universidad Nacional José Faustino Sánchez Carrión

Ejemplo:

SQL>rename emple to trabajador;

Renombrar una columnaSintaxis:

alter table nombre_tablarename column nombre_columna_actual to nombre_columna_nueva

EjercicioRenombrar el campo brevet por brevempl;

alter table em plerename column brevete to brevempl;

EjercicioCrear las siguientes tablas y establecer las relaciones

Crear la siguiente estructura de tablas de acuerdo a las restricciones que indique el profesor

ALUMNO

Campo Tipo de dato Longitud RestriccionesIdalumno number 5 Primary KeyNombalum Varchar2 50 No nulo

Page 8: Oracle Sep 01 Tablas

Mg. Ing. Edwin Iván Farro Pacífico Pag 8

Universidad Nacional José Faustino Sánchez Carrión

CURSOCampo Tipo de dato Longitud Restricciones

Idcurso number 5 Primary Keynombcurs Varchar2 50 No nulocredcurs number 10,2

FICHACampo Tipo de dato Longitud Restricciones

Idficha Number 5 Primary KeyIdalumno Number 5fechfich Datetcred Number 10,2 Valor por defecto0

FICHA_CURSOCampo Tipo de dato Longitud Restricciones

Idmatricula Number 5

Primary KeyIdalumno Number 5credcurs number 10,2