Está en la página 1de 4

1 creacion de la base de datos

///
create Database ZambranoF2
use ZambranoF2

create table FABRICANTE (


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'

También podría gustarte