SlideShare una empresa de Scribd logo
1 de 4
Clase: BDD, 27/10/15
Fragmentación de tablas – Postgresql
1. Abrir ventana para consultas sql.
2. Crear la tabla principal, la cual será fragmentada, con el siguiente query:
CREATE TABLE BDD1(
id serialNOT NULL,
desdeintegerNOT NULL,
para integerNOT NULL,
texto text,
fecha timestampwithouttimezoneNOT NULL )
WITH( OIDS = FALSE ) ; ALTERTABLE BDD1OWNERTOpostgres;
3. Se crean 3 tablas, las cuales tendrán el contenido fragmentado. Cada una
asociada a un mes: enero, febrero y marzo. Estas tablas contendrán los
registros que correspondan al mes, de acuerdo a la tabla bdd1.
------Mes uno de 2010
CREATE TABLE frag_2010_t1 ( CONSTRAINT chk_fecha_a2010m01 CHECK (fecha >= '2010-01-
01'::date AND fecha <= '2010-01-31'::date) ) INHERITS (bdd1) WITH ( OIDS = FALSE ) ; ALTER
TABLE frag_2010_t1 OWNER TO postgres;
------Mes dos de 2010
CREATE TABLE frag_2010_t2 ( CONSTRAINT chk_fecha_a2010m02 CHECK (fecha >= '2010-02-
01'::date AND fecha <= '2010-02-28'::date) ) INHERITS (bdd1) WITH ( OIDS = FALSE ) ; ALTER
TABLE frag_2010_t2 OWNER TO postgres;
------Mes tres de 2010
CREATE TABLE frag_2010_t3 ( CONSTRAINT chk_fecha_a2010m01 CHECK (fecha >= '2010-03-
01'::date AND fecha <= '2010-03-31'::date) ) INHERITS (bdd1) WITH ( OIDS = FALSE ) ALTER
TABLE frag_2010_t3 OWNER TO postgres;
4. Se crean los índices para cada tabla de fragmentos.
----------- indices
CREATE INDEX ix_fecha_bdd1_2010_t1 ON frag_2010_t1 (fecha ASC NULLS
LAST); CREATE INDEX ix_fecha_bdd1_2010_t2 ON frag_2010_t2 (fecha ASC
NULLS LAST); CREATE INDEX ix_fecha_bdd1_2010_t3 ON frag_2010_t3 (fecha
ASC NULLS LAST);
5. Se crea una función para un trigger (posteriormente se crea) el cual,
fragmentará la tabla bdd1, de acuerdo a las especificaciones siguientes:
-- funcion trigger
CREATE OR REPLACE FUNCTION bdd1_insert_trigger() RETURNS trigger AS
$BODY$begin if (new.fecha >= date '2010-01-01' and new.fecha <= date '2010-01-
31') then insert into frag_2010_t1 values (new.*); elsif (new.fecha >= date '2010-
02-01' and new.fecha <= date '2010-02-28') then insert into frag_2010_t2 values
(new.*); elsif (new.fecha >= date '2010-03-01' and new.fecha <= date '2010-03-
31') then insert into frag_2010_t3 values (new.*); else raise exception 'Rango
de fecha desbordado, amplie la funcion en el trigger sms_insert_trigger()'; end if;
return null; end;$BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100; ALTER
FUNCTION bdd1_insert_trigger() OWNER TO postgres;
6. Se crea el trigger y se invoca a la función previamente creada.
-- trigger
CREATE TRIGGER insert_bdd1_trigger BEFORE INSERT ON bdd1 FOR EACH
ROW EXECUTE PROCEDURE bdd1_insert_trigger();
7. Finalmente, se llena la tabla bdd1. En consecuencia las tablas que
almacenan fragmentos, deberán tener los registros correspondientes.
-- llenamos la tabla
insert into bdd1 values (1, 123, 456, 'Mes tres', '2010-03-02 12:51:05'); insert into
bdd1 values (2, 456, 234, 'Mes dos', '2010-02-13 11:24:03'); insert into bdd1
values (3, 111, 222, 'Mes uno', '2010-01-09 02:45:22'); insert into bdd1 values (4,
865, 987, 'Mes uno', '2010-01-04 00:12:26'); insert into bdd1 values (5, 231, 567,
'Mes tres', '2010-03-30 03:34:08'); insert into bdd1 values (6, 987, 567, 'Mes dos',
'2010-02-18 15:20:10'); insert into bdd1 values (7, 235, 776, 'Mes tres', '2010-03-
12 22:00:46'); insert into bdd1 values (8, 444, 678, ' Mes tres', '2010-03-02
12:51:05'); insert into bdd1 values (9, 329, 890, 'Mes dos', '2010-02-13 11:24:03');
Resultado Final:
Manual fragmentacion

Más contenido relacionado

La actualidad más candente

Trabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.NetTrabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.NetAlberto Navarro Sorolla
 
Building Your First App with MongoDB
Building Your First App with MongoDBBuilding Your First App with MongoDB
Building Your First App with MongoDBMongoDB
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersDaniel Maia
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Israel Messias
 
Functors, Applicatives and Monads In Scala
Functors, Applicatives and Monads In ScalaFunctors, Applicatives and Monads In Scala
Functors, Applicatives and Monads In ScalaKnoldus Inc.
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQLbrobelo
 
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...Edureka!
 
02 JavaScript Syntax
02 JavaScript Syntax02 JavaScript Syntax
02 JavaScript SyntaxYnon Perek
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring FrameworkNatanael Fonseca
 

La actualidad más candente (20)

Indexes in postgres
Indexes in postgresIndexes in postgres
Indexes in postgres
 
Trabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.NetTrabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.Net
 
Building Your First App with MongoDB
Building Your First App with MongoDBBuilding Your First App with MongoDB
Building Your First App with MongoDB
 
HTML Principios Básicos
HTML Principios BásicosHTML Principios Básicos
HTML Principios Básicos
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
Understanding linq
Understanding linqUnderstanding linq
Understanding linq
 
Aula14
Aula14Aula14
Aula14
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDB
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Scaling Solr with Solr Cloud
Scaling Solr with Solr CloudScaling Solr with Solr Cloud
Scaling Solr with Solr Cloud
 
Functors, Applicatives and Monads In Scala
Functors, Applicatives and Monads In ScalaFunctors, Applicatives and Monads In Scala
Functors, Applicatives and Monads In Scala
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Full Text Search In PostgreSQL
Full Text Search In PostgreSQLFull Text Search In PostgreSQL
Full Text Search In PostgreSQL
 
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
 
Introduction to Bootstrap
Introduction to BootstrapIntroduction to Bootstrap
Introduction to Bootstrap
 
02 JavaScript Syntax
02 JavaScript Syntax02 JavaScript Syntax
02 JavaScript Syntax
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
 

Destacado

2013 feb 11
2013 feb 112013 feb 11
2013 feb 11sbdhsym
 
2012 Nov 26
2012 Nov 262012 Nov 26
2012 Nov 26sbdhsym
 
2013 feb 25
2013 feb 252013 feb 25
2013 feb 25sbdhsym
 
2013 feb 11
2013 feb 112013 feb 11
2013 feb 11sbdhsym
 
Pism strategic file no 21
Pism strategic file no 21Pism strategic file no 21
Pism strategic file no 21maniozs
 
2012 dec 3
2012 dec 32012 dec 3
2012 dec 3sbdhsym
 
2013 march 4
2013 march 42013 march 4
2013 march 4sbdhsym
 
2013 april 8 modified
2013 april 8   modified2013 april 8   modified
2013 april 8 modifiedsbdhsym
 
2012 dec 10
2012 dec 102012 dec 10
2012 dec 10sbdhsym
 

Destacado (9)

2013 feb 11
2013 feb 112013 feb 11
2013 feb 11
 
2012 Nov 26
2012 Nov 262012 Nov 26
2012 Nov 26
 
2013 feb 25
2013 feb 252013 feb 25
2013 feb 25
 
2013 feb 11
2013 feb 112013 feb 11
2013 feb 11
 
Pism strategic file no 21
Pism strategic file no 21Pism strategic file no 21
Pism strategic file no 21
 
2012 dec 3
2012 dec 32012 dec 3
2012 dec 3
 
2013 march 4
2013 march 42013 march 4
2013 march 4
 
2013 april 8 modified
2013 april 8   modified2013 april 8   modified
2013 april 8 modified
 
2012 dec 10
2012 dec 102012 dec 10
2012 dec 10
 

Similar a Manual fragmentacion

Similar a Manual fragmentacion (6)

Cheat_MySQL.docx
Cheat_MySQL.docxCheat_MySQL.docx
Cheat_MySQL.docx
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Trigger disparadoes
Trigger  disparadoesTrigger  disparadoes
Trigger disparadoes
 
Separata java script
Separata java scriptSeparata java script
Separata java script
 

Último

REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffJefersonBazalloCarri1
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdfAnaBelindaArmellonHi
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaSilvia García
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 

Último (20)

REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffff
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y química
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 

Manual fragmentacion

  • 1. Clase: BDD, 27/10/15 Fragmentación de tablas – Postgresql 1. Abrir ventana para consultas sql. 2. Crear la tabla principal, la cual será fragmentada, con el siguiente query: CREATE TABLE BDD1( id serialNOT NULL, desdeintegerNOT NULL, para integerNOT NULL, texto text, fecha timestampwithouttimezoneNOT NULL ) WITH( OIDS = FALSE ) ; ALTERTABLE BDD1OWNERTOpostgres; 3. Se crean 3 tablas, las cuales tendrán el contenido fragmentado. Cada una asociada a un mes: enero, febrero y marzo. Estas tablas contendrán los registros que correspondan al mes, de acuerdo a la tabla bdd1. ------Mes uno de 2010 CREATE TABLE frag_2010_t1 ( CONSTRAINT chk_fecha_a2010m01 CHECK (fecha >= '2010-01- 01'::date AND fecha <= '2010-01-31'::date) ) INHERITS (bdd1) WITH ( OIDS = FALSE ) ; ALTER TABLE frag_2010_t1 OWNER TO postgres;
  • 2. ------Mes dos de 2010 CREATE TABLE frag_2010_t2 ( CONSTRAINT chk_fecha_a2010m02 CHECK (fecha >= '2010-02- 01'::date AND fecha <= '2010-02-28'::date) ) INHERITS (bdd1) WITH ( OIDS = FALSE ) ; ALTER TABLE frag_2010_t2 OWNER TO postgres; ------Mes tres de 2010 CREATE TABLE frag_2010_t3 ( CONSTRAINT chk_fecha_a2010m01 CHECK (fecha >= '2010-03- 01'::date AND fecha <= '2010-03-31'::date) ) INHERITS (bdd1) WITH ( OIDS = FALSE ) ALTER TABLE frag_2010_t3 OWNER TO postgres; 4. Se crean los índices para cada tabla de fragmentos. ----------- indices CREATE INDEX ix_fecha_bdd1_2010_t1 ON frag_2010_t1 (fecha ASC NULLS LAST); CREATE INDEX ix_fecha_bdd1_2010_t2 ON frag_2010_t2 (fecha ASC NULLS LAST); CREATE INDEX ix_fecha_bdd1_2010_t3 ON frag_2010_t3 (fecha ASC NULLS LAST); 5. Se crea una función para un trigger (posteriormente se crea) el cual, fragmentará la tabla bdd1, de acuerdo a las especificaciones siguientes: -- funcion trigger CREATE OR REPLACE FUNCTION bdd1_insert_trigger() RETURNS trigger AS $BODY$begin if (new.fecha >= date '2010-01-01' and new.fecha <= date '2010-01- 31') then insert into frag_2010_t1 values (new.*); elsif (new.fecha >= date '2010- 02-01' and new.fecha <= date '2010-02-28') then insert into frag_2010_t2 values (new.*); elsif (new.fecha >= date '2010-03-01' and new.fecha <= date '2010-03- 31') then insert into frag_2010_t3 values (new.*); else raise exception 'Rango de fecha desbordado, amplie la funcion en el trigger sms_insert_trigger()'; end if; return null; end;$BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100; ALTER FUNCTION bdd1_insert_trigger() OWNER TO postgres; 6. Se crea el trigger y se invoca a la función previamente creada. -- trigger CREATE TRIGGER insert_bdd1_trigger BEFORE INSERT ON bdd1 FOR EACH ROW EXECUTE PROCEDURE bdd1_insert_trigger(); 7. Finalmente, se llena la tabla bdd1. En consecuencia las tablas que almacenan fragmentos, deberán tener los registros correspondientes. -- llenamos la tabla
  • 3. insert into bdd1 values (1, 123, 456, 'Mes tres', '2010-03-02 12:51:05'); insert into bdd1 values (2, 456, 234, 'Mes dos', '2010-02-13 11:24:03'); insert into bdd1 values (3, 111, 222, 'Mes uno', '2010-01-09 02:45:22'); insert into bdd1 values (4, 865, 987, 'Mes uno', '2010-01-04 00:12:26'); insert into bdd1 values (5, 231, 567, 'Mes tres', '2010-03-30 03:34:08'); insert into bdd1 values (6, 987, 567, 'Mes dos', '2010-02-18 15:20:10'); insert into bdd1 values (7, 235, 776, 'Mes tres', '2010-03- 12 22:00:46'); insert into bdd1 values (8, 444, 678, ' Mes tres', '2010-03-02 12:51:05'); insert into bdd1 values (9, 329, 890, 'Mes dos', '2010-02-13 11:24:03'); Resultado Final: