Está en la página 1de 26

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS

Facultad de Ingeniería

Curso: Implementación de base de datos

Proyecto del Curso: Trabajo Final

Integrantes

 Juan Verde Cortez / u20161B016


 Eduardo Pino / -
Implementación de Base de Datos

Índice
Introducción......................................................................................................................................................3
1. Enunciado y Reglas de negocio (Promotora de espectáculos)................................................................3
1.1 Descripción de la empresa.....................................................................................................................3
1.2 Reglas de negocio...................................................................................................................................5
1.3 Gráfico de dependencias funcionales....................................................................................................7
2. Modelos...................................................................................................................................................8
2.1 Modelo Conceptual................................................................................................................................8
2.2 Modelo Lógico........................................................................................................................................8
2.3 Diagrama de base de datos SQL SERVER 2012......................................................................................9
3. Análisis del modelo conceptual.............................................................................................................10
4. Creación de base de datos en SQL SERVER 2012..................................................................................10
5. Cargar las tablas de las bases de datos creada......................................................................................14
6. Trabajo Individual..................................................................................................................................17
6.1 Trabajo Individual – Juan Verde...........................................................................................................17
6.1.1 Consultas.......................................................................................................................................17
6.1.2 Procedimientos Almacenados......................................................................................................18
6.1.3 Trigger...........................................................................................................................................19
6.1.4 Comandos DDL..............................................................................................................................19
6.1.5 Comandos DCL..............................................................................................................................19
6.2 Trabajo Individual – Eduardo Pino................................................................................................19
6.2.1 Consultas SQL................................................................................................................................19
6.2.2 Procedimientos Almacenados......................................................................................................19
6.2.3 Trigger...........................................................................................................................................19
6.2.4 Comandos DDL..............................................................................................................................19
6.2.5 Comandos DCL..............................................................................................................................19
7. Plan de ejecución estimado...................................................................................................................20
8. Investigación...............................................................................................................................................21
8.1 Describa como los siguientes DBMS utilizan el concepto de Self Management en Base de Datos. Dar
la referencia bibliográfica que utilizó.........................................................................................................21
8.2 Realice un estudio de los DBMS NoSQL. Dar la referencia bibliográfica que utilizo...........................22
8.3 Realice una comparación entre los DBMS No SQL vs DBMS SQL. Dar la referencia bibliográfica que
utilizo..........................................................................................................................................................23
8.4 Describa las nuevas características funciones de MS SQL Server 2017. Dar la referencia bibliográfica
que utilizo...................................................................................................................................................24
8.5 Describa que es un sistema experto y describa cada uno de sus componentes. Dar la referencia
bibliográfica que utilizo..............................................................................................................................25
Bibliografía......................................................................................................................................................26

2|Página
Implementación de Base de Datos

Introducción

El presente trabajo es la continuación del trabajo final desarrollado en el anterior curso de


Diseño y Modelamiento de Base de Datos dictado en la presente universidad.

El objetivo del trabajo del anterior curso fue analizar, construir y modelar una base de datos
cumpliendo los estándares de normalización establecidos.

Para esta ocasión usaremos el enunciado de una empresa “Promotora de espectáculos”, el


modelo y la lógica utilizada para construirlos. Además, se implementará su base de datos con
características normalizadas para que a un futuro sea utilizado por un aplicativo

1. Enunciado y Reglas de negocio (Promotora de


espectáculos)
1.1 Descripción de la empresa
Una empresa promotora de espectáculos tiene como actividad principal la contratación de
artistas nacionales e internacionales para que realicen presentaciones en la ciudad. Para la
mejor administración de sus operaciones necesita contar con un sistema automatizado,
cuyo diseño de base de datos le han encargado a usted, para lo cual deberá tener en cuenta
los supuestos siguientes:

 La empresa contacta a los artistas a través de sus representantes. Estos son


personas naturales que representan a uno o más artistas. De cada representante
debe mantenerse una identificación no ambigua, nombre, dirección y demás datos
relevantes, así como los artistas con quienes trabaja. Cada artista solamente puede
tener un representante.
 Los artistas pueden ser personas o grupos artísticos (obviamente compuestos a su
vez por personas). De cada artista es importante guardar una identificación única
(que puede ser un código, dado que el nombre no siempre cumple el requisito de
unicidad), su nombre y país de origen. De los artistas individuales además es
importante guardar registro de sus nombres y apellidos, dado que no siempre
coinciden con el nombre artístico, además de su sexo. De los grupos artísticos se
guarda registro de sus miembros y la labor que desempeña cada uno de ellos. Para
fines de este proyecto se considerará que cada artista individual solamente puede
pertenecer a lo sumo a un grupo artístico.

3|Página
Implementación de Base de Datos

 De los artistas que se contratan, ya sea individualmente o como grupo, es


importante además conocer la o las disciplinas artísticas que practican, como son
canto, danza o baile, interpretación musical, comicidad, poesía, etc. Cada artista
(individual o grupo) puede practicar una o más disciplinas artísticas. De cada
disciplina artística se debe mantener una identificación, nombre y un texto amplio
descriptivo.
 Los contratos que la empresa firma con los artistas deben tener una identificación
única, la fecha de la firma, el monto pactado que se pagará al artista; si el contrato
incluye alojamiento se especifica el hotel y la categoría de habitación a contratar,
además del detalle de las presentaciones pactadas. Es decir, en el contrato se
establece si el artista realizará una o más presentaciones, la fecha de cada una de
ellas, y el local y ambiente de éste que se empleará para ello. Por ejemplo, el local
podría ser el Museo de la Nación, pero dado que el museo cuenta con diversos
ambientes, debe especificarse en cuál de ellos se realizará cada presentación.
 Para ello, es necesario además llevar correcto registro de los locales adecuados
