Está en la página 1de 23

DISEÑO DE UNA BODEGA DE DATOS Y CONSTRUCCIÓN DE

UN CUBO

ALCALDIA DE SAN ANTONIO DEL SENA

BLOG GRUPAL

AP3 – AA4 – EV6

Aprendices: Mónica Lizeth Alape Rodríguez & Yenisse Pardo Ariza


Programa: (1881789) – Especialización Tecnológica Gestión y Seguridad de BD
Instructor Vocero: Candelaria Victoria Suarez Beleño
Instructor de Apoyo: Adriana Cristina Castilla López
Instructor de Apoyo de Ficha: Belkis Milena Guell Muñoz
Sede: Centro Nacional Colombo Alemán – SENA. Regional Atlántico
Fecha: 05 de septiembre de 2019
CONTENIDO

1. INTRODUCCIÓN .................................................................................................................... 3
2. OBJETIVO GENERAL ............................................................................................................. 4
2.1. OBJETIVO ESPECIFICOS.................................................................................................... 4
3. COMPRENSIÓN DEL MODELO DE NEGOCIO ........................................................................ 5
4. LEVANTAMIENTO DE REQUERIMIENTO............................................................................. 6
5. RECOLECCION DE LOS DATOS ............................................................................................. 6
5.1. >>DESCRIPCIÓN DE LOS DATOS<< .............................................................................. 6
6. PREPARACIÓN DE DATOS .................................................................................................. 10
7. MODELADO DEL CUBO DE DATOS ..................................................................................... 14
7.1. >>MODELO LOGICO TABLA DE HECHOS<< ............................................................... 14
8. IMPLEMENTACIÓN DEL CUBO DE DATOS......................................................................... 15
8.1. >>DIAGRAMA CUBO DE DATOS<< ............................................................................. 15
8.2. >>SCRIPT PARA LA CREACIÓN DEL CUBO DE DATOS<< .......................................... 15
8.3. >>SCRIPT PARA LA INSERCIÓN DE DATOS AL CUBO DE DATOS<<.......................... 18
9. CONSTRUCCIÓN DEL VISUALIZADOR DEL CUBO DE DATOS ............................................ 20
9.1. >>EXTRACCIÓN DE DATOS<< .................................................................................... 20
9.2. >>TABLAS DINÁMICAS Y GRÁFICOS<< ...................................................................... 21
1. INTRODUCCIÓN

La presente actividad pretende diseñar una Bodega de Datos y construir un Cubo para
la información objeto de los requerimientos propuestos en el caso de estudio
“INTELIGENCIA DE NEGOCIOS APLICADA A LAS SECRETARÍAS DE LA ALCALDÍA SAN
ANTONIO DEL SENA”. Para lo anterior se implementará un cubo que resuelva por lo
menos dos de las situaciones presentadas, mediante la identificación de las necesidades
del modelo de negocio de acuerdo con los requerimientos planteados en el caso de
estudio. También se realizará la descripción cuantitativa y cualitativa de los datos de
los sistemas de fuentes planteados en el caso de estudio y se establecerá las
dimensiones, métricas y tablas de hechos necesarios para la construcción del cubo,
seleccionando el modelo de datos adecuado para la construcción del cubo de datos
requerido y construir el cubo de datos de acuerdo con los requerimientos establecidos.
2. OBJETIVO GENERAL
Implementar un cubo de datos que solucione las situaciones de la inteligencia de
negocios aplicada a las secretarias de recreación y salud de la Alcaldía San Antonio del
Sena”.

2.1. OBJETIVO ESPECIFICOS


 Realizar la compresión del modelo de negocio de la estructura de las secretarias
recreación y salud de la alcaldía san Antonio del Sena.
 Identificar las necesidades que presenta las secretarias de recreación y salud,
basadas en el modelo de negocio de acuerdo con los requerimientos planteados
en el caso de estudio.
 Recolectar los tipos de archivos de donde se extraerá la información de las
secretarias de salud y recreación, como la descripción de las tablas, campos de
las bases de datos.
 Preparación de extracción de los datos de las secretarias de salud y recreación.
 Identificar las dimensiones, métricas, hechos necesarias para la construcción del
cubo de datos
 Implementación de los datos en el cubo de datos creado.
 Visualizar los datos almacenados en el cubo de datos por medio de tablas
