Pag. 1
TABLAS
CREAR TABLAS
Los requisitos de la cláusula 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 carácter alfabético:
 A-Z,a-z,0-9
 $ y # también son válidos pero no se sugieren
 No debe ser 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 cláusula AS.
Sintaxis:
CREATE TABLE nombre_tabla [(columna1,columna2,…)]
AS sentencia_select;
Ejemplo:
CREATE TABLE dept AS SELECT * FROM departamento;
 Mostrar estructura.
 Listar registros.
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 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 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 más columnas deben
tener valores únicos través de todas las filas.
Oracle crea un índice único para asegurar este
constraint.
ON DELETE CASCADE Especifica que Oracle mantendrá la integridad
automáticamente removiendo los valores de la
clave foránea dependiente si se remueven los
valores de la clave primaria o única.
Ejemplo:
Diseño de una tabla identificando sus restricciones principales:
Crear una tabla que utilice los diferentes tipos de constraints.
Campo Tipo de dato longitud restriccción
codigo Number 4 PK
Nombre Varachar2 10 UNICO
Cargo Varachar2 9 NO NULO
Jefe Number 4 NULO
ingreso Date Fecha del sistema por defecto
Salario Number 7,2 Salario>=0
Comisión Number 7,2 Comisión>=0
departamento Number 2 Solo acepta10 o 20
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));
OPERACIONES BÁSICAS
Modificar tablas
Cláusula ALTER TABLE
Se utiliza para alterar la definición de uan tabla:
 Añadiendo o eliminando columnas o restricciones
 Modificando definiciones de columnas (tipo de datos, NotNull, etc.)
