id_fab int not null, nombre varchar(50) not null, pais varchar(50) not null, -- constraint PK_FABRICANTE primary key (id_fab) ) create table PROGRAMA ( CODIGO int not null, nombre varchar(50) not null, vers varchar(50) not null, -- constraint PK_PROGRAMA primary key (CODIGO) ) go
create table DISTRIBUYE (
CIF INT NOT NULL, CODIGO int not null, cantidad int --constraint PK_DISTRIBUYE primary key (CIF) ) go create table DESARROLLA ( id_fab INT NOT NULL, CODIGO int not null, ) go CREATE table COMERCIO ( CIF INT PRIMARY KEY, nombre varchar(50) not null, CIUDAD varchar(50) not null, ) go create table REGISTRA ( CIF INT NOT NULL, DNI varBinary(60) not null, CODIGO INT not null, MEDIO varchar(50) not null ) go create table CLIENTE ( DNI varBinary(60) PRIMARY KEY, NOMBRE varchar(50) not null, EDAD INT not null ) Go 2diagrama ER
--encriptacion DNI
Llaves y certificados
/*creacion de llave maestra*/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Pass'
CREATE CERTIFICATE AccCert1
AUTHORIZATION ZDAVID WITH SUBJECT = 'AccCert1' GO
CREATE SYMMETRIC KEY Acckey1
AUTHORIZATION ZDAVID WITH ALGORITHM = TRIPLE_DES ENCRYPTION BY CERTIFICATE AccCert1 go
EXECUTE AS USER ='ZDAVID'
OPEN SYMMETRIC KEY AccKey1 DECRYPTION BY CERTIFICATE AccCert1 /*INSERTAR DATOS*/ SELECT * FROM CLIENTE
SELECT * FROM REGISTRA
close all symmetric keys
create proc venta
@pais varchar(50) as select f.nombre,f.pais,sum(dis.cantidad)as venta from FABRICANTE f,DESARROLLA desa,DISTRIBUYE dis where f.pais like(@pais) and f.id_fab=desa.id_fab and desa.CODIGO= dis.CODIGO group by f.nombre,f.pais exec venta'Estados Unidos' create proc venta @pais varchar(50) as select f.nombre,f.pais,sum(dis.cantidad)as venta from FABRICANTE f,DESARROLLA desa,DISTRIBUYE dis where f.pais like(@pais) and f.id_fab=desa.id_fab and desa.CODIGO= dis.CODIGO group by f.nombre,f.pais exec venta'Estados Unidos'