You are on page 1of 17

ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO

SEMESTRE ABRIL 2017 – AGOSTO 2017

INFORME DEL PROYECTO FINAL

IDENTIFICACION
Facultad: Informática y Electrónica

Carrera: Ingeniería En Electrónica, Telecomunicaciones Y Redes

Materia: Base de Datos

Semestre: Cuarto

Docente: Ing. Blanca Hidalgo

Integrantes: Karina Tamayo.

Fecha: 26-07-17

Revisado
Calificación
1. Índice general

2. Tema: Construcción De Una Aplicación Para Llevar Los Datos De Una


Empresa Que Brinda Servicios De Red. ............................................................................... 3
3. Introducción ........................................................................................................................ 3
4. Objetivos .............................................................................................................................. 4
5. Información de la empresa o situación que vamos a resolver ....................... 4
6. Ámbito de la empresa ..................................................................................................... 5
7. Descripción del problema o de la situación actual. ............................................. 5
8. Diagrama entidad relación ............................................................................................ 7
9. Formatos que se llevan en la empresa. ................................................................... 8
10. Normalización(tablas normalizadas) ......................................................................... 8
11. Modelo entidad relación ................................................................................................. 9
12. Información de las tablas .............................................................................................. 9
13. Tablas relacionales. ....................................................................................................... 11
14. Procedimientos almacenados y triggers(con una breve descripción de lo
que hace cada uno) ................................................................................................................... 12
Procedures. ............................................................................................................................ 12
Triggers .................................................................................................................................... 13
15. Desarrollo de la propuesta(descripción de su programa con una breve
descripción de su funcionamiento, pantallas principales) .......................................... 14
16. Conclusiones ..................................................................................................................... 16
17. Recomendaciones ........................................................................................................... 16
18. Bibliografía ........................................................................................................................ 16
2. Tema: Construcción De Una Aplicación Para Llevar Los Datos De Una
Empresa Que Brinda Servicios De Red.
3. Introducción

La creación de una base de datos ayuda a mantener los datos


organizados sin que haya redundancia.

La misma hace posible la sincronización de los datos pudiendo así ver


los datos de manera correcta y oportuna.

Es muy útil porque permite realizar varias transacciones a la vez,


además de que varios usuarios pueden acceder a la misma si se
almacena en un servidor.

El lenguaje SQL nos ayuda a interpretar las relaciones entre un


conjunto de hechos mediante tres tipos de transacciones DDL, DML,
DCL.

DDL (instrucciones del lenguaje de definición de datos) permite crear


una estructura que almacenará los datos. También las sentencias DDL
nos ayudan a describir datos, modificar su estructura o borrarla. Usa
instrucciones como create, alter, drop.

DML (instrucciones del lenguaje de tratamiento de datos) se utiliza para


consultar y modificar datos contenidos en la base de datos del sistema
gestor de base de datos. Usa instrucciones como select, insert, update.

DCL (instrucciones del lenguaje de control de datos) establece o cambia


permisos. Usa instrucciones como grant, revoke, deny.

El gestor de gestión de base de datos se puede unir con un IDE para la


creación de aplicaciones. Uno de los beneficios de conectar la base de
datos a un IDE es que una vez que los datos se transforman a objetos
que pueden almacenar, manipular y combinar información, cualquier
modificación sobre los datos afectara directamente en los datos de la
base de datos.

Además brinda una interfaz de fácil acceso a la información para el


usuario. También permite que el administrador pueda restringir el
acceso de datos confidenciales para evitar la pérdida de información
ayudando a mantener la seguridad de los datos.
4. Objetivos
a. Objetivo general
 Aplicar lenguaje SQL en un IDE para generar la estructura
de base de datos que permita administrar una empresa de
redes.
b. Objetivos específicos
 Aplicar el lenguaje DDL de construcción que permita
generar la base de datos con sus respectivas restricciones.
 Utilizar triggers, procedures que simplifiquen las
transacciones dentro de la empresa.
 Aplicar lenguaje de consulta.
 Generar vistas para el usuario.
