En Cali se mantendrá el salario y la bonificación por horas
extras de los empleados para el cálculo de la nómina; además allí se mantendrá
la cantidad y el valor de cada medicamento para control de las existencias de
todos los medicamentos.
En cada ciudad se desea mantener la información de los
proyectos, las brigadas de salud, los medicamentos y de los empleados. La base
de datos relacional es la siguiente:
PROYECTO(cod_proy, nom_proy, ciudad)
BRIGADA(cód_bri, nom_bri, cod_proy)
PARTICIPA(cod_bri, cédula, fecha)
EMPLEADO(cedula, nom_emp, telefono, salario, bonificacion)
BRI_MED(cod_bri, cod_med, canti_utilizada)
MEDICAMENTO(cod_med, nom_med, forma_uso, cantidad, valor)
Realice las particiones necesarias para una mejor autonomía
local y construya la tabla de asignación de fragmentos en cada localidad.
Se procede a elaborar la base de datos en Sql, asi:
create database Farmacias
use farmacias
create table Proyecto
(Cod_Proy
int not null,
Nom_Proy
varchar (50)not null,
Ciudad
varchar(50)not null
primary
key(Cod_Proy))
create
table Brigada
(Cod_Bri
int not null,
Nom_Bri
varchar(50)not null,
Cod_Proy
int,
Primary
key (Cod_Bri),
Foreign
key (Cod_Proy)references Proyecto(Cod_Proy)
on
delete cascade on update cascade)
create
table Participa
(Cod_Bri
int not null,
Cedula
int not null,
Fecha
datetime not null,
foreign
key (Cod_Bri)references Brigada(Cod_Bri)
on
delete cascade on update cascade)
create
table Empleado
(Cedula
int not null,
Nom_Emp
varchar (50) not null,
Telefono
varchar(50) not null,
Salario
decimal not null,
Bonificacion
decimal not null)
Create
table Medicamento
(Cod_Med
int not null,
Nom_Med
varchar(50) not null,
Forma_Uso varchar(50)not null,
Cantidad
int not null,
Valor
decimal not null,
primary
key (Cod_med))
create
table Bri_Med
(Cod_Bri
int not null,
Cod_Med
int not null,
Canti_Utilizada
int not null,
foreign
key (Cod_Bri)references Brigada(Cod_Bri)
on
delete cascade on update cascade, foreign key
(Cod_Med)references
Medicamento(Cod_Med)
on
delete cascade on update cascade)
Con esto queda creada la base de datos, con las respectivas
tablas. A continuación veremos el pantallazo de los cinco ejercicios
propuestos:
Fragmentación horizontal proyecto
Aca, se crean tablas discriminadas para cada una de las
ciudades, pues si vemos en la tabla proyecto, en la columna ciudad estarían
todas revueltas.
Veremos al lado izquierdo de las imágenes las tablas de
fragmentación ya creadas.
Cali
Select *
into ProyectoC
From PROYECTO
Where ciudad = 'Cali'
Para visualizar la tabla ProyectoC se da la sentencia: select*from proyectoC. No se veran datos, porque no hemos llenado las tabla, pero se vera su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla proyectoC.
Bogota
Select *
into ProyectoB
From PROYECTO
Where ciudad = 'Bogotá'
Para visualizar la tabla ProyectoB se da la sentencia: select*from
proyectoB. No se veran datos, porque no hemos llenado las tabla, pero se vera
su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla
proyectoB.
Medellin
Select *
into
ProyectoMe
From PROYECTO
Where ciudad = 'Medellín'
Para visualizar la tabla ProyectoM se da la sentencia: select*from
proyectoM. No se veran datos, porque no hemos llenado las tabla, pero se vera
su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla
proyectoM.
Manizales
Select *
into ProyectoMa
From PROYECTO
Where ciudad = 'Manizales'
Para visualizar la tabla ProyectoMa se da la sentencia: select*from
proyectoMa. No se veran datos, porque no hemos llenado las tabla, pero se vera
su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla
proyectoMa
Fragmentación horizontal derivada
brigada
Esto lo que hace es crear una nueva tabla BrigadaC con todos los
registros de la tabla Brigada, donde Cod_Proy de ProyectoC y Brigada,
coincidan.
Cali
Select
Brigada.*
into BrigadaC
From BRIGADA
inner join ProyectoC
On BRIGADA.cod_proy= ProyectoC.cod_proy





No hay comentarios:
Publicar un comentario