para las presentaciones artísticas, tales como hoteles, centros de convenciones,
restaurantes, teatros, etc. Cada local debe tener una identificación única, nombre y
tipo de local, además del detalle de los ambientes con que cuenta. Cada ambiente
debe tener un nombre (que será único para cada local), y capacidad máxima.
 Por otro lado, y para el mismo fin, es necesario también guardar correcto registro
de los hoteles que se emplean o se puede emplear para alojar a los artistas
contratados. De cada hotel se deberá guardar un código de identificación, categoría
(cantidad de estrellas), nombre, dirección y el costo por día de cada uno de los tipos
de habitación con que cuenta.
 Para cada una de las presentaciones pactadas en un contrato la empresa debe
gestionar ante ciertas entidades locales uno o más permisos, autorizaciones o
licencias, a las que llamaremos requerimientos. Por ejemplo, para una presentación
en una discoteca puede necesitar licencia municipal y autorización de Defensa Civil;
para una presentación en un estadio podría necesitar licencia municipal y permiso
de la Prefectura, etc. Para cada presentación, entonces, se guarda un registro de los
requerimientos, con un número único por presentación, nombre del requerimiento
(licencia, permiso, constancia de inspección, etc.), el organismo ante el cual se debe
gestionar, la fecha en que se obtiene y una descripción amplia del requerimiento.
 De los organismos ante quienes se gestionan los requerimientos recién descritos, es
necesario guardar registro de un código de identificación, nombre, dirección y el

4|Página
Implementación de Base de Datos

nombre de la persona de contacto (la responsable de otorgar la licencia, permiso o


autorización respectiva), si se conoce.
 Para cada una de las presentaciones acordadas en un contrato se define los tipos
de entrada que se ofrecerá en venta, tales como VIP, preferencial, popular, etc., el
costo y la cantidad a ofrecer de cada tipo. Cada tipo de entrada tiene un código
único, un nombre y una descripción general, que se aplica para todos los
espectáculos en los que se ofrezca en venta ese tipo de entrada.

1.2 Reglas de negocio


 Cada representante debe tener una identificación no ambigua, nombre, dirección y
datos relevantes, como los artistas con quienes trabaja.
 Los representantes son personas naturales que representan a uno o más artistas.
 Cada artista solamente puede tener un representante.
 Los artistas pueden ser personas o grupos artísticos (compuesto por personas).
 Cada artista tiene como datos una identificación única (que puede ser un código, dado
que el nombre no siempre cumple el requisito de unicidad), su nombre y país de origen.
 De los artistas individuales es importante guardar registro de su sexo, nombres y
apellidos, dado que no siempre coinciden con el nombre artístico.
 De los grupos artísticos es importante guardar los datos de sus miembros y la labor que
desempeña cada uno de ellos.
 Cada artista individual solamente puede pertenecer a lo sumo a un grupo artístico.
 De los artistas que se contratan, ya sea individualmente o como grupo, es importante
además conocer la o las disciplinas artísticas que practican. Cada artista (individual o
grupo) puede practicar una o más disciplinas artísticas.
 De cada disciplina artística se debe mantener una identificación, nombre y un texto
amplio descriptivo.
 Los contratos que la empresa firma con los artistas deben tener una identificación única,
la fecha de la firma, el monto pactado que se pagará al artista; si el contrato incluye
alojamiento se especifica el hotel y la categoría de habitación a contratar, además del
detalle de las presentaciones pactadas. Es decir, en el contrato se establece si el artista
realizará una o más presentaciones, la fecha de cada una de ellas, y el local y ambiente
de éste que se empleará para ello.
 Es necesario además llevar correcto registro de los locales adecuados para las
presentaciones artísticas, tales como hoteles, centros de convenciones, restaurantes,
teatros, etc. Cada local debe tener una identificación única, nombre y tipo de local,
además del detalle de los ambientes con que cuenta. Cada ambiente debe tener un
nombre (que será único para cada local), y capacidad máxima.
 Es necesario guardar registro de los hoteles que se emplean o se puede emplear para
alojar a los artistas contratados. De cada hotel se deberá guardar un código de
identificación, categoría (cantidad de estrellas), nombre, dirección y el costo por día de
cada uno de los tipos de habitación con que cuenta.
 Para cada una de las presentaciones pactadas en un contrato la empresa debe gestionar
ante ciertas entidades locales uno o más permisos, autorizaciones o licencias, a las que
llamaremos requerimientos. Para cada presentación, entonces, se guarda un registro de
los requerimientos, con un número único por presentación, nombre del requerimiento

5|Página
Implementación de Base de Datos

(licencia, permiso, constancia de inspección, etc.), el organismo ante el cual se debe


gestionar, la fecha en que se obtiene y una descripción amplia del requerimiento.
 De los organismos ante quienes se gestionan los requerimientos recién descritos, es
necesario guardar registro de un código de identificación, nombre, dirección y el
nombre de la persona de contacto (la responsable de otorgar la licencia, permiso o
autorización respectiva).
 Para cada una de las presentaciones acordadas en un contrato se define los tipos de
entrada que se ofrecerá en venta, tales como VIP, preferencial, popular, etc., el costo y
la cantidad a ofrecer de cada tipo. Cada tipo de entrada tiene un código único, un
nombre y una descripción general, que se aplica para todos los espectáculos en los que
se ofrezca en venta ese tipo de entrada.
 En caso de que la presentación requiera alojamiento, se llevara un registro de hotel y
