Sei sulla pagina 1di 17

IMPLEMENTAR UNA BASE DE DATOS DE CONOCIMIENTO

ALCALDÍA DE SAN ANTONIO DEL SENA

CRISTHIAN STEVE CRUZ SILVA

Profesora:
INGRID CATERINE RAMIREZ

SENA
GESTION Y SEGURIDAD DE BASES DE DATOS

2019
INTRODUCCION

Toda organización productiva cuenta con sistemas de información que ayudan al


funcionamiento de la misma, pero a su vez estos sistemas presentan incidentes que
deben ser trazables para su correcta gestión de solución que sirve como base de
conocimiento para la solución de futuros incidentes.
Es necesario el registro de información de incidentes en una aplicación que permita
atender oportunamente a los usuarios.
OBJETIVOS

OBJETIVO GENERAL
Crear un sistema de información que permita el registro de incidentes de la alcaldía
SAN ANTONIO DEL SENA
OBJETIVOS ESPECIFICOS
 Implementar la KD en el SMDB

 Contar con un registro de incidentes fácilmente

 Buscar oportunidad en la consulta de incidentes en la base de conocimiento


DESARROLLO DEL TEMA

1. Diseño lógico de la base de datos


Se crea el diseño lógico de la base de datos en SQL server teniendo en cuenta los requerimientos de los usuarios.
2. Caracterización del modelo lógico
Teniendo en cuenta el modelo lógico diseñado, se identifican las siguientes
características:
 La base de datos de conocimiento permite el registro de incidentes de los
usuarios de cualquier dependencia y permite categorizar el tipo de
solicitud software o hardware.

 Responde a las necesidades propuestas por el caso estudio donde se


busca la atención de solicitudes oportunamente.

 6 entidades hacen parte del modelo lógico planteado

o User: Registra todos los usuarios que interactúan con la base de


datos.

o Categoria_bug: Permite el ingreso de categorías, para este caso


software / hardware

o Inventario_Disp: Contiene el inventario de los dispositivos de la


alcaldía diferenciando por las diferentes dependencias

o Dependencias: contiene información propia de cada dependencia


de la alcaldía.

o Estados: Documenta los estados que puede tener un incidente o


bug.

o Registro_bug: contiene el detalla de los incidentes registrados por


los usuarios.
3. Modelo físico
Luego del análisis y el diseño se documentan los scripts para ser ejecutados en
nuestro sistema manejador de bases de datos
Base de datos
/****** Object: Database [HelpDesk] Script Date: 11/07/2019 0:38:34 ******/
CREATE DATABASE [HelpDesk]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'HelpDesk', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL14.CUBO\MSSQL\DATA\HelpDesk.mdf' , SIZE = 8192KB , MAXSIZE =
UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'HelpDesk_log', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL14.CUBO\MSSQL\DATA\HelpDesk_log.ldf' , SIZE = 8192KB , MAXSIZE =
2048GB , FILEGROWTH = 65536KB )
GO
Categorías
USE [HelpDesk]
GO

/****** Object: Table [dbo].[Categoria_bug] Script Date: 11/07/2019 0:39:32


******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Categoria_bug](


[Id_categoria] [numeric](18, 0) NOT NULL,
[Categoria] [nchar](10) NULL,
CONSTRAINT [PK_Categoria_bug] PRIMARY KEY CLUSTERED
(
[Id_categoria] 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

User
USE [HelpDesk]
GO

/****** Object: Table [dbo].[user] Script Date: 11/07/2019 0:40:40 ******/


SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[user](


[Id_usuario] [numeric](18, 0) NOT NULL,
[Nombre_usuario] [nchar](10) NULL,
[Telefono_usuario] [nchar](10) NULL,
[Id_dependencia] [numeric](18, 0) NULL,
CONSTRAINT [PK_user] PRIMARY KEY CLUSTERED
(
[Id_usuario] 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

ALTER TABLE [dbo].[user] WITH CHECK ADD CONSTRAINT [FK_user_Dependencias]


FOREIGN KEY([Id_dependencia])
REFERENCES [dbo].[Dependencias] ([Id_dependencia])
GO

ALTER TABLE [dbo].[user] CHECK CONSTRAINT [FK_user_Dependencias]


GO
Estados
USE [HelpDesk]
GO

/****** Object: Table [dbo].[Estados] Script Date: 11/07/2019 0:41:11 ******/


SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Estados](


[Id_Estado] [numeric](18, 0) NOT NULL,
[Des_Estado] [nchar](10) NULL,
CONSTRAINT [PK_Estados] PRIMARY KEY CLUSTERED
(
[Id_Estado] 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

Dependencias
USE [HelpDesk]
GO

/****** Object: Table [dbo].[Dependencias] Script Date: 11/07/2019 0:41:58


******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Dependencias](


[Id_dependencia] [numeric](18, 0) NOT NULL,
[Nom_dependencia] [nchar](10) NULL,
[Dir_dependencia] [varchar](50) NULL,
[Tel_dependencia] [numeric](18, 0) NULL,
CONSTRAINT [PK_Dependencias] PRIMARY KEY CLUSTERED
(
[Id_dependencia] 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

Inventarios
USE [HelpDesk]
GO

/****** Object: Table [dbo].[Inventario_Disp] Script Date: 11/07/2019 0:43:05


******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Inventario_Disp](


[Placa_Inv] [nchar](10) NOT NULL,
[Desc_Dispositivo] [nvarchar](50) NULL,
[Id_dependencia] [numeric](18, 0) NULL,
[Id_Categoria] [numeric](18, 0) NULL,
CONSTRAINT [PK_Inventario_Disp] PRIMARY KEY CLUSTERED
(
[Placa_Inv] 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

ALTER TABLE [dbo].[Inventario_Disp] WITH CHECK ADD CONSTRAINT


[FK_Inventario_Disp_Categoria_bug] FOREIGN KEY([Id_Categoria])
REFERENCES [dbo].[Categoria_bug] ([Id_categoria])
GO

ALTER TABLE [dbo].[Inventario_Disp] CHECK CONSTRAINT


[FK_Inventario_Disp_Categoria_bug]
GO

ALTER TABLE [dbo].[Inventario_Disp] WITH CHECK ADD CONSTRAINT


[FK_Inventario_Disp_Dependencias] FOREIGN KEY([Id_dependencia])
REFERENCES [dbo].[Dependencias] ([Id_dependencia])
GO

ALTER TABLE [dbo].[Inventario_Disp] CHECK CONSTRAINT


[FK_Inventario_Disp_Dependencias]
GO
Registro incidentes
USE [HelpDesk]
GO

/****** Object: Table [dbo].[Registro_bug] Script Date: 11/07/2019 0:44:03


******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Registro_bug](


[Id_bug] [int] IDENTITY(1,1) NOT NULL,
[Id_categoria] [numeric](18, 0) NULL,
[fecha_bug] [date] NULL,
[fecha_registro] [date] NOT NULL,
[Descripcion_bug] [nvarchar](100) NULL,
[Id_usuario] [numeric](18, 0) NULL,
[Observaciones] [nvarchar](50) NULL,
[Id_Estado] [numeric](18, 0) NULL,
CONSTRAINT [PK_Registro_bug] PRIMARY KEY CLUSTERED
(
[Id_bug] 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

ALTER TABLE [dbo].[Registro_bug] WITH CHECK ADD CONSTRAINT


[FK_Registro_bug_Categoria_bug] FOREIGN KEY([Id_categoria])
REFERENCES [dbo].[Categoria_bug] ([Id_categoria])
GO

ALTER TABLE [dbo].[Registro_bug] CHECK CONSTRAINT [FK_Registro_bug_Categoria_bug]


GO

ALTER TABLE [dbo].[Registro_bug] WITH CHECK ADD CONSTRAINT


[FK_Registro_bug_Estados] FOREIGN KEY([Id_Estado])
REFERENCES [dbo].[Estados] ([Id_Estado])
GO

ALTER TABLE [dbo].[Registro_bug] CHECK CONSTRAINT [FK_Registro_bug_Estados]


GO

ALTER TABLE [dbo].[Registro_bug] WITH CHECK ADD CONSTRAINT


[FK_Registro_bug_user] FOREIGN KEY([Id_usuario])
REFERENCES [dbo].[user] ([Id_usuario])
GO

ALTER TABLE [dbo].[Registro_bug] CHECK CONSTRAINT [FK_Registro_bug_user]


GO
4. Creación de base de datos en el MSDB

5. Ingreso de incidentes
Se toman como base los incidentes del caso estudio para el ingreso de la
información en el SMDB
Usuarios

Dependencias
Inventarios

Categorías
Estados

Incidentes
6. Creación de vistas para la consulta de usuarios de la mesa de servicios

6.1. Cantidad de incidentes por dependencia

USE [HelpDesk]
GO

/****** Object: View [dbo].[INCIDENTES POR DEPENDENCIA] Script Date: 11/07/2019


1:49:11 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE VIEW [dbo].[INCIDENTES POR DEPENDENCIA]


AS
SELECT dbo.Dependencias.Nom_dependencia, COUNT(dbo.Registro_bug.Id_bug) AS
Expr1
FROM dbo.Dependencias INNER JOIN
dbo.[user] ON dbo.Dependencias.Id_dependencia =
dbo.[user].Id_dependencia INNER JOIN
dbo.Registro_bug ON dbo.[user].Id_usuario =
dbo.Registro_bug.Id_usuario
GROUP BY dbo.Dependencias.Nom_dependencia
GO
6.2. Resumen de incidentes

USE [HelpDesk]
GO

/****** Object: View [dbo].[RESUMEN DE INCIDENTES] Script Date: 11/07/2019


1:49:31 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE VIEW [dbo].[RESUMEN DE INCIDENTES]


AS
SELECT DISTINCT dbo.Registro_bug.Id_bug, dbo.Dependencias.Nom_dependencia,
dbo.Registro_bug.Id_usuario, dbo.[user].Nombre_usuario,
dbo.Registro_bug.Descripcion_bug
FROM dbo.Categoria_bug INNER JOIN
dbo.Inventario_Disp ON dbo.Categoria_bug.Id_categoria =
dbo.Inventario_Disp.Id_Categoria INNER JOIN
dbo.Dependencias ON dbo.Inventario_Disp.Id_dependencia =
dbo.Dependencias.Id_dependencia INNER JOIN
dbo.Registro_bug ON dbo.Categoria_bug.Id_categoria =
dbo.Registro_bug.Id_categoria INNER JOIN
dbo.Estados ON dbo.Registro_bug.Id_Estado =
dbo.Estados.Id_Estado INNER JOIN
dbo.[user] ON dbo.Dependencias.Id_dependencia =
dbo.[user].Id_dependencia AND dbo.Registro_bug.Id_usuario = dbo.[user].Id_usuario
GO
6.3. Resumen por estado

USE [HelpDesk]
GO

/****** Object: View [dbo].[RESUMEN POR ESTADO] Script Date: 11/07/2019 1:48:32
******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE VIEW [dbo].[RESUMEN POR ESTADO]


AS
SELECT dbo.Estados.Des_Estado, COUNT(dbo.Registro_bug.Id_bug) AS Expr1
FROM dbo.Estados INNER JOIN
dbo.Registro_bug ON dbo.Estados.Id_Estado =
dbo.Registro_bug.Id_Estado
GROUP BY dbo.Estados.Des_Estado
GO

Potrebbero piacerti anche