Proyecto Final
Enunciado:
Las empresas de telecomunicaciones mas grandes del país están teniendo un descontrol en los últimos tiempos debido que los servicios que están prestando como televisión, telefonía e Internet están saliendo defectuoso por el invierno que ha habido los últimos meses, por ende los clientes están cansados de pagar por un servicio que no están disfrutando y se están retirando de estas compañías.
Al ver esta problemática una empresa especializada en técnicos de estos servicios, decide crear un sistema en donde le podrá solucionar la incidencia a estas grandes compañías.
La base de datos va a tener las siguientes tablas:
Diagrama relacional:
En este archivo de excel esta el modelo entidad relación, Diagrama Relacional y el diccionario de datos
tablas creadas:
- compañía
- cliente
- tecnico
- Tipocobro;
- Sistema servicio tecnico
- ContactoDireccion
Comandos utilizados:
-Crear tablas a la base de datos:
tabla compania:
create table Compania(IdCompañía int not null primary key,Nit varchar(15) not null,Nombre Varchar(150) not null,Direccion varchar(150) not null,Telefono varchar(20) not null);
Create table Cliente(IdCliente
int not null primary key,Documento varchar(20) not null,Nombre Varchar(100) not null,Apellido Varchar(100) not null,Sexo boolean not null,Telefono varchar(20) not null,Estado boolean not null);
Create table tecnico(Idtecnico varchar(3) not null primary key,Nombre Varchar(50) Not null,Direccion varchar(50) not null,Telefono varchar(20) not null);
create table TipoCobro(TipoId varchar(3) NOT NULL PRIMARY KEY,PuntoAPunto Varchar(50) NOT NULL,ValoraPagar int(50) not null);
create table ContactoDireccion(IdCliente int,TipoId varchar(3) NOT NULL, Telefono Varchar(20) NOT NULL, Direccion Varchar(250) NOT NULL, IdBarrio Varchar(10) NOT NULL,
-> FOREIGN KEY (IdCliente) References Cliente (IdCliente) ON DELETE CASCADE ON UPDATE CASCADE,
-> FOREIGN KEY (TipoId) REFERENCES TipoCobro (TipoId) ON DELETE CASCADE ON UPDATE CASCADE);
create table
SistemaServicioTecnico
(IdCompañía int not null, IdCliente int, IdTecnico varchar(3) NOT NULL,
-> FOREIGN KEY (IdCompañÍa) References compania (IdCompañÍa) ON DELETE CASCADE ON UPDATE CASCADE,
-> FOREIGN KEY (IdCliente) References Cliente (IdCliente) ON DELETE CASCADE ON UPDATE CASCADE,
-> FOREIGN KEY (IdTecnico) References tecnico (IdTecnico) ON DELETE CASCADE ON UPDATE CASCADE);
tablas creadas:
- compañía
- cliente
- tecnico
- Tipocobro;
- Sistema servicio tecnico
- ContactoDireccion
Insertar Registros a las tablas:
tabla compania:
insert into compania(IdCompñía, Nit, Nombre, Direccion, Telefono) values (1001, '8909001-1', 'Teleperformance', 'Cra 39a poblado', '4440015');
insert into compania(IdCompañía, Nit, Nombre, Direccion, Telefono) values (1002, '8903001-2', 'emtelco', 'Cra 40 VillaHermosa', '4441112');
insert into compania(IdCompañía, Nit, Nombre, Direccion, Telefono) values (1003, '89030002-2', 'konecta', 'Cra 41 itagui', '390456');
insert into compania(IdCompañía, Nit, Nombre, Direccion, Telefono) values (1004, '8501234-5', 'oneLink', 'Cra 42 Robledo', '3907894');
insert into compania(IdCompañía, Nit, Nombre, Direccion, Telefono) values (1005, '85045678-9', 'JAGG', 'Cra 43 Niquia', '39089456');
insert into compania(IdCompañía, Nit, Nombre, Direccion, Telefono) values (1006, '3940878-2', 'Vtr', 'Cra 44 Envigado', '9874564');
insert into compania(IdCompañía, Nit, Nombre, Direccion, Telefono) values (1007, '1028038-5', 'Latam', 'Cra 45 Sabaneta', '6547893');
Tabla cliente:
Insert into cliente(IdCliente, Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (001, '71934078', 'Armando', 'Casas', 1, '315852963', 1);
Insert into cliente(IdCliente
, Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (002, '71935896', 'Armando', 'Puerta', 1, '313698521', 1);
Insert into cliente(IdCliente
, Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (003, '39405826', 'Laura', 'Villegas', 0, '8254014', 1);
Insert into cliente(IdCliente
, Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (004, '1028038096', 'Alejandro', 'Guevara', 1, '3146395342', 1);
Insert into cliente(IdCliente
, Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (005, '102503596', 'Hector', 'Giraldo', 1, '3116181148', 1);
Insert into cliente(IdCliente
, Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (006, '115289635', 'Leidy', 'Garcez', 0, '3116823164', 1);
Insert into cliente(IdCliente
, Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (007, '102803456', 'Juan David', 'Perez', 1, '3188551624', 0);
Insert into cliente(IdCliente
, Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (008, '102935645', 'Juan Pablo', 'Zuluaga', 1, '314785236', 1);
Insert into cliente(IdCliente, Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (009, '71358963', 'Juliana ', 'Montoya', 0, '31589634', 1);
Insert into cliente(IdCliente , Documento, Nombre, Apellido, Sexo, Telefono, Estado) Values (010, '102236548', 'Paula ', 'Garcia', 0, '32172589', 0);
Tabla tecnico:
Insert into tecnico(Idtecnico, Nombre, Direccion, Telefono) Values (101, 'Alejandro', 'Calle 1 Manrique', '3146395342');
Insert into tecnico(Idtecnico , Nombre, Direccion, Telefono) Values (104, 'Pablo Andres Perez', 'Calle 4 San lucas', '320741356');
Insert into tecnico (Idtecnico , Nombre, Direccion, Telefono) Values (105, 'Oliva Gonzalez', 'Calle 5 poblado', '317852369');
Insert into tecnico (Idtecnico , Nombre, Direccion, Telefono) Values (106, 'Juliana Gutierrez', 'Calle 6 Santo Domingo', '3127148258');
Insert into tecnico (Idtecnico , Nombre, Direccion, Telefono) Values (107, 'Juliana Gutierrez', 'Calle 7 Santo Lucia', '312745632');
Insert into tecnico (Idtecnico , Nombre, Direccion, Telefono) Values (108, 'Mariana Escobar', 'Calle 8 Santo Javier', '311456987');
Insert into tecnico
(Idtecnico
, Nombre, Direccion, Telefono) Values (109, 'Diana Mejia', 'Calle 9 Itagui', '3178965412');
Insert into tecnico (Idtecnico , Nombre, Direccion, Telefono) Values (110, 'Pedro Giraldo', 'Calle 10 Envigado', '319632584');
Tabla tipoCobro
Insert into tipoCobro
(TipoId, PuntoApunto, ValoraPagar) values (201, 'Medellin-Medellin', '15000');
Insert into tipoCobro (TipoId, PuntoApunto, ValoraPagar) values (202, 'Medellin-Niquia', '50000');
Insert into tipoCobro (TipoId, PuntoApunto, ValoraPagar) values (203, 'Medellin-Bello', '45000');
Insert into tipoCobro (TipoId, PuntoApunto, ValoraPagar) values (204, 'Medellin-Itagui', '38000');
Insert into tipoCobro
(TipoId, PuntoApunto, ValoraPagar) values (206, 'Medellin-Sabaneta', '42000');
Insert into tipoCobro (TipoId, PuntoApunto, ValoraPagar) values (207, 'Medellin-La Estrella', '60000');
Tabla contactodireccion
insert into contactodireccion(IdCliente
,TipoId, Telefono, Direccion, Idbarrio) values (5, '206', '3116181148', 'Medellin-Estrella', 'Estrella');
insert into contactodireccion(IdCliente
, TipoId, Telefono, Direccion, Idbarrio) values (6, '207', '3116823164', 'Medellin-Estrella', 'Estrella');
insert into contactodireccion(IdCliente , TipoId, Telefono, Direccion, Idbarrio) values (8, '202', '314785236', 'Medellin-Niquia', 'Niquia');
insert into contactodireccion(IdCliente , TipoId, Telefono, Direccion, Idbarrio) values (9, '201', '314785236', 'Medellin-Medellin', 'Medellin');
Tabla Sistema Servicio Tecnico:
insert into SistemaServicioTecnico(IdCompañía, IdCliente, IdTecnico) values (1005, 5, 110);
insert into SistemaServicioTecnico(IdCompañía, IdCliente, IdTecnico) values (1007, 4, 108);
insert into SistemaServicioTecnico(IdCompañía, IdCliente, IdTecnico) values (1003, 3, 107);
insert into SistemaServicioTecnico(IdCompañía, IdCliente, IdTecnico) values (1004, 9, 109);
procedimientos:
trigguers:
delimiter //
MariaDB [andes]> create procedure insertar_Cliente(in _Idcliente varchar(11
-> ), in _documento varchar(20), in _Nombre Varchar(50), in _Apellidos Varchar(100), in _Sexo boolean, in _Direccion varchar(200), in _Telefono varchar(15))
-> begin
-> insert into cliente(Idcliente,documento,Nombre,Apellidos,Sexo,Direccion,Telefono)
-> values (_Idcliente,_Documento,_Nombre,_Apellidos,_Sexo,_Direccion,_Telefono);
-> end
-> //
Query OK, 0 rows affected (0.07 sec)
Borrar registros consultando otras tablas
Borrar de la tabla ContactoDireccion, los registros que tengan tipo de direccion 'medellin-estrella'
sintaxis:
select cd.*from contactodireccion cd inner join tipocobro Td on cd.TipoId= td.tipoId where direccion = 'medellin-estrella';
delete ContactoDireccion from ContactoDireccion inner join Tipocobro TD on ContactoDireccion.TipoId = TD.TipoId where direccion = 'Medellin-estrella';
MariaDB [andes]> select cd.*from contactodireccion cd inner join tipocobro Td on cd.TipoId= td.tipoId where direccion = 'medellin-estrella';
tee; con todos los procedimientos.