a) Các quy tắc chuyển đổi từ mô hình thực thể hạn chế sang mô hình
Bước 1: Chuyển mỗi thực thể trong ER hạn chế thành các bảng quan hệ cùng tên, có thêm tên mã hoá.
Thuộc tính khoá chính, khoá ngoại của mỗi kiểu thực thể được chuyển thành thuộc tính khoá chính, khoá ngoại của bảng quan hệ (gồm tất cả các kiểu thuộc tính đã được gạch chân)
Loại bỏ các kiểu thuộc tính được kết xuất từ các thuộc tính khác trong cùng kiểu thực thể. Trong LƯƠNG NHÂN VIÊN loại bỏ: Tổng nhận, thuế thu nhập, trong TỔNG HỢP LƯƠNG loại bỏ: Thực lĩnh đơn vị, Trích BHXH, Giữ BHXH.
Kiểu thuộc tính mô tả không xuất hiện ở nhiều kiểu thực thể được chuyển thành kiểu thuộc tính mô tả của bảng quan hệ của kiểu thực thể đó. Bao gồm: Ngày đi, Ngày về, Số phiếu tạm ứng, Ngày tạm ứng, Ngày 1, 2, …, 31, Ngày công, Lương kinh doanh, Phụ cấp trách nhiệm, BHXH, Số phiếu phát lương, Ngày phát lương, Ngày công đơn vị, Được nhận_đơn vị, BHXH đơn vị, Thuế thu nhập đơn vị, Tạm ứng đơn vị, Hệ số LKDoanh, PCTN, Lương cơ bản, Lương CB, Tên nhân viên, Tạm ứng, Tên chức danh.
Đối với các thuộc tính mô tả xuất hiện ở nhiều kiểu thực thể như: PCTN, Tên đơn vị ta giữ lại trong PCTN trong HỆ SỐ LƯƠNG, giữ lại Tên đơn vị trong TỔNG HỢP LƯƠNG và thay Mã chức danh vào PCTN trong LƯƠNG NHÂN VIÊN, thay Mã đơn vị vào Tên đơn vị trong LƯƠNG NHÂN VIÊN.
Bước 2: Biểu diễn mối liên kết trong mô hình quan hệ bằng cách giữ nguyên các mối liên kết trong ER hạn chế.
Bước 3: Các bảng quan hệ cũng biểu diễn như các kiểu thực thể trong ER hạn chế, chỉ khác là tên kiểu thực thể chuyển thành tên bảng quan hệ, tên các kiểu thuộc tính của kiểu thực thể là tên các kiểu thuộc tính của bảng quan hệ.
c) Mô tả chi tiết các bảng trong mô hình quan hệ
Trong mô hình quan hệ, có tất cả 4 bảng sau:
Số hiệu bảng Tên bảng Bí danh
1 Lương nhân viên LUONGNV
2 Hệ số lương HSLUONG
3 Công tác CONGTAC
Bảng Lương nhân viên:
1. Số hiệu: 1 2. Tên bảng: Lương nhân viên
3. Bí danh: LUONGNV 4. Mô tả: Bảng này lưu trữ từng mục của nhân viên, ngày công
và lương nhân viên 5. Mô tả chi tiết cột
STT Tên cột Mô tả Kiểu dữ liệu Null
1 #MaNV Mã nhân viên Char (3)
2 TenNV Tên nhân viên nvarchar(50)
3 MaCD Mã chức danh Char(4)
4 MaDV Mã đơn vị Char(4)
5..35 N1,N2,…,N31 Ngày thứ 1,2,
…,31 Char(1)
36 Ngaycong Số ngày công
trong tháng Int(4)
37 LuongCB Lương cơ bản Real(8)
38 LuongKD Lương kinh doanh Real(8)
39 PCTN Phụ cấp trách
nhiệm Real (8)
40 BHXH Bảo hiểm xã hội Real(8)
41 SoTU Số phiếu tạm ứng Char (5)
42 NgayTU Ngày tạm ứng Datetime(8)
43 SoPL Số phiếu phát
lương Char(5)
44 NgayPL Ngày phát lương Datetime(8)
6. Khoá ngoài
Số Tên Cột khoá ngoài Quan hệ với bảng
1 MaCD MaCD HSLUONG
Bảng Hệ số lương:
1. Số hiệu:2 2. Tên bảng: Hệ số lương
3. Bí danh: HSLUONG 4. Mô tả: Bảng này lưu trữ các thông tin hệ số lương ứng với từng
chức danh 5. Mô tả chi tiết cột
STT Tên cột Mô tả Kiểu dữ liệu Null
1 #MaCD Mã chức danh Char(4)
2 TenCD Tên chức danh Nvarhar(30)
3 LCban Lương cơ bản Real(8)
4 HSLKD Hệ số lương kinh
doanh Real(8)
5 PCTN Phụ cấp trách
nhiệm Real(8)
6. Khoá ngoại: không có
Bảng Công tác:
1. Số hiệu:3 2. Tên bảng: Công tác 3. Bí danh: CONGTAC 4. Mô tả: Bảng này lưu trữ từng mục về các lần đi công tác trong tháng
của các nhân viên 5. Mô tả chi tiết cột
STT Tên cột Mô tả Kiểu dữ liệu Null
1 #SHCongTac Số hiệu công tác Char(4)
2 MaNV Mã nhân viên Char(3)
4 Ngayve
Ngày cuối cùng thời gian công tác
trong tháng
Datetime(8)
6. Khoá ngoại:
Số Tên Cột khoá ngoài Quan hệ với bảng
1 MaNV MaNV LUONGNV
Bảng Tổng hợp lương:
1. Số hiệu: 4 2. Tên bảng:
Tổng hợp lương 3. Bí danh:THLUONG 4. Mô tả: Bảng này lưu trữ các mục thông tin tổng hợp về lương các đơn vị
trong tháng của công ty 5. Mô tả chi tiết cột
STT Tên cột Mô tả Kiểu dữ liệu Null
1 #MaDV Mã đơn vị Char(4)
2 TenDV Tên đơn vị Nvarchar(30)
3 NgaycongDV Ngày công đơn vị Int(4)
4 TongnhanDV Tổng lương và thu
nhập được nhận Real(8)
5 BHXH_DV BHXH của đơn vị Real(8)
6 TTN_DV Tổng thuế thu
nhập của đơn vị Real(8)
7 TamungDV
Tổng lương nhân viên công ty tạm
ứng trước
Real(8)
6. Khoá ngoại: không có
Từ việc phân tích dữ liệu kể trên ta được mô hình dữ liệu quan hệ có tính hợp lý cao, thuận tiện cho việc thiết kế dữ liệu và kiểm soát hệ thống.
KẾT LUẬN
Bài tập trên chưa là một phân tích thiết kế đầy đủ, nó còn thiếu phần Thiết kế hệ thống mới có thể hoàn chỉnh
Phần thiết kế hệ thống gồm có các phần sau:
• Thiết kế tổng thể ( phân định các hệ con, phân định công việc giữa người và máy, vẽ DFD hệ thống)
• Thiết kế giao diện ( thiết kế menu chương trình, thiết kế form nhập, báo cáo)
• Thiết kế kiểm soát ( xác định nhu cầu bảo mật của hệ thống, phân định các nhóm người dùng, phân định quyền hạn cho các nhóm người dùng)
• Thiết kế Cơ sở dữ liệu vật lý ( Xác định các thuộc tính tình huống, Xác định các bảng dữ liệu phục vụ cho nhu cầu bảo mật, mô hình dữ liệu hệ thống, mô tả chi tiết các bảng trong cơ sở dữ liệu ).