Está en la página 1de 4

--- creando la base de datos llamada talentohumano ---

create database talentohumano


go

use talentohumano
go
--- creando el Esquema llamado parametro ---
create schema Parametros
go

/* creando las tablas: BonoAntiguedad, SalarioMinimoNacional y ValoresPensiones


dentro del esquema parametro */
create table Parametros.BonoAntiguedad(
Id int primary key nonclustered,
AIncial int,
Afinal int,
Glosa varchar(50),
Porcentaje decimal(18,2)
);

create table Parametros.SalarioMinimoNacional(


Id int primary key nonclustered,
Gestion int,
Monto decimal(18,2)
);

create table Parametros.ValoresPensiones(


Id int primary key nonclustered,
Cotizacion int,
PrimaRiesgo decimal(18,2),
Comision decimal(18,2),
AporteSolidario decimal(18,2),
AporteMinero decimal(18,2),
EdadUbicaion int
);

/* Creando mas tablas fuera del Esquema */


create table Empleado(
Id int primary key nonclustered,
Paterno varchar(50),
Materno varchar(50),
Nombre varchar(50),
FechaNac date,
FechaIngreso date,
HaberBasico decimal(18,2)
);

create table Anticipos(


Id int primary key nonclustered,
IdEmpleado int,
FechaAnticipo date,
MontoAnticipo decimal(18,2)
);
alter table Anticipos add constraint fk_Anticipos foreign key(IdEmpleado) references
Empleado(Id)

create table AtrasosFaltas(


Id int primary key nonclustered,
IdEmpleado int,
Fecha date,
MinutosAtrasos decimal(18,2),
FaltasDias decimal(18,2),
TotalMinutos decimal(18,2)
);
alter table AtrasosFaltas add constraint fk_AtrasosFaltas foreign key(IdEmpleado)
references Empleado(Id)

create table OtrosBonos(


Id int primary key nonclustered,
IdEmpleado int,
Fecha date,
TipoBono varchar(30),
MontoBono decimal(18,2)
);
alter table OtrosBonos add constraint fk_OtrosBonos foreign key(IdEmpleado)
references Empleado(Id)

-- Volviendo A LA BD master para crear los usuarios --


use master
go

-- creando los loggin con sus contraseñas a nivel de "sql general" dentro de BD
Master--
create login contador with password='12345'

create login jefe with password='12345'


create login auxiliar1 with password='12345'
create login auxiliar2 with password='12345'

create login auditor with password='12345'


create login gerente with password='12345'

-- volviendo a la BD talentohumano --
use talentohumano
go

-- creando los usuarios a nivel de base de datos --


create user contador for login contador with default_schema = Parametros

create user jefe for login jefe


create user auxiliar1 for login auxiliar1
create user auxiliar2 for login auxiliar2

create user auditor for login auditor


create user gerente for login gerente

/*-------------------- PERMISOS ----------------------------*/

/*PREGUNTA 1 el usuario jefe podrá seleccionar, insertar, actualizar y eliminar


en todas las tablas de la base de datos Talentohumano */
grant select, insert, update, delete on schema::Parametros to jefe
with grant option
go

grant select, insert, update, delete on object::Empleado to jefe


with grant option
go
grant select, insert, update, delete on object::Anticipos to jefe
with grant option
go
grant select, insert, update, delete on object::AtrasosFaltas to jefe
with grant option
go
grant select, insert, update, delete on object::OtrosBonos to jefe
with grant option
go

-- PREGUNTA 2 el usuario auxiliar1 podrá seleccionar e insertar empleados.--


grant select, insert on object::Empleado to auxiliar1
with grant option
go

/* PREGUNTA 3 el usuario auxiliar2 podrá seleccionar, insertar, eliminar y


actualizar
en las tablas anticipos, atrasosfaltas y otrosbono*/
grant select, insert, delete, update on object::Anticipos to auxiliar2
with grant option
go

grant select, insert, delete, update on object::AtrasosFaltas to auxiliar2


with grant option
go

grant select, insert, delete, update on object::OtrosBonos to auxiliar2


with grant option
go
/* PREGUNTA 4 Crear el grupo auditoria que tendrá dos usuarios auditor, gerente
que podrán entrar a las tablas empleados, anticipos, atrasosfaltas y otrosbonos para
poder seleccionarlas */
CREATE ROLE auditoria;
GO

ALTER ROLE auditoria ADD MEMBER auditor;


ALTER ROLE auditoria ADD MEMBER gerente;

grant select on object::Empleado to auditoria


with grant option
go

grant select on object::Anticipos to auditoria


with grant option
go

grant select on object::AtrasosFaltas to auditoria


with grant option
go

grant select on object::OtrosBonos to auditoria


with grant option
go
--PREGUNTA 5 el usuario contador podra seleccionar, insertar y actualizar todas las
tablas del esquema parametros--

grant select, insert, update on schema::Parametros to contador


with grant option
go

También podría gustarte