Está en la página 1de 6

Captulo 7: Manejando Tablas y Restricciones

TABLAS
CREATE TABLE PROFESOR( DNI NUMBER(5) PRIMARY KEY, NOMBRE VARCHAR2(150) NOT NULL, DIRECCION VARCHAR2(200) NOT NULL, TELEFONO NUMBER(10) NOT NULL, CARGO VARCHAR2(50) NOT NULL );

VISTAS
CREATE VIEW VISTA_EJEMPLO AS( SELECT IDPRODUCTO, PRECIO, IDPROVEEDOR FROM PRODUCTO );

SECUENCIAS
CREATE SEQUENCE "NOMBRE_DE_LA_BASE_DE_DATOS"."NOMBRE_DE_LA_SECUENCIA" MINVALUE 1 MAXVALUE 500 INCREMENT BY 1 START WITH 1 CACHE 20 ORDER NOCYCLE ; Ejemplo: CREATE SEQUENCE "ALMACEN"."DNI" MINVALUE 1 MAXVALUE 500 INCREMENT BY 1 START WITH 1 CACHE 20 ORDER NOCYCLE ;

SINNIMOS
CREATE OR REPLACE SYNONYM " NOMBRE_DE_LA_BASE_DE_DATOS "."NOMBRE_DEL_SINONIMO" FOR NOMBRE_DE_LA_BASE_DE_DATOS "." NOMBRE_DE_LA_TABLA "; Ejemplo: CREATE OR REPLACE SYNONYM "DISTRIBUIDORA"."SINONIMO1" FOR DISTRIBUIDORA"."CLIENTE";

NDICES
CREATE INDEX "NOMBRE_DE_LA_BASE_DE_DATOS"."NOMBRE_DEL_INDICE" ON " NOMBRE_DE_LA_BASE_DE_DATOS "."NOMBRE_DE_LA_TABLA" ("NOMBRE_DEL_ATRIBUTO") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; Ejemplo: CREATE INDEX "DISTRIBUIDORA"."INDEX1" ON "DISTRIBUIDORA"."CLIENTE" ("NOMBRE") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ;

CREANDO UNA TABLA CON TODOS LOS TIPOS DE DATOS


CREATE TABLE EJEMPLO ( SEXO CHAR (1), APODO NCHAR(50), NOMBRE VARCHAR2(100), EMPRESA NVARCHAR2(100), FOTO CLOB, LOGO NCLOB, TELEFONO NUMBER(10), FEC_NAC DATE, HORA_ENTRADA TIMESTAMP, HORA_SALIDA TIMESTAMP WITH TIME ZONE, HORA_JUNTA TIMESTAMP WITH LOCAL TIME ZONE, TIEMPO_EN_LA_EMPRESA INTERVAL YEAR(2) TO MONTH, TIEMPO_LABORADO INTERVAL DAY(2) TO SECOND, CODIGO RAW(100), DOCUMENTACION BLOB, PROYECTOS BFILE );

CREANDO TABLAS
CREATE TABLE ASIGNATURA( ID_ASIG NUMBER(5) NOT NULL, ID_CARRERA NUMBER(5) NOT NULL, NOMBRE_ASIG VARCHAR2(200) NOT NULL, PRIMARY KEY (ID_CARRERA, NOMBRE_ASIG) );

IDENTIFICADORES
CREATE TABLE EMPLEADO#1_SUELDO$100( SEXO CHAR (1), APODO NCHAR(50), NOMBRE VARCHAR2(100) );

VALORES POR DEFECTO


create table Venta( folio number(8) primary key, fecha varchar2(50) DEFAULT SYSDATE, cantidad number(8) not null, idproducto varchar2(15) not null, precio_unitario number(10,2) not null, importe number(10,2) not null );

AGREGANDO COMENTARIOS
COMMENT ON TABLE Venta IS 'Presentacin de las ventas realizadas'; select*from user_tab_comments;

CREANDO UNA TABLA DE OTRA TABLA


CREATE TABLE RESUMEN_VENTAS AS SELECT FOLIO,FECHA,IMPORTE FROM VENTA;