tipo de habitación por cada presentación.
 En el caso del artista individual (No incluye a los grupos artísticos), solo se registrará la
identificación única (que puede ser un código), su nombre y país de origen.

6|Página
Implementación de Base de Datos

1.3 Gráfico de dependencias funcionales

2. Modelos

7|Página
Implementación de Base de Datos

2.1 Modelo Conceptual

2.2 Modelo Lógico

8|Página
Implementación de Base de Datos

2.3 Diagrama de base de datos SQL SERVER 2012

9|Página
Implementación de Base de Datos

3. Análisis del modelo conceptual


Ventajas

 Las presentaciones se llevarán de acuerdo con un contrato establecido anteriormente


 La entidad Artista será utilizada para gestionar los grupos junto a la entidad Artista
Individual
 Para cada presentación se establecerán nuevos precios de entradas.
 Se podrán monitorear los organismos que brindan permisos de funcionamiento.

Desventajas

 En cada contrato solo se tomará en cuenta un hotel, eso quiere decir que por cada
ciudad donde se lleve a cabo una presentación se debe firmar un nuevo contrato
 No se puede ejecutar una presentación en un local con diferentes ambientes.
 Un artista no puede formar parte de dos grupos.
 Un grupo artístico debe permanecer en un solo hotel con una sola habitación
(Mayormente Suites)

4. Creación de base de datos en SQL SERVER 2012


A continuación, se detalla el script de creación de la base de datos “Promotora de
espectáculos”

USE [master]
GO
CREATE DATABASE [PromotoraEspectaculos] ON PRIMARY
( NAME = N'PromotoraEspectaculos_Data', FILENAME =
N'C:\ArchivosSQL\PromotoraEspectaculos.MDF' , SIZE = 22176KB , MAXSIZE = UNLIMITED,
FILEGROWTH = 10%)
LOG ON
( NAME = N'PromotoraEspectaculos_Log', FILENAME =
N'C:\ArchivosSQL\PromotoraEspectaculos.LDF' , SIZE = 14840KB , MAXSIZE = UNLIMITED,
FILEGROWTH = 10%)
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'PromotoraEspectaculos', @new_cmptlevel=110
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [PromotoraEspectaculos].[dbo].[sp_fulltext_database] @action = 'disable'
end
GO
ALTER DATABASE [PromotoraEspectaculos] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET ANSI_NULLS OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET ANSI_PADDING OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET ANSI_WARNINGS OFF
GO

10 | P á g i n a
Implementación de Base de Datos

ALTER DATABASE [PromotoraEspectaculos] SET ARITHABORT OFF


GO
ALTER DATABASE [PromotoraEspectaculos] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [PromotoraEspectaculos] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [PromotoraEspectaculos] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [PromotoraEspectaculos] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET ENABLE_BROKER
GO
ALTER DATABASE [PromotoraEspectaculos] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [PromotoraEspectaculos] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [PromotoraEspectaculos] SET READ_WRITE
GO
ALTER DATABASE [PromotoraEspectaculos] SET RECOVERY FULL
GO
ALTER DATABASE [PromotoraEspectaculos] SET MULTI_USER
GO
ALTER DATABASE [PromotoraEspectaculos] SET PAGE_VERIFY TORN_PAGE_DETECTION
GO
ALTER DATABASE [PromotoraEspectaculos] SET DB_CHAINING OFF

--------------------------------CREACION DE TABLAS ------------------------------


use [PromotoraEspectaculos]
go

drop table Disciplina


go
drop table ArtistaIndividual
go

11 | P á g i n a
Implementación de Base de Datos

drop table Precio_Entrada


go
drop table Entrada
go
drop table Organismo
go
drop table Requerimiento
go
drop table Presentacion
go
drop table Habitacion
go
drop table Contrato
go
drop table Ambiente
go
drop table Hotel
go
drop table [Local]
go
drop table Artista
go
drop table Representante
go

create table Disciplina


(co_disciplina integer primary key not null,
no_disciplina varchar(30),
tx_descripcion_disciplina varchar(200))
go

create table Representante


(co_representante integer primary key not null,
no_representante varchar(50),
tx_direccion_representante varchar(100))
go

create table Artista


(co_artista integer primary key not null,
no_artista varchar(50),
no_pais_artista varchar(20),
co_representante integer references Representante(co_representante),
co_disciplina integer references Disciplina(co_disciplina))
go

create table ArtistaIndividual


(no_artista_individual varchar(50) not null,
ap_artista_individual varchar(50) not null ,
fi_sexo_artista_individual char(1) not null,
no_labor_artista_individual varchar(30),
co_artista integer references Artista(co_artista))

12 | P á g i n a
Implementación de Base de Datos

go

alter table ArtistaIndividual add constraint PK_ARTISTA_INDIVIDUAL primary key


(no_artista_individual, ap_artista_individual)
go

create table Contrato


(co_contrato integer primary key not null,
fe_contrato date,
ss_pago_contrato decimal(5,2),
co_artista integer references Artista(co_artista))
go

create table [Local]


(co_local integer not null primary key,
no_local varchar(50),
no_tipo_local varchar(10))
go

create table Ambiente


(co_ambiente integer not null primary key,
co_local integer not null references [Local](co_local),
no_ambiente varchar(30) not null,
qt_aforo integer not null)
go

create table Hotel


(co_hotel integer primary key not null,
no_hotel varchar(30),
tx_direccion_hotel varchar(100),
qt_estrellas integer not null
)
go

create table Habitacion


