Está en la página 1de 5

--Nombre: Angel Ricardo GIraldo

--Ficha: 1935121

/**************** sentencias en SYS *******************************************/

create pluggable database XEPDBPROY admin user pdbproy_admin IDENTIFIED by ejemplo roles
=(connect) file_name_convert =

('C:\app\ejemplo\product\18.0.0\oradata\XE\pdbseed','C:\app\ejemplo\product\18.0.0\orada
ta\XE\PDBPROY');

--cambiamos al container root

ALTER SESSION SET CONTAINER = CDB$ROOT;

alter pluggable DATABASE all open;

-- SE CREA LA CONEXION PARA LA PDB CON EL USUARIO ADMIN QUE CREAMOS EN EL


PLUGGABLE DATABASE

--cambio a la session de la pdb que creamos, para poder crear el role

ALTER SESSION SET CONTAINER = XEPDBPROY;

show con_name;

--creacion y grant al rol adminProy

CREATE ROLE adminProy;

--asignacion de privilegios al Role adminProy

GRANT CREATE SESSION, RESOURCE, DBA, INSERT ANY TABLE TO adminProy;

-- se le asigna el role empaquetado adminProy a el usuario de la pdb


GRANT adminproy TO pdbproy_admin;

-- unlimited privilegios en el tablespace al usuario de la pdb

GRANT UNLIMITED TABLESPACE to pdbproy_admin;

SELECT * FROM dba_role_privs WHERE grantee ='DBA';

SELECT * FROM dba_sys_privs WHERE grantee IN ('ADMINPROY');

-- se consulta el estado de la pdb

SELECT name, open_mode from v$pdbs where name = 'XEPDBPROY';

-- se crea el tablespace

CREATE tablespace tablas_proy datafile


'C:\app\ejemplo\product\18.0.0\oradata\XE\PDBPROY\tablas_proy.dbf' SIZE 300M extent
management local segment space management auto;

/*******************************************************************************
******************/

--logueo a la pdb con el usuario admin

/***********************************CONEXION PDB ADMIN


*********************************************/

-- SENTENCIAS DE CREACION DE TABLA CON INSERCIONES Y ALTER PARA AGREGAR LA ENTIDAD


REFERENCIAL.

-- creacion de tabla tipo territorio donde al final de la sentencia se especifica el tablespace en


que se tiene que crear las tablas, est aplica para todas.

CREATE TABLE tipo_territorio(

ID NUMBER(3) PRIMARY KEY,


nombre VARCHAR(100)

TABLESPACE tablas_proy ;

INSERT INTO tipo_territorio(ID,nombre) VALUES (1,'CONTINENTE');

INSERT INTO tipo_territorio(ID,nombre) VALUES (2,'PAIS');

INSERT INTO tipo_territorio(ID,nombre) VALUES (3,'DEPARTAMENTO');

INSERT INTO tipo_territorio(ID,nombre) VALUES (4,'MUNICIPIO');

INSERT INTO tipo_territorio(ID,nombre) VALUES (5,'COMUNAS');

INSERT INTO tipo_territorio(ID,nombre) VALUES (6,'BARRIO');

CREATE TABLE territorios

tipo_id NUMBER(3) NOT NULL,

codigo NUMBER(7) NOT NULL,

nombre VARCHAR2(100) NOT NULL,

nivel_se NUMBER(1),

cantidad_rutas NUMBER(3)

TABLESPACE tablas_proy;

COMMENT ON TABLE territorios IS 'ESTA TABLA ALMACENA LA INFORMACION DE LOS


TERRITORIOS Y UBICACIONES. AQUI SE ALMACENAN LOS CODIGOS Y NOMBRES DE
CONTINENTES, PAISES, DEPARTAMENTOS, ETC., QUE PERMITEN CONFORMAR UNA ESTRUCTURA
GUBERNAMENTAL';

COMMENT ON COLUMN territorios.tipo_id IS 'Codigo del Tipo de Territorio';

COMMENT ON COLUMN territorios.codigo IS 'Codigo de la Region';

COMMENT ON COLUMN territorios.nombre IS 'Nombre de la Region';


ALTER TABLE territorios ADD CONSTRAINT pk_territorio PRIMARY KEY (codigo, tipo_id);

ALTER TABLE territorios ADD CONSTRAINT fk_tipo_terr_tipo_id FOREIGN KEY (tipo_id)


REFERENCES tipo_territorio (ID);

CREATE TABLE ubicacion_territorios

tipo_id_p NUMBER(2) NOT NULL,

codigo_terr_p NUMBER(2) NOT NULL,

tipo_id_h NUMBER(7) NOT NULL,

codigo_terr_h NUMBER(7) NOT NULL,

fechasys DATE

TABLESPACE tablas_proy;

COMMENT ON TABLE ubicacion_territorios IS 'ESTA TABLA ALMACENA LAS UBICACIONES DE LA


ESTRUCTURA DE TERRITORIOS DEFINIDA';

ALTER TABLE ubicacion_territorios ADD CONSTRAINT pk_ubicacion_territorios PRIMARY


KEY(tipo_id_p, codigo_terr_p, tipo_id_h, codigo_terr_h);

ALTER TABLE ubicacion_territorios ADD CONSTRAINT fk_ubic_padre FOREIGN KEY (tipo_id_p,


codigo_terr_p) REFERENCES territorios (tipo_id, codigo);

ALTER TABLE ubicacion_territorios ADD CONSTRAINT fk_ubic_hijos FOREIGN KEY (tipo_id_h,


codigo_terr_h) REFERENCES territorios (tipo_id, codigo);

Modelo de datos

También podría gustarte