ALTER TABLE
AGREGANDO COLUMNAS
ALTER TABLE VENTA ADD ID_EMPLEADO NUMBER(10);

MODIFICANDO COLUMNAS
ALTER TABLE VENTA MODIFY (ID_EMPLEADO NUMBER(5));

ELIMINANDO COLUMNAS
Elimina columnas aunque estn en uso: ALTER TABLE VENTA DROP COLUMN ID_EMPLEADO; Elimina columnas que NO estn en uso: ALTER TABLE VENTA SET UNUSED COLUMN ID_EMPLEADO;

DROP TABLE
DROP TABLE VENTA;

RENOMBRAR TABLAS
RENAME VENTA TO VENTAS;

RESTRICCIONES
NOT NULL
CREATE TABLE CLIENTE( IDCLIENTE VARCHAR2(15) NOT NULL, NOMBRE VARCHAR2(100) NOT NULL, DIRECCION VARCHAR2(90) NOT NULL, TELEFONO NUMBER(20) NOT NULL );

CHECK
CREATE TABLE AUTOS( IDAUTO VARCHAR2(15) NOT NULL, MARCA VARCHAR2(50) NOT NULL, COLOR VARCHAR2(20) NOT NULL, PRECIO NUMBER(10,2) NOT NULL ); ALTER TABLE AUTOS ADD CONSTRAINT CK_PRECIO CHECK (PRECIO > 0);

UNIQUE
CREATE TABLE PROVEEDORES( IDPROVEEDOR NUMBER(5) NOT NULL, EMPRESA VARCHAR2(200) NOT NULL, NOMBRE VARCHAR2(100) NOT NULL, DIRECCION VARCHAR2(100) NOT NULL, TELEFONO NUMBER(15) NOT NULL ); ALTER TABLE PROVEEDORES ADD CONSTRAINT CK_EMPRESA UNIQUE (EMPRESA);

PRIMARY KEY
CREATE TABLE PROVEEDORES( IDPROVEEDOR NUMBER(5) NOT NULL, EMPRESA VARCHAR2(200) NOT NULL, NOMBRE VARCHAR2(100) NOT NULL, DIRECCION VARCHAR2(100) NOT NULL, TELEFONO NUMBER(15) NOT NULL ); ALTER TABLE PROVEEDORES ADD CONSTRAINT PK_PROVEEDORES PRIMARY KEY (IDPROVEEDOR);

FOREIGN KEY
CREATE TABLE INVENTARIO( IDPRODUCTO NUMBER(5) NOT NULL, CANTIDAD NUMBER(10) NOT NULL, TALLA VARCHAR2(10) NOT NULL, COLOR VARCHAR2(20) NOT NULL ); ALTER TABLE INVENTARIO ADD CONSTRAINT FK1_INVENTARIOS FOREIGN KEY (IDPRODUCTO) REFERENCES PRODUCTO (IDPRODUCTO);

RESTRICCIN DESABILITADA
ALTER TABLE AUTOS ADD CONSTRAINT PK_AUTOS PRIMARY KEY(IDAUTO) DISABLE;

ELIMINAR RESTRICCIONES
ALTER TABLE AUTOS DROP CONSTRAINT PK_AUTOS;

HABILITANDO Y DESABILITANDO RESTRICCIONES


ALTER TABLE AUTOS DISABLE CONSTRAINT PK_AUTOS; ALTER TABLE AUTOS ENABLE CONSTRAINT PK_AUTOS;

VALIDANDO RESTRICCIONES
ALTER TABLE AUTOS ADD CONSTRAINT PK_AUTOS PRIMARY KEY(IDAUTO) DISABLE VALIDATE; ALTER TABLE AUTOS ADD CONSTRAINT PK_AUTOS PRIMARY KEY(IDAUTO) DISABLE NOVALIDATE; ALTER TABLE AUTOS ADD CONSTRAINT PK_AUTOS PRIMARY KEY(IDAUTO) ENABLE VALIDATE; ALTER TABLE AUTOS ADD CONSTRAINT PK_AUTOS PRIMARY KEY(IDAUTO) ENABLE NOVALIDATE;

También podría gustarte