(co_tipo_habitacion integer primary key not null,
co_hotel integer references Hotel(co_hotel),
no_tipo_habitacion varchar(20),
ss_dia_tipo_habitacion decimal(5,2))
go

create table Presentacion


(co_presentacion integer primary key not null,
fe_presentacion date not null,
co_contrato integer references Contrato(co_contrato),
co_local integer not null references [Local](co_local),
co_ambiente integer not null references Ambiente(co_ambiente),
co_tipo_habitacion integer references Habitacion(co_tipo_habitacion),
co_hotel integer not null references Hotel(co_hotel))
go

create table Entrada

13 | P á g i n a
Implementación de Base de Datos

(co_entrada integer not null primary key,


no_entrada varchar(30),
tx_entrada varchar(150))
go

create table Precio_Entrada


(co_entrada integer not null references Entrada(co_entrada),
co_presentacion integer not null references Presentacion(co_presentacion),
ss_entrada decimal(5,2),
qt_entradas integer not null)

alter table Precio_Entrada add constraint PK_PRECIO primary key (co_entrada, co_presentacion)
go

create table Organismo


(co_organismo integer primary key,
no_organismo varchar(50),
tx_direccion_organismo varchar(100),
no_contacto_organismo varchar(50))
go

create table Requerimiento


(co_requerimiento integer not null primary key,
co_presentacion integer references Presentacion(co_presentacion),
no_requerimiento varchar(50),
fe_obtencion date,
tx_descripcion_requerimiento varchar(70),
co_organismo integer references Organismo(co_organismo)
)
go

5. Cargar las tablas de las bases de datos creada

