pasos para la creacion de bd oltp y olap

14
Resumen Pasos para la construcción de OLTP y OLAP CONSTRUCCIÓN DE OLTP Paso No. 1: Modelado de OLTP Para el modelado del OLTP, usamos la herramienta ER Studio y modelamos nuestro sistema transaccional. Para el proyecto ejemplo se realizó a partir de un sistema académico genérico. Modelado:

Upload: jog-gut

Post on 10-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 1/13

Resumen

Pasos para la construcción de OLTP y OLAP

CONSTRUCCIÓN DE OLTP

Paso No. 1: Modelado de OLTP

Para el modelado del OLTP, usamos la herramienta ER Studio y modelamos nuestro sistema

transaccional. Para el proyecto ejemplo se realizó a partir de un sistema académico genérico.

Modelado:

Page 2: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 2/13

Paso No. 2: Generación de Modelado Físico (Generar Script SQL y Diccionario De Datos).

Modelo Físico

Generar Script SQL

Generar Diccionario De Datos:

Page 3: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 3/13

 

Paso No. 3: Creación de BD OLTP

El Script generado se abre con Microsoft SQL Server Management Studio y se ejecuta para

crear la base de datos y las tablas de nuestro OLTP.

Page 4: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 4/13

Paso No. 4: Poblado de Datos con Excel

Para el poblado de los datos nos auxiliamos de Excel, esto es adecuado ya que por lo general

los datos de los usuarios finales los pueden trabajar en esta herramienta y será para nosotros

un poco más fácil de trasladar a una base de datos SQL.

Pasos:

1. Con los datos en un libro de excel iremos agregando columnas para concatenar los datos

con el script sql.

2. Insertemos la primer columna con la sintaxis inicial de sql. Ej.

