Está en la página 1de 14

ESCUELA POLITECNICA NACIONAL

FACULTAD DE INGENIERIA
ELECTRONICA Y ELECTRONICA

BASE DE DATOS

INTEGRANTES:

ALCOCER ANGEL

JARAMILLO JONATHAN

JARRIN PATRICIO

MIRANDA CESAR

SUAREZ RODRIGO
Tema: Implementación de una base de datos relacional para una Universidad

1. INTRODUCCIÓN

El manejo de grandes cantidades de información en el mundo moderno se ha


convertido en una necesidad cada vez mayor.
La fiabilidad de la información que bridan las bases de datos ha hecho de estas la
herramienta clave para gestionar sistemas que albergan y protegen todo un sistema de
datos que contienen información preciada para toda clase de negocios y empresas.
En el presente escrito se documentará la implementación de una de base de datos en el
programa Microsoft SQL Server Managment Studio, esto a partir del diseño de
diagramas entidad-relación y relacionales, tras acoplarlo a Software, la base de datos
implementada simulará el sistema de como trabaja un cine, es decir, implementar la
creación de clientes, películas y facturas.

1.1 Objetivos
-Diseñar una base de datos que contenga la información necesaria para
el correcto funcionamiento de un Cine.

-Construir el diagrama relacional identificando claramente las entidades y


como estas se relacionan entre sí.

-Manejar código sql de tal forma que se pueda implementar una base de
datos a través del manejo de las instrucciones que ofrece el software.

-Realizar un script que permita ver, actualizar, modificar y borrar


información dentro de la base de datos.

-Tener la capacidad de filtrar información por medio de instrucciones a


partir de la aplicación de condiciones a los atributos de cada entidad.
1.2 Marco teórico

Base de datos: herramienta para recopilar y organizar información. Las bases de


datos pueden almacenar información sobre personas, productos, pedidos u otras
cosas. Muchas bases de datos comienzan como una lista en una hoja de cálculo o en
un programa de procesamiento de texto. A medida que la lista aumenta su tamaño,
empiezan a aparecer redundancias e inconsistencias en los datos. Cada vez es más
difícil comprender los datos en forma de lista y los métodos de búsqueda o
extracción de subconjuntos de datos para revisión son limitados.

Entidad: cualquier clase de objeto o conjunto de elementos presentes o no, en un


contexto determinado dado por el sistema de información o las funciones y
procesos que se definen en un plan de automatización. Dicho de otra forma, las
entidades las constituyen las tablas de la base de datos que permiten el
almacenamiento de los ejemplares o registros del sistema, quedando recogidos
bajo la denominación o título de la tabla o entidad.

Atributos: características, rasgos y propiedades de una entidad, que toman como


valor una instancia particular. Es decir, los atributos de una tabla son en realidad
sus campos descriptivos, el predicado que permite definir lo que decimos de un
determinado sujeto.
Relación: Vínculo que permite definir una dependencia entre los conjuntos de dos
o más entidades. Esto es la relación entre la información contenida en los registros
de varias tablas.

Microsoft Access: Microsoft® SQL Server™ es un sistema de administración y


análisis de bases de datos relacionales de Microsoft para soluciones de comercio
electrónico, línea de negocio y almacenamiento de datos.

Vista: es una consulta que se presenta como una tabla (virtual) a partir de un conjunto de
tablas en una base de datos relacional.
Las vistas tienen la misma estructura que una tabla: filas y columnas. La única diferencia es
que sólo se almacena de ellas la definición, no los datos. Los datos que se recuperan mediante
una consulta a una vista se presentarán igual que los de una tabla.

Para crear una vista:


USE AdventureWorks2012 ;
GO
CREATE VIEW HumanResources.EmployeeHireDate
AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS p
ON e.BusinessEntityID = p.BusinessEntityID ;
GO
-- Query the view
SELECT FirstName, LastName, HireDate
FROM HumanResources.EmployeeHireDate
ORDER BY LastName;

Procedimiento Almacenado: es un grupo de una o varias instrucciones Transact-SQL o una