insert into Representante values (1,'Juan Jose Mariategui Rivas', 'Av. Javier Prado Este 2050, San
Borja 15036')
insert into Representante values (2,'Yanet Anabel Gant Peredo', 'Av. Brasil 702, Breña 15083')
insert into Representante values (3,'Mario Antonio Ariaga Ramos', 'Av. de la Marina 2000, San
Miguel 15088')
go

insert into Disciplina values (1,'Canto','Ocupa un lugar importante dentro de la música, porque
es el único medio musical que puede integrar texto a la línea musical')
insert into Disciplina values (2,'Danza','Sucesión de movimientos que se ejecutan adaptados a un
tipo concreto de música, especialmente clásica o folclórica, y con unas características
distintivas')
insert into Disciplina values (3,'Interpretación Musical','Arte de ejecutar en un instrumento
obras musicales de compositores de distintos períodos y estilos, conjugando el conocimiento del
lenguaje musical')

14 | P á g i n a
Implementación de Base de Datos

insert into Disciplina values (4,'Comicidad','Manera de enjuiciar las situaciones con cierto
distanciamiento ingenioso, burlón o, en apariencia, ligero y, aunque muy próximo a la
comicidad, no es exactamente lo mismo')
insert into Disciplina values (5,'Poesia','Género literario que se caracteriza por ser la más
depurada manifestación, por medio de la palabra, de los sentimientos, emociones y reflexiones
que puede expresar el ser humano')
go

insert into Organismo values (1,'Municipalidad de Lima','Jirón de la Unión 300, Cercado de Lima
15001','Jose Carrion Mongrovejo')
insert into Organismo values (2,'Defensa Civil','Jr. Pedro Luis Gallo (antes Teatro), 170, Callao
07021','Martha Jit Kanashiro')
insert into Organismo values (3,'Onagi','Calle Gral. Borgoño 1156, Miraflores 15074','Carlos del
Monte Chavez')
go

insert into Entrada values (1,'VIP','Entrada Vip')


insert into Entrada values (2,'Preferencial','Entrada Preferencial')
insert into Entrada values (3,'Popular','Entrada Popular')
insert into Entrada values (4,'Platinum','Entrada Platinum')
go

insert into Artista values (1,'Libido','Perú',1,1)


insert into Artista values (2,'Jose Martin','Argentina',3,2)
go

insert into ArtistaIndividual values ('Salim Omar','Vera Martillar','M','Vocalista',1)


insert into ArtistaIndividual values ('Manuel','Hidalgo Tarazona','M','Guitarrista',1)
insert into ArtistaIndividual values ('JuanPablo','Del Aguila','M','Bateria',1)
insert into ArtistaIndividual values ('Hugo','Ortiz','M','Bajo',1)
insert into ArtistaIndividual values ('Luis','Bezanquen','M','Bajo',1)
insert into ArtistaIndividual values ('Jose Carlos','Tello Perez', 'M', 'Bailarin',2)
go

insert into Hotel values (1,'Tierra Viva','Calle Bolivar 176 - 180, Miraflores, Lima18 Lima, Perú',4)
insert into Hotel values (2,'Atton','Av. Jorge Basadre 595 San Isidro, San Isidro, Lima, Perú',5)
insert into Hotel values (3,'Lima House','Avenida España 264, LIMA 51 Lima, Perú',3)
insert into Hotel values (4,'Miraflores Guest House','Calle Colón 390, miraflores, Miraflores,
LIMA 18 Lima, Perú ',4)
insert into Hotel values (5,'Best Western Plus','Av. Larco 1251-1253 Miraflores , Miraflores, 18
Lima, Perú',4)
go

insert into Contrato values (1,'17-07-18 12:06:00',25.500,1)


insert into Contrato values (2,'15-06-17 12:06:00',22.500,1)
insert into Contrato values (3,'01-01-16 12:06:00',22.000,1)
insert into Contrato values (4,'05-02-16 12:06:00',20.500,1)
insert into Contrato values (5,'22-10-16 12:06:00',15.000,1)
insert into Contrato values (6,'10-04-15 12:06:00',14.500,1)
insert into Contrato values (7,'12-08-14 12:06:00',12.500,1)
go

15 | P á g i n a
Implementación de Base de Datos

insert into Habitacion values (1,1,'Individual',80.00)


insert into Habitacion values (2,1,'Doble',150.00)
insert into Habitacion values (3,1,'Matrimonial',350.00)
insert into Habitacion values (4,1,'Suite',800.00)
insert into Habitacion values (5,2,'Individual',75.00)
insert into Habitacion values (6,2,'Doble',120.00)
insert into Habitacion values (7,2,'Matrimonial',300.00)
insert into Habitacion values (8,2,'Suite',650.00)
insert into Habitacion values (9,3,'Individual',55.00)
insert into Habitacion values (10,3,'Doble',115.00)
insert into Habitacion values (11,3,'Matrimonial',380.00)
insert into Habitacion values (12,3,'Suite',500.00)
insert into Habitacion values (13,1,'Individual',80.00)
insert into Habitacion values (14,1,'Doble',150.00)
insert into Habitacion values (15,1,'Matrimonial',350.00)
insert into Habitacion values (16,1,'Suite',800.00)
insert into Habitacion values (17,1,'Individual',140.00)
insert into Habitacion values (18,1,'Doble',330.00)
insert into Habitacion values (19,1,'Matrimonial',700.00)
insert into Habitacion values (20,1,'Suite',999.00)
go

insert into [Local] values (1,'Sheraton','Hotel')


insert into [Local] values (2,'San Marcos','Estadio')
insert into [Local] values (3,'Jose Diaz','Estadio')
insert into [Local] values (4,'Noche de Barranco','Casona')
insert into [Local] values (5,'Maria Angola','Hotel')
go

insert into Ambiente values (1,3,'Occidente',10000)


insert into Ambiente values (2,3,'Oriente',10000)
insert into Ambiente values (3,3,'Sur',5000)
insert into Ambiente values (4,3,'Norte',5000)
insert into Ambiente values (5,3,'Occidente',7000)
insert into Ambiente values (6,3,'Oriente',7000)
insert into Ambiente values (7,3,'Sur',3000)
insert into Ambiente values (8,3,'Norte',3000)
insert into Ambiente values (9,1,'Auditorio',4000)
insert into Ambiente values (10,1,'Sala de Musica',4000)
insert into Ambiente values (11,5,'Sala de Musica',8000)
insert into Ambiente values (12,5,'Auditorio',8000)
insert into Ambiente values (13,4,'Sala de Musica',2000)
go

insert into Presentacion values (1,'12-12-14 12:06:00',7,4,13,12,3)


insert into Presentacion values (2,'10-12-14 12:06:00',7,2,1,12,3)
insert into Presentacion values (3,'20-01-15 12:06:00',6,3,2,12,3)
insert into Presentacion values (4,'22-01-15 12:06:00',6,1,9,12,3)
insert into Presentacion values (5,'03-02-15 12:06:00',6,1,10,12,3)
insert into Presentacion values (6,'30-10-16 12:06:00',5,4,13,12,3)
insert into Presentacion values (7,'10-02-16 12:06:00',3,4,13,12,3)
insert into Presentacion values (8,'02-01-17 12:06:00',2,3,5,12,3)

16 | P á g i n a
Implementación de Base de Datos

insert into Presentacion values (9,'20-07-17 12:06:00',2,2,13,12,3)


insert into Presentacion values (10,'20-07-18 12:06:00',1,2,13,12,3)
insert into Presentacion values (11,'27-07-18 12:06:00',1,4,13,12,3)
go

insert into Precio_Entrada values (1,1,450.00,250)


insert into Precio_Entrada values (2,1,300.00,500)
insert into Precio_Entrada values (3,1,110.00,1100)
insert into Precio_Entrada values (4,1,380.00,150)
insert into Precio_Entrada values (1,3,300.00,1000)
insert into Precio_Entrada values (2,3,150.00,2500)
insert into Precio_Entrada values (3,3,70.00,6500)
insert into Precio_Entrada values (1,4,500.00,100)
insert into Precio_Entrada values (4,4,400.00,250)
insert into Precio_Entrada values (3,4,150.00,3650)
insert into Precio_Entrada values (1,5,500.00,300)
insert into Precio_Entrada values (4,5,400.00,700)
insert into Precio_Entrada values (3,5,150.00,3000)
insert into Precio_Entrada values (1,6,450.00,150)
insert into Precio_Entrada values (2,6,300.00,200)
insert into Precio_Entrada values (3,6,110.00,1450)
insert into Precio_Entrada values (4,6,380.00,200)
insert into Precio_Entrada values (1,7,300.00,150)
insert into Precio_Entrada values (2,7,200.00,200)
insert into Precio_Entrada values (3,7,85.00,1450)
insert into Precio_Entrada values (4,7,270.00,200)
go

insert into Requerimiento values (1,1,'Permiso Municipal','01-12-14 12:06:00','Licencia


municipal para tocar Res 475-2014',1)
insert into Requerimiento values (2,1,'Permiso Defensa Civil','01-12-14 01:06:00','Permiso y
supervision de las condiciones del local',2)
go

6. Trabajo Individual
6.1 Trabajo Individual – Juan Verde
6.1.1 Consultas
/*Obtener nombres de Organismo(s) que brindaron licencia de funcionamiento en el año 2016
*/
select o.no_organismo from Presentacion p
inner join Requerimiento r
on r.co_presentacion = p.co_presentacion
inner join Organismo o
on o.co_organismo = r.co_organismo
where year(r.fe_obtencion) = '2016'

/*Obtener los todas las presentaciones que se hayan llevado en el año 2015 y que el local sea
una casona */
select p.co_presentacion as 'Codigo de Presentacion', CONVERT(date,p.fe_presentacion) as
'Fecha de Presentacion', at.no_artista as 'Nombre de Artista' from Presentacion p

17 | P á g i n a
Implementación de Base de Datos

inner join Ambiente a


on a.co_ambiente = p.co_ambiente
inner join [Local] l
on a.co_local = p.co_local
inner join Contrato c
on c.co_contrato = p.co_contrato
inner join Artista at
on at.co_artista = c.co_artista
where YEAR(p.fe_presentacion) = '2015'
and l.no_tipo_local like '%Casona%'

6.1.2 Procedimientos Almacenados

/*Procedimiento almacenado que consulta a los integrantes de un grupo por nombre y apellido.
Muestra el codigo, nombre, apellidos y labor del artista*/

create procedure sp_consultar_artista_grupo


@NombreArtista varchar(50),
@ApellidoArtista varchar(50)
as
set nocount on;
select
a.co_artista,ai.no_artista_individual,ai.ap_artista_individual,ai.no_labor_artista_individual from
Artista a
inner join ArtistaIndividual ai
on ai.co_artista = a.co_artista
where ai.no_artista_individual = @NombreArtista
and ai.ap_artista_individual = @ApellidoArtista;
go

--Ejecutar el procedimiento
exec sp_consultar_artista_grupo 'Jose Carlos','Tello Perez'

/*Procedimiento almacenado que registra nuevas disciplinas*/


create procedure sp_insertar_disciplina
@NombreDisciplina varchar(50),
@Descripcion varchar(50)
as
declare @nuevoCodigo integer=0;
set nocount on;
select @nuevoCodigo = (MAX(d.co_disciplina) +1) from Disciplina d;
insert into Disciplina values(@nuevoCodigo,@NombreDisciplina,@Descripcion);
go

--Ejecutar el procedimiento
exec sp_insertar_disciplina 'Arte digital','Proceso previo de configuración mental,
"prefiguración"'

6.1.3 Trigger
/*Trigger que guardara una tabla historica de la tabla organismo*/

18 | P á g i n a
Implementación de Base de Datos

create table Organismo_Historico


(co_organismo_historico integer identity primary key not null,
co_organismo integer,
fecha_actual date)
go

create trigger trg_organismo


on Organismo
after insert
as
begin
insert into Organismo_Historico values ((select co_organismo from inserted),GETDATE())
end
--Insertamos data para probar el procedimiento almacenado
insert into Organismo values (4,'Museos de Lima','-','Javier Kantt Peralta')
--Verificamos que se haya insertado la informacion historica
select * from Organismo_Historico

6.1.4 Comandos DDL

--AGREGAMOS UN CAMPO A UNA TABLA X


ALTER TABLE ARTISTA ADD FECHA_NACIMIENTO DATE;
--ELIMINAMOS UNA TABLA
DROP TABLE ArtistaIndividual;
6.1.5 Comandos DCL

CREATE ROLE USUARIO_ADMIN


--DAMOS PERMISOS AL PERFIL CREADO DE CONSULTA Y ACTUALIZACION SOBRE LA TABLA
ARTISTA
GRANT SELECT,UPDATE ON Artista to USUARIO_ADMIN
GO
--DENEGAMOS EL PERMISO DE ELIMINACION AL ROL MENCIONADO SOBRE LA TABLA ARTISTA
DENY DELETE ON Artista to USUARIO_ADMIN
GO

6.2 Trabajo Individual – Eduardo Pino


6.2.1 Consultas SQL
6.2.2 Procedimientos Almacenados
6.2.3 Trigger
6.2.4 Comandos DDL
6.2.5 Comandos DCL

7. Plan de ejecución estimado


Query Nº 1 : En este primer caso, se puede visualizar que la consulta está optimizada. Por lo que
el costo en recursos al comparar datos es mínimo, solo se utilizan los recursos del motor de bd
para comparar las claves primarias o índices.

19 | P á g i n a
Implementación de Base de Datos

Query Nº 2: Para el presente caso se puede visualizar que el motor de base de datos usa mas
recursos al comparar y buscar los índices en las tablas. Para el caso de los Join’s el uso es
mínimo, dado que solo se comparan los índices mencionados.

20 | P á g i n a
Implementación de Base de Datos

8. Investigación
8.1 Describa como los siguientes DBMS utilizan el concepto de Self
Management en Base de Datos. Dar la referencia bibliográfica que utilizó
a) MS SQL Server

Este DBMS posee las siguientes características al utilizar el Self Management:

 Servidor vigila y monitorea el estado de los servicios, así como también el estado de las
BDs.
 Optimizador de Query. Resuelve de manera automática qué columnas requieren de un
ajuste con el fin de optimizarlas.
 Conectividad. Es un sistema el cual se asegura que la configuración de la BD sea la
adecuada con el fin de poder conectarse.
 Almacenamiento. Monitorea constantemente el espacio en disco con el fin de optimizar
su uso, generando de forma automática archivos, por ejemplo.

b) IBM DB2

Este DBMS posee las siguientes características al utilizar el Self Management:

 Optimizador de querys. Determina la mejor manera de ejecución de un query, utilizando


reglas propias y reduciendo los costos.
 Configuración guiada. El DBMS posee un sistema que configura de forma automática la
memoria y la data temporal, por ejemplo.
 Sistema de Reorganización. IBM cuenta con un sistema capaz de reorganizar índices de
las BDs.
 Paralelismo de los querys. Es un sistema en el cual el DBMS determina de forma efectiva
el grado de paralelismo en el uso de un query
 Agente de querys. Es un sistema que se encarga de vigilar, analizar, priorizar y ordenar la
ejecución de los querys.

21 | P á g i n a
Implementación de Base de Datos

c) ORACLE

Este DBMS posee las siguientes características al utilizar el Self Management:

 Sintonizador automático (Automatic SQL Tuner - AST): Realiza análisis relacionados


a la optimización de querys, análisis de perfiles, análisis de accesos.
 Gestor de almacenamiento (Automatic Storage Manager - ASM): Gestiona el
almacenamiento de archivos de data, control y lógicos.
 Repositorio automático (Automatic Workload Repository - AWR): Recopila
estadísticos de desempeño cada media hora y los guarda por 7 días con el fin de
usar esa información para reducir los costos de los querys.
 Diagnóstico automático de monitoreo (Automatic Database Diagnostic Monitor -
ADDM) Analiza data en la AWR e identifica posibles cuellos de botella; así mismo, da
recomendaciones de solución ante posibles problemas; todo esto lo hace usando
algoritmos de inteligencia artificial. Es muy parecido al trabajo de un DBA.
 Gestor de sesiones históricas (Active Sessions History - ASH): Gestiona las sesiones
activas históricas; puede incluir eventos en espera.
 Generador de alertas (Server-Generated Alerts - SGA): Configura de manera
automática el sistema para que se generen alertas en cualquier momento de
ocurrido un incidente.
 Instalador Universal (Oracle Universal Installer - OUI): Prepara de forma automática
todas las tareas previas y post instalación, se hace un chequeo de las prioridades del
sistema para garantizar una óptima instalación

8.2 Realice un estudio de los DBMS NoSQL. Dar la referencia bibliográfica


que utilizo.
El término No SQL fue usado por primera vez en 1998 para mencionar una BD relacional que
omite el uso del SQL

Los DBMS NoSQL nacen con la aparición de la web 2.0 ya que hasta ese momento solo las
empresas que poseían una página web hacían publicaciones y colgaban información en sus
respectivos portales. Esto cambio con la llegada de las redes sociales, las cuáles provocaron
que cada persona se pueda convertir en un usuario que tenga la facilidad de subir
información al Internet; con esto, el crecimiento de la información y por ende los datos,
crecieron de manera vertiginosa.

Este escenario trae consigo que la cantidad de información sea cada vez más difícil de
manejar, por lo cual poco a poco se fue pensando en crear sistemas de información
puntuales que se encarguen de un uso específico. Estos sistemas nuevos fueron los que
conllevaron a la creación de los DBMS NoSQL, los cuales permiten gestionar y guardar
información en situaciones en las que los DBMS tradicionales ya no podían o tenían muchos
problemas, básicamente en el tema de escalabilidad y por el uso de sistema relacional, el
cual se venía abajo con la cantidad enorme de consultas diarias (millones de consultas) y
generaban lo que se llama un "cuello de botella".

Los DBMS No SQL son sistemas de almacenamiento que no cumplen con el esquema
relacional (entidad-relación), sino más bien con nuevos esquemas como, por ejemplo: clave-
valor, mapeo de columnas o grafos.

22 | P á g i n a
Implementación de Base de Datos

Las ventajas de trabajar con DBMS NoSQL son:

 Se ejecutan en máquinas con pocos recursos


 Escalabilidad asegurada
 No genera cuellos de botella
 Pueden manejar enorme cantidad de datos

8.3 Realice una comparación entre los DBMS No SQL vs DBMS SQL. Dar la
referencia bibliográfica que utilizo.
DBMS SQL:

Se maneja la teoría del ACID:

 Atomicity - Si una parte de la operación falla, todo falla.


 Consistency - Información es siempre consistente.
 Isolation - Transacciones ejecutadas al mismo tiempo no son afectadas unas con
otras.
 Durability - La información es guardada en la BD.

Para ser uso de la escalabilidad se necesita más procesadores, más memoria,


almacenamientos externos, etc.

 Soporta operaciones del tipo JOIN y ORDER BY.


 Utiliza SQL como lenguaje de consultas.
 Se utilizan tablas para el almacenamiento de datos.
 Arquitectura no distribuida.

DBMS NoSQL:

Se maneja la teoría del CAP: 

 Consistency.- En el momento que sea que la data haya sido actualizada,


cualquier usuario al consultar la BD podrá ver el cambio hecho.
 Availability.- Se espera siempre que cada operación está destinada a ser
respondida.
 Particion tolerance.- La BD puede ser modificada o consultada por partes.

Está configurado para atender situaciones de escalabilidad de manera ágil y sencilla.

 No soporta operaciones del tipo JOIN y ORDER BY.


 No utiliza SQL como lenguaje de consultas.
 No se utilizan estructuras fijas como tablas para el almacenamiento de la
información.
 Arquitectura distribuida.

8.4 Describa las nuevas características funciones de MS SQL Server 2017.


Dar la referencia bibliográfica que utilizo.
Referente al Motor de base de datos de SQL Server 2017:

23 | P á g i n a
Implementación de Base de Datos

 La recompilación de índices en línea reanudable reanuda una operación de


recompilación de índices en línea desde donde se detuvo después de un error o bien
pausa y reanuda más adelante una operación de recompilación de índices en línea.
 La opción IDENTITY_CACHE de ALTER DATABASE SCOPED CONFIGURATION permite
evitar lagunas en los valores de columnas e identidad si un servidor se reinicia
inesperadamente o realiza conmutación por error en un servidor secundario.
 El ajuste automático de bases de datos proporciona información de los posibles
problemas de rendimiento de las consultas, recomienda soluciones y puede corregir
automáticamente los problemas identificados.
 El programa de instalación ahora permite especificar el tamaño de archivo tempdb
inicial hasta 256 GB por archivo, con una advertencia si el tamaño del archivo es mayor
que 1 GB y si IFI no está habilitado.
 La sintaxis SELECT INTO T-SQL ahora admite la carga de una tabla en un grupo de
archivos distinto del grupo de archivos predeterminado del usuario mediante la palabra
clave ON.
 Ahora se admiten las transacciones entre bases de datos entre todas las bases de datos
que forman parte de un grupo de disponibilidad AlwaysOn, incluidas las bases de datos
que son parte de la misma instancia.
 Las nuevas funciones de cadena son CONCAT_WS, TRANSLATE y TRIM, y WITHIN GROUP
ahora es compatible con la función STRING_AGG.

Referente al SQL Server 2017 Integration Services (SSIS)

- Se ha creado la nueva característica Escalabilidad horizontal de SSIS.

- La nueva característica Escalabilidad horizontal de SSIS facilita en gran medida la ejecución de


SSIS en varias máquinas. Vea Integration Services Scale Out (Escalabilidad horizontal de
Integration Services).

- Ahora admite SQL Server en Linux y un paquete nuevo le permite ejecutar paquetes de SSIS en
Linux desde la línea de comandos.

Referente SQL Server 2017 Master Data Services (MDS)

- Ahora puede ver las listas ordenadas de entidades, colecciones y jerarquías en la página del
Explorador de la aplicación web.

- Se ha mejorado el rendimiento del almacenamiento provisional de millones de registros con el


procedimiento almacenado de almacenamiento provisional.

Referente al SQL Server 2017 Analysis Services (SSAS)

- Se mejoró la seguridad de nivel de objeto para proteger los metadatos de los modelos
tabulares. 

- Se mejoraron las relaciones de fecha para crear fácilmente relaciones basadas en los campos
de fecha.

- Una experiencia Get Data moderna para los modelos tabulares en el nivel de compatibilidad
1400. 

24 | P á g i n a
Implementación de Base de Datos

8.5 Describa que es un sistema experto y describa cada uno de sus


componentes. Dar la referencia bibliográfica que utilizo.
Un sistema experto es un sistema informático en el cual, mediante el uso de herramientas
lógicas, simula a los humanos expertos en la solución de problemas en un área de
especialización dada.

 Componentes:

 - Componente humana: Los expertos humanos suministran el conocimiento básico en el tema


de interés, y los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el
sistema experto pueda entender.

 - La base del conocimiento: Los especialistas son responsables de suministrar a los ingenieros
del conocimiento una base de conocimiento ordenada y estructurada, y un conjunto de
relaciones bien definidas y explicadas.

 - Medio para la adquisición de conocimiento: Vía automática para que el usuario introduzca
conocimientos en el sistema, sin tener al ingeniero del conocimiento para que codifique éste de
forma explícita.

 - Control de la Coherencia: Controla la consistencia de la base de datos y evita que unidades de


conocimiento inconsistentes entren en la misma.

 - Motor de inferencia: El cometido principal de esta componente es el de sacar conclusiones


aplicando el conocimiento a los datos. Hace inferencias al decidir cuáles reglas satisfacen los
hechos u objetos, da prioridad a las reglas satisfechas y ejecuta la regla con la prioridad más
elevada.

 - Interfaz de usuario: El mecanismo que permite la comunicación entre el usuario y el sistema


experto.

 - Ejecución de órdenes: Es la componente que permite al sistema experto iniciar acciones. Estas
acciones se basan en las conclusiones sacadas por el motor de inferencia.

 - Medio de explicación: Explica al usuario el razonamiento del sistema

 - Aprendizaje: Una de las principales características de un sistema experto es su capacidad para


aprender.

 - Memoria activa: Base de Datos global de los hechos usados por las reglas.

 - Agenda: Una lista de prioridades asignadas a las reglas creada por el mecanismo de inferencia,
cuyos patrones satisfacen los hecho u objetos de la memoria activa.

Bibliografía
 Self Management

25 | P á g i n a
Implementación de Base de Datos

https://www.researchgate.net/publication/220791105_Evaluation_Criteria_for_Self-
Management_in_DBMSs

http://www.dba-oracle.com/oracle_news/2004_1_14_10g_self_managing_database.htm

 DBMS NoSQL

https://www.acens.com/wp-content/images/2014/02/bbdd-nosql-wp-acens.pdf

http://www.christof-strauch.de/nosqldbs.pdf

 Comparación de DBMS NoSQL vs DBMS SQL

http://www.cse.yorku.ca/~jarek/courses/6421/F12/presentations/NoSQLDatabases.pdf

 Nuevas características funciones de MS SQL Server 2017.

https://docs.microsoft.com/es-es/sql/sql-server/what-s-new-in-sql-server-2017?view=sql-
server-2017

 Sistemas Expertos

Sistemas expertos principios y programación, Giarratano, Joseph; Riley, Gary, International


Thomson Editores. México. CR. 2001. 3a ed.

Sistemas Expertos y Modelos de Redes Probabilísticas. Enrique Castillo, José Manuel Gutiérrez, y
Ali S. Hadi

http://www.ehu.eus/ccwintco/uploads/4/4c/Sistemas_Expertos_y_Modelos_de_Redes_Probabi
l%C4%B1sticas.pdf

26 | P á g i n a

También podría gustarte