Está en la página 1de 6

LABORATORIO 12 ORACLE

CREATE table "PROFESOR" (


"PROFDOCUEMNTOS" VARCHAR2(11) NOT NULL,
"PROFNOMBRE" VARCHAR2(30) NOT NULL,
"PROFAPELLIDO" VARCHAR2(30) NOT NULL,
"PROFCATEGORIA" NUMBER NOT NULL,
"PROFSALON" NUMBER NOT NULL,
constraint "PROFESOR_PK" primary key ("PROFDOCUEMNTOS")
)
/

CREATE sequence "PROFESOR_SEQ"


/

CREATE trigger "BI_PROFESOR"


before insert on "PROFESOR"
for each row
begin
if :NEW."PROFDOCUEMNTOS" is null then
select "PROFESOR_SEQ".nextval into :NEW."PROFDOCUEMNTOS" from dual;
end if;
end;
/

CURSO

create sequence "CURSO_SEQ"


start with 1
increment by 1
maxvalue 9999
minvalue 1
cache 20
nocycle
noorder
/

CREATE table "CURSO" (


"CURCODIGO" NUMBER(3,0) NOT NULL,
"CURNOMBRE" VARCHAR2(100) NOT NULL,
"CURHORAS" NUMBER NOT NULL,
"CURVALOR" NUMBER NOT NULL,
constraint "CURSO_PK" primary key ("CURCODIGO")
)
/

CREATE trigger "BI_CURSO"


before insert on "CURSO"
for each row
begin
if :NEW."CURCODIGO" is null then
select "CURSO_SEQ".nextval into :NEW."CURCODIGO" from dual;
end if;
end;
/
REATE TABLE "ESTUDIANTE"
( "ESTDOCUEMENTO" VARCHAR2(11) NOT NULL ENABLE,
"ESTNOMBRE" VARCHAR2(30) NOT NULL ENABLE,
"ESTAPELLIDO" VARCHAR2(30) NOT NULL ENABLE,
"ESTEDAD" NUMBER NOT NULL ENABLE,
CONSTRAINT "ESTUDIANTE_PK" PRIMARY KEY ("ESTDOCUEMENTO") ENABLE
) ;

CREATE OR REPLACE TRIGGER "BI_ESTUDIANTE"


before insert on "ESTUDIANTE"
for each row
begin
if :NEW."ESTDOCUEMENTO" is null then
select "ESTUDIANTE_SEQ".nextval into :NEW."ESTDOCUEMENTO" from dual;
end if;
end;

/
ALTER TRIGGER "BI_ESTUDIANTE" ENABLE;

CREATE table "ESTUDIANTEXCURSO" (


"ESTXCURCURSO" NUMBER(3,0) NOT NULL,
"ESTXCURESTUDIANTE" VARCHAR2(11) NOT NULL,
"ESTXCUR_FECHAINICIO" DATE NOT NULL
)
/

ALTER TABLE "ESTUDIANTEXCURSO" ADD CONSTRAINT "ESTUDIANTEXCURSO_FK"


FOREIGN KEY ("ESTXCURCURSO")
REFERENCES "CURSO" ("CURCODIGO")

/
ALTER TABLE "ESTUDIANTEXCURSO" ADD CONSTRAINT "ESTUDIANTEXCURSO_FK2"
FOREIGN KEY ("ESTXCURESTUDIANTE")
REFERENCES "ESTUDIANTE" ("ESTDOCUEMENTO")

CREATE table "CLIENTE" (


"IDCLIENTE" VARCHAR2(11) NOT NULL,
"CLINOMBRE" VARCHAR2(30) NOT NULL,
"CLIAPELLIDO" VARCHAR2(30) NOT NULL,
"CLIDIRECCION" VARCHAR2(100) NOT NULL,
"CLIDEPARTAMENTO" VARCHAR2(20) NOT NULL,
"CLIMESCUMPLIDO" VARCHAR2(10) NOT NULL,
constraint "CLIENTE_PK" primary key ("IDCLIENTE")
)
/

