CHƯƠNG 1: ĐẶT BÀI TOÁN Hoạt động quản lý nhân sự của công ty được mô tả như sau: 1.1 Quản lý nhân viên Một công ty có nhiều nhân viên làm việc. Mỗi nhân viên có 1 mã duy nhất. Thông tin về lý lịch nhân viên bao gồm: họ tên nhân viên, ngày sinh, giới tính, địa chỉ, số điên thoại Nhân viên có thông tin về trình độ học vấn và chuyên môn, gồm: mã trình độ, tên trình độ Nhân viên làm việc tại các phòng ban của công ty. Nhân viên có thể đảm nhận những vị trí, chức vụ khác nhau trong công ty. Mỗi một chức vụ có một mã duy nhất kèm theo tên có thể đảm nhận bởi nhiều nhân viên 1.2 Quản lý phòng ban Công ty có nhiều phòng ban khác nhau. Mỗi phòng ban có nhiều nhân viên cùng làm việc và mỗi nhận viên chỉ được làm việc tại một phòng ban. Mỗi phòng ban có một mã phòng, tên phòng và số điện thoại liên hệ. 1.3 Quản lý lương Nhân viên làm việc được nhận lương hàng tháng. Lương gồm: mã lương, lương cơ bản, hệ số lương. Ngoài ra công ty còn có các chính sách lương cho nhân viên. Nếu trong quá trình làm việc tại công ty, nhân viên có thành tích, làm việc chăm chỉ và nhiều đóng góp thì công ty sẽ tăng lương: lương tăng ca, thưởng, phụ cấp,.. Nếu nhân viên vi phạm nội quy của công ty và phòng ban làm việc sẽ bị nhắc nhở, kiểm điểm và phạt, trừ lương 1.4 Quản lý dự án Mỗi dự án có mã duy nhất và tên, do một phòng ban phụ trách. Nhân viên được tham gia các dự án do phòng ban mình triển khai
Trang 1CHƯƠNG 1: ĐẶT BÀI TOÁN
Hoạt động quản lý nhân sự của công ty được mô tả như sau:
1.1 Quản lý nhân viên
Một công ty có nhiều nhân viên làm việc Mỗi nhân viên có 1 mã duy nhất Thông tin
về lý lịch nhân viên bao gồm: họ tên nhân viên, ngày sinh, giới tính, địa chỉ, số điên thoại
Nhân viên có thông tin về trình độ học vấn và chuyên môn, gồm: mã trình độ, tên trình độ
Nhân viên làm việc tại các phòng ban của công ty Nhân viên có thể đảm nhận những
vị trí, chức vụ khác nhau trong công ty Mỗi một chức vụ có một mã duy nhất kèm theo tên có thể đảm nhận bởi nhiều nhân viên
1.2 Quản lý phòng ban
Công ty có nhiều phòng ban khác nhau Mỗi phòng ban có nhiều nhân viên cùng làm việc và mỗi nhận viên chỉ được làm việc tại một phòng ban
Mỗi phòng ban có một mã phòng, tên phòng và số điện thoại liên hệ
1.3 Quản lý lương
Nhân viên làm việc được nhận lương hàng tháng Lương gồm: mã lương, lương cơ bản, hệ số lương
Ngoài ra công ty còn có các chính sách lương cho nhân viên Nếu trong quá trình làm việc tại công ty, nhân viên có thành tích, làm việc chăm chỉ và nhiều đóng góp thì công
ty sẽ tăng lương: lương tăng ca, thưởng, phụ cấp, Nếu nhân viên vi phạm nội quy của công ty và phòng ban làm việc sẽ bị nhắc nhở, kiểm điểm và phạt, trừ lương
1.4 Quản lý dự án
Mỗi dự án có mã duy nhất và tên, do một phòng ban phụ trách Nhân viên được tham gia các dự án do phòng ban mình triển khai
CHƯƠNG 2:
1
Trang 2XÂY DỰNG MÔ HÌNH THỰC THỂ LIÊN KẾT
2.1 Xác định các thuộc thể
NhanVien, PhongBan, ChucVu, TrinhDo, Luong, DuAn
2.2 Xác định các thuộc tính cho thực thể
NhanVien( MaNV, Hoten, Ngaysinh, Gioitinh, Diachi, SDT )
PhongBan( MaPB, TenPB, SDT)
ChucVu( MaCV, TenCV)
TrinhDo(MaTDHV, TenTDHV)
Luong( MaLuong, HSLuong, LuongCB, Phucap)
DuAn( MaDA, TenDA)
2.3 Xác đinh mối quan hệ giữa các thuộc tính
Quan hệ một-nhiều (1-n hay n-1):
n 1
Quan hệ nhiều- nhiều(n-n):
Luong Huong
NhanVien
PhongBan
Trang 3n n n
2.4 Vẽ mô hình thực thể liên kết ER
3
DuAn ThamGia
NhanVien
ChucVu DamNhiem
NhạnVien
Trang 41 n n 1
n n
1
CHƯƠNG 3:
Ma Luong
SDT
PhuCap
HS Luong
Luong CB
Diac hi
Gioi
MaPB
SDT
Ngaysinh
NhanVien
ChucVu DuAn
TrinhDo
MaCV TenCV
Ten TDHV
Trang 5CHUYỂN MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH
QUAN HỆ
Mối quan hệ một- nhiều:
Quy tắc : Thêm vào quan hệ một thuộc tính khóa của quan hệ nhiều
NhanVien- Lamviec- PhongBan: Thêm khóa “MaPB” vào thực thể
Nhanvien
NhanVien( MaNV, Hoten, Ngaysinh, Gioitinh, Diachi, SDT, MaPB)
NhanVien –Huong- Luong: Thêm thuộc tính khóa “MaLuong” vào
thực thể Nhanvien
5
Ngay sinh
Hoten MaPB
Diachi
SDT
NhanVien
Lamviec
PhongBan
MaNV
Trang 6NhanVien( MaNV, Hoten, Ngaysinh, Gioitinh, Diachi, SDT, MaLuong)
PhongBan- Quanly- DuAn: Thêm thuộc tính khóa “MaPB” vào thực
thể Duan
DuAn(MaDA, TenDA, MaPB)
NhanVien – Co – TrinhDo: Thêm thuộc tính khóa “MaTDHV” vào
thực thể Nhanvien
Ngays inh
MaLuong
Luong
CB
Hoten
HSPhucap
Gioi tinh SDT
Diac hi HS
Luong
Luong
MaPB
PhongBan
MaDA
TenDA SDT
TenPB
DuAn Quanly
Trang 7n 1
NhanVien( MaNV, Hoten, Ngaysinh, Gioitinh, Diachi, SDT, MaTDHV )
Mối quan hệ nhiều – nhiều:
Quy tắc: Tạo một quan hệ mới có:
+ Tên quan hệ là tên mối quan hệ + Thuộc tính là những thuộc tính khóa của các tập thực thể liên quan
NhanVien – ThamGia – DuAn:
Cách chuyển:
+ Tạo quan hệ mới: ThamGia + Thêm thuộc tính khóa “MaNV” và “MaDA” vào quan hệ Thamgia
7
Ngay
Diac
hi
SDT
Hoten
Co
MaNV
Diac
hi
TenDA MaDA
Trang 8n n
ThamGia ( MaNV,MaDA)
NhanVien – DamNhiem – ChucVu
Cách chuyển:
+ Tạo quan hệ mới : DamNhiem
+ Thêm thuộc tính khóa “MaNV”, “MaCV” vào quan hệ Damnhiem
DamNhiem ( MaNV, MaCV)
4.2 Mối quan hệ giữa các bảng
Gioi tinh
Ngay
sinh
SDT
Hoten
ThamGia
Ngay
MaNV
Diac
hi
DamNhiem
SDT
ChucVu NhanVien
Trang 9CHƯƠNG 5:
TRUY VẤN TRÊN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
9
Trang 105.1 Đưa ra tên nhân viên có giới tính là “Nữ”, có chữ “a” trong họ tên và là
“ Nhân Viên”
SELECT NhanVien.HoTen, NhanVien.GioiTinh, ChucVu.TenCV
FROM NhanVien, ChucVu, DamNhiem
WHERE ((NhanVien.HoTen) Like "%a%") AND ((NhanVien.GioiTinh)="Nữ")
AND ((ChucVu.TenCV)="Nhân Viên")) AND (ChucVu.MaCV =
DamNhiem.MaCV, NhanVien.MaNV = DamNhiem.MaNV);
π HoTen ( σ Gioitinh=”Nữ”˄ HoTen=”%a%” ( σ TenCV=”Nhân Viên” (DamNhiem⋈ChucVu))(NhanVien))
5.2 Đưa ra danh sách nhân viên làm dự án số 3.
Trang 11SELECT NhanVien.MaNV, NhanVien.HoTen, PhongBan.MaPB,
DuAn.MaDA
FROM PhongBan, NhanVien, DuAn
WHERE ((DuAn.MaDA)=3) AND (PhongBan.MaPB = NhanVien.MaPB,
PhongBan.MaPB = DuAn.MaPB);
π MaNV, HoTen ( σ MaDA=3 (PhongBan⨝DuAn)(NhanVien))
5.3 Đưa ra thông tin của phòng ban có trên 3 nhân viên
11
Trang 12SELECT PhongBan.MaPB, PhongBan.TenPB, PhongBan.SDT,
Count(NhanVien.MaNV) AS SL_NV
FROM PhongBan, NhanVien
GROUP BY PhongBan.MaPB, PhongBan.TenPB, PhongBan.SDT
HAVING ((Count(NhanVien.MaNV))>3) AND (PhongBan.MaPB =
NhanVien.MaPB);
ĐSQH
π MaPB,TenPB,SDT ( σ count(NhanVien)>3 ( MaPB,TenPB,SDT F count(NhanVien) (PhongBan⨝NhanVien)))
5.4 Thống kê số nhân viên có trình độ học vấn “Tốt Nghiệp Trung Học Phổ
Thông” của mỗi phòng ban
Trang 13 ĐSQH
MaPB ℑSUM ( MaTDHV =7)( ( TrinhDo ∞ NhanVien)∞ PhongBan)
SELECT PhongBan.MaPB, PhongBan.TenPB, Count(NhanVien.MaNV) AS
SLNVTTC3
FROM TrinhDo INNER JOIN (PhongBan INNER JOIN NhanVien ON
PhongBan.MaPB = NhanVien.MaPB) ON TrinhDo.MaTDHV =
NhanVien.MaTDHV
GROUP BY PhongBan.MaPB, PhongBan.TenPB, TrinhDo.MaTDHV
HAVING (((TrinhDo.MaTDHV)=7));
5.5 Đưa ra họ tên, trình độ học vấn, SĐT, địa chỉ và hệ số lương của trưởng mỗi
phòng ban.
ĐSQH
∏HoTen,TenTDHV ,SDT ,DiaChi , HSLuong( σMaCV=3)(((( PhongBan∞ NhanVien)∞DamNhiem )∞ Luong)∞TrinhDo)
13
Trang 14 SQL
SELECT PhongBan.TenPB, NhanVien.HoTen, TrinhDo.TenTDHV,
NhanVien.SDT, NhanVien.DiaChi, Luong.HSLuong
FROM TrinhDo INNER JOIN (PhongBan INNER JOIN ((Luong INNER JOIN
NhanVien ON Luong.MaLuong = NhanVien.MaLuong) INNER JOIN
DamNhiem ON NhanVien.MaNV = DamNhiem.MaNV) ON PhongBan.MaPB
= NhanVien.MaPB) ON TrinhDo.MaTDHV = NhanVien.MaTDHV
GROUP BY PhongBan.TenPB, NhanVien.HoTen, TrinhDo.TenTDHV,
NhanVien.SDT, DamNhiem.MaCV, NhanVien.DiaChi, Luong.HSLuong
HAVING (((DamNhiem.MaCV)=3));
5.6 Đưa ra thông tin của những phòng ban có mức lương cơ bản trung bình của nhân viên > 8 000 000.
σ Avg( LuongCB )>8000000 ( NhanVien∞ PhongBan )
Trang 15 SQL
SELECT PhongBan.MaPB, PhongBan.TenPB, PhongBan.SDT
FROM PhongBan INNER JOIN (Luong INNER JOIN NhanVien ON
Luong.MaLuong = NhanVien.MaLuong)
ON PhongBan.MaPB = NhanVien.MaPB
GROUP BY PhongBan.MaPB, PhongBan.TenPB, PhongBan.SDT
HAVING (((Avg(Luong.LuongCB))>8000000));
15