5. Información de la empresa o situación que vamos a resolver

La empresa de redes es una pequeña empresa que a medida que crece


necesita almacenar más información acerca de sus empleados y de los
clientes que requieren sus servicios.

Dentro de la empresa se tiene un nivel jerárquico de administración.

La empresa cuenta con empleados encargados de dar información


pertinente, los cuales indispensablemente requieren tener acceso a los
datos actualizados de los nuevos servicios que se implementen, los
precios de cada servicio, etc.

Cada mes la empresa hace un inventario de materiales y dispositivos


para abastecerse en caso de que le haga falta.

Además esta empresa necesita llevar registros de los trabajos


realizados a cargo de un grupo específico.

Para brindar un servicio es necesaria cierta información del cliente,


puesto que es un trabajo a realizarse en un determinado lugar
preestablecido por el cliente.

Toda esta información podría llevarse de manera ordenada y adecuarse


para la necesidad de cada uno de los usuarios de la base de datos.
6. Ámbito de la empresa

La empresa de redes trabaja a nivel local dentro de la ciudad de


Riobamba.

La empresa se rige bajo los estándares de la Agencia de Regulación y


Control de las Telecomunicaciones.

Existen factores económicos que impiden el adecuado crecimiento de


la empresa como es el elevado costo de los dispositivos.

7. Descripción del problema o de la situación actual.

Una empresa que brinda servicios de red quiere analizar su


desempeño.

Dentro de la empresa se encuentran varios empleados, de los que se


conoce código del empleado, ID y fecha de ingreso.

Cada empleado tiene un cargo y un cargo puede ser desempeñado


por varios empleados.

De cada cargo se conoce el código, nombre del cargo y descripción.

Los empleados son organizados en equipos.

Un empleado es parte de diferentes equipos y en un equipo están


muchos empleados.

De cada equipo se conoce código, descripción, nombre del equipo.

Se sabe la fecha en la que los empleados forman dicho equipo.

Los clientes pueden ser atendidos por un equipo y varios equipos


atienden a un cliente.

De los clientes se registra número de cédula, teléfono, nombre,


apellido, e-mail, número de teléfono.

Para laborar se utiliza diferentes dispositivos (switch, router, modem,


etc.)

Los dispositivos son configurados en varios domicilios y en un


domicilio se configura muchos dispositivos.
De los dispositivos se conoce número que lo identifica, precio y
marca.

Para cada domicilio se conoce el código, dirección y referencia.

La relación de configurar diferentes dispositivos en un domicilio


constituye un servicio que se identifica por un código, nombre, costo
y descripción.

Varios equipos prestan sus servicios y un servicio es prestado por


muchos equipos.

De esta relación se conoce la fecha en la que se brinda un servicio.


8. Diagrama entidad relación
9. Formatos que se llevan en la empresa.

No existe un formato en específico al ser una empresa creada


ficticiamente.

10. Normalización(tablas normalizadas)

TABLAS DEL MODELO RELACIONAL.

Empleado (Codigo_E, ID, fecha de ingreso, Codigo_Carg)

Cargo (Codigo_Carg, Nombre, Descripción)

Empleado_Equipo (Codigo_E, Codigo_eq, Fecha_)

Equipo (Codigo_Eq, Descripción, Nombre)

Cliente (ID, teléfono, nombre_cli, Apellidos, E-mail)

Equipo_Cliente (ID, código_eq)

Domicilio (código_d, dirección, referencia)

Dispositivos (numero, precio, marca)

Domicilio_Dispositivos (Código, número)

Servicios (código_S, nombre, costo, descripción, número, código_D)

Equipos_servicios (Codigo_eq, códigos, Fecha)


11. Modelo entidad relación

12. Información de las tablas

Se crearán 11 tablas normalizadas con su respectiva o respectivas


primary key y foreign key.

Dentro de la tablas principales como es la tabla empleado es


indispensable un ID de tipo varchar puesto que existen cédulas que
inician con cero a la izquierda y el tipo int no permite ingresar este
primer digito.