referencia a un método de Common Runtime Language (CLR) de Microsoft .NET
Framework . Los procedimientos se asemejan a las construcciones de otros lenguajes de
programación, porque pueden:

• Aceptar parámetros de entrada y devolver varios valores en forma de parámetros de


salida al programa que realiza la llamada.
• Contener instrucciones de programación que realicen operaciones en la base de
datos. Entre otras, pueden contener llamadas a otros procedimientos.
• Devolver un valor de estado a un programa que realiza una llamada para indicar si la
operación se ha realizado correctamente o se han producido errores, y el motivo de
estos.

Trigger: es una clase especial de procedimiento almacenado que se ejecuta automáticamente


cuando se produce un evento en el servidor de bases de datos.
SQL Server permite crear varios desencadenadores para una instrucción específica.
Según el tipo de evento que los desencadena se clasifican en:
-Desencadenadores DML
-Desencadenadores DDL
-Desencadenadores LOGON
Los desencadenadores DML se ejecutan cuando un usuario intenta modificar datos mediante
un evento de lenguaje de manipulación de datos (DML). Los eventos DML son instrucciones
INSERT, UPDATE o DELETE de una tabla o vista.
Los desencadenadores DDL se ejecutan en respuesta a una variedad de eventos de lenguaje
de definición de datos (DDL). Estos eventos corresponden principalmente a instrucciones
CREATE, ALTER y DROP de Transact-SQL, y a determinados procedimientos almacenados
del sistema que ejecutan operaciones de tipo DDL.
Los desencadenadores logon se activan en respuesta al evento LOGON que se genera cuando
se establece la sesión de un usuario.

Esta instrucción nos permite definir un trigger:

CREATE TRIGGER [NombreEsquema.]NombreTrigger


ON {tabla | vista } [,...n] ]
{FOR|AFTER|INSTEAD OF} {[INSERT][,][UPDATE][,][DELETE]}
AS sentencia_sql [;] [,...n ]
Transacción: Una transacción es una unidad única de trabajo. Si una transacción tiene éxito,
todas las modificaciones de los datos realizadas durante la transacción se confirman y se
convierten en una parte permanente de la base de datos. Si una transacción encuentra errores
y debe cancelarse o revertirse, se borran todas las modificaciones de los datos

DISEÑO
2.1 Identificación de relaciones y entidades

Entidad: Factura
En un cine es necesario tener facturas donde estén los clientes junto a sus gastos
realizados.
Entidad: Empleado
En un Cine, un empleado puede tener cierto cargo, pudiendo vender entradas al cine,
indicando los datos respectivos de este.
Entidad: Cargo
Un empleado puede tener un cargo realizando diferentes actividades dependiendo de este.
Entidad: Actividades
De acuerdo al cargo, un empleado podrá realizar diferentes actividades.
Entidad: Ticket
Un cine necesariamente necesita tickets, los cuales serán vendidos a los clientes indicando
la película que verán.
Entidad: FacturaTicket
En la Factura es necesario que se adjunte el numero de ticket siendo necesaria esta
entidad.
Entidad: Cliente
Un cine necesita clientes para poder funcionar.
Entidad: Asiento
Cada cliente al comprar su ticket podrá seleccionar un asiento desde donde observar la
película.
Entidad: Sala
Un Cine tiene salas donde se proyectará la película, pudiendo ser estas de diferente tipo.
Entidad: SalaPelicula
Al ofrecer el cine una película, se necesita asignar una sala donde se la proyectará.
Entidad: FacturaBar
Si un cliente desea comprar snacks, se creará una factura con la información respectiva de
acuerdo a los gastos.
Entidad: FacturaBarProducto
La factura tendrá los gastos y el identificador del producto respectivo.
Entidad: Producto
Un Cine necesita vender productos para que los clientes puedan comprarlos, y estos
tengan una mejor experiencia al observar la película.
Entidad: Clasificación
Las películas en un cine necesita una clasificación, de tal forma que sean designadas para
un grupo especifico de clientes.
Entidad: FormatoPelicula
Una película puede tener diferentes formatos, es decir, se tenga una mayor calidad de
video o audio, ofreciendo al cliente una mejor experiencia de acuerdo al capital que posea.
Entidad: Película
El objetivo de un Cine es proyectar películas, siendo esta la parte principal.
Entidad: Audio
El audio en un cine es importante ya que puede ser multi estéreo, mono estéreo o So
round.
Entidad: Formato
El formato abarca el tipo de audio y video combinados.
Entidad: Categoría
La categoría de una película depende de que trate está ya sea acción o aventura por
ejemplo.