dinámicas.
3. COMPRENSIÓN DEL MODELO DE NEGOCIO
La Alcaldía objeto de estudio es una institución del estado colombiano, que realiza las
funciones de administración local en una población de este país. Esta Alcaldía está
presidida por el Alcalde elegido por votación popular, quien enfrenta una situación de
caos administrativo a causa de los malos manejos de la información y la inadecuada
utilización de tecnología para el apoyo a los procesos. El Alcalde de “San Antonio del
SENA”, convencido de poder mejorar la situación, presentó un proyecto de inclusión de
tecnología que le fue aprobado por el concejo y propende en realizar todas las mejoras
en las condiciones actuales de manejo de información de las diferentes dependencias y
secretarias de su actual administración.
Una mejora sensible, se da a través de una reingeniería de procesos enfocados en la
utilización de la información generada por las dependencias de la alcaldía, pensando en
optimizar los tiempos de respuesta y flujo de información para la toma de decisiones.
Se tienen identificadas las siguientes dependencias y secretarias de despacho:
Secretaria General, Secretaria de Gobierno, Secretaria de Hacienda, Secretaria de
Planeación y Obras Públicas, Secretaria de Educación, Secretaria de Salud, Secretaria de
Deportes, Recreación y Cultura, Secretaria de Gestión Ambiental y Minera y la Oficina
de Control Interno.
Teniendo en cuenta lo anterior y tomando como punto de partida los 2 primeros
requerimientos del caso de Estudio 2; trabajaremos un DATA WAREHOUSE con un
modelo de datos dimensional de tipo Copo de Nieve.
4. LEVANTAMIENTO DE REQUERIMIENTO
De acuerdo al Caso de Estudio N. 2 daremos respuesta a las siguientes situaciones:
1. Analizar mes a mes la relación directa entre las personas que han participado en
los eventos deportivos y las atenciones que especialistas realizaron a esas
mismas personas a través de consultas en las EPS’s.

2. Determinar si hay relación entre quienes asisten a un evento de la secretaría de


recreación y deportes y quienes son atendidos en unidades de urgencias. Se debe
tener en cuenta: el mes, el rango de edad y el tipo de evento realizado.

5. RECOLECCION DE LOS DATOS


Teniendo en cuenta el levantamiento de los requerimientos las bases de datos que
usaremos para dar solución a lo requerido son:
 Secretaria de Salud
 Secretaria de Recreación

5.1. >>DESCRIPCIÓN DE LOS DATOS<<

DESCRIPCIÓN CUALITATIVA:

La Base de Datos de la Secretaria de Salud (SecretariaSalud) y Secretaria de Recreación


(Recreacion), están compuestas por 9 y 6 tablas respectivamente, con uso compartido
de datos y sistema MULTI_USER asegurando que los datos accedan de forma correcta y
conservando la integridad de los mismos, rol de BD Public e intercalación
Modern_Spanish_CI_AS.
DESCRIPCIÓN CUANTITATIVA:

BD SecretariaSalud
BD Recreacion
6. PREPARACIÓN DE DATOS
En este punto identificaremos las tablas a utilizar para crear nuestra bodega de datos.

o BD SecretariaSalud

Para la BD SecretariaSalud crearemos una tabla [PersonaServicioEps] que nos servirá como
consulta dentro de la base de datos, permitiéndonos extraer con mucha más facilidad los
datos que necesitamos.
SCRIPT TABLA [PersonaServicioEps]
USE SecretariaSalud
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE PersonaServicioEps(


idpersonaservicioeps INT IDENTITY(1,1) NOT NULL,
fechaservicio DATETIME NOT NULL,
ideps INT NOT NULL,
idtiposervicio INT NOT NULL,
idpersona BIGINT NOT NULL,
CONSTRAINT PK_PersonaServicioEps PRIMARY KEY CLUSTERED (idpersonaservicioeps ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS =
ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]);
GO

SET IDENTITY_INSERT persona ON


GO

INSERT INTO persona VALUES(83232330,1,'JOSE','PARDO',2000-01-01 00:00:00,'M')


INSERT INTO persona VALUES(83232399,1,'YENI','PACO',1986-02-04 00:00:00,'F')
INSERT INTO persona VALUES(83232392,1,'JORGE','COTA',1993-12-14 00:00:00,'M')
GO

