Sei sulla pagina 1di 14

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

CUBO

Presentado por:

VICTOR MANUEL MANTIILLA

CC 91.232.795

ESPECIALIZACION BASES DE DATOS SENA

AGOSTO 2019
INTRODUCCIÓN
La presente actividad tiene el propósito diseñar una Bodega de Datos y construcción de 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 implementara un cubo que resuelva por lo menos dos de las situaciones presentadas, mediante la
identi cación de las necesidades del modelo de negocio de acuerdo con los requerimientos planteados en el
caso de estudio. También se realizara 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 requeridos y construir el cubo de datos de acuerdo con los requerimientos establecidos.

Aún con la inclusión de nuevas tecnologías en el área de sistemas de la alcaldía de San Antonio
del SENA, se presentan problemas relacionados con la gestión de la información y convergencia de
datos (labor realizada por cada una de las secretarías) que di cultan los procesos de análisis y toma
de decisiones derivados de éstos.

La base de datos son sistemas que guardan la información de una o más empresas para que estas
puedan ser utilizadas cuando el usuario así lo deseen de gran relevancia porque automatizan
previenen de errores y son e caces en el tiempo y pueden ser adquiridas cuando el administrador del
sistema lo desee.

Los SMBD (sistemas manejadores de base de datos) se han incrementado en los últimos años de
forma drástica, pues claro está que cada vez más empresas requieren de software para registrar sus
datos.

Los SMBD presentan además una interfaz razonable y comprensible para cualquier usuario, debemos
mencionar que hay distintos gestores de base de datos, entre ellos se encuentran los de código libre,
es decir, pueden ser usados de forma gratuita, los que requieren una
licencia comercial, así como los que se pueden usar en forma de software de instalación, u otros que su
utilizan desde un navegador predeterminado.
OBJETIVOS DE LA ACTIVIDAD

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 asistieron 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.

SECRETARIAS INVOLUCRADAS EN LA CONSTRUCCIÓN DE LOS CUBOS.

Las secretarias involucradas en la construcción de los cubos según los dos casos
seleccionados son:
1. Secretaría de Salud.
2. Secretaría de Recreación y deportes.

ARQUITECTURA DEL DATAWAREHOUSE.

Arquitectura de dos capas para la construcción de la bodega de datos.

DIAGRAMA DE PROCESO DE INTELIGENCIA DE


NEGOCIOS PARA LA SECRETARIA SAN ANTONIO
DEL SENA.
DESCRIPCIÓN DEL PROCESO.

· SECRETARIA DE SALUD.
La Secretaria de Salud recibe documentos de Excel proveniente de diferentes
IPS’s del municipio San Antonio del SENA con información referente a las
entidades que prestan de servicios de salud, esta es almacenada en el
Datawarehouse de la Alcaldía municipal por los funcionarios de dicha secretaria.
Además, la secretaria también genera información que es almacenada de igual
forma.
Una vez toda la información está en el datawarehouse, la Secretaría de Salud
puede generar reportes claros para la toma de decisiones.

· SECRETARIA DE RECREACIÓN Y DEPORTES.


La secretaria de recreación y deportes recibe en la página Web de la alcaldía San
Antonio del SENA la inscripción de personas que desean participar en los
diferentes eventos que esta realiza, para dicha inscripción la persona debe
ingresar todos sus datos personales y especificar el evento en el que desea
participar. Además, la Secretaría de Recreación y deportes programa y gestiona
todos los eventos en su sistema de información, dicho sistema almacena toda
esta información en el Datawarehouse de la Alcaldía municipal.
Una vez toda la información está en el datawarehouse, la Secretaría de
Recreación y deportes puede generar reportes claros para la toma de decisiones.

NOTA: Los reportes generados por cada una de las secretarias, son claros y
concretos para la toma de decisiones, esto gracias a que el Datawarehouse se
divide en DataMarts para dar oportuna respuesta a las secretarias de acuerdo a
las reglas de negocio establecidas.

ESQUEMAS PARA LA CONSTRUCCIÓN DE UN CUBO.

· Copo de nieve: un esquema en Copo De Nieve es una estructura algo más


