Sau bước phân tích chức năng hệ thống, chúng ta thu được Sơ đồ phân rã chức năng BFD và sơ đồ luồng dữ liệu của hệ thống DFD. BFD cho ta một cách nhìn tổng quát, từ đại thể đến chi tiết. Nhìn vào BFD của hệ thống quản lý lương nhân viên, chúng ta thấy hệ thống này được phân cấp chức năng tới mức 2, bao gồm 9 chức năng chi tiết, thuộc 3 nhóm chức năng Chấm công, Tính lương, và Quản lý tiền. Phạm vi của hệ thống là quản lý toàn bộ lương nhân viên. Trong khi đó, DFD cho ta mối liên hệ giữa các chức năng với những thông tin mà chúng sử dụng. Qua đó, chúng ta có thể xác định được hệ thống tương tác với những tác nhân ngoài nào, để thực hiện được 1 chức năng thì đòi hỏi phải có những thông tin gì trong đó.
Chương III: Phân tích hệ thống về dữ liệu
I. Mô hình thực thể liên kết mở rộng
a. Xác định kiểu thực thể, kiểu thuộc tính
Căn cứ vào khảo sát chi tiết của hệ thống, ta thấy có nguồn thông tin về tài nguyên là nhân viên; các thông tin giao dịch như: Thẻ nhân viên, Giấy đề nghị tạm ứng, Phiếu tạm ứng, Phiếu phát lương; nguồn thông tin tổng hợp (đồng thời cũng là các mẫu biểu của hệ thống) như: Thống kê tổng hợp lương công ty, Bảng tính lương, Bảng chấm công, Thống kê tổng hợp ngày công đơn vị.
Từ các nguồn thông tin này kết hợp với việc rà soát lại các danh từ trong hồ sơ khảo sát, ta xác định được 11 kiểu thực thể với các kiểu thuộc tính đi kèm như sau:
Tên kiểu thực thể Tên kiểu thuộc tính
1. Nhân viên Mã nhân viên, Tên nhân viên, Mã chức danh, Mã đơn vị
2. Chấm công Mã nhân viên, Tên nhân viên, N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12, N13, N14, N15,
N16, N17, N18, N19, N20, N21, N22, N23, N24, N25, N26, N27, N28, N29, N30, N31, (N : Ngày công)
3. Công tác Số hiệu công tác, Mã nhân viên, Ngày đi, Ngày về 4. Phiếu tạm ứng Số phiếu Tạm ứng , Tên nhân viên,
Tên đơn vị, Tạm ứng, Ngày tạm ứng
5. Phiếu lương Số phiếu Phiếu lương, Tên nhân viên, Tên đơn vị, Ngày Phát lương
6. Lương nhân viên
Mã nhân viên, Ngày công, Lương Cơ bản, Lương Kinh doanh, Phụ cấp trách nhiệm, Tổng nhận, BHXH, Thuế thu nhập, Tạm ứng , Thực lĩnh
7. Chức danh Mã chức danh, Tên chức danh
8. Hệ số lương Mã chức danh, Lương cơ bản, Hệ số lương kinh doanh, Phụ cấp trách nhiệm
9. Đơn vị Mã đơn vị, Tên đơn vị 10. Tổng hợp ngày
công Mã đơn vị, Ngày công đơn vị 11. 11. Tổng hợp lương
Mã đơn vị, 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ị, , Thực lĩnh đơn vị
b. Xác định kiểu liên kết
Giữa các kiểu thực thể đã xác định ở trên ta xác định được các kiểu liên kết có ích cho quản lý hệ thống bằng cách
• Duyệt lại quá trình giao dịch.
• Gạch chân các động từ diễn tả mối liên hệ giữa các dữ liệu trong hệ thống.
Kết quả cho ta thấy được mối liên hệ giữa các kiểu thực thể trong hệ thống, đồng thời cũng đặt được tên cho kiểu liên kết giữa các thực thể đó:
• Lưu: Nhân viên -- Công tác
• Có: Nhân viên -- Lương nhân viên
• Có: Nhân viên -- Phiếu tạm ứng
• Nhận: Nhân viên -- Phiếu lương
• Có: Nhân viên -- Chức danh
• Có: Chức danh-- Hệ số lương
• Mô tả: Tổng hợp lương -- Đơn vị
• Mô tả: Tổng hợp ngày công -- Đơn vị
• Thuộc: Nhân viên -- Đơn vị
c. Định nghĩa ký hiệu sử dụng trong ER mở rộng:
+ Hình chữ nhật ngăn thành 2 phần biểu diễn kiểu thực thể. Trong đó, phần đầu chứa tên của kiểu thực thể, phần sau chứa tên của các kiểu thuộc tính.
+ Hình thoi có chữ ở trong thể hiện tên của kiểu liên kết
+ Đoạn thẳng nối giữa hai kiểu thực thể thông qua hình thoi thể hiện mối liên kết giữa hai thực thể đó. Trên mỗi đầu nối với thực thể biểu diễn lực lượng tối đa và tối thiểu của liên kết.
Max = n, Min = 1 Max = 1, Min = 1 Max = 1, Min = 0
II. Chuyển đổi từ mô hình thực thể mở rộng sang mô hình thực thể kinh điển kinh điển
a) Các quy tắc chuyển đổi từ mô hình thực thể mở rộng sang mô hình thực thể kinh điển áp dụng trong bài toán (chi tiết từng bước chuyển)
Nhận xét: Trong mô hình ER mở rộng, không có vi phạm ràng buộc nào của ER kinh điển, cho nên mô hình ER mở rộng lúc này cũng chính là mô hình ER kinh điển. Ta xác định kiểu thuộc tính khoá chính, khoá ngoại và kiểu thuộc tính mô tả cho ER kinh điển.
Khoá chính: chữ thẳng đứng, có gạch chân Khoá ngoại: chữ nghiêng, có gạch chân
Kiểu thuộc tính mô tả: là các kiểu thuộc tính còn lại
III.Chuyển đổi từ mô hình thực thể kinh điển sang mô hình thực thể hạn chế thể hạn chế
a) Các quy tắc chuyển đổi từ mô hình thực thể kinh điển sang mô hình thực thể hạn chế áp dụng trong bài toán (chi tiết từng bước chuyển)
Trước hết, áp dụng qui tắc 5 đối với những kiểu thực thể có liên kết 1 – 1 với nhau ta trộn các kiểu thực thể đó với nhau được thực thể mới và xác định kiểu thuộc tính khoá, thuộc tính kết nối cho kiểu thực thể này. Trong mô hình ER kinh điển, ta trộn các kiểu thực thể NHÂN VIÊN, LƯƠNG NHÂN VIÊN, CHẤM CÔNG, PHIẾU LƯƠNG, PHIẾU TẠM ỨNG với nhau thành kiểu thực thể LƯƠNG NHÂN VIÊN có Mã nhân viên làm khoá.
Trộn các kiểu thực thể CHỨC DANH và HỆ SỐ LƯƠNG với nhau ta được kiểu thực thể HỆ SỐ LƯƠNG, trong đó lấy Mã chức danh làm khoá.
Trộn các kiểu thực thể ĐƠN VỊ, TỔNG HỢP LƯƠNG, TỔNG HỢP NGÀY CÔNG lại với nhau ta được kiểu thực thể TỔNG HỢP LƯƠNG, trong đó Mã đơn vị là khoá.
Đồng thời ta xác định được trong LƯƠNG NHÂN VIÊN lúc này có 2 kiểu thuộc tính khoá ngoại đó là Mã chức danh và Mã đơn vị. Trong CÔNG TÁC ta xác định được Mã nhân viên là kiểu thuộc tính khoá ngoại.
Sau khi trộn, ta xác định lại mối liên kết giữa các kiểu thực thể mới căn cứ vào các mối liên kết cũ. Kết quả là giữa các kiểu thực thể mới này chỉ còn tồn tại một kiểu liên kết 1 – n. Như vậy, mô hình thực thể liên kết thu được lúc này chính là ER hạn chế.
Các kiểu thực thể sau khi trộn và xác định kiểu thuộc tính khoá, kiểu thuộc tính kết nối:
1) Hình chữ nhật ngăn làm 2 phần biểu diễn kiểu thực thể. Phần trên ghi tên kiểu thực thể, phần dưới liệt kê các kiểu thuộc tính của kiểu thực thể đó. Các kiểu thuộc tính khoá được in thẳng, gạch chân ở dưới. Các kiểu thuộc tính kết nối được in nghiêng, gạch chân. Ví dụ:
2) Các liên kết:
Liên kết 1-n:
IV.Chuyển đổi từ mô hình thực thể hạn chế sang mô hình quan hệa) Các quy tắc chuyển đổi từ mô hình thực thể hạn chế sang mô hình 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 ).