Sei sulla pagina 1di 20

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

TÉCNICAS AVANZADAS DE BASES DE DATOS

CORRECCIÒN PRUEBA 1

NRC: 2918

DIEGO ERAZO

ING. MAGY PAUL DIAZ ZUÑIGA

OCTUBRE 2017 – FEBRERO 2018


CORRECION DE LA PRUEBA N°1 ORACLE

create table t_prueba (

nombre varchar2(30),

apellido varchar2(30),

edad number(3)

partition by range (edad)(

partition p1 values less than (10),

partition p2 values less than(20),

partition p3 values less than (30),

partition p4 values less than (40),

partition p5 values less than (MAXVALUE))

1. Ingrese al menos tres registros en cada partición.

insert into t_prueba values ('Diego','Erazo',10);

insert into t_prueba values ('David','Palacio',10);

insert into t_prueba values ('Danio','Ernan',10);


insert into t_prueba values ('Jonho','Leiva',10);

insert into t_prueba values ('Mario','Diaz',10);

insert into t_prueba values ('Marco','Alomoto',20);

insert into t_prueba values ('Heresto','Davila',20);

insert into t_prueba values ('JUan','Amon',20);

insert into t_prueba values ('DAniel','Erazo',20);

insert into t_prueba values ('Alios','Alazo',20);

insert into t_prueba values ('Joego','Erazo',30);

insert into t_prueba values ('Miego','Erazo',30);

insert into t_prueba values ('MIguel','Erazo',30);

insert into t_prueba values ('DD','Atamba',30);

insert into t_prueba values ('SOfia','Gomes',30);

insert into t_prueba values ('Alexander','Cajas',40);

insert into t_prueba values ('Fredy','Ferrari',40);

insert into t_prueba values ('Alexander','Moto',40);

insert into t_prueba values ('DAni','Tortuega',40);

insert into t_prueba values ('alison','torres',40);

insert into t_prueba values ('Digo','Er',50);

insert into t_prueba values ('Di','azo',50);

insert into t_prueba values ('Diego','Erazo',50);

insert into t_prueba values ('Anego','Yrazo',50);

insert into t_prueba values ('Ana','Arazo',50);


2. Escriba el código para borrar la partición p1

ALTER TABLE t_prueba DROP PARTITION p1;

3. Escriba el código para añadir una partición p6 en la tabla t_prueba

ALTER TABLE T_PRUEBA SPLIT PARTITION p5 INTO(PARTITION p5 VALUES LESS THAN (50),
PARTITION p6 VALUES LESS THAN (MAXVALUE));

4. Escriba el código para poner OffLine la partición p2 de la tabla t_prueba


ORACLE no permite poner particiones en mode offline, se puede poner todo el tablespace donde
se encuentre la partición, pero no únicamente a la partición.

5. Escriba el código SQL para consultar una partición especifica en una tabla

SELECT * FROM t_prueba PARTITION(p3);

6. Escriba los pasos y el código necesario para desparticionar la tabla t_prueba Crear una table
temporal e inserter los datos

CREATE TABLE t_prueba3 (

nombre VARCHAR2(30),

apellido VARCHAR2(30),

edad number(3)

);

INSERT INTO T_PRUEBA3 SELECT * FROM T_PRUEBA;


Eliminar la tabla y renombrar

drop table T_prueba;

ALTER TABLE T_PRUEBA3 RENAME TO T_PRUEBA;

7. Ingrese al menos 12 nuevos registros de tal forma que garantice personas de diferentes
edades

CREATE TABLE t_prueba1(

nombre VARCHAR2(30),
apellido VARCHAR2(30),

edad number(3)

);

insert into t_prueba1 values ('Diego','Erazo',10);

insert into t_prueba1 values ('David','Palacio',10);

insert into t_prueba1 values ('Danio','Ernan',10);

insert into t_prueba1 values ('Jonho','Leiva',10);

insert into t_prueba1 values ('Mario','Diaz',10);

insert into t_prueba1 values ('Marco','Alomoto',20);

insert into t_prueba1 values ('Heresto','Davila',20);

insert into t_prueba1 values ('JUan','Amon',20);

insert into t_prueba1 values ('DAniel','Erazo',20);

insert into t_prueba1 values ('Alios','Alazo',20);

insert into t_prueba1 values ('Joego','Erazo',30);

insert into t_prueba1 values ('Miego','Erazo',30);

insert into t_prueba1 values ('MIguel','Erazo',30);

insert into t_prueba1 values ('DD','Atamba',30);

insert into t_prueba1 values ('SOfia','Gomes',30);


insert into t_prueba1 values ('Alexander','Cajas',40);

insert into t_prueba1 values ('Fredy','Ferrari',40);

insert into t_prueba1 values ('Alexander','Moto',40);

insert into t_prueba1 values ('DAni','Tortuega',40);

insert into t_prueba1 values ('alison','torres',40);

insert into t_prueba1 values ('Digo','Er',50);

insert into t_prueba1 values ('Di','azo',50);

insert into t_prueba1 values ('Diego','Erazo',50);

insert into t_prueba1 values ('Anego','Yrazo',50);

insert into t_prueba1 values ('Ana','Arazo',50);

8. Escriba el código necesario para que a la tabla t_prueba1 se logre particionar en forma similar
a la tabla t_prueba añadiendo además tablespaces para cada partición.

Creacion de tablespace

create tablespace TS_p1 datafile 'C:\PRUEBA1\TS_p1.dbf' size 10M;

create tablespace TS_p2 datafile 'C:\PRUEBA1\TS_p2.dbf' size 10M;

create tablespace TS_p3 datafile 'C:\PRUEBA1\TS_p3.dbf' size 10M;

create tablespace TS_p4 datafile 'C:\PRUEBA1\TS_p4.dbf' size 10M;

create tablespace TS_p5 datafile 'C:\PRUEBA1\TS_p5.dbf' size 10M;


CREATE TABLE t_prueba2(

nombre VARCHAR2(30),

apellido VARCHAR2(30),

edad number(3))

partition by range (edad)(

partition T1 values less than (10) TABLESPACE TS_p1,

partition T2 values less than (20) TABLESPACE TS_p2,

partition T3 values less than (30) TABLESPACE TS_p3,

partition T4 values less than (40) TABLESPACE TS_p4,

partition T5 values less than (MAXVALUE) TABLESPACE TS_p5);


Borro la tabla

DROP TABLE T_PRUEBA1;

Renombro la tabla

ALTER TABLE T_PRUEBA2 RENAME TO T_PRUEBA1;


9. Para la tabla t_prueba1 mueva la partición TSp3 que se encuentra en el tablespace TSp3 al
nuevo tablespace TSn1

ALTER TABLE t_prueba1 MOVE PARTITION T3 TABLESPACE TS_p1 UPDATE INDEXES;

10. Escriba el código necesario para poner el tablespace TSn1 en modo offline

alter tablespace TS_p1 offline;


CORRECION DE LA PRUEBA N°1 MYSQL

Create table t_prueba(

nombre varchar(30),

apellido varchar(30),

edad int(3))

partition by range (edad)

(partition p1 values less than(10),

partition p2 values less than(20),

partition p3 values less than(30),

partition p4 values less than(40),

partition p5 values less than(MAXVALUE));

insert into t_prueba values ('Diego','Erazo',10);

insert into t_prueba values ('David','Palacio',10);

insert into t_prueba values ('Danio','Ernan',10);

insert into t_prueba values ('Jonho','Leiva',10);

insert into t_prueba values ('Mario','Diaz',10);

insert into t_prueba values ('Marco','Alomoto',20);


insert into t_prueba values ('Heresto','Davila',20);

insert into t_prueba values ('JUan','Amon',20);

insert into t_prueba values ('DAniel','Erazo',20);

insert into t_prueba values ('Alios','Alazo',20);

insert into t_prueba values ('Joego','Erazo',30);

insert into t_prueba values ('Miego','Erazo',30);

insert into t_prueba values ('MIguel','Erazo',30);

insert into t_prueba values ('DD','Atamba',30);

insert into t_prueba values ('SOfia','Gomes',30);

insert into t_prueba values ('Alexander','Cajas',40);

insert into t_prueba values ('Fredy','Ferrari',40);

insert into t_prueba values ('Alexander','Moto',40);

insert into t_prueba values ('DAni','Tortuega',40);

insert into t_prueba values ('alison','torres',40);

insert into t_prueba values ('Digo','Er',50);

insert into t_prueba values ('Di','azo',50);

insert into t_prueba values ('Diego','Erazo',50);

insert into t_prueba values ('Anego','Yrazo',50);

insert into t_prueba values ('Ana','Arazo',50);


2.- Escriba el codigo para borrar la particion p1

Alter table t_prueba drop partition p1;

3. Escriba el codigo para añadir la particion p6 en la table t_prueba

Alter table t_prueba add partition

(partition p6 values less than (60));


4.- Escriba el código para poner offline la partición p2 de la table t_prueba

En mySQL no existe la opción Offline.

5.- Escriba el código para consultar una partición especifica en una table

select * from t_prueba partition (p4);

6.- escribe los pasos y el codigo necesario para desparticionar la tabla t_prueba

Creamos una tabla temporal idéntica a la tabla t_prueba sin particiones.

Create table temp_prueba(


nombre varchar(30),

apellido varchar(30),

edad int(3));

Procedemos a copiar los datos de la tabla t_prueba en la tabla temp_prueba

INSERT INTO temp_prueba (nombre,apellido,edad) SELECT * FROM t_prueba;

Una vez hecho esto procedemos a hacer un (drop table t_prueba), si queremos podemos

renombrar la tabla temporal desparticionadaa con (alter table temp_prueba rename t_prueba)
Creat una tabla con las siguientes características:

create table t_prueba1(

nombre varchar(30),

apellido varchar(30),

edad int(3));

insert into t_prueba1 values ('Diego','Erazo',10);

insert into t_prueba1 values ('David','Palacio',10);

insert into t_prueba1 values ('Danio','Ernan',10);

insert into t_prueba1 values ('Jonho','Leiva',10);

insert into t_prueba1 values ('Mario','Diaz',10);

insert into t_prueba1 values ('Marco','Alomoto',20);

insert into t_prueba1 values ('Heresto','Davila',20);

insert into t_prueba1 values ('JUan','Amon',20);

insert into t_prueba1 values ('DAniel','Erazo',20);

insert into t_prueba1 values ('Alios','Alazo',20);

insert into t_prueba1 values ('Joego','Erazo',30);

insert into t_prueba1 values ('Miego','Erazo',30);


insert into t_prueba1 values ('MIguel','Erazo',30);

insert into t_prueba1 values ('DD','Atamba',30);

insert into t_prueba1 values ('SOfia','Gomes',30);

insert into t_prueba1 values ('Alexander','Cajas',40);

insert into t_prueba1 values ('Fredy','Ferrari',40);

insert into t_prueba1 values ('Alexander','Moto',40);

insert into t_prueba1 values ('DAni','Tortuega',40);

insert into t_prueba1 values ('alison','torres',40);

insert into t_prueba1 values ('Digo','Er',50);

insert into t_prueba1 values ('Di','azo',50);

insert into t_prueba1 values ('Diego','Erazo',50);

insert into t_prueba1 values ('Anego','Yrazo',50);

insert into t_prueba1 values ('Ana','Arazo',50);

8.- Escriba el codigo necesario para que a la table t_prueba1 se logre particionar en forma
similar a

la tabla t_prueba añadiendo además tablespaces para cada particion

Creamos los Tablespace que vamos a utilizar con su respectivo datafile

CREATE TABLESPACE TSp1 ADD DATAFILE 'tsp1.ibd';


CREATE TABLESPACE TSp2 ADD DATAFILE 'tsp2.ibd';

CREATE TABLESPACE TSp3 ADD DATAFILE 'tsp3.ibd';

CREATE TABLESPACE TSp4 ADD DATAFILE 'tsp4.ibd';

CREATE TABLESPACE TSp5 ADD DATAFILE 'tsp5.ibd';

Particionamiento de la table t_prueba1

Alter table t_prueba1 partition by Range (edad)

(partition p1 values less than(10) tablespace TSp1,

partition p2 values less than(20) tablespace TSp2,

partition p3 values less than(30) tablespace TSp3,

partition p4 values less than(40) tablespace TSp4,

partition p5 values less than(MAXVALUE)tablespace TSp5);

9.- Para la tabla t_prueba1 mueva la particion p3 que se encuentra en el tablespace TSp3 al
nuevo

TSn1.

CREATE TABLESPACE TSn1 ADD DATAFILE 'tsn1.ibd';

ALTER TABLE t_prueba1 REORGANIZE PARTITION p3 INTO

(PARTITION p3 VALUES LESS THAN (30) TABLESPACE TSn1);

10.- Escribir el codigo necesario para poner el tablespace TSn1 en modo offline.

MySQL no tiene la función Offline

Potrebbero piacerti anche