compleja que el esquema en estrella. Se da cuando alguna de las dimensiones se
implementa con más de una tabla de datos. La finalidad es normalizar las tablas y
así reducir el espacio de almacenamiento al eliminar la redundancia de datos
· Estrella: un esquema en estrella es un modelo de datos que tiene una tabla de
hechos (o tabla fact) que contiene los datos para el análisis, rodeada de las tablas
de dimensiones. Este aspecto, de tabla de hechos (o central) más grande
rodeada de radios o tablas más pequeñas es lo que asemeja a una estrella,
dándole nombre a este tipo de construcciones.

ESQUEMAS SELECCIONADOS PARA LA CONSTRUCCIÓN DE LOS CUBOS.

· Cubo N°1: Copo de nieve.


· Cubo N°2: Copo de nieve.

DIAGRAMA DEL DATAWAREHOUSE


DE LA ALCALDÍA SAN ANTONIO DEL SENA.

Modelo relacional del Cubo N°1

Script para la creación del cubo N°1.

USE [Cubo1]
GO
/****** Object: Table [dbo].[Persona] Script Date: 17/08/2019 20:58:40
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Persona](
[idPersona] [bigint] NOT NULL,
[tipoidentificacion] [int] NOT NULL,
[nombre] [varchar](20) NOT NULL,
[apellido] [varchar](20) NOT NULL,
[fechaNacimiento] [datetime] NOT NULL,
[sexo] [char](1) NOT NULL,
CONSTRAINT [PK_Persona] PRIMARY KEY CLUSTERED
(
[idPersona] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[TipoServicio] Script Date: 17/08/2019
20:58:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TipoServicio](
[idTipoServicio] [int] IDENTITY(1,1) NOT NULL,
[descripcion] [varchar](35) NOT NULL,
CONSTRAINT [PK_TipoServicio] PRIMARY KEY CLUSTERED
(
[idTipoServicio] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Tipo] Script Date: 17/08/2019 20:58:40
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Tipo](
[CodTipo] [int] IDENTITY(1,1) NOT NULL,
[NomTipo] [varchar](30) NOT NULL,
CONSTRAINT [PK_Tipo] PRIMARY KEY CLUSTERED
(
[CodTipo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Participante] Script Date: 17/08/2019
20:58:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Participante](
[CodPar] [int] IDENTITY(1,1) NOT NULL,
[NomPar] [varchar](30) NOT NULL,
[ApePar] [varchar](30) NOT NULL,
[IdPar] [varchar](30) NOT NULL,
[EdadPar] [smallint] NOT NULL,
[FotoPar] [image] NULL,
CONSTRAINT [PK_Participante] PRIMARY KEY CLUSTERED
(
[CodPar] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[EPS] Script Date: 17/08/2019 20:58:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[EPS](
[ideps] [int] IDENTITY(1,1) NOT NULL,
[nombre] [varchar](30) NOT NULL,
CONSTRAINT [PK_EPS] PRIMARY KEY CLUSTERED
(
[ideps] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Evento] Script Date: 17/08/2019 20:58:40
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Evento](
[CodEve] [int] IDENTITY(1,1) NOT NULL,
[NomEve] [varchar](60) NOT NULL,
[CodTipo] [int] NOT NULL,
[FechIni] [datetime] NOT NULL,
[FechFin] [datetime] NOT NULL,
CONSTRAINT [PK_Evento] PRIMARY KEY CLUSTERED
(
[CodEve] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[HistorialPersona] Script Date: 17/08/2019
20:58:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[HistorialPersona](
[idhistorialpersona] [int] IDENTITY(1,1) NOT NULL,
[idpersona] [bigint] NOT NULL,
[fechaingreso] [datetime] NOT NULL,
[fecharetiro] [datetime] NULL,
[ideps] [int] NOT NULL,
CONSTRAINT [PK_HistorialPersona] PRIMARY KEY CLUSTERED
(
[idhistorialpersona] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[ServicioEps] Script Date: 17/08/2019:58:40
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ServicioEps](
[ideps] [int] NOT NULL,
[idtiposervicio] [int] NOT NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Participante_Evento] Script Date: 17/08/2019
20:58:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Participante_Evento](
[CodEve] [int] NOT NULL,
[CodPar] [int] NOT NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Hechos] Script Date: 17/08/2019 20:58:40
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Hechos](
[CodEve] [int] NULL,
[IdHistorialPersona] [int] NULL,
[FecIniServicio] [date] NULL,
[FecFinServicio] [date] NULL,
[FecIniEvento] [date] NULL,
[FecFinEvento] [date] NULL,
[Documento] [bigint] NULL,
[Eps] [varchar](30) NULL,
[NomEve] [varchar](60) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: ForeignKey [FK_Evento_Tipo] Script Date: 17/08/2019
20:58:40 ******/
ALTER TABLE [dbo].[Evento] WITH CHECK ADD CONSTRAINT [FK_Evento_Tipo]
FOREIGN KEY([CodTipo])
REFERENCES [dbo].[Tipo] ([CodTipo])
GO
ALTER TABLE [dbo].[Evento] CHECK CONSTRAINT [FK_Evento_Tipo]
GO
/****** Object: ForeignKey [FK_Hechos_Evento] Script Date: 17/08/2019
20:58:40 ******/
ALTER TABLE [dbo].[Hechos] WITH CHECK ADD CONSTRAINT [FK_Hechos_Evento]
FOREIGN KEY([CodEve])
REFERENCES [dbo].[Evento] ([CodEve])
GO
ALTER TABLE [dbo].[Hechos] CHECK CONSTRAINT [FK_Hechos_Evento]
GO
/****** Object: ForeignKey [FK_Hechos_HistorialPersona] Script Date:
17/08/2019 20:58:40 ******/
ALTER TABLE [dbo].[Hechos] WITH CHECK ADD CONSTRAINT
[FK_Hechos_HistorialPersona] FOREIGN KEY([IdHistorialPersona])
REFERENCES [dbo].[HistorialPersona] ([idhistorialpersona])
GO
ALTER TABLE [dbo].[Hechos] CHECK CONSTRAINT [FK_Hechos_HistorialPersona]
GO
/****** Object: ForeignKey [FK_HistorialPersona_EPS] Script Date:
17/08/2019 20:58:40 ******/
ALTER TABLE [dbo].[HistorialPersona] WITH CHECK ADD CONSTRAINT
[FK_HistorialPersona_EPS] FOREIGN KEY([ideps])
REFERENCES [dbo].[EPS] ([ideps])
GO
ALTER TABLE [dbo].[HistorialPersona] CHECK CONSTRAINT
[FK_HistorialPersona_EPS]
GO
/****** Object: ForeignKey [FK_HistorialPersona_Persona] Script Date:
17/08/2019 20:58:40 ******/
ALTER TABLE [dbo].[HistorialPersona] WITH CHECK ADD CONSTRAINT
[FK_HistorialPersona_Persona] FOREIGN KEY([idpersona])
REFERENCES [dbo].[Persona] ([idPersona])
GO
ALTER TABLE [dbo].[HistorialPersona] CHECK CONSTRAINT
[FK_HistorialPersona_Persona]
GO
/****** Object: ForeignKey [FK_Participante_Evento_Evento] Script Date:
17/08/2019 20:58:40 ******/
ALTER TABLE [dbo].[Participante_Evento] WITH CHECK ADD CONSTRAINT
[FK_Participante_Evento_Evento] FOREIGN KEY([CodEve])
REFERENCES [dbo].[Evento] ([CodEve])
GO
ALTER TABLE [dbo].[Participante_Evento] CHECK CONSTRAINT
[FK_Participante_Evento_Evento]
GO
/****** Object: ForeignKey [FK_Participante_Evento_Participante] Script
Date: 17/085/2019 20:58:40 ******/
ALTER TABLE [dbo].[Participante_Evento] WITH CHECK ADD CONSTRAINT
[FK_Participante_Evento_Participante] FOREIGN KEY([CodPar])
REFERENCES [dbo].[Participante] ([CodPar])
GO
ALTER TABLE [dbo].[Participante_Evento] CHECK CONSTRAINT
[FK_Participante_Evento_Participante]
GO
/****** Object: ForeignKey [FK_ServicioEps_EPS] Script Date: 11/09/2015
20:58:40 ******/
ALTER TABLE [dbo].[ServicioEps] WITH CHECK ADD CONSTRAINT
[FK_ServicioEps_EPS] FOREIGN KEY([ideps])
REFERENCES [dbo].[EPS] ([ideps])
GO
ALTER TABLE [dbo].[ServicioEps] CHECK CONSTRAINT [FK_ServicioEps_EPS]
GO
/****** Object: ForeignKey [FK_ServicioEps_TipoServicio] Script Date:
17/08/2019 20:58:40 ******/
ALTER TABLE [dbo].[ServicioEps] WITH CHECK ADD CONSTRAINT
[FK_ServicioEps_TipoServicio] FOREIGN KEY([idtiposervicio])
REFERENCES [dbo].[TipoServicio] ([idTipoServicio])
GO
ALTER TABLE [dbo].[ServicioEps] CHECK CONSTRAINT [FK_ServicioEps_TipoServicio]
GO

