Cap tulo 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;
Top Related