SET IDENTITY_INSERT persona OFF


GO

SET IDENTITY_INSERT PersonaServicioEps ON


GO

INSERT INTO PersonaServicioEps (idpersonaservicioeps, fechaservicio, ideps, idtiposervicio, idpersona) VALUES


(1,'2010-11-05 00:00:00',8,3,83232330)
INSERT INTO PersonaServicioEps (idpersonaservicioeps, fechaservicio, ideps, idtiposervicio, idpersona) VALUES
(2,'2010-11-04 00:00:00',8,2,83232330)
INSERT INTO PersonaServicioEps (idpersonaservicioeps, fechaservicio, ideps, idtiposervicio, idpersona) VALUES
(3,'2010-11-03 00:00:00',8,1,83232330)
INSERT INTO PersonaServicioEps (idpersonaservicioeps, fechaservicio, ideps, idtiposervicio, idpersona) VALUES
(4,'2014-17-08 00:00:00',10,3,83232399)
INSERT INTO PersonaServicioEps (idpersonaservicioeps, fechaservicio, ideps, idtiposervicio, idpersona) VALUES
(5,'2014-23-06 00:00:00',10,2,83232399)
INSERT INTO PersonaServicioEps (idpersonaservicioeps, fechaservicio, ideps, idtiposervicio, idpersona) VALUES
(6,'2014-12-01 00:00:00',10,1,83232399)
INSERT INTO PersonaServicioEps (idpersonaservicioeps, fechaservicio, ideps, idtiposervicio, idpersona) VALUES
(7,'2018-28-12 00:00:00',2,3,83232392)
INSERT INTO PersonaServicioEps (idpersonaservicioeps, fechaservicio, ideps, idtiposervicio, idpersona) VALUES
(8,'2018-21-08 00:00:00',2,2,83232392)
INSERT INTO PersonaServicioEps (idpersonaservicioeps, fechaservicio, ideps, idtiposervicio, idpersona) VALUES
(9,'2018-02-04 00:00:00',2,1,83232392)
GO

SET IDENTITY_INSERT PersonaServicioEps OFF


GO

ALTER TABLE PersonaServicioEps WITH CHECK ADD CONSTRAINT FK_PersonaServicioEps_Persona FOREIGN


KEY (idpersona) REFERENCES Persona(idpersona)
GO
ALTER TABLE PersonaServicioEps ADD CONSTRAINT FK_PersonaServicioEps_ServicioEps FOREIGN KEY
(ideps,idtiposervicio) REFERENCES ServicioEps(ideps,idtiposervicio)
GO
Insertamos el script y ejecutamos:

Resultado de la ejecución:
Verificamos en el explorador de objetos la tabla se encuentra creada:

o BD Recreacion

La tabla [Institucion] y [Institucion_Evento] no son necesarias para resolver las 2 primeras


situaciones, pero se dejaron para dar más detalle a la Bodega de Datos.
7. MODELADO DEL CUBO DE DATOS
Como bien mencionamos en la comprensión del modelo de negocio, trabajaremos un DATA
WAREHOUSE con un modelo de datos dimensional de tipo Copo de Nieve.
Teniendo en cuenta el tipo de esquema comenzamos a identificar las dimensiones y
tablas de hechos que se necesitan para la construcción del cubo.
Según lo requerido, crearemos una tabla de hechos llamada [CruceConsultasEvento] con 4
dimensiones [TipoEvento], [TipoServicio], [Persona] con dimensión [TipoIdentificacion] y
[Institucion].

7.1. >>MODELO LOGICO TABLA DE HECHOS<<

Las tablas de dimensiones manejan el mismo esquema de las tablas de ambas secretarias.
8. IMPLEMENTACIÓN DEL CUBO DE DATOS

8.1. >>DIAGRAMA CUBO DE DATOS<<

8.2. >>SCRIPT PARA LA CREACIÓN DEL CUBO DE DATOS<<