La tabla cliente tiene cuatro campos: codigoE,ID_E,codcarg y feingre,


en donde la fecha de ingreso está restringida, no acepta fechas antes
de la fecha de la creación de la empresa.

Su clave primaria es codigoE.

La tabla cargo tiene tres campos que son: codigoc,


nombcar,descripción. Su clave primaria es codigoc.

La tabla empleado_equipo tiene dos campos ambos clave primaria y


estos son: codigoEm,codigoeq, y un campo adicional que indica la fecha
en la que se formó el equipo.

La tabla equipo contiene la información de los diferentes equipos con


su descripción, nombre y código.

Sus campos son: codigoeq,nombeq,descripcioneq con código como


clave primaria.

La tabla equipo_cliente contiene información de la relación equipo


cliente y tiene los siguientes campos codigoeq,ID_Cli.

La tabla dispositivos está formada por tres campos numdisp que lo


identifica, precio y marca.

La tabla domicilio lleva la información del domicilio del cliente.

Sus campos son:codigod,dirección,referencia.

La tabla dispositivo_domicilio contiene los campos numdispo y


codigodom ambas claves primarias y foráneas a la vez.

La tabla servicios nos brinda información como la descripción, nombre


y costo de los servicios establecidos en la empresa.

Sus campos son códigos,nombser,costo,descripcions,numdisp,codigod.

La tabla equipo_servicio es una tabla intermedia que registra la fecha


en la que se realizara un determinado servicio, y tiene los siguientes
campos: codigoser,codigoequ y fecha.
13. Tablas relacionales.
create table cargo
(codigoc int not null check (codigoc like '[0-9][0-9][0-9]'),
nombcar varchar(40),
descripcionc varchar(40),
primary key (codigoc))

create table empleado


(codigoE int not null check (codigoE like '[0-9][0-9][0-9]'),
ID_E varchar (10)
not null,
codcarg int check(codcarg like '[0-9][0-9][0-9]'),
feingre date check(feingre >='2015/05/14'),
primary key (codigoE),
constraint fk_ca foreign key (codcarg) references cargo(codigoc))

create table equipo


(codigoeq int,
nombeq varchar(15),
descripcioneq varchar(50),
constraint nomipo unique(nombeq),
primary key (codigoeq))

create table empleado_equipo


(codigoEm int not null,
codigoequ int not null,
fecha date,
constraint pk_Ee primary key(codigoEm,codigoequ),
constraint fk_ado foreign key(codigoEm) references empleado(codigoE),
constraint fk_kipo foreign key(codigoequ) references equipo(codigoeq))

create table cliente


(ID_C varchar (10),
telf int,
nombcl varchar(25),
apellidocl varchar(50),
email varchar(50),
primary key (ID_C))

create table equipo_cliente


(codigoequ int not null,
ID_Cli varchar (10) not null,
constraint pk_ecl primary key (codigoequ,ID_Cli),
constraint fk_ipo foreign key(codigoequ) references equipo(codigoeq),
constraint fk_ente foreign key(ID_Cli) references cliente(ID_C))

create table dispositivos


(numdisp int check(numdisp like '[0-9][0-9][0-9]'),
precio money check(precio>0),
marca char(40),
primary key (numdisp))

create table domicilio


(codigod int not null,
direccion varchar(50),
referencia varchar(50),
primary key (codigod))
14. Procedimientos almacenados y triggers(con una breve descripción
de lo que hace cada uno)

Procedures.
Procedimiento que permite ingresar los datos en la tabla cargos.

create procedure put_cargos


@codigoc int,@nombcar varchar(40),@descripcionc varchar(40)
as
begin
insert into cargo(codigoc,nombcar,descripcionc)
Values (@codigoc,@nombcar,@descripcionc)
end

execute put_cargos 340,'Limpieza','aseo';

select* from cargo

Procedimiento que permite ingresar un precio y que automáticamente


se incremente el IVA.