Ejemplo:
Agregue la columna teléfono a la tabla emp1.
SQL> ALTER TABLE emp1
ADD telefono1 CHAR(8);
Ejemplo:
La comisión debe ser menor o igual que el salario.
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 restricción 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 teléfono 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’
créate cr
Ejemplo 1
Previamente conectarseconel usuario administrador SYS
Creamos el usuario
CREATE USER COMPRAS IDENTIFIED BY PS02
Asignarle privilegios
GRANT CONNECT, RESOURCE TO COMPRAS
Creamos Los Tablespace
Create tablespace ts_compras
Datafile ‘F:practicaoraclets_comp.ora’
Size 3 m
Extent management local autoallocate;
*Nota: debe existir la carpeta practicaoracle.
Nos conectamos al esquema factura
Connect COMPRAS /PS02
Procedemos a crear tablas
CREATE TABLE TIPO_DOCUMENTO (
Codigo_Tipo_Documento CHAR(8) NOT NULL,
nombre VARCHAR2(50) NOT NULL)
tablespace ts_compras;
CREATE TABLE MARCA (
Codigo_Marca number(8) NOTNULL,
nombre VARCHAR2(50) CONSTRAINT NOM_MAR NOT NULL,
CONSTRAINT NOM_UNI UNIQUE(NOMBRE))
tablespace ts_compras;
CREATE TABLE CATEGORIA (
Codigo_Categoria CHAR(8) NOTNULL,
nombre VARCHAR2(50) CONSTRAINT NOM_CAT UNIQUE,
constraint CAT_NOM check(NOMBRE in ('A','B','C','D')))
tablespace ts_compras;
CREATE TABLE PRODUCTO (
Codigo_Producto CHAR(8) NOT NULL,
NOMBRE VARCHAR2(50) NOT NULL,
Modelo VARCHAR2(50) NOT NULL,
Plataforma VARCHAR2(50) NULL,
Precio NUMBER(8,2) NOT NULL,
Stock NUMBER(8,2) NOT NULL,
Codigo_Categoria CHAR(8) NOTNULL,
Codigo_Marca number(8) NOTNULL,
CONSTRAINT NOM_PROD UNIQUE(NOMBRE),
CONSTRAINT PRE_STOCK CHECK (STOCK>=0 and STOCK<=100))
tablespace ts_compras;
CREATE TABLE CLIENTE (
Codigo_Cliente CHAR(8) NOT NULL,
Razon_Social VARCHAR2(50) NOT NULL,
Direccion VARCHAR2(50) NULL,
Telefono VARCHAR2(25) NULL,
RUC VARCHAR2(11) NULL,
DNI VARCHAR2(8) NULL)
tablespace ts_compras;
CREATE TABLE USUARIO (
CODIGO_USUARIO CHAR(8) NOTNULL,
NOMBRES VARCHAR2(50) NOT NULL,
APELLIDOS VARCHAR2(50) NOT NULL,
DIRECCION VARCHAR2(50) NULL,
SEXO CHAR(1) NULL,
CLAVE VARCHAR2(4) NULL,
CONSTRAINT US_APE_NOM UNIQUE(NOMBRES,APELLIDOS),
CONSTRAINT US_SEXO CHECK (SEXO IN ('M','F'))
TABLESPACE ts_compras;
CREATE TABLE ENCABEZADO_DOCUMENTO (
Codigo_Encabezado_Documento CHAR(8) NOT NULL,
Fecha_emision DATE DEFAULT SYSDATE,
Importe_Bruto NUMBER(8,2) NOT NULL,
Descuento NUMBER(8,2) NOT NULL,
Recargo NUMBER(8,2) NOT NULL,
Importe_Neto NUMBER(8,2) NOT NULL,
IGV NUMBER(8,2) NOT NULL,
Total_Pagar NUMBER(8,2) NOT NULL,
Codigo_Cliente CHAR(8) NOTNULL,
Codigo_Tipo_Documento CHAR(8) NOT NULL,
Serie_Documento CHAR(3) NOT NULL,
Numero_Documento CHAR(10) NOT NULL)
tablespace ts_compras;
CREATE TABLE DETALLE_DOCUMENTO (
Codigo_Detalle_Documento CHAR(8) NOT NULL,
Codigo_Encabezado_Documento CHAR(8) NOT NULL,
Codigo_Producto CHAR(8) NOT NULL,
Cantidad NUMBER(8,2) NOT NULL,
Precio NUMBER(8,2) NOT NULL,
Importe NUMBER(8,2) NOT NULL)
tablespace ts_compras;
Anadiendo columnas a una table
alter table cliente
add
(direccion varchar2(50),
direccion2 varchar2(20));
modificando la definición de una columna existente
alter table cliente
modify
(direccion2 varchar2(50));
Eliminando columnas
alter table cliente
drop column direccion2;
Eliminando Tablas
drop table cliente
ALTER TABLE TIPO_DOCUMENTO
Add Constraint PK_Tipo_Documento
Primary Key (Codigo_Tipo_Documento)
ALTER TABLE USUARIO
Add Constraint PK_Usuario
Primary Key (Codigo_Usuario)
ALTER TABLE MARCA
Add Constraint PK_Marca
Primary Key (Codigo_Marca)
ALTER TABLE CATEGORIA
Add Constraint PK_categoria
Primary Key (Codigo_Categoria)
ALTER TABLE PRODUCTO
Add Constraint PK_producto
Primary Key (Codigo_Producto)
ALTER TABLE CLIENTE
Add Constraint PK_Cliente
Primary Key (Codigo_Cliente)
ALTER TABLE ENCABEZADO_DOCUMENTO
Add Constraint PK_Encabezado_Documento
Primary Key (Codigo_Encabezado_Documento)
ALTER TABLE DETALLE_DOCUMENTO
Add Constraint PK_Detalle_Documento
Primary Key (Codigo_Detalle_Documento)
---------------------------------------------------------------------------------------------------
ALTER TABLE PRODUCTO
ADD CONSTRAINT FK_Categoria
FOREIGN KEY (Codigo_Categoria)
REFERENCES CATEGORIA
ALTER TABLE PRODUCTO
ADD CONSTRAINT FK_Marca
FOREIGN KEY (Codigo_Marca)
REFERENCES MARCA
ALTER TABLE ENCABEZADO_DOCUMENTO
ADD CONSTRAINT FK_Cliente
FOREIGN KEY (Codigo_Cliente)
REFERENCES CLIENTE
ALTER TABLE ENCABEZADO_DOCUMENTO
ADD CONSTRAINT FK_Tipo_Documento
FOREIGN KEY (Codigo_Tipo_Documento)
REFERENCES TIPO_DOCUMENTO
ALTER TABLE DETALLE_DOCUMENTO
ADD CONSTRAINT FK_Encabezado_Documento
FOREIGN KEY (CODIGO_ENCABEZADO_DOCUMENTO)
REFERENCES ENCABEZADO_DOCUMENTO
ALTER TABLE DETALLE_DOCUMENTO
ADD CONSTRAINT FK_Producto
FOREIGN KEY (Codigo_Producto)
REFERENCES PRODUCTO
SENTENCIAS
CREATE SEQUENCE MARCA_ID
INCREMENT BY 10
START WITH 8010
MINVALUE 0
MAXVALUE 999999
NOCYCLE
NOCACHE
ALTER SEQUENCE MARCA_ID
INCREMENT BY 20
DROP SEQUENCE MARCA_ID
INSERT INTO CLIENTE VALUES ('CL001', 'usb','Los Sauces 545',
'534-3898','89898989', '09900222')
INSERT INTO CLIENTE VALUES ('CL002', 'usb','Los Sauces 545',
'534-3898','89898989', '09900222')
INSERT INTO CLIENTE VALUES ('CL003', 'usb','Los Sauces 545',
'534-3898','89898989', '09900222')
INSERT INTO CLIENTE VALUES ('CL004', 'usb','Los Sauces 545',
'534-3898','89898989', '09900222')
INSERT INTO CLIENTE VALUES ('CL005', 'usb','Los Sauces 545',
'534-3898','89898989', '09900222')
INSERT INTO CLIENTE VALUES ('CL006', 'usb','Los Sauces 545',
'534-3898','89898989', '09900222')
COMMIT
INSERT INTO CATEGORIA VALUES ('C00001','A');
INSERT INTO CATEGORIA VALUES ('C00002','B');
INSERT INTO CATEGORIA VALUES ('C00003','C');
INSERT INTO CATEGORIA VALUES ('C00004','D')
COMMIT
INSERT INTO MARCA VALUES (marca_id.NEXTVAL,'SAGA');
INSERT INTO MARCA VALUES (marca_id.NEXTVAL,'RYPLEI');
INSERT INTO MARCA VALUES (marca_id.NEXTVAL ,'SANDOR');
INSERT INTO MARCA VALUES (marca_id.NEXTVAL ,'ABC')
COMMIT
INSERT INTO PRODUCTO VALUES ('PR000001',
'silla','giratoria','PLATAF',123,99,'C00001',8010);
INSERT INTO PRODUCTO VALUES ('PR000002',
'mesa','giratoria','PLATAF',123,99,'C00001',8010);
INSERT INTO PRODUCTO VALUES ('PR000003',
'cama','giratoria','PLATAF',123,99,'C00001',8010);
INSERT INTO PRODUCTO VALUES ('PR000004',
'estante','vertical','PLATAF',123,99,'C00001',8010);
COMMIT
INSERT INTO TIPO_DOCUMENTO VALUES ('TIPDOC01','OFICIO');
INSERT INTO TIPO_DOCUMENTO VALUES ('TIPDOC02','MEMO');
INSERT INTO TIPO_DOCUMENTO VALUES ('TIPDOC03','SOLICITUD');
INSERT INTO TIPO_DOCUMENTO VALUES ('TIPDOC04','CARTA')
COMMIT
INSERT INTO ENCABEZADO_DOCUMENTO VALUES
('ENCDOC01','15/03/2010',1000,10,200,1000,100,1900,'CL001','TIPDOC01','S01','001'
);
INSERT INTO DETALLE_DOCUMENTO VALUES
('DETDOC01','ENCDOC01','PR000002',1000,100,2000);
COMMIT
INSERT INTO ENCABEZADO_DOCUMENTO VALUES
('ENCDOC02','15/03/2010',1000,10,200,1000,100,1900,'CL001','TIPDOC01','S01','001'
);
INSERT INTO DETALLE_DOCUMENTO VALUES
('DETDOC02','ENCDOC02','PR000001',1000,100,2000);
COMMIT
INSERT INTO ENCABEZADO_DOCUMENTO VALUES
('ENCDOC03','15/03/2010',1000,10,200,1000,100,1900,'CL001','TIPDOC01','S01','001'
);
INSERT INTO DETALLE_DOCUMENTO VALUES
('DETDOC03','ENCDOC03','PR000004',1000,100,2000);
COMMIT

1 lab-2 -tablas-y-restricciones

  • 1.
    Pag. 1 TABLAS CREAR TABLAS Losrequisitos de la cláusula 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 carácter alfabético:  A-Z,a-z,0-9  $ y # también son válidos pero no se sugieren  No debe ser 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 cláusula AS. Sintaxis: CREATE TABLE nombre_tabla [(columna1,columna2,…)] AS sentencia_select; Ejemplo: CREATE TABLE dept AS SELECT * FROM departamento;  Mostrar estructura.  Listar registros. Restricciones de Columnas
  • 2.
    La siguiente tablamuestra los diferentes restricciones manejadas por oracle. CONSTRAINT USO PRIMARY KEY Identifica de manera única a cada fila de la tabla CHECK 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 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 más columnas deben tener valores únicos través de todas las filas. Oracle crea un índice único para asegurar este constraint. ON DELETE CASCADE Especifica que Oracle mantendrá la integridad automáticamente removiendo los valores de la clave foránea dependiente si se remueven los valores de la clave primaria o única. Ejemplo: Diseño de una tabla identificando sus restricciones principales: Crear una tabla que utilice los diferentes tipos de constraints. Campo Tipo de dato longitud restriccción codigo Number 4 PK Nombre Varachar2 10 UNICO Cargo Varachar2 9 NO NULO Jefe Number 4 NULO ingreso Date Fecha del sistema por defecto Salario Number 7,2 Salario>=0 Comisión Number 7,2 Comisión>=0 departamento Number 2 Solo acepta10 o 20 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));
  • 3.
    OPERACIONES BÁSICAS Modificar tablas CláusulaALTER TABLE Se utiliza para alterar la definición de uan tabla:  Añadiendo o eliminando columnas o restricciones  Modificando definiciones de columnas (tipo de datos, NotNull, etc.) Ejemplo: Agregue la columna teléfono a la tabla emp1. SQL> ALTER TABLE emp1 ADD telefono1 CHAR(8); Ejemplo: La comisión debe ser menor o igual que el salario. 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 restricción 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 teléfono de la tabla emp1; SQL> ALTER TABLE emp1 DROP COLUMN telefono;
  • 4.
    Renombrar una tabla Elcomando 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’ créate cr Ejemplo 1 Previamente conectarseconel usuario administrador SYS Creamos el usuario CREATE USER COMPRAS IDENTIFIED BY PS02 Asignarle privilegios GRANT CONNECT, RESOURCE TO COMPRAS Creamos Los Tablespace Create tablespace ts_compras Datafile ‘F:practicaoraclets_comp.ora’ Size 3 m Extent management local autoallocate; *Nota: debe existir la carpeta practicaoracle. Nos conectamos al esquema factura Connect COMPRAS /PS02 Procedemos a crear tablas CREATE TABLE TIPO_DOCUMENTO ( Codigo_Tipo_Documento CHAR(8) NOT NULL, nombre VARCHAR2(50) NOT NULL)
  • 5.
    tablespace ts_compras; CREATE TABLEMARCA ( Codigo_Marca number(8) NOTNULL, nombre VARCHAR2(50) CONSTRAINT NOM_MAR NOT NULL, CONSTRAINT NOM_UNI UNIQUE(NOMBRE)) tablespace ts_compras; CREATE TABLE CATEGORIA ( Codigo_Categoria CHAR(8) NOTNULL, nombre VARCHAR2(50) CONSTRAINT NOM_CAT UNIQUE, constraint CAT_NOM check(NOMBRE in ('A','B','C','D'))) tablespace ts_compras; CREATE TABLE PRODUCTO ( Codigo_Producto CHAR(8) NOT NULL, NOMBRE VARCHAR2(50) NOT NULL, Modelo VARCHAR2(50) NOT NULL, Plataforma VARCHAR2(50) NULL, Precio NUMBER(8,2) NOT NULL, Stock NUMBER(8,2) NOT NULL, Codigo_Categoria CHAR(8) NOTNULL, Codigo_Marca number(8) NOTNULL, CONSTRAINT NOM_PROD UNIQUE(NOMBRE), CONSTRAINT PRE_STOCK CHECK (STOCK>=0 and STOCK<=100)) tablespace ts_compras; CREATE TABLE CLIENTE ( Codigo_Cliente CHAR(8) NOT NULL, Razon_Social VARCHAR2(50) NOT NULL, Direccion VARCHAR2(50) NULL, Telefono VARCHAR2(25) NULL, RUC VARCHAR2(11) NULL, DNI VARCHAR2(8) NULL) tablespace ts_compras; CREATE TABLE USUARIO ( CODIGO_USUARIO CHAR(8) NOTNULL, NOMBRES VARCHAR2(50) NOT NULL, APELLIDOS VARCHAR2(50) NOT NULL, DIRECCION VARCHAR2(50) NULL, SEXO CHAR(1) NULL, CLAVE VARCHAR2(4) NULL, CONSTRAINT US_APE_NOM UNIQUE(NOMBRES,APELLIDOS), CONSTRAINT US_SEXO CHECK (SEXO IN ('M','F')) TABLESPACE ts_compras; CREATE TABLE ENCABEZADO_DOCUMENTO ( Codigo_Encabezado_Documento CHAR(8) NOT NULL,
  • 6.
    Fecha_emision DATE DEFAULTSYSDATE, Importe_Bruto NUMBER(8,2) NOT NULL, Descuento NUMBER(8,2) NOT NULL, Recargo NUMBER(8,2) NOT NULL, Importe_Neto NUMBER(8,2) NOT NULL, IGV NUMBER(8,2) NOT NULL, Total_Pagar NUMBER(8,2) NOT NULL, Codigo_Cliente CHAR(8) NOTNULL, Codigo_Tipo_Documento CHAR(8) NOT NULL, Serie_Documento CHAR(3) NOT NULL, Numero_Documento CHAR(10) NOT NULL) tablespace ts_compras; CREATE TABLE DETALLE_DOCUMENTO ( Codigo_Detalle_Documento CHAR(8) NOT NULL, Codigo_Encabezado_Documento CHAR(8) NOT NULL, Codigo_Producto CHAR(8) NOT NULL, Cantidad NUMBER(8,2) NOT NULL, Precio NUMBER(8,2) NOT NULL, Importe NUMBER(8,2) NOT NULL) tablespace ts_compras; Anadiendo columnas a una table alter table cliente add (direccion varchar2(50), direccion2 varchar2(20)); modificando la definición de una columna existente alter table cliente modify (direccion2 varchar2(50)); Eliminando columnas alter table cliente drop column direccion2; Eliminando Tablas drop table cliente ALTER TABLE TIPO_DOCUMENTO
  • 7.
    Add Constraint PK_Tipo_Documento PrimaryKey (Codigo_Tipo_Documento) ALTER TABLE USUARIO Add Constraint PK_Usuario Primary Key (Codigo_Usuario) ALTER TABLE MARCA Add Constraint PK_Marca Primary Key (Codigo_Marca) ALTER TABLE CATEGORIA Add Constraint PK_categoria Primary Key (Codigo_Categoria) ALTER TABLE PRODUCTO Add Constraint PK_producto Primary Key (Codigo_Producto) ALTER TABLE CLIENTE Add Constraint PK_Cliente Primary Key (Codigo_Cliente) ALTER TABLE ENCABEZADO_DOCUMENTO Add Constraint PK_Encabezado_Documento Primary Key (Codigo_Encabezado_Documento) ALTER TABLE DETALLE_DOCUMENTO Add Constraint PK_Detalle_Documento Primary Key (Codigo_Detalle_Documento) --------------------------------------------------------------------------------------------------- ALTER TABLE PRODUCTO ADD CONSTRAINT FK_Categoria FOREIGN KEY (Codigo_Categoria) REFERENCES CATEGORIA ALTER TABLE PRODUCTO ADD CONSTRAINT FK_Marca FOREIGN KEY (Codigo_Marca) REFERENCES MARCA ALTER TABLE ENCABEZADO_DOCUMENTO ADD CONSTRAINT FK_Cliente FOREIGN KEY (Codigo_Cliente) REFERENCES CLIENTE
  • 8.
    ALTER TABLE ENCABEZADO_DOCUMENTO ADDCONSTRAINT FK_Tipo_Documento FOREIGN KEY (Codigo_Tipo_Documento) REFERENCES TIPO_DOCUMENTO ALTER TABLE DETALLE_DOCUMENTO ADD CONSTRAINT FK_Encabezado_Documento FOREIGN KEY (CODIGO_ENCABEZADO_DOCUMENTO) REFERENCES ENCABEZADO_DOCUMENTO ALTER TABLE DETALLE_DOCUMENTO ADD CONSTRAINT FK_Producto FOREIGN KEY (Codigo_Producto) REFERENCES PRODUCTO SENTENCIAS CREATE SEQUENCE MARCA_ID INCREMENT BY 10 START WITH 8010 MINVALUE 0 MAXVALUE 999999 NOCYCLE NOCACHE ALTER SEQUENCE MARCA_ID INCREMENT BY 20 DROP SEQUENCE MARCA_ID INSERT INTO CLIENTE VALUES ('CL001', 'usb','Los Sauces 545', '534-3898','89898989', '09900222') INSERT INTO CLIENTE VALUES ('CL002', 'usb','Los Sauces 545', '534-3898','89898989', '09900222') INSERT INTO CLIENTE VALUES ('CL003', 'usb','Los Sauces 545', '534-3898','89898989', '09900222') INSERT INTO CLIENTE VALUES ('CL004', 'usb','Los Sauces 545', '534-3898','89898989', '09900222') INSERT INTO CLIENTE VALUES ('CL005', 'usb','Los Sauces 545', '534-3898','89898989', '09900222') INSERT INTO CLIENTE VALUES ('CL006', 'usb','Los Sauces 545', '534-3898','89898989', '09900222') COMMIT
  • 9.
    INSERT INTO CATEGORIAVALUES ('C00001','A'); INSERT INTO CATEGORIA VALUES ('C00002','B'); INSERT INTO CATEGORIA VALUES ('C00003','C'); INSERT INTO CATEGORIA VALUES ('C00004','D') COMMIT INSERT INTO MARCA VALUES (marca_id.NEXTVAL,'SAGA'); INSERT INTO MARCA VALUES (marca_id.NEXTVAL,'RYPLEI'); INSERT INTO MARCA VALUES (marca_id.NEXTVAL ,'SANDOR'); INSERT INTO MARCA VALUES (marca_id.NEXTVAL ,'ABC') COMMIT INSERT INTO PRODUCTO VALUES ('PR000001', 'silla','giratoria','PLATAF',123,99,'C00001',8010); INSERT INTO PRODUCTO VALUES ('PR000002', 'mesa','giratoria','PLATAF',123,99,'C00001',8010); INSERT INTO PRODUCTO VALUES ('PR000003', 'cama','giratoria','PLATAF',123,99,'C00001',8010); INSERT INTO PRODUCTO VALUES ('PR000004', 'estante','vertical','PLATAF',123,99,'C00001',8010); COMMIT INSERT INTO TIPO_DOCUMENTO VALUES ('TIPDOC01','OFICIO'); INSERT INTO TIPO_DOCUMENTO VALUES ('TIPDOC02','MEMO'); INSERT INTO TIPO_DOCUMENTO VALUES ('TIPDOC03','SOLICITUD'); INSERT INTO TIPO_DOCUMENTO VALUES ('TIPDOC04','CARTA') COMMIT INSERT INTO ENCABEZADO_DOCUMENTO VALUES ('ENCDOC01','15/03/2010',1000,10,200,1000,100,1900,'CL001','TIPDOC01','S01','001' ); INSERT INTO DETALLE_DOCUMENTO VALUES ('DETDOC01','ENCDOC01','PR000002',1000,100,2000); COMMIT INSERT INTO ENCABEZADO_DOCUMENTO VALUES ('ENCDOC02','15/03/2010',1000,10,200,1000,100,1900,'CL001','TIPDOC01','S01','001' );
  • 10.
    INSERT INTO DETALLE_DOCUMENTOVALUES ('DETDOC02','ENCDOC02','PR000001',1000,100,2000); COMMIT INSERT INTO ENCABEZADO_DOCUMENTO VALUES ('ENCDOC03','15/03/2010',1000,10,200,1000,100,1900,'CL001','TIPDOC01','S01','001' ); INSERT INTO DETALLE_DOCUMENTO VALUES ('DETDOC03','ENCDOC03','PR000004',1000,100,2000); COMMIT