INSERT INTO [AcademicoOLTP].[dbo].[Persona] ([Nombres],[Apellidos],[Sexo] ,[TipoIdentidadID]

 ,[Identidad], [TP]) VALUES(' 

3. Empezamos a unir columnas con la función concatenar de Excel.

=CONCATENAR(N2;B2;"','";C2;"','";D2;"',";E2;",'";F2;"',";M2;");")

Resultado:

INSERT INTO [AcademicoOLTP].[dbo].[Persona] ([Nombres],[Apellidos],[Sexo] ,[TipoIdentidadID] ,[Identidad], [TP])

VALUES('Lori','Adams','F',1,'001-270276-0302A',1);

Esto lo repetimos para todas la tablas de nuestro OLTP.

4. Generamos un solo Script para cargar todos los datos de nuestra base de datos OLTP.

Page 5: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 5/13

 

CONSTRUCCIÓN DE OLAP

Paso No. 1: Modelado de OLAP

El modelado de un DataMart sigue el mismo proceso de un modelado de base de datos

estándar, la diferencia está en la concepción misma de un DataMart, donde este responde a

un tema especifico y en el proceso de des normalización de la base de datos. Modelamos un

esquema dimensional siempre con la herramienta Er Studio.

Page 6: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 6/13

Paso No. 2: Generación de Script de Base de Datos y Diccionario de Datos

Page 7: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 7/13

Paso No. 3: Generación de Base de Datos

Paso No. 4: Carga de Datos de OLAP

La base de datos OLAP se cargan los datos a partir de nuestra base de datos OLPT, este

proceso lo realizaremos a partir de procedimientos almacenados, un procedimiento por cada

Dimensión en la base de datos OLAP.

Procedimientos por Dimensión:

1. usp_CargaDimAsignatura

USE [AcademicoDW]GO/****** Object: StoredProcedure [dbo].[usp_CargaDimAsignatura]Script Date: 06/12/2013 15:06:34 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: Eduardo Traña-- Create date: 2013.06.08-- Description: Carga Dimension Asignatura-- =============================================ALTER PROCEDURE [dbo].[usp_CargaDimAsignatura]ASBEGIN

Delete From dbo.DimAsignatura;

DBCC CHECKIDENT ('DimAsignatura', reseed, 0);DBCC CHECKIDENT ('DimAsignatura', reseed);

INSERT INTO [AcademicoDW].[dbo].[DimAsignatura]([AsignaturaAlternateKey],[NombreAsignatura])

Page 8: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 8/13

  Select AsignaturaID, NombreAsignatura From AcademicoOLTP.dbo.Asignatura order by AsignaturaID; 

END 

2. [usp_CargaDimCarrera]

USE [AcademicoDW]

GO/****** Object: StoredProcedure [dbo].[usp_CargaDimCarrera] ScriptDate: 06/12/2013 15:07:17 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: Eduardo Traña-- Create date: 2013.06.08-- Description: Carga Dimension Carrera-- =============================================ALTER PROCEDURE [dbo].[usp_CargaDimCarrera]

ASBEGIN

Delete From dbo.DimCarrera;

DBCC CHECKIDENT ('DimCarrera', reseed, 0);DBCC CHECKIDENT ('DimCarrera', reseed);

INSERT INTO [AcademicoDW].[dbo].[DimCarrera]([CarreraAlternateKey],[NombreCarrera],[FacultadID],[NombreFacultad])

SELECT  C.CarreraID, C.NombreCarrera, F.FacultadID, F.NombreFacultad

FROM  AcademicoOLTP.dbo.Carrera C INNER JOINAcademicoOLTP.dbo.Facultad F ON C.FacultadID = 

F.FacultadID;

END

3. [usp_CargaDimDocente]

USE [AcademicoDW]GO/****** Object: StoredProcedure [dbo].[usp_CargaDimDocente] Script

Date: 06/12/2013 15:07:45 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: Eduardo Traña-- Create date: 2013.06.08-- Description: Carga Dimension Docente-- =============================================ALTER PROCEDURE [dbo].[usp_CargaDimDocente]ASBEGIN

Delete From dbo.DimDocente;

Page 9: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 9/13

  DBCC CHECKIDENT ('DimDocente', reseed, 0);DBCC CHECKIDENT ('DimDocente', reseed);

INSERT INTO [AcademicoDW].[dbo].[DimDocente]([DocenteAlternateKey],[NoInss]

,[Nombres],[Apellidos],[Sexo])

Select DocenteID, Identidad, Nombres, Apellidos, SexoFrom AcademicoOLTP.dbo.Persona P 

INNER JOIN  AcademicoOLTP.dbo.Docente DON P.PersonaID=D.PersonaID;

END

4. [usp_CargaDimEstudiante]

USE [AcademicoDW]

GO/****** Object: StoredProcedure [dbo].[usp_CargaDimEstudiante]Script Date: 06/12/2013 15:08:05 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: Eduardo Traña-- Create date: 2013.06.08-- Description: Carga Dimension Estudiante-- =============================================ALTER PROCEDURE [dbo].[usp_CargaDimEstudiante]

ASBEGIN

Delete From dbo.DimEstudiante;

DBCC CHECKIDENT ('DimEstudiante', reseed, 0);DBCC CHECKIDENT ('DimEstudiante', reseed);

INSERT INTO [AcademicoDW].[dbo].[DimEstudiante]([EstudianteAlternateKey],[Carne],[Nombres],[Apellidos]

,[Sexo])Select EstudianteID, 'ND', Nombres, Apellidos, SexoFrom AcademicoOLTP.dbo.Persona P 

INNER JOIN  AcademicoOLTP.dbo.Estudiante EON P.PersonaID=E.PersonaID;

END

5. [usp_CargaDimTime]

USE [AcademicoDW]GO/****** Object: StoredProcedure [dbo].[usp_CargaDimTime] Script

Date: 06/12/2013 15:08:27 ******/SET ANSI_NULLS ONGO

Page 10: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 10/13

SET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: Eduardo Traña-- Create date: 2013.06.08-- Description: Carga Dimension Tiempo

-- =============================================ALTER PROCEDURE [dbo].[usp_CargaDimTime]ASBEGIN

Delete From dbo.DimTime;

DBCC CHECKIDENT ('DimTime', reseed, 0);DBCC CHECKIDENT ('DimTime', reseed);

INSERT INTO [AcademicoDW].[dbo].[DimTime]([TimeAlternateKey],[Cuatrimestre]

,[CuatrimestreNombre],[Año])Select Distinct G.PeriodoID, left( P.CodPeriodo, 1) as 

Cuatrimestre, left( P.CodPeriodo, 2) as CC, P.Año  From AcademicoOLTP.dbo.Grupo Ginner join AcademicoOLTP.dbo.Periodo PON P.PeriodoID=G.PeriodoIDorder by PeriodoID;

END

6. [usp_CargaFactNotas]

USE [AcademicoDW]GO/****** Object: StoredProcedure [dbo].[usp_CargaFactNotas] ScriptDate: 06/12/2013 15:08:52 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: Eduardo Traña-- Create date: 2013.06.08-- Description: Carga FactNotas-- =============================================

ALTER PROCEDURE [dbo].[usp_CargaFactNotas]ASBEGIN

Delete From dbo.FactNotas;

INSERT INTO [AcademicoDW].[dbo].[FactNotas]([EstudianteKey],[CarreraKey],[AsignaturaKey],[DocenteKey],[TimePeriodoAcademicoKey]

,[Nota])Select DE.EstudianteKey,DC.CarreraAlternateKey

Page 11: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 11/13

  ,DA.AsignaturaAlternateKey,DD.DocenteAlternateKey,DT.TimeKey,N.NotaFinal 

From AcademicoOLTP.dbo.Grupo GINNER JOIN AcademicoOLTP.dbo.Notas N

ON G.GrupoID=N.GrupoIDINNER JOIN dbo.DimEstudiante DEON DE.EstudianteAlternateKey = N.EstudianteIDINNER JOIN dbo.DimCarrera DC ON N.CarreraID = DC.CarreraAlternateKeyINNER JOIN dbo.DimAsignatura DAON N.AsignaturaID=DA.AsignaturaAlternateKeyINNER JOIN dbo.DimDocente DDON G.DocenteID=DD.DocenteAlternateKeyINNER JOIN dbo.DimTime DT

ON N.PeriodoID = DT.TimeAlternateKey;

END

7. [usp_CargaFullDW] Carga Completa de Base de Datos OLAP

USE [AcademicoDW]GO/****** Object: StoredProcedure [dbo].[usp_CargaFullDW] ScriptDate: 06/12/2013 15:09:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO

-- =============================================-- Author: Eduardo Traña-- Create date: 2013.06.08-- Description: Carga Completa de DW-- =============================================ALTER PROCEDURE [dbo].[usp_CargaFullDW]ASBEGIN

--1. Eliminamos Datos de FactNotasDelete From dbo.FactNotas;

exec dbo.usp_CargaDimAsignatura;exec dbo.usp_CargaDimCarrera;

exec dbo.usp_CargaDimDocente;exec dbo.usp_CargaDimEstudiante;exec dbo.usp_CargaDimTime;exec dbo.usp_CargaFactNotas;

END

Paso No. 5: Creación de Trabajo: Para ejecución de SP de forma automática:

Esta opción se crea en el agente de SQL, de la forma siguiente:

Page 12: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 12/13

 

Pasos:

1. Nuevo Trabajo

2. Definir Nombre del Trabajo3. Establecer Tarea o Paso a Ejecutar

4. Programación del Trabajo

Page 13: Pasos Para La Creacion de BD OLTP y OLAP

7/22/2019 Pasos Para La Creacion de BD OLTP y OLAP

http://slidepdf.com/reader/full/pasos-para-la-creacion-de-bd-oltp-y-olap 13/13