create procedure dbo.iva


@precio money
as
begin
update dispositivos
set precio=(0.12*@precio)+@precio
where @precio=precio
end

execute dbo.iva 80;


select * from dispositivos

Procedimiento que recibe como valor de entrada el nombre del servicio y


nos devuelve el número de veces que prestamos el mismo.

create procedure pensal


@nombser varchar(50),@cant int output
as
begin
select @cant=count(*)
from servicio
where nombser=@nombser
end

declare @s int
exec pensal 'instalacion', @s output
select @s as cantidad;
Procedimiento el cual me devuelve en que equipo se encuentra
ingresando el código del empleado.

create procedure p_cods


@codigoEm int, @codigoequ int output
as
begin
select @codigoequ=codigoequ
from empleado_equipo
where codigoEm=@codigoEm
end

declare @s int
exec p_cods 234, @s output
select @s as esta_en;

Procedimiento que recibe como valor de entrada el nombre del cliente y


nos devuelve su número de teléfono.
create procedure ptlf
@nombcl varchar(25), @telf int output
as
begin
select @telf=telf
from cliente
where nombcl=@nombcl
end

declare @s int
exec ptlf 'Roberto',@s output
select @s as sunumero_es

Triggers

Después de borrar el número del dispositivo y código de domicilio


también elimina toda la fila en la tabla servicios donde se encuentren el
número de dispositivo y el código de domicilio antes borrados.
create trigger dbo.borrar on dispositivo_domicilio
after delete
as
declare @bor int
declare @rar int
select @bor=deleted.numdispo,
@rar=deleted.codigodom
from deleted;
delete from servicio
where numdisp=@bor
and codigod=@rar;

delete from dispositivo_domicilio


where numdispo=556
and codigodom=102
Coloca el código de equipo 10 en la tabla equipo cliente después de
insertar un ID en la tabla cliente.
create trigger poneralgo on cliente
for insert
as begin
declare @id varchar(10)
declare @telf int
declare @nobcl varchar
declare @apellidocl varchar
declare @email varchar
select @id=inserted.ID_C
from inserted;
update equipo_cliente
set codigoequ=10
where ID_Cli=@id
end
insert into cliente values ('c14',345671,'Tatiana','Guevara','tati@yahoo.es')
select * from cliente

15. Desarrollo de la propuesta(descripción de su programa con una


breve descripción de su funcionamiento, pantallas principales)

La aplicación para la empresa de redes es útil para que ingresen los


usuarios, el administrador y los empleados. Teniendo cada uno una
contraseña.

Ejecutado.
El administrador es el único que tiene el ingreso a todas las tablas de
la aplicación y es el encargado de modificar, borrar o actualizar los
datos.

El empleado al igual que los usuarios cada uno tiene acceso a una vista.

Código

El administrador puede consultar sus datos de dos formas al momento


de ingresar a una tabla.
El administrador puede insertar los datos, eliminarlos o actualizar la
información.

16. Conclusiones

El código Sql es una herramienta muy útil con la que podemos


segmentar los datos ahorrando tiempo y mejorando las transacciones
de cada usuario permitiendo actualizar, eliminar o modificar la
información.

En una empresa es indispensable tener un acercamiento a los clientes


para mantenerlos informados de temas que los interese es por eso que
crear una aplicación que incluya a los clientes es una ventaja sobre la
competencia.

17. Recomendaciones

Guardar un respaldo de la base de datos.

Declarar las variables de manera sencilla que permita algunas


modificaciones.

18. Bibliografía
http://www.academia.edu/7623232/Trucos_de_Sql_Server_Crear_un
_Stored_Procedure_Para_crear_un_Stored_podemos_utilizar_el_Enter
prise_Manager_o_el_Query_Analizer

http://www.tutorialesprogramacionya.com/sqlserverya/temarios/desc
ripcion.php?cod=122&punto=122&inicio

http://robertodiazg.blogspot.com/2014/03/sentencias-sql-ddl-dml-
dcl-y-tcl.html

You might also like