You are on page 1of 8

LECCION 4

Evaluación “CIRCUITO - CATEGORIA”

SCRIPT DADO POR EL DOCENTE

--------------------------------------------------------
-- Archivo creado - viernes-enero-24-2014
--------------------------------------------------------
--------------------------------------------------------
-- DDL for Type COMPONENTE_T
--------------------------------------------------------

CREATE OR REPLACE TYPE "REDROVANF"."COMPONENTE_T" AS OBJECT


( /* TODO enter attribute and method declarations here */
IDENTIFICACION VARCHAR2(40),
CODIGO VARCHAR(40),
CANTIDAD NUMBER(4),
VALOR_UNITARIO NUMBER(8,2)
)

--------------------------------------------------------
-- DDL for Type DESC_T
--------------------------------------------------------

CREATE OR REPLACE TYPE "REDROVANF"."DESC_T" AS OBJECT


( /* TODO enter attribute and method declarations here */
NIVEL VARCHAR2(20),
PROPOSITO VARCHAR2(100),
YEAR NUMBER(4)
)

--------------------------------------------------------
-- DDL for Type LISTA_T
--------------------------------------------------------

CREATE OR REPLACE TYPE "REDROVANF"."LISTA_T"


AS VARRAY(100) OF COMPONENTE_T;

--------------------------------------------------------
-- DDL for Sequence CATEGORIA_SEQ
--------------------------------------------------------

CREATE SEQUENCE "REDROVANF"."CATEGORIA_SEQ" MINVALUE 1 MAXVALUE


9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20
NOORDER NOCYCLE ;
--------------------------------------------------------
-- DDL for Sequence CIRCUITO_SEQ
--------------------------------------------------------

CREATE SEQUENCE "REDROVANF"."CIRCUITO_SEQ" MINVALUE 1 MAXVALUE


9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20
NOORDER NOCYCLE ;
--------------------------------------------------------
-- DDL for Sequence CIRCUITO_SEQ1
--------------------------------------------------------

CREATE SEQUENCE "REDROVANF"."CIRCUITO_SEQ1" MINVALUE 1 MAXVALUE


9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20
NOORDER NOCYCLE ;
--------------------------------------------------------
-- DDL for Table CATEGORIA
--------------------------------------------------------

CREATE TABLE "REDROVANF"."CATEGORIA"


