Professional Documents
Culture Documents
7 de Thi Co LG
7 de Thi Co LG
https://www.facebook.com/minhduc2091
https://www.facebook.com/minhduc2091
https://www.facebook.com/minhduc2091
https://www.facebook.com/minhduc2091
Svlhu08ct111@yahoo.com.vn
https://www.facebook.com/minhduc2091
https://www.facebook.com/minhduc2091
7
--Cu 1: (3 im) C s d liu qun l thi c cha 3 table. Vit lnh to cc table vi cc
rng buc kha chnh, kha ngoi c nu trong tn t. Kiu d liu ca cc Fields l t
chn theo ng ngha.
-- ThiSinh(MSTS, Ho, Ten, Ngaysinh, SBD, PhongThi)
--Tn t: Mi th sinh c mt m s (MSTS) l s nguyn phn bit, c h (HO) v tn
(Ten) sinh vin, ngy sinh (Ngaysinh), s bo danh (SBD), thuc mt phng thi (PhongThi).
-- MonThi(MSMon, TenMon)
--Tn t: Mi mn thi c mt m s (MSMon) l mt s nguyn phn bit, c tn mn thi
(TenMon).
--DiemMonThi(MSTS, MSMon, DiemThi)
--Tn t: mi mn thi (MSMon) th sinh (MSTS) c mt im thi (DiemThi).
--Cu 2: (1 im) Khai bo b sung cc rng buc sau:
--a) Mi th sinh trong table ThiSinh c mt s bo danh (SBD) phn bit.
--b) im thi (DiemThi) trong table DiemMonThi c gi tr t 0 n 10.
--Cu 3: (2 im) To View:
--a) To view vwBoThi dung lit k danh sch th sinh b thi. (khng c trong table
DiemMonThi).
--b) To view vwKetQuaThi dng lit k tng im thi cc mn ca cc th sinh gm : S
bo danh, h, tn. ngy sinh, phng thi, tng im thi. Sp th t u tin theo phng thi, sau
l s bo danh.
--Cu 4: (2 im) To update trigger cho table ThiSinh kim tra rng buc : Khi chuyn
mt th sinh sang phng thi khc (sa PhongThi ca th sinh) th s th sinh ca phng thi
chuyn n khng c qu 25 th sinh.
--Cu 5: (2 im) Vit th tc hoc hm s dng in s bo danh t ng (SBD) t 1 tr
i theo th t tn v h.
https://www.facebook.com/minhduc2091
GII 1
use master
go
if exists(select * from sys.databases where name='De1')
drop database De1
go
create database De1
go
use De1
go
---------------------Cu 1 : To TABLE
create table SinhVien
(
MSSV int identity(1,1) primary key,
Lop varchar(10),
Ho varchar(10),
Ten varchar(30),
NgaySinh datetime,
Nu bit
)
-------------------create table MonHoc
(
MSMon int identity(1,1) primary key,
TenMon varchar(30)
)
-------------------create table DiemThi
(
MSSV int,
MSMon int,
LanThi int,
Diem int,
primary key(MSSV,MSMon,LanThi),
foreign key(MSSV) references SinhVien(MSSV),
foreign key(MSMon) references MonHoc(MSMon),
)
--Cu 2 : B sung rng buc
go
Alter table DiemThi ADD
default 1 for LanThi,
check(Diem between 0 and 10)
-------------------insert into SinhVien values ('07ct112','Nguyen','Hoang Long','11/10/1989','True')
insert into SinhVien values ('07ct112','Le','Ngoc Nam','11/10/1989','True')
insert into SinhVien values ('07ct112','Le','Thanh Phuc','12/25/1989','True')
-------------------insert into MonHoc values ('SQL 2005')
insert into MonHoc values ('TTHCM')
-------------------https://www.facebook.com/minhduc2091
as
Begin
select MSMon,LanThi,Diem
from DiemThi
where MSSV = @MSSV
End
-------------------go
exec ThongTinSV 3
go
insert into DiemThi(MSSV,MSMon,Diem) values(4,1,7)
https://www.facebook.com/minhduc2091
GII 2
use master
go
if exists(select * from sys.databases where name='De2')
drop database De2
go
create database De2
go
use De2
go
-------------------create table Doi
(
MSDoi int primary key,
TenDoi varchar(40),
Phai bit
)
-------------------create table TranDau
(
MSTD int primary key,
NgayTD datetime,
GioBD smalldatetime,
GioKT smalldatetime ,
)
-------------------create table DoiThiDau
(
MSTD int references TRANDAU(MSTD),
MSDOI int,
primary key(MSTD,MSDoi),
foreign key(MSDOI) references Doi(MSDOI),
)
go
Alter table TranDau ADD
check(GioBD < GioKT),
unique(GioBD,NgayTD)
-------------------go
insert into Doi values (1,'Hoang Anh Gia Lai','True')
insert into Doi values (2,'Hoang Anh Gia Lai','False')
insert into Doi values (3,'Dong Tam Long An','True')
insert into Doi values (4,'SHB Da Nang','True')
insert into Doi values (5,'SHB Da Nang','False')
insert into Doi values (6,'Dong Nai','False')
insert into TranDau values (1,'10/10/1998','10/10/1998 2:00:00 PM','10/10/1998 4:00:00
PM')
insert into TranDau values (2,'10/10/1998','10/10/1998 5:00:00 PM','10/10/1998 7:00:00
PM')
https://www.facebook.com/minhduc2091
https://www.facebook.com/minhduc2091
GII 3
USE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = 'De3')
BEGIN
DROP DATABASE De3
END
GO
CREATE DATABASE De3
GO
USE De3
GO
-------------------CREATE TABLE MATHANG
(
MSMH int PRIMARY KEY ,
TENMH varchar(100),
DONGIA money DEFAULT 0 CHECK (DONGIA >=0),
SOTON int
)
-------------------CREATE TABLE HOADON
(
MSHD int PRIMARY KEY,
NGAYLAPHD datetime DEFAULT GETDATE() NOT NULL,
)
-------------------CREATE TABLE CTHD
(
MSHD int references HOADON,
MSMH int references MATHANG,
SOLUONG Smallint DEFAULT 0 CHECK ( SOLUONG > 0),
DONGIABAN MONEY DEFAULT 0 CHECK ( DONGIABAN > 0),
PRIMARY KEY (MSHD,MSMH),
FOREIGN KEY(MSHD) references HOADON(MSHD),
FOREIGN KEY(MSMH) references MATHANG(MSMH)
)
GO
ALTER TABLE MATHANG ADD
default 0 for SOTON,
unique(TENMH)
-------------------INSERT INTO MATHANG VALUES (1,'Ruou',230.5,201)
INSERT INTO MATHANG VALUES (2,'Gia vi',40,82)
INSERT INTO MATHANG VALUES (3,'Banh kem',10,0)
INSERT INTO MATHANG VALUES (4,'Bo',38,30)
INSERT INTO MATHANG VALUES (5,'Banh mi',8,435)
INSERT INTO MATHANG VALUES (6,'Nem',23.8,97)
INSERT INTO MATHANG VALUES (7,'Tao',5,33)
INSERT INTO MATHANG VALUES (8,'Ca hop',62.5,100)
INSERT INTO MATHANG VALUES (9,'Cam',11,50)
https://www.facebook.com/minhduc2091
https://www.facebook.com/minhduc2091
GII 4
USE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = 'De4')
BEGIN
DROP DATABASE De4
END
GO
CREATE DATABASE De4
GO
USE De4
GO
-------------------CREATE TABLE SACH
(
MASACH INT PRIMARY KEY,
TENSACH VARCHAR(100),
SOLUONG INT,
SODAMUON INT
)
-------------------CREATE TABLE DOCGIA
(
MADG INT PRIMARY KEY,
TENDG VARCHAR(100)
)
-------------------CREATE TABLE PHIEUMUON
(
MADG INT,
NGAYMUON DATETIME,
MASACH INT,
NGAYTRA DATETIME,
PRIMARY KEY(MADG,NGAYMUON),
FOREIGN KEY(MADG) REFERENCES DOCGIA(MADG)
)
GO
ALTER TABLE SACH ADD
CHECK(SOLUONG >= SODAMUON)
GO
ALTER TABLE PHIEUMUON ADD
DEFAULT GETDATE() FOR NGAYMUON
-------------------GO
INSERT INTO SACH VALUES (1,'Cuon theo chieu gio',10,2)
INSERT INTO SACH VALUES (2,'Ong gia va bien ca',2,2)
INSERT INTO SACH VALUES (3,'Tat den',20,3)
INSERT INTO SACH VALUES (4,'Toan roi rac',1,1)
INSERT INTO SACH VALUES (5,'Lap trinh C#',4,4)
INSERT INTO SACH VALUES (6,'Lich su Dang',3,0)
INSERT INTO SACH VALUES (7,'Kinh van hoa',30,5)
https://www.facebook.com/minhduc2091
https://www.facebook.com/minhduc2091
GII 5
USE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = 'De5')
BEGIN
DROP DATABASE De5
END
GO
CREATE DATABASE De5
GO
USE De5
GO
-------------------CREATE TABLE NgachLuong
(
MSNgach INT PRIMARY KEY,
MOTA VARCHAR(100)
)
-------------------CREATE TABLE DMNganhBac
(
MSNgach INT,
BAC INT,
HSLuong FLOAT,
PRIMARY KEY(MSNgach,BAC),
FOREIGN KEY(MSNgach) REFERENCES NgachLuong(MSNgach)
)
-------------------CREATE TABLE NhanVien
(
MSNV INT PRIMARY KEY,
HO VARCHAR(50),
TEN VARCHAR(50),
MSNgach INT,
BAC INT,
NGAYNLCC DATETIME
)
-------------------GO
ALTER TABLE DMNganhBac ADD
UNIQUE(MSNgach,HSLuong)
GO
ALTER TABLE NhanVien ADD
DEFAULT 1 FOR BAC
-------------------GO
CREATE VIEW vwHSLuong
AS
SELECT MSNV,N.MSNgach,N.BAC,HSLuong
FROM DMNganhBac D JOIN NhanVien N ON D.MSNgach = n.MSNgach
GROUP BY MSNV,N.MSNgach,N.BAC,HSLuong
https://www.facebook.com/minhduc2091
-------------------GO
CREATE VIEW vwNangLuong
AS
SELECT * FROM NhanVien
WHERE DATEDIFF(M,NGAYNLCC,GETDATE())>=24
-------------------GO
CREATE PROC DSNangLuong(@Nam int = NULL)
AS
IF @Nam IS NULL
SELECT * FROM NhanVien
WHERE YEAR(NGAYNLCC)=YEAR(GETDATE())
ELSE
SELECT * FROM NhanVien
WHERE YEAR(NGAYNLCC) = @Nam
-------------------GO
EXEC DSNangLuong 2000
https://www.facebook.com/minhduc2091
GII 6
USE MASTER
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = 'De6')
BEGIN
DROP DATABASE De6
END
GO
CREATE DATABASE De6
GO
USE De6
GO
-------------------CREATE TABLE TINH
(
MSTinh varchar(5) primary key,
TenTinh varchar(100) NOT NULL,
DienTich decimal NOT NULL,
DanSo decimal NOT NULL,
TinhBG bit
)
-------------------CREATE TABLE BIENGIOI
(
MSTinh varchar(5),
TenNuoc varchar(100),
primary key (MSTinh,TenNuoc),
foreign key(MSTinh) references TINH(MSTinh)
)
-------------------CREATE TABLE LANGGIENG
(
MSTinh varchar(5),
MSTinhLG varchar(5),
primary key (MSTinh,MSTinhLG),
foreign key(MSTinh) references TINH(MSTinh)
)
GO
ALTER TABLE LANGGIENG ADD
check(MSTinh<>MSTinhLG)
GO
ALTER TABLE TINH ADD
unique(MSTinh)
-------------------GO
INSERT INTO TINH VALUES('AG','AN GIANG',3493,1812200,'True')
INSERT INTO TINH VALUES('BD','BINH DINH',4503,1420600,'False')
INSERT INTO TINH VALUES('BG','BINH DUONG',3859,590800,'False')
INSERT INTO TINH VALUES('BI','BINH THUAN',5345,786300,'False')
INSERT INTO TINH VALUES('BL','BAC LIEU',4697,571500,'False')
INSERT INTO TINH VALUES('BP','BINH PHUOC',6687,236500,'True')
https://www.facebook.com/minhduc2091
https://www.facebook.com/minhduc2091
Gii 7
go
create database DeThi
go
use DeThi
go
---------------------Cu 1 : To TABLE
create table ThiSinh
(
MSTS int primary key,
Ho varchar(30),
Ten varchar(50),
NgaySinh datetime,
SBD int,
PhongThi varchar(10)
)
-------------------create table MonThi
(
MSMon int primary key,
TenMon varchar(30)
)
-------------------create table DiemMonThi
(
MSTS int,
MSMon int,
DiemThi int,
primary key(MSTS,MSMon),
foreign key(MSTS) references ThiSinh(MSTS),
foreign key(MSMon) references MonThi(MSMon),
)
--Cu 2 : B sung rng buc
go
Alter table ThiSinh ADD unique(SBD)
go
Alter table DiemMonThi ADD check(DiemThi between 0 and 10)
-------------------insert into ThiSinh values (1,'Nguyen Hoang','Long','11/10/1989',38,102)
insert into ThiSinh values (2,'Le Ngoc','Nam','11/10/1989',42,102)
insert into ThiSinh values (3,'Le Thanh','Phuc','11/10/1989',50,102)
insert into ThiSinh values (4,'Diep Hoang','Minh','11/10/1989',41,102)
insert into ThiSinh values (5,'Giap Tuan','An','11/10/1989',1,101)
insert into ThiSinh values (6,'Tran The','Dai','11/10/1989',9,101)
insert into ThiSinh values (7,'Pham Thi Viet','Ha','11/10/1989',21,101)
insert into ThiSinh values (8,'Nguyen Quoc Trung','Hieu','11/10/1989',24,101)
insert into ThiSinh values (9,'La Phi','Hung','11/10/1989',28,101)
insert into ThiSinh values (10,'Dang Ngoc','Son','11/10/1989',53,103)
insert into ThiSinh values (11,'Nguyen Van','Son','11/10/1989',54,103)
insert into ThiSinh values (12,'Nguyen Minh','Tam','11/10/1989',56,103)
https://www.facebook.com/minhduc2091
rollback tran
end
---------------------Kim tra trigger
go
select * from ThiSinh where MSTS = 1
go
update ThiSinh set PhongThi = 101 where MSTS = 1
go
select * from ThiSinh where MSTS = 1
---------------------Cu 5 : To th tc
go
create proc Auto_SBD
as
Begin
select MSTS,Ho,Ten,Ngaysinh,PhongThi,SBD=ROW_NUMBER() over(order by
Ten) from ThiSinh
End
-------------------go
exec Auto_SBD
https://www.facebook.com/minhduc2091