TR NG CAO Đ NG NGH TNDT TÂY NGUYÊNƯỜ
KHOA TIN H C – NN - KD
C NG HOÀ XÃ H I CH NGHĨA VI T NAM
Đ c l p - T do - H nh phúc
Đ KI M TRA K T THÚC
MÔ ĐUN: QU N TR H TH NG V I SQL SERVER
Th i gian làmi: 120 phút
Hình th c: TH C HÀNH
L p:CĐN CNTT 11
(H c sinh đ c phép s d ng tài li u khi làm bài thi) ượ
Cho CSDL sau:
CHUCVU (MACV , TENCV)
THANHPHO (MATP , TENTP, PHI_CT_CHUAN1NGAY)
PHICONGTAC (MACV, MATP, PHI_1_NGAY)
NHANVIEN (MANV , TENNV, NGAYSINH, GIOITINH, MACV)
DOTCONGTAC (MADOT , MATP, SONGAY , NGAYDI)
THAMGIACONGTAC (MADOT, MANV)
Yêu c u:
I. Đ nh nghĩa CSDL b ng d li u (3 đi m)
a. S dung l nh t o c s d li u và t o b ng trong SQL server th c hiênư ơ ư
viêc tao c s d liêu QLNS nh ta trên. (1đ) ơ ơ ư ư
b. Tao cac rang bc sau đây: ( 1đ)
- P1 ny trong bang PHICONGTAC phai >=0 s ngày đi trên b ng
DOTCONGTAC ph i >0.
- Nn viên phai đat tuôi tôi thiêu la 18.
c. HSSV t xac đinh d liêu va th c hiên nhâp ( ng l nh) vao môi bang it nhâtư ư ư
4 dong. ( 1đ)
II. Th c hi n các truy v n sau: (4.5 đi m)
a. Cho bi t danh sách t ca ế nn viên có gi i nh n ch c v ’Giám
đ c’. (0.75đ)
b. Cho biêt thông tin gôm c a nh ng nhân viên có phi đi công tác trên 200 ngàn
m t ngày (0.5đ)
c. Liêt nh ng thành ph co trên 5 nhân viên s ngày đi công tác 5 ư
đ n côngc(0.75đ)ế
d. Chuyên đôi tên cua nhân viên trong bang NHANVIEN sang ch in hoa. (0.5 ư
đi m)
e. Tăng s ngày công tác lên 20% cho nhân viên co tên la ’Lê Qu c C ng’. ườ
(0.5đ)
f. Xoá nh ng nhân viên đa tu i trên 60. (0.75đ)ư
g. Liêt tât ca cac nhân viên ng tu i v i nhân viên ch c v ’phó
giám đ c’(0.75đ)
III. Xây d ng các hàm, th t c, trigger: (2.5 đi m)
Đ s : 1
a. Viêt thu tuc Nhap Chucvu s dung cho viêc np d liêu cho bang CHUCVU.ư ư
(0.75 đ)
b. Vi t hàm tr v m t b ng trong đó cho bi t danh sach đ t công tác sế ế
ngày đi l n h n 5 và đi tr c ngày 15/8/2012 c a nhân viên có mã do ng i ơ ướ ườ
ng nh p vào (ma nhân viên la tham sô). (0.75 đ)
c. Vi t trigger cho b ng PHICONGTAC sao cho khi c p nh t phí 1 ngày thìế
giá tr c a nó kng đ c v t quá phí_CT_chuan1ngay trên b ng ượ ượ
THANHPHO. N u v t quá thì h y b thaoc đó. (1 đ)ế ượ
Giáo viên ra đ Duy t c a
Khoa
Nguy n Th Ái Nhi Huỳnh Ng c Đ ng
Cán b coi thi không gi i thích gì thêm.
ĐÁP ÁN Đ KI M TRA K T THÚC
MÔ H C: PTTK H TH NG THÔNG TIN
Đ S : 1
Th i gian làm bài :90 phút
Hình th c: Lý thuy t ế
L p CĐN CNTT 11
CÂU
H IYÊU C U TR L I ĐI M
I
a.1 Dùng l nh Create database đ t o CSDL
a.2 Dùng l nh Create table đ t o các b ng
a.3 Đ m b o t o đúng và đ các ràng bu c khóa chính khóa
ngo i trên m i b ng nh mô t trên mô hình ư
3
b.1 Alter table PHICONGTAC add constraint ck_PCT_phi
Check (Phi_1ngay >=0)
b.2 Alter table DOTCONGTAC add constraint ck_DCT_songay
Check (songay >0)
b.3 Alter table NHANVIEN add constraint ck_nhanvien_tuoi
Check ( datediff(year,ngaysinh,getdate())>=18)
c. Dùng l nh Insert into thêm m i b ng ít nh t 4 dòng d li u
II
a. Select nhanvien.* from NHANVIEN where gioitinh=N’N and MaCV
= (select MaCV from ChucVu where TenCV =N’Giám đ c’
4.5
b. select nhanvien.* fron NHANVIEN inner join PHICONGTAC on
PHICONGTAC.MaCV =NHANVIEN.MaCV where Phi_1ngay >200000
c. Select TenTP from THANHPHO where MATP in ( select MATP from
DOTCONGTAC inner join THAMGIACONGTAC on DOTCONGTAC.
MaDot = THAMGIACONGTAC.MaDot where songay =5 group by
MaDot having count(MaNV) >5
d. Update SINHVIEN set TenNV =Upper(TenNv)
e. Update DOTCONGTAC set songay =songay +songay*0.2 from
THAMGIACONG where MaNV = (select MaNV from NHANVIEN
where TenNV =N’Lê Qu c C ng’) ườ
f. Delete from NHANVIEN where where
datediff(year,ngaysinh,getdate()) >60)
g. select NhANVIEN.* from NHANVIEN WHERE MaNV NOT in
(select MANV from NHANVIEN where MaCV = (select MACV from
CHUCVU where TenCV =N’Pgiám đ c’)) and ngaysinh =any(select
ngaysinh from NHANVIEN NHANVIEN where MaCV = (select MACV
from CHUCVU where TenCV =N’Phó gm đ c’) )
III
-Dùng l nh Create proc đ t o th t c nh p d li u cho b ng
CHUCVU.
- Đ m b o có đ và đúng các tham s
- Có ki m tra ràng bu c khóa chính trong quá trình nh p li u
2.5
-Dùng l nh Create Function đ t o hàm cho bi t danh sách ế đ t
công tác có s ngày đi l n h n 5 và đi tr c ngày 15/8/2012 ơ ướ .
- Đ m b o có đ và đúng các tham s
- Ki u tr v c a hàm là 1 TABLE
-Đ m b o đi u ki n c a l nh select là songay >5 và
datediff(day,ngaydi,’15/8/2012’)>0
- Có tham s đ u vào là @MaNV
-Dùng lênh Create Trigger đ t o trigger ki m tra giá tr c a
Phi_1ngay trên b ng PHICONGTAC
-Hành đ ng c p nh t trên c t Phi_1ngay s kích ho t trigger
-N u Phi_1ngay <=Phi_ct_chuan1ngay thì cho phép c p nh tế
trên phi_1ngay. Ng c l i thì ROLLBACK TRANSACTION.ượ