/****** Object: Database [BodegaDatos] ******/
IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = N'BodegaDatos')
BEGIN
CREATE DATABASE BodegaDatos
END
GO
USE BodegaDatos
GO
/****** Object: Table TipoIdentificacion ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING OFF


GO

CREATE TABLE TipoIdentificacion (


idTipoIdentificacion INT IDENTITY NOT NULL PRIMARY KEY,
abreviatura VARCHAR(3) NOT NULL,
descripcion VARCHAR(40) NULL);
GO

CREATE TABLE TipoServicio (


idTipoServicio INT IDENTITY NOT NULL PRIMARY KEY,
descripcion VARCHAR(35) NOT NULL);
GO

CREATE TABLE Persona (


idPersona BIGINT NOT NULL PRIMARY KEY,
tipoidentificacion integer NOT NULL,
nombre VARCHAR(20) NOT NULL,
apellido VARCHAR(20) NOT NULL,
fechaNacimiento DATETIME NOT NULL,
sexo CHAR(1) NOT NULL,
--CALCULAR EDAD--Edad AS cast(datediff(dd,fechaNacimiento,GETDATE()) / 365.25 as int) NOT NULL,
CONSTRAINT fk_idpersona FOREIGN KEY (tipoidentificacion) REFERENCES tipoidentificacion
(idtipoidentificacion));
GO

CREATE TABLE TipoEvento(


CodTipo Int IDENTITY(1,1) PRIMARY KEY,
NomTipo varchar(30)NOT NULL);
GO

CREATE TABLE Institucion(


CodIns Int IDENTITY(1,1) PRIMARY KEY,
NomIns varchar(30) NOT NULL,
DirIns varchar(30) NOT NULL,
TelIns varchar(15) NOT NULL);
GO

CREATE TABLE CruceConsultasEventos (


CruceId INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
CodEve INT NOT NULL,
CodIns INT NOT NULL,
CodTipoEvent INT NOT NULL,
NomEve VARCHAR(30) NOT NULL,
FechaIniEvent DATETIME NOT NULL,
FechaFinEvent DATETIME NOT NULL,
idPersona BIGINT NOT NULL,
idTipoServicio INT NOT NULL,
FechaServicio DATETIME NOT NULL);
GO

ALTER TABLE CruceConsultasEventos WITH CHECK ADD FOREIGN KEY (idPersona)


REFERENCES Persona(idPersona)
GO

ALTER TABLE CruceConsultasEventos WITH CHECK ADD FOREIGN KEY (CodIns)


REFERENCES Institucion(CodIns)
GO

ALTER TABLE CruceConsultasEventos WITH CHECK ADD FOREIGN KEY (idTipoServicio)


REFERENCES TipoServicio(idTipoServicio)
GO

ALTER TABLE CruceConsultasEventos WITH CHECK ADD FOREIGN KEY (CodTipoEvent)


REFERENCES TipoEvento(CodTipo)
GO
Insertamos el script y ejecutamos:

Verificamos en el explorador de objetos la tabla se encuentra creada:


8.3. >>SCRIPT PARA LA INSERCIÓN DE DATOS AL CUBO DE DATOS<<
USE BodegaDatos
GO

SET IDENTITY_INSERT TipoIdentificacion ON


GO
INSERT INTO TipoIdentificacion
(idTipoIdentificacion,abreviatura,descripcion)
SELECT TI.idTipoIdentificacion, TI.abreviatura, TI.descripcion
FROM SecretariaSalud.dbo.TipoIdentificacion As TI
GO
SET IDENTITY_INSERT TipoIdentificacion OFF
GO

SET IDENTITY_INSERT TipoServicio ON


GO
INSERT INTO TipoServicio
(idTipoServicio, descripcion)
SELECT TS.idTipoServicio, TS.descripcion
FROM SecretariaSalud.dbo.TipoServicio As TS
GO
SET IDENTITY_INSERT TipoServicio OFF
GO

SET IDENTITY_INSERT Persona ON


GO
INSERT INTO Persona
(idPersona, tipoidentificacion, nombre, apellido, fechaNacimiento, sexo)
SELECT P.idPersona, P.tipoidentificacion, P.nombre, P.apellido, P.fechaNacimiento, P.sexo
FROM SecretariaSalud.dbo.Persona As P
GO
SET IDENTITY_INSERT Persona OFF
GO

SET IDENTITY_INSERT TipoEvento ON


GO
INSERT INTO TipoEvento
(CodTipo, NomTipo)
SELECT TE.CodTipo, TE.NomTipo
FROM RECREACION.dbo.Tipo As TE
GO
SET IDENTITY_INSERT TipoEvento OFF
GO

SET IDENTITY_INSERT Institucion ON


GO
INSERT INTO Institucion
(CodIns, NomIns, DirIns, TelIns)
SELECT I.CodIns, I.NomIns, I.DirIns, I.TelIns
FROM RECREACION.dbo.Institucion As I
GO
SET IDENTITY_INSERT Institucion OFF
GO

INSERT INTO CruceConsultasEventos


(CodEve, CodIns, CodTipoEvent, NomEve, FechaIniEvent, FechaFinEvent, idPersona,
idTipoServicio, FechaServicio)
SELECT DISTINCT E.CodEve, IE.CodIns, E.CodTipo, E.NomEve, E.FechIni, E.FechFin, Pa.IdPar, TC.idtiposervicio,
TC.fechaservicio
FROM RECREACION.dbo.Evento As E
INNER JOIN RECREACION.dbo.Participante_Evento AS PE ON PE.CodEve = E.CodEve
INNER JOIN RECREACION.dbo.Participante AS Pa ON Pa.CodPar = PE.CodPar
INNER JOIN RECREACION.dbo.Institucion_Evento AS IE ON IE.CodEve = E.CodEve
INNER JOIN SecretariaSalud.dbo.PersonaServicioEps AS TC ON TC.idpersona = Pa.IdPar
GO

Insertamos el script y ejecutamos:

Verificamos la inserción de los datos:


9. CONSTRUCCIÓN DEL VISUALIZADOR DEL CUBO DE DATOS

Datos arrojados de la consulta de la tabla de hechos.

9.1. >>EXTRACCIÓN DE DATOS<<

Para la creación de tablas dinámicas y gráficos utilizamos la versión 2016 de Excel.


MODO 1: EXPORTAR A UN ARCHIVO PLANO
1. Damos clic en el recuadro en blanco señalado por la flecha para seleccionar toda la
tabla.
2. Luego damos clic derecho y seleccionamos la opción Copiar con encabezados.
3. Nos vamos a un bloc de notas y pegamos.
4. Guardamos el archivo en la ruta que deseemos.
5. Abrimos un nuevo libro de Excel.
6. Nos dirigimos a la pestaña datos >> Obtener datos externos >> Desde un archivo de
texto.
7. Ubicamos el archivo en la ruta que escogimos. >> Aceptar
8. Tipo de datos >> Delimitados >> Siguiente
9. Escogemos el tipo de Separación >> Tabulación >> Finalizar
10. Chequeamos la casilla Agregar estos datos al Modelo de datos y escogemos la opción
Informe de tabla dinámica y comenzamos a dar forma a nuestra tabla dinámica.
MODO 2: CONECTAR DIRECTAMENTE CON SQL
1. Abrimos un nuevo libro de Excel.
2. Nos dirigimos a la pestaña datos >> Obtener datos externos >> Desde otras fuentes >>
Desde SQL Server.
3. Indicamos el nombre del servidor, que será el mismo al momento de conectarnos con
nuestra instancia en el MSSMS.
4. Seleccionamos el tipo de credenciales de conexión >> Siguiente.
5. Escogemos la base de datos que tiene la información que deseamos traer y
seleccionamos la tabla de la cual deseemos extraer los datos. >> Siguiente.
6. Finalizar
7. En la ventana siguiente seleccionamos la opción solo conexión.
8. Damos clic en la pestaña insertar >> Gráfico dinámico >> Gráfico dinámico y tabla
dinámica.
9. Seleccionamos Utilice una fuente de datos externa y elegimos conexión.
10. Seleccionamos la conexión a la BD con la tabla seleccionada anteriormente. >> Abrir.
11. Escogemos la ubicación. >> Aceptar.
12. Damos forma a la tabla dinámica según lo requerido y automáticamente se generará
nuestra gráfica.

9.2. >>TABLAS DINÁMICAS Y GRÁFICOS<<

CONVERSIÓN DE DATOS

RELACIÓN DE PARTICIPANTES CON ATENCIONES EN SALUD


ATENCIONES POR SERVICIO DE URGENCIAS
ATENCIONES POR TRIMESTRE

¡FIN!

También podría gustarte