CREATE trigger "BI_CLIENTE"


before insert on "CLIENTE"
for each row
begin
if :NEW."IDCLIENTE" is null then
select "CLIENTE_SEQ".nextval into :NEW."IDCLIENTE" from dual;
end if;
end;
/

CREATE table "ARTICULO" (


"IDARTICULO" NUMBER(3,0) NOT NULL,
"ARTTIT" VARCHAR2(100) NOT NULL,
"ARTAUT" VARCHAR2(100) NOT NULL,
"ARTEDI" VARCHAR2(300) NOT NULL,
"ARTPRECIO" NUMBER(10) NOT NULL,
constraint "ARTICULO_PK" primary key ("IDARTICULO")
)
/

CREATE sequence "ARTICULO_SEQ"


/

CREATE trigger "BI_ARTICULO"


before insert on "ARTICULO"
for each row
begin
if :NEW."IDARTICULO" is null then
select "ARTICULO_SEQ".nextval into :NEW."IDARTICULO" from dual;
end if;
end;
/

CREATE table "PEDIDO" (


"IDPEDIDO" NUMBER(3,0) NOT NULL,
"PEDIDCLIENTE" VARCHAR2(11) NOT NULL,
"PEDFECHA" DATE NOT NULL,
"PEDVALOR" NUMBER(10) NOT NULL,
constraint "PEDIDO_PK" primary key ("IDPEDIDO")
)
/

CREATE trigger "BI_PEDIDO"


before insert on "PEDIDO"
for each row
begin
if :NEW."IDPEDIDO" is null then
select "PEDIDO_SEQ".nextval into :NEW."IDPEDIDO" from dual;
end if;
end;
/

ALTER TABLE "PEDIDO" ADD CONSTRAINT "PEDIDO_FK"


FOREIGN KEY ("PEDIDCLIENTE")
REFERENCES "CLIENTE" ("IDCLIENTE")

CREATE table "ARTICULOXPEDIDO" (


"ARTPEDIDPEDIDO" NUMBER(3,0) NOT NULL,
"ARTPEDIDCLIENTE" VARCHAR2(11) NOT NULL,
"ARTPEDCANTIDADARTICULOS" NUMBER NOT NULL,
"ARTPEDVALORVENTAARTICULO" NUMBER NOT NULL
)
/

ALTER TABLE "ARTICULOXPEDIDO" ADD CONSTRAINT "ARTICULOXPEDIDO_FK"


FOREIGN KEY ("ARTPEDIDPEDIDO")
REFERENCES "PEDIDO" ("IDPEDIDO")

/
ALTER TABLE "ARTICULOXPEDIDO" ADD CONSTRAINT "ARTICULOXPEDIDO_FK2"
FOREIGN KEY ("ARTPEDIDCLIENTE")
REFERENCES "CLIENTE" ("IDCLIENTE")

REATE table "COMPA�IA" (


"COMNIT" VARCHAR2(11) NOT NULL,
"COMNOMBRE" VARCHAR2(30) NOT NULL,
"COMA�OFUN" NUMBER NOT NULL,
"COMREPLEGAL" VARCHAR2(100) NOT NULL,
constraint "COMPA�IA_PK" primary key ("COMNIT")
)
/

CREATE sequence "COMPA�IA_SEQ"


/

CREATE trigger "BI_COMPA�IA"


before insert on "COMPA�IA"
for each row
begin
if :NEW."COMNIT" is null then
select "COMPA�IA_SEQ".nextval into :NEW."COMNIT" from dual;
end if;
end;
/

CREATE table "TIPOSAUTOMOTORES" (


"TIPOAUTOMOTOR" NUMBER(3,30) NOT NULL,
constraint "TIPOSAUTOMOTORES_PK" primary key ("TIPOAUTOMOTOR")
)
/

CREATE trigger "BI_TIPOSAUTOMOTORES"