( "ID" NUMBER(6,0),
"CATEGORIA" VARCHAR2(50 BYTE)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS
2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "LENGUAJE4GL" ;
--------------------------------------------------------
-- DDL for Table CIRCUITO
--------------------------------------------------------

CREATE TABLE "REDROVANF"."CIRCUITO"


( "ID" NUMBER(6,0),
"NOMBRE" VARCHAR2(50 BYTE),
"DESCRIPCION" "REDROVANF"."DESC_T" ,
"PRESUPUESTO" NUMBER(8,2),
"COMPONENTES" "REDROVANF"."LISTA_T" ,
"ID_CATEG" NUMBER(6,0)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS
2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "LENGUAJE4GL" ;
REM INSERTING into REDROVANF.CATEGORIA
REM INSERTING into REDROVANF.CIRCUITO
--------------------------------------------------------
-- DDL for Index CATEGORIA_PK
--------------------------------------------------------

CREATE UNIQUE INDEX "REDROVANF"."CATEGORIA_PK" ON


"REDROVANF"."CATEGORIA" ("ID")
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS
2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "LENGUAJE4GL" ;
--------------------------------------------------------
-- DDL for Index CIRCUITO_PK
--------------------------------------------------------
CREATE UNIQUE INDEX "REDROVANF"."CIRCUITO_PK" ON
"REDROVANF"."CIRCUITO" ("ID")
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS
2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "LENGUAJE4GL" ;
--------------------------------------------------------
-- Constraints for Table CATEGORIA
--------------------------------------------------------

ALTER TABLE "REDROVANF"."CATEGORIA" ADD CONSTRAINT "CATEGORIA_PK"


PRIMARY KEY ("ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS
2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "LENGUAJE4GL" ENABLE;

ALTER TABLE "REDROVANF"."CATEGORIA" MODIFY ("ID" NOT NULL ENABLE);

ALTER TABLE "REDROVANF"."CATEGORIA" MODIFY ("CATEGORIA" NOT NULL


ENABLE);
--------------------------------------------------------
-- Constraints for Table CIRCUITO
--------------------------------------------------------

ALTER TABLE "REDROVANF"."CIRCUITO" ADD CONSTRAINT "CIRCUITO_PK"


PRIMARY KEY ("ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS
2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "LENGUAJE4GL" ENABLE;

ALTER TABLE "REDROVANF"."CIRCUITO" MODIFY ("ID" NOT NULL ENABLE);


--------------------------------------------------------
-- Ref Constraints for Table CIRCUITO
--------------------------------------------------------

ALTER TABLE "REDROVANF"."CIRCUITO" ADD CONSTRAINT "CIRCU_CATEG_FK"


FOREIGN KEY ("ID_CATEG")
REFERENCES "REDROVANF"."CATEGORIA" ("ID") ENABLE;
--------------------------------------------------------
-- DDL for Trigger CATEGORIA_TRG
--------------------------------------------------------

CREATE OR REPLACE TRIGGER "REDROVANF"."CATEGORIA_TRG" BEFORE INSERT


ON CATEGORIA
FOR EACH ROW
BEGIN
<<COLUMN_SEQUENCES>>
BEGIN
IF :NEW.ID IS NULL THEN
SELECT CATEGORIA_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
END IF;
END COLUMN_SEQUENCES;
END;
/
ALTER TRIGGER "REDROVANF"."CATEGORIA_TRG" ENABLE;
--------------------------------------------------------
-- DDL for Trigger CIRCUITO_TRG
--------------------------------------------------------

CREATE OR REPLACE TRIGGER "REDROVANF"."CIRCUITO_TRG" BEFORE INSERT


ON CIRCUITO
FOR EACH ROW
BEGIN
<<COLUMN_SEQUENCES>>
BEGIN
IF :NEW.ID IS NULL THEN
SELECT CIRCUITO_SEQ1.NEXTVAL INTO :NEW.ID FROM DUAL;
END IF;
END COLUMN_SEQUENCES;
END;
/
ALTER TRIGGER "REDROVANF"."CIRCUITO_TRG" ENABLE;
SCRIPT DESARROLLADO POR EL ESTUIDANTE

--------------------------------------------------------
-- File created - Friday-January-24-2014
--------------------------------------------------------
DROP TABLE "CARLOSCHANGO"."CATEGORIA" cascade constraints;
DROP TABLE "CARLOSCHANGO"."CIRCUITO" cascade constraints;
DROP SEQUENCE "CARLOSCHANGO"."CATEGORIA_SEQ";
DROP SEQUENCE "CARLOSCHANGO"."CIRCUITO_SEQ";
DROP SEQUENCE "CARLOSCHANGO"."CIRCUITO_SEQ1";
DROP VIEW "CARLOSCHANGO"."CIRCUITO_VIEW";
DROP TYPE "CARLOSCHANGO"."COMPONENTE_T";
DROP TYPE "CARLOSCHANGO"."DESC_T";
DROP TYPE "CARLOSCHANGO"."LISTA_T";
--------------------------------------------------------
-- DDL for Type COMPONENTE_T
--------------------------------------------------------

CREATE OR REPLACE TYPE "CARLOSCHANGO"."COMPONENTE_T" AS OBJECT


( /* TODO enter attribute and method declarations here */
IDENTIFICACION VARCHAR2(40),
CODIGO VARCHAR(40),
CANTIDAD NUMBER(4),
VALOR_UNITARIO NUMBER(8,2)
)

--------------------------------------------------------
-- DDL for Type DESC_T
--------------------------------------------------------

CREATE OR REPLACE TYPE "CARLOSCHANGO"."DESC_T" AS OBJECT


( /* TODO enter attribute and method declarations here */
NIVEL VARCHAR2(20),
PROPOSITO VARCHAR2(100),
YEAR NUMBER(4)
)

--------------------------------------------------------
-- DDL for Type LISTA_T
--------------------------------------------------------

CREATE OR REPLACE TYPE "CARLOSCHANGO"."LISTA_T"


AS VARRAY(100) OF COMPONENTE_T;

--------------------------------------------------------
-- DDL for Sequence CATEGORIA_SEQ
--------------------------------------------------------

CREATE SEQUENCE "CARLOSCHANGO"."CATEGORIA_SEQ" MINVALUE 1


MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH
1 CACHE 20 NOORDER NOCYCLE ;
--------------------------------------------------------
-- DDL for Sequence CIRCUITO_SEQ
--------------------------------------------------------

CREATE SEQUENCE "CARLOSCHANGO"."CIRCUITO_SEQ" MINVALUE 1


MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH
1 CACHE 20 NOORDER NOCYCLE ;
--------------------------------------------------------
-- DDL for Sequence CIRCUITO_SEQ1
--------------------------------------------------------

CREATE SEQUENCE "CARLOSCHANGO"."CIRCUITO_SEQ1" MINVALUE 1


MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH
1 CACHE 20 NOORDER NOCYCLE ;
--------------------------------------------------------
-- DDL for Table CATEGORIA
--------------------------------------------------------

CREATE TABLE "CARLOSCHANGO"."CATEGORIA"


( "ID" NUMBER(6,0),
"CATEGORIA" VARCHAR2(50)
) ;
--------------------------------------------------------
-- DDL for Table CIRCUITO
--------------------------------------------------------

CREATE TABLE "CARLOSCHANGO"."CIRCUITO"


( "ID" NUMBER(6,0),
"NOMBRE" VARCHAR2(50),
"DESCRIPCION" "CARLOSCHANGO"."DESC_T" ,
"PRESUPUESTO" NUMBER(8,2),
"COMPONENTES" "CARLOSCHANGO"."LISTA_T" ,
"ID_CATEG" NUMBER(6,0)
) ;

---------------------------------------------------
-- DATA FOR TABLE CATEGORIA
-- FILTER = none used
---------------------------------------------------
REM INSERTING into CARLOSCHANGO.CATEGORIA
Insert into CARLOSCHANGO.CATEGORIA (ID,CATEGORIA) values
(1,'mecanico');
Insert into CARLOSCHANGO.CATEGORIA (ID,CATEGORIA) values
(2,'ingeniero');

---------------------------------------------------
-- END DATA FOR TABLE CATEGORIA
---------------------------------------------------

---------------------------------------------------
-- DATA FOR TABLE CIRCUITO
-- FILTER = none used
---------------------------------------------------
REM INSERTING into CARLOSCHANGO.CIRCUITO

---------------------------------------------------
-- END DATA FOR TABLE CIRCUITO
---------------------------------------------------
--------------------------------------------------------
-- Constraints for Table CATEGORIA
--------------------------------------------------------

ALTER TABLE "CARLOSCHANGO"."CATEGORIA" ADD CONSTRAINT


"CATEGORIA_PK" PRIMARY KEY ("ID") ENABLE;

ALTER TABLE "CARLOSCHANGO"."CATEGORIA" MODIFY ("ID" NOT NULL


ENABLE);

ALTER TABLE "CARLOSCHANGO"."CATEGORIA" MODIFY ("CATEGORIA" NOT


NULL ENABLE);
--------------------------------------------------------
-- Constraints for Table CIRCUITO
--------------------------------------------------------

ALTER TABLE "CARLOSCHANGO"."CIRCUITO" ADD CONSTRAINT


"CIRCUITO_PK" PRIMARY KEY ("ID") ENABLE;

ALTER TABLE "CARLOSCHANGO"."CIRCUITO" MODIFY ("ID" NOT NULL


ENABLE);
--------------------------------------------------------
-- DDL for Index CATEGORIA_PK
--------------------------------------------------------

CREATE UNIQUE INDEX "CARLOSCHANGO"."CATEGORIA_PK" ON


"CARLOSCHANGO"."CATEGORIA" ("ID")
;
--------------------------------------------------------
-- DDL for Index CIRCUITO_PK
--------------------------------------------------------

CREATE UNIQUE INDEX "CARLOSCHANGO"."CIRCUITO_PK" ON


"CARLOSCHANGO"."CIRCUITO" ("ID")
;

--------------------------------------------------------
-- Ref Constraints for Table CIRCUITO
--------------------------------------------------------

ALTER TABLE "CARLOSCHANGO"."CIRCUITO" ADD CONSTRAINT


"CIRCU_CATEG_FK" FOREIGN KEY ("ID_CATEG")
REFERENCES "CARLOSCHANGO"."CATEGORIA" ("ID") ENABLE;
--------------------------------------------------------
-- DDL for Trigger CATEGORIA_TRG
--------------------------------------------------------
CREATE OR REPLACE TRIGGER "CARLOSCHANGO"."CATEGORIA_TRG"
BEFORE INSERT ON CATEGORIA
FOR EACH ROW
BEGIN
<<COLUMN_SEQUENCES>>
BEGIN
IF :NEW.ID IS NULL THEN
SELECT CATEGORIA_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
END IF;
END COLUMN_SEQUENCES;
END;
/
ALTER TRIGGER "CARLOSCHANGO"."CATEGORIA_TRG" ENABLE;
--------------------------------------------------------
-- DDL for Trigger CIRCUITO_TRG
--------------------------------------------------------

CREATE OR REPLACE TRIGGER "CARLOSCHANGO"."CIRCUITO_TRG" BEFORE


INSERT ON CIRCUITO
FOR EACH ROW
BEGIN
<<COLUMN_SEQUENCES>>
BEGIN
IF :NEW.ID IS NULL THEN
SELECT CIRCUITO_SEQ1.NEXTVAL INTO :NEW.ID FROM DUAL;
END IF;
END COLUMN_SEQUENCES;
END;
/
ALTER TRIGGER "CARLOSCHANGO"."CIRCUITO_TRG" ENABLE;
--------------------------------------------------------
-- DDL for View CIRCUITO_VIEW
--------------------------------------------------------

CREATE OR REPLACE VIEW "CARLOSCHANGO"."CIRCUITO_VIEW" ("ID",


"NOMBRE", "DESCRIPCION", "PRESUPUESTO", "COMPONENTES",
"ID_CATEG") AS
SELECT
CIRCUITO.ID ID,
CIRCUITO.NOMBRE NOMBRE,
CIRCUITO.DESCRIPCION DESCRIPCION,
CIRCUITO.PRESUPUESTO PRESUPUESTO,
CIRCUITO.COMPONENTES COMPONENTES,
CIRCUITO.ID_CATEG ID_CATEG
FROM
CIRCUITO;

You might also like