You are on page 1of 3

Câu 1:

CREATE DATABASE QLTHUEBAO

USE QLTHUEBAO
CREATE TABLE KHACHHANG
(
MAKH INT IDENTITY(1,1) UNIQUE,
TENKH NVARCHAR(30) NOT NULL,
DIACHI NVARCHAR(50) NOT NULL,
CCCD VARCHAR(15),
PRIMARY KEY(MAKH),
);

CREATE TABLE HOPDONG


(
SOHD VARCHAR(15) UNIQUE,
NGAYHD DATE,
GIATRIHD INT CHECK (GIATRIHD > 0),
MAKH INT UNIQUE,
PRIMARY KEY(SOHD),
CONSTRAINT HD
FOREIGN KEY (MAKH) REFERENCES KHACHHANG(MAKH)
ON UPDATE CASCADE
);

DROP TABLE HOPDONG

CREATE TABLE THUEBAO


(
SODT VARCHAR(15) UNIQUE,
NGAYTB DATE,
SOHD VARCHAR(15) NOT NULL,
PRIMARY KEY(SODT),
CONSTRAINT TB
FOREIGN KEY (SOHD) REFERENCES HOPDONG(SOHD)
ON UPDATE CASCADE,
);

DROP TABLE THUEBAO

INSERT INTO KHACHHANG


VALUES
(N'Trần Văn An',N'12/7 Đoàn Thị iểm, PN, Tp. HCM','021235421244'),
(N'Lê Thị Bình',N'121/3/5 Phan Đăng Lưu, BT, Tp. HCM',NULL),
(N'Lâm Đức Nga',N'21/3 Cô Giang, Phú Nhuận, tp HCM','033386747632');
SET DATEFORMAT DMY
INSERT INTO HOPDONG
VALUES
('00101072018','01/07/2018', 600000,1),
('00201072018','01/07/2018', 700000,2);

SET DATEFORMAT DMY


INSERT INTO THUEBAO
VALUES
('38812345','08/07/2018','00101072018'),
('38107912','15/07/2018','00201072018');

Câu 2:
CREATE VIEW V2
AS
SELECT SOHD,NGAYHD,TENKH,DIACHI,CCCD,GIATRIHD
FROM KHACHHANG KH, HOPDONG HD
WHERE KH.MAKH = HD.MAKH AND MONTH(NGAYHD) = 7 AND YEAR(NGAYHD) = 2018

Câu 3:
CREATE PROC P3(@SOHOPDONG VARCHAR(15))
AS
SELECT GIATRIHD
FROM HOPDONG
WHERE SOHD = @SOHOPDONG
GO
EXEC P3 '00201072018'

Câu 4:
--câu 4:
CREATE TRIGGER T4 ON THUEBAO
FOR INSERT
AS
BEGIN
IF EXISTS (SELECT * FROM THUEBAO T,INSERTED I WHERE T.SOHD = I.SOHD)
BEGIN
PRINT N'MỖI THUÊ BAO KHÔNG ĐƯỢC TRÙNG SỐ HỢP ĐỒNG'
ROLLBACK TRAN
END
END;

INSERT INTO THUEBAO VALUES ('38107913','07/09/2018','00101072018')

Câu 5:
--a/

EXECUTE sp_addlogin ql1, 'quanli.1', 'QLTHUEBAO'


EXECUTE sp_addlogin nv1, 'nhanvien.1', 'QLTHUEBAO'

EXECUTE sp_grantdbaccess ql1, quanly


EXECUTE sp_grantdbaccess nv1, nhanvien

EXECUTE sp_addrole quanlyrole


EXECUTE sp_addrole nhanvienrole

EXECUTE sp_addrolemember quanlyrole, quanly


EXECUTE sp_addrolemember nhanvienrole, nhanvien

--b/
GRANT SELECT, INSERT, UPDATE ON KHACHHANG TO nhanvienrole;
GRANT SELECT ON KHACHHANG TO quanlyrole;
GRANT SELECT ON HOPDONG TO quanlyrole;
GRANT SELECT ON THUEBAO TO quanlyrole;

You might also like