before insert on "TIPOSAUTOMOTORES"
for each row
begin
if :NEW."TIPOAUTOMOTOR" is null then
select "TIPOSAUTOMOTORES_SEQ".nextval into :NEW."TIPOAUTOMOTOR" from dual;
end if;
end;
/

REATE table "AUTOMOTORES" (


"AUTPLACA" VARCHAR2(6) NOT NULL,
"AUTMARCA" VARCHAR2(30) NOT NULL,
"AUTTIPO" NUMBER NOT NULL,
"AUTNUMPASAJERO" NUMBER NOT NULL,
"AUTCILINDRAJE" NUMBER NOT NULL,
"AUTNUMCHASIS" VARCHAR2(20) NOT NULL,
constraint "AUTOMOTORES_PK" primary key ("AUTPLACA")
)
/

CREATE sequence "AUTOMOTORES_SEQ"


/

CREATE trigger "BI_AUTOMOTORES"


before insert on "AUTOMOTORES"
for each row
begin
if :NEW."AUTPLACA" is null then
select "AUTOMOTORES_SEQ".nextval into :NEW."AUTPLACA" from dual;
end if;
end;
/

ALTER TABLE "AUTOMOTORES" ADD CONSTRAINT "AUTOMOTORES_FK"


FOREIGN KEY ("AUTTIPO")
REFERENCES "TIPOSAUTOMOTORES" ("TIPOAUTOMOTOR")

CREATE table "ASEGURAMIENTO" (


"ASEGCODIGO" NUMBER(3,0) NOT NULL,
"ASEGFECHAINICIO" DATE NOT NULL,
"ASEGFECHAEXPIRACION" DATE NOT NULL,
"ASEGVALORASEGURADO" NUMBER NOT NULL,
"ASEGESTADO" VARCHAR2(20) NOT NULL,
"ASEGCOSTO" NUMBER NOT NULL,
"ASEGPLACA" VARCHAR2(20) NOT NULL,
constraint "ASEGURAMIENTO_PK" primary key ("ASEGCODIGO")
)
/

CREATE trigger "BI_ASEGURAMIENTO"


before insert on "ASEGURAMIENTO"
for each row
begin
if :NEW."ASEGCODIGO" is null then
select "ASEGURAMIENTOS_SQL".nextval into :NEW."ASEGCODIGO" from dual;
end if;
end;
/

ALTER TABLE "ASEGURAMIENTO" ADD CONSTRAINT "ASEGURAMIENTO_FK"


FOREIGN KEY ("ASEGPLACA")
REFERENCES "AUTOMOTORES" ("AUTPLACA")

/
alter table "ASEGURAMIENTO" add
constraint "ASEGURAMIENTO_CK1"
check (ASEGESTADO IN ('ASEGURADO', 'PROCESADA'))
/

CREATE table "INCIDENTES" (


"INCICODIGO" NUMBER(3,0) NOT NULL,
"INCIFECHA" DATE NOT NULL,
"INCIPLACA" VARCHAR2(6) NOT NULL,
"INCILUGAR" VARCHAR2(40) NOT NULL,
"INCICANTHERIDOS" NUMBER NOT NULL,
"INCICANTFATALIDADES" NUMBER NOT NULL,
"INCICANTAUTOSINVOLUCRADOS" NUMBER NOT NULL,
constraint "INCIDENTES_PK" primary key ("INCICODIGO")
)
/

CREATE trigger "BI_INCIDENTES"


before insert on "INCIDENTES"
for each row
begin
if :NEW."INCICODIGO" is null then
select "PEDIDO_SEQ".nextval into :NEW."INCICODIGO" from dual;
end if;
end;
/

ALTER TABLE "INCIDENTES" ADD CONSTRAINT "INCIDENTES_FK"


FOREIGN KEY ("INCIPLACA")
REFERENCES "AUTOMOTORES" ("AUTPLACA")

También podría gustarte