Query para tomar los datos de la tabla hechos según los


requerimientos

SELECT
Documento,FecIniServicio,FecFinServicio,Eps,FecIniEvento,FecFinEvento,NomEve
FROM Hechos INNER JOIN Persona ON idPersona=Documento
Gráfico de los resultados del cubo

NOTA: Fue necesario insertar registros adicionales en las tablas, además de


modificar algunas fechas para que el reporte generara resultados.

Modelo relacional del Cubo N°2

Script para la creación del cubo N°2.

USE [Cubo2]
GO
/****** Object: Table [dbo].[Evento] Script Date:17/08/2019 22:57:07
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Evento](
[CodEve] [int] IDENTITY(1,1) NOT NULL,
[NomEve] [varchar](60) NOT NULL,
[CodTipo] [int] NOT NULL,
[FechIni] [datetime] NOT NULL,
[FechFin] [datetime] NOT NULL,
CONSTRAINT [PK_Evento] PRIMARY KEY CLUSTERED
(
[CodEve] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[EPS] Script Date: 17/08/2019 22:57:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[EPS](
[ideps] [int] IDENTITY(1,1) NOT NULL,
[nombre] [varchar](30) NOT NULL,
CONSTRAINT [PK_EPS] PRIMARY KEY CLUSTERED
(
[ideps] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Participante] Script Date: 17/08/2019
22:57:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Participante](
[CodPar] [int] IDENTITY(1,1) NOT NULL,
[NomPar] [varchar](30) NOT NULL,
[ApePar] [varchar](30) NOT NULL,
[IdPar] [varchar](30) NOT NULL,
[EdadPar] [smallint] NOT NULL,
[FotoPar] [image] NULL,
CONSTRAINT [PK_Participante] PRIMARY KEY CLUSTERED
(
[CodPar] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Persona] Script Date: 17/08/2019 22:57:07
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Persona](
[idPersona] [bigint] NOT NULL,
[tipoidentificacion] [int] NOT NULL,
[nombre] [varchar](20) NOT NULL,
[apellido] [varchar](20) NOT NULL,
[fechaNacimiento] [datetime] NOT NULL,
[sexo] [char](1) NOT NULL,
CONSTRAINT [PK_Persona] PRIMARY KEY CLUSTERED
(
[idPersona] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[TipoServicio] Script Date: 17/08/2019
22:57:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TipoServicio](
[idTipoServicio] [int] IDENTITY(1,1) NOT NULL,
[descripcion] [varchar](35) NOT NULL,
CONSTRAINT [PK_TipoServicio] PRIMARY KEY CLUSTERED
(
[idTipoServicio] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[ServicioEps] Script Date: 17/08/2019 22:57:07
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ServicioEps](
[ideps] [int] NOT NULL,
[idtiposervicio] [int] NOT NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Participante_Evento] Script Date: 17/08/2019
22:57:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Participante_Evento](
[CodEve] [int] NOT NULL,
[CodPar] [int] NOT NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[HistorialPersona] Script Date: 17/08/2019
22:57:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[HistorialPersona](
[idhistorialpersona] [int] IDENTITY(1,1) NOT NULL,
[idpersona] [bigint] NOT NULL,
[fechaingreso] [datetime] NOT NULL,
[fecharetiro] [datetime] NULL,
[ideps] [int] NOT NULL,
CONSTRAINT [PK_HistorialPersona] PRIMARY KEY CLUSTERED
(
[idhistorialpersona] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Hechos] Script Date: 17/08/2019 22:57:07
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Hechos](
[CodEve] [int] NULL,
[idhistorialpersona] [int] NULL,
[Edad] [int] NULL,
[Evento] [varchar](60) NULL,
[MesEve] [nchar](10) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: ForeignKey [FK_Hechos_Evento] Script Date: 11/09/2015
22:57:07 ******/
ALTER TABLE [dbo].[Hechos] WITH CHECK ADD CONSTRAINT [FK_Hechos_Evento]
FOREIGN KEY([CodEve])
REFERENCES [dbo].[Evento] ([CodEve])
GO
ALTER TABLE [dbo].[Hechos] CHECK CONSTRAINT [FK_Hechos_Evento]
GO
/****** Object: ForeignKey [FK_Hechos_HistorialPersona] Script Date:
17/08/2019 22:57:07 ******/
ALTER TABLE [dbo].[Hechos] WITH CHECK ADD CONSTRAINT
[FK_Hechos_HistorialPersona] FOREIGN KEY([idhistorialpersona])
REFERENCES [dbo].[HistorialPersona] ([idhistorialpersona])
GO
ALTER TABLE [dbo].[Hechos] CHECK CONSTRAINT [FK_Hechos_HistorialPersona]
GO
/****** Object: ForeignKey [FK_HistorialPersona_EPS] Script Date:
11/09/2015 22:57:07 ******/
ALTER TABLE [dbo].[HistorialPersona] WITH CHECK ADD CONSTRAINT
[FK_HistorialPersona_EPS] FOREIGN KEY([ideps])
REFERENCES [dbo].[EPS] ([ideps])
GO
ALTER TABLE [dbo].[HistorialPersona] CHECK CONSTRAINT
[FK_HistorialPersona_EPS]
GO
/****** Object: ForeignKey [FK_HistorialPersona_Persona] Script Date:
11/09/2015 22:57:07 ******/
ALTER TABLE [dbo].[HistorialPersona] WITH CHECK ADD CONSTRAINT
[FK_HistorialPersona_Persona] FOREIGN KEY([idpersona])
REFERENCES [dbo].[Persona] ([idPersona])
GO
ALTER TABLE [dbo].[HistorialPersona] CHECK CONSTRAINT
[FK_HistorialPersona_Persona]
GO
/****** Object: ForeignKey [FK_Participante_Evento_Evento] Script Date:
11/09/2015 22:57:07 ******/
ALTER TABLE [dbo].[Participante_Evento] WITH CHECK ADD CONSTRAINT
[FK_Participante_Evento_Evento] FOREIGN KEY([CodEve])
REFERENCES [dbo].[Evento] ([CodEve])
GO
ALTER TABLE [dbo].[Participante_Evento] CHECK CONSTRAINT
[FK_Participante_Evento_Evento]
GO
/****** Object: ForeignKey [FK_Participante_Evento_Participante] Script
Date: 11/09/2015 22:57:07 ******/
ALTER TABLE [dbo].[Participante_Evento] WITH CHECK ADD CONSTRAINT
[FK_Participante_Evento_Participante] FOREIGN KEY([CodPar])
REFERENCES [dbo].[Participante] ([CodPar])
GO
ALTER TABLE [dbo].[Participante_Evento] CHECK CONSTRAINT
[FK_Participante_Evento_Participante]
GO
/****** Object: ForeignKey [FK_ServicioEps_EPS] Script Date: 17/08/2019
22:57:07 ******/
ALTER TABLE [dbo].[ServicioEps] WITH CHECK ADD CONSTRAINT
[FK_ServicioEps_EPS] FOREIGN KEY([ideps])
REFERENCES [dbo].[EPS] ([ideps])
GO
ALTER TABLE [dbo].[ServicioEps] CHECK CONSTRAINT [FK_ServicioEps_EPS]
GO
/****** Object: ForeignKey [FK_ServicioEps_TipoServicio] Script Date:
11/09/2015 22:57:07 ******/
ALTER TABLE [dbo].[ServicioEps] WITH CHECK ADD CONSTRAINT
[FK_ServicioEps_TipoServicio] FOREIGN KEY([idtiposervicio])
REFERENCES [dbo].[TipoServicio] ([idTipoServicio])
GO
ALTER TABLE [dbo].[ServicioEps] CHECK CONSTRAINT [FK_ServicioEps_TipoServicio]
GO

Query para tomar los datos de la tabla hechos según los


requerimientos
.

SELECT MesEve,Evento,Edad FROM


Persona INNER JOIN HistorialPersona
INNER JOIN Hechos
INNER JOIN Evento
ON Evento.CodEve=Hechos.CodEve
ON HistorialPersona.idhistorialpersona=Hechos.idhistorialpersona
ON Persona.idPersona=HistorialPersona.idpersona

NOTA: Fue necesario insertar registros adicionales en las tablas, además de


modificar algunas fechas para que el reporte generara resultados.

Potrebbero piacerti anche