BÀI TẬP NHÓM CƠ SỞ DỮ LIỆU
I.Khảo sát một số quy trình nghiệp vụ của công ty:
Công ty TNHH Thái Tuấn quyết định xây dựng một cơ sở dữ
liệu nhằm quản lý nhân viên của công ty. Công ty có nhiều
phòng ban, mỗi phòng ban chịu trách nhiệm về một chức năng
khác nhau. Thông tin về một phòng ban, gồm có: mã phòng, tên
phòng ban, địa chỉ.
Doanh nghiệp có nhiều nhân viên thuộc nhiều phòng ban
khác nhau. Thông tin về một nhân viên gồm có: mã nhân viên,
họ tên, ngày sinh,giới tính, địa chỉ, mã phòng ban, số điện thoại,
chức vụ.Mỗi nhân viên chỉ làm việc ở một phòng ban và một
phòng ban có thể có nhiều nhân viên.
Cuối mỗi năm công ty tổng kết và khen thưởng đối với các
nhân viên có nhiều thành tích. Đồng thời kỷ luật đối với các
nhân viên phạm sai lầm. Mỗi nhân viên có thể có nhiều khen
thưởng, kỷ luật hoặc không có. Thông tin về việc khen thưởng
gồm có: mã khen thưởng, loại khen thưởng, mức thưởng. Thông
tin về việc kỷ luật gồm có: mã kỷ luật, loại kỷ luật, đối tượng kỷ
luật, mức kỷ luật.
II. Xây dựng mô hình quan hệ thực thể (ERD):
TỪ ERD
LƯỢC ĐỒ QUAN HỆ ( CƠ SỞ DỮ LIỆU )
Các thực thể của công ty bao gồm:
PB ( maphongban, tenphongban, điachi, manhanvien )
NV(manhanvien, tennhanvien, ngaysinh, gioitinh,
maphongban,sodienthoai, chucvu)
KT( makhenthuong, loaikhenthuong, muckhenthuong )
KTCT( makhenthuong,manhanvien)
( makhenthuong,maphongban)
KL( makyluat, loaikyluat, dtuongkyluat, muckyluat )
KLCT(makyluat,manhanvien)
(makyluat,maphongban)
PB
C
Ó
Đư
ợc
c
ó
KT
NVKL Chị
u
C
Ó
Xây Dựng Cấu Trúc Bảng:
Tên bảng Thuộc Tính
Độ Dài
( Loại DL)
Mô Tả
Nhân Viên
MANHANVIEN
TENNHANVIEN
NGAYSINH
GIOITINH
DIACHI
MAPHONGBAN
SODIENTHOAI
CHUCVU
Number – 3
Text - 30
Date/Time
Yes/No
Text – 20
Text – 20
Number
Text - 2
Khóa chính
Khóa liên kết
Phòng Ban
MAPHONGBAN
TENPHONGBAN
DIACHI
Text – 2
Text - 15
Number – 4
Khóa Chính
Khen
Thưởng
MAKHENTHUONG
LOAIKHENTHUONG
MUCKHENTHUONG
Text – 2
Text – 15
Number
Khóa Chính
Kỷ Luật
MAKYLUAT
LOAIKYLUAT
DOITUONGKYLUAT
Text – 2
Text – 15
Text – 15
Khóa Chính
MUCKYLUAT Number
Tiến Hành Nhập Dữ Liệu Vào Cơ Sở Dữ Liệu:
BẢNG NHÂN VIÊN (NV):
manhan
vien
tennhanvien
ngay
sinh
gioi
tinh
dia
chi
Ma
phong
ban
So
dien
thoai
Chuc
vu
001 Nguyễn Thị An
10-03-1990
Nữ
Quảng
Nam
KT 3851723 NV
002 Trần Đăng Tuấn
08-01-1990
Nữ
Đà
Nẵng
KD 3580836 TP
003 Trương Thị Hà Châu
10-01-1989
Nữ
Quảng
Ngãi
SX 3938828 PGĐ
004 Nguyễn Thị Thanh
10-04-1990
Nữ Gia Lai SX 3627568 NV
005 Nguyễn Thanh Phú
05-07-1990
Nam Hà Tĩnh KH 3790678 NV
006 Cao Lâm
30-04-1990
Nam
Thanh
Hóa
TC 3478901 TT
007 Lê Phước Thịnh
22-12-1989
Nam
Nghệ
An
SX 3780864 NV
008 Chu Thu Hương
20-11-1989
Nam
Quảng
Bình
KT 3618930 GĐ
009 Hoàng Thái Phiệt
08-03-1990
Nam
Quảng
Trị
KD 3750236 NV
010 Ngô Diệp Nga
20-10-1990
Nữ Hà Tĩnh TC 2630368 NV
011 Trần Thu Trang
27-07-1990
Nữ
Đà
Nẵng
KT 3627725 NV
012 Nguyễn Mỹ Linh
01-05-1989
Nam
Đà
Nẵng
KD 3645671 NV
BẢNG PHÒNG BAN (PB):
MAPHONGBAN TENPHONGBAN Địa chỉ
KD KINH DOANH 0122
KH KẾ HOẠCH 0828
KT KẾ TOÁN 0727
TC TỔ CHỨC 0777
SX SẢN XUẤT 0988
BẢNG KHEN THƯỞNG (KT):
makhenthuong Loaikhenthuong muckhenthuong
K1 Xuất sắc 2.500.000đ
K2 Giỏi 2.000.000đ
K3 Khá 1.000.000đ
K4 Sản xuất tốt 1.500.000đ
K0 Bình thường 0
BẢNG KHEN THƯỞNG CHI TIẾT (KTCT):
makhenthuon
g
MANHANVIEN
K0 001
K3 002
K4 003
K0 004
K1 005
K3 006
K4 007
K0 008
K2 009
K0 010
K3 011
K3 012
makhenthuon
g
Maphongban
K2 KD
K0 TC
K3 KT
K2 KH
K4 SX
BẢNG KỶ LUẬT (KL):
makyluat loaikyluat doituongkyluat muckyluat
L1 Lần 1 Vi phạm nhẹ 500.000đ
L2 Lần 2 Vi phạm vừa 1.000.000đ
L3 Lần 3 Vi phạm nặng 2.000.000đ
L0 0 Không vi phạm 0
BẢNG KỶ LUẬT CHI TIẾT (KLCT):
makyluat
MANHANVIEN
L1 001
L0 002
L0 003
L1 004
L0 005
L0 006
L3 007
L0 008
L0 009
L2 010
L0 011
L0 012
makyluat maphongban
L0 KD
L1 TC
L0 KT
L0 KH
L0 SX
III. XÂY DỰNG CÂU TRUY VẤN:
Câu 1 : Hiện tại Công ty có bao nhiêu nhân viên ?
Trả Lời :
SELECT COUNT(MANHANVIEN) AS SOLUONG
FROM NV
Câu 2 : Cho biết tổng số phòng ban ?
Trả Lời:
SELECT COUNT(MAPHONGBAN) AS SOLUONG
FROM PB
Câu 3: Liệt kê danh sách nhân viên nữ thuộc phòng kế toán?
SELECT MANHANVIEN, TENNHANVIEN, MAPHONGBAN
FROM NV
WHERE MAPHONGBAN =“ KT” AND GIOITINH = “NU”
Câu 4: Có bao nhiêu nhân viên bị kỷ luật?
Trả lời:
SELECT COUNT(MAKYLUAT) AS SOLUONG
FROM KLCT
WHERE MAKYLUAT NOT IN (‘L0’)
Câu 5: Liệt kê danh sách nhân viên được khen thưởng ?
Trả lời:
SELECT TENNHANVIEN, PHONGBAN,
CHUCVU
FROM NV, KLCT
WHERE NV.MANHANVIEN=KLCT.MANHANVIEN AND
MAKHENTHUONG NOT IN (“K0”)
Câu 6: Tìm tên nhân viên không thuộc phòng “KD”?
Trả lời:
SELECT TENNHANVIEN
FROM NV
WHERE MANHANVIEN NOT IN
( SELECT MANHANVIEN
FROM NV
WHERE MAPHONGBAN = “KD”
Câu 7: Liêt kê danh sách nhân viên bị kỷ luật ?
Trả lời:
SELECT TENNHANVIEN, MAPHONGBAN, CHUCVU
FROM NV, KLCT
WHERE NV.MANHANVIEN=KLCT.MANHANVIEN AND
MAKYLUAT NOT IN (“L0”)
Câu 8: Liệt kê danh sách nhân viên có mã phòng ban “SX” ?
Trả lời:
SELECT MANHANVIEN, TENNHANVIEN, NGAYSINH,
GIOITINH, DIACHI, MAPHONGBAN, DIENTHOAI,
CHUCVU
FROM NV
WHERE MAPHONGBAN=”SX”
Câu 9: Lập danh sách nhân viên được khen thưởng có mã khen thưởng
“K3” ?
Trả lời:
SELECT TENNHANVIEN, MAPHONGBAN,
CHUCVU
FROM NV,KTCT
WHERE NV.MANHANVIEN=KTCT.MANHANVIEN AND
MAKHENTHUONG=’K3’
Câu 10:Lập danh sách các nhân viên sống trên địa bàn thành phố Đà Nẵng ?
Trả lời:
SELECT MANHANVIEN, TENNHANVIEN, DIACHI,
SODIENTHOAI
FROM NV
WHERE DIACHI=’ Đà Nẵng’
Câu 11: Tìm nhân viên sinh ngày 30/04/1990 ?
Trả lời:
SELECT MANHANVIEN, TENNHANVIEN, NGAYSINH
FROM NV
WHERE DATE(NGAYSINH)=30 AND MONTH(NGAYSINH)=04
AND YEAR(NGAYSINH)=1990
Câu 12: Lập danh sách những người có chức vụ là nhân viên?
Trả lời:
SELECT MANHANVIEN, TENNHANVIEN, CHUCVU
FROM NV
WHERE CHUCVU=’NV’
Câu 13: Liệt kê tất cả mã khen thưởng, loại khen thưởng, mà mức khen
thưởng từ 1.500.000đ đến 2.500.000đ ?
Trả lời:
SELECT *
FROM KT
WHERE MUCKHENTHUONG BETWEEN 1.500.000Đ AND
2.500.000Đ
Câu 14: Liệt kê chi tiết tất cả các loại KL mà có hơn 2 người bị phạt?
Trả lời:
SELECT MAKYLUAT
FROM KLCT
GROUP BY MAKYLUAT
HAVING COUNT(*) > 2