Identificación de claves Primarias y foráneas

1.Entidad: Factura

Clave Primaria: Id_Factura, con este id podremos identificar la factura de la que deseemos
obtener información.

Claves Foráneas:

Id_Cliente, Id_Empleado: Debido a que en una factura necesitamos conocer cierta


información del cliente y del Empleado es necesario usar estas claves Foráneas.
2.Entidad: Empleado

Clave Primaria: Id_Empleado: un empleado podrá ser identificado con el id, es decir
podremos ver su información al buscar el id.

Claves Foráneas:

Id_Cargo: Para poder conocer el cargo de un empleado se usará esta clave para extraer
información acerca del cargo.

3.Entidad: Cargo

Clave Primaria:

Id_Cargo: Para poder conocer los cargos existentes en un Cine se usará esta base de datos.

4.Entidad: Actividades

Clave Primaria: Id_Actividad: Para conocer los cargos existentes en la base de datos se
usará este atributo como clave primaria.

Claves Foráneas:

Id_Cargo: A partir de un cargo podremos conocer la actividad o actividades que realizarán


quienes estén asignados a este cargo.

5.Entidad: FacturaTicket

Clave Primaria: Id_FacturaTicket: Esta clave permite identificar la el ticket comprado con su
factura correspondiente.

Clave Foránea:

Id_Factura, Id_Ticket: Con estas claves se podrá adquirir informacion adicional acerca de las
facturas y los tickets.

6.Entidad: Ticket

Clave Primaria: Id_Ticket: Con esta clave podremos identificar al ticket vendido al cliente.

Claves Foráneas:

Id_Pelicula: En el ticket se presenta la película deseada por el cliente.

7.Entidad: Cliente
Clave Primaria: Id_Cliente: Para identificar información acerca del cliente.

8.Entidad: Sala

Clave Principal: Id_Sala: Cada sala tiene su nombre o dirección, la cual va a indicar a cada
cliente a donde ir a ver la película pedida en la compra del ticket.

9.Entidad: Asiento

Clave Principal: Id_Asiento: Los asientos poseen una dirección cada uno, siendo el indicativo
al cliente para saber donde sentarse a ver la película, esto de acuerdo a la compra que realizó,
además se puede saber si esta o no ocupado.

Clave Foránea:

Id_Sala: Si un asiento esta libre en una sala, esta clave nos permitirá conocer si existe alguna
sala donde aun existan asientos libres.

10.Entidad: SalaPelicula

Clave Principal: Id_SalaPelicula: A cada sala le corresponderá una película.

Claves Foráneas:

Id_Pelicula, Id_Sala, Id_Ticket: El ticket adquirido por el cliente poseerá la sala en la que se
proyectará cierta película.

11.Entidad: FacturaBar

Clave Principal: Id_FacturaBar: Con esta clave se podrá conocer la informacion acerca de los
gastos realizados en el bar.

Clave Foránea:

Id_Cliente: En una factura de bar se necesita adquirir la informacion del cliente siendo
necesaria esta clave.

12.Entidad: FacturaBarProducto

Clave Principal: Id_FacturaBarProducto: Debido a que se necesita conocer los datos del
producto en una factura de bar se necesita esta clave como la principal.

Claves Foráneas:
Id_FacturaBar, Id_Producto: debido que necesitaremos conocer información acerca de la
factura de bar y de los productos, con estas id podremos acceder a esta información.

13.Entidad: Producto

Clave Principal: Id_Producto: Para adquirir información acerca de todos los productos se
usará esta clave.

14.Entidad: FormatoPelicula

Clave Principal: Id_FormatoPelicula: Al requerir la informacion acerca del formato de video y


audio de la película a proyectar, se usará esta clave.

Claves Foráneas:

Id_Formato, Id_Pelicula: Ya que la informacion acerca del formato y la película se encuentra


en otras entidades, se usarán estas claves para extraer información.

15.Entidad: Película

Clave Principal: Id_Pelicula: El identificador necesario para buscar una película, nos facilitará
adquirir esta información.

Claves Foráneas:

Id_Categoría, Id_Clasificación: debido que necesitaremos conocer información acerca de la


película o películas de acuerdo a su categoría o clasificación, con estas id podremos acceder a
esta información.

16.Entidad: Categoría

Clave Principal: Id_Categoría: Si se desea conocer la categoría especifica de una película se usará
esta clave.

17.Entidad: Audio

Clave Principal: Id_Audio: De acuerdo al código ingresado, se podrán conocer los audios
disponibles.

18.Entidad: Video

Clave Principal: Id_Video: El video variará de acuerdo a cada película, es decir, si es en 3D o


HD, pudiendo consultar esta información.
19.Entidad: Clasificación

Clave Principal: Id_Clasificacion: Esta clave permite conocer información acerca de la


clasificación de acuerdo al tipo ingresado.

20.Entidad: Formato

Clave Principal: Id_Formato: Este id permite conocer informacion acerca de la presentación


de la película.

Clave Foránea:

Id_Audio, Id_Video: Para obtener un mayor detalle del formato de la película respecto a audio
y video se usaran estas claves.

2. DESARROLLO

3.1 Implementación en SQL

Ejemplo de Creación de Vista:

CREATE VIEW vw_Actividades AS


SELECT * FROM tblActividades

GO
Esta vista nos permite ver las actividades que puede realizar un empleado.

Ejemplo de Creación de Procedimiento Almacenado:

create procedure sp_BuscarCliente


@nombrebuscar varchar(50)
as
begin
declare @val int
declare @out varchar(50)
select * from tblCliente
where nombreCliente like @nombrebuscar
or apellidoCliente like @nombrebuscar
or cedula like @nombrebuscar
--or Id_cliente=cast(@nombrebuscar as int)
set @val= @@rowcount

if @val >0
begin
set @out = 'Existen Campos '+cast(@val as varchar)
end
else
set @out = 'No Existen Campos'
print @out
end

exec sp_BuscarCliente 'Carlos'

Con este procedimiento almacenado podemos buscar Clientes.


3. CONCLUSIONES Y RECOMENDACIONES

4.1 Conclusiones
1._La correcta identificación de entidades, relaciones, claves principales y
foráneas facilita el diseño del diagrama entidad-relacion, pudiendo implementarla
fácilmente en sql.

2._SQL nos facilita la implementación de diagramas relación-entidad a partir de


la creación de tablas, en la cual se ingresan atributos junto a su tipo de dato,
además, permite ingresar datos a través de procedimientos controlando su
correcto funcionamiento con triggers y transacciones.

3._Se puede manejar la búsqueda de información a partir del uso de consultas,


las cuales a partir de condiciones que podemos aplicar, nos permite extraer
información deseada.

4.2 Recomendaciones

1._Se recomienda familiarizarse con el lenguaje sql debido a que permite al


usuario crear bases de datos, ingresar datos, crear tablas, modificando la base.

2._Se recomienda identificar relaciones y entidades para poder eliminar las que
sean innecesarias o agregarlas ya sea necesario para nuestra base de datos.

3._Se recomienda agregar solo consultas necesarias para una base de datos,
las cuales faciliten verificar la información necesaria.
4._Se recomienda colocar nombres que identifiquen tablas y vistas ya sea
colocando antes del nombre: tab, con o view respectivamente.

4. REFERENCIAS BIBLIOGRÁFICAS
-https://docs.microsoft.com/es-es/sql/t-sql/lesson-2-3-creating-views-and-stored-
procedures
-https://www.aulaclic.es/sqlserver/t_9_8.htm
-https://docs.microsoft.com/es-es/sql/relational-databases/stored-procedures/stored-
procedures-database-engine
-http://ccdoc-basesdedatos.blogspot.com/2013/02/modelo-entidad-relacion-er.html

5. ANEXOS