Nos proponen la siguiente base de datos distribuida:
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.
No hay comentarios:
Publicar un comentario