Bài giảng Phân tích thiết kế thành phần dữ liệu
Mô hình quan niệm dữ liệu và mô hình tổ chức dữ liệu (mô hình quan hệ) của ứng dụng quản lý ấn phẩm tại Sở văn hóa thông tin TP. HCM.
Bạn đang xem trước 20 trang tài liệu Bài giảng Phân tích thiết kế thành phần dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1PHÂN TÍCH THIẾT KẾ
HỆ THỐNG THÔNG TIN
Giảng viên: ThS. Nguyễn Đình Loan Phương
Email: phuongndl@uit.edu.vn
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – KHOA HTTT
2Chương 3
PHÂN TÍCH THIẾT KẾ
THÀNH PHẦN DỮ LIỆU
__
MÔ HÌNH HÓA DỮ LIỆU
MỨC QUAN NIỆM
3Mục tiêu
• Hiểu các khái niệm trong việc mô hình hóa dữ liệu ở mức quan
niệm: mô hình quan niệm dữ liệu (conceptual data model), mô
hình thực thể - mối kết hợp (entity-relationship diagram), loại
thực thể (entity type), thể hiện thực thể (entity instance), thuộc
tính (attribute), khóa dự tuyển (candidate key), thuộc tính đa
trị (multivalued attribute), mối kết hợp (relationship), số ngôi
của mối kết hợp (degree), bản số của mối kết hợp
(cardinality), loại thực thể kết hợp (associative entity)
• Biết các loại câu hỏi để xác định dữ liệu yêu cầu cho một hệ
thống thông tin (information system)
• Vẽ được mô hình thực thể - mối kết hợp
• Hiểu vai trò của việc mô hình hóa dữ liệu trong giai đoạn phân
tích (analysis) và thiết kế (design) một hệ thống thông tin
• Phân biệt được các thành phần trong mô hình thực thể kết hợp
• Nắm rõ quy tắc và các bước xây dựng mô hình thực thể kết
hợp
4Thế giới quan
HTTT cần tin học hóa
Thành phần dữ liệu
Tìm hiểu và mô
hình hóa
Các mô hình thiết kế
Nhóm chuyên gia phân
tích thiết kế
Nhóm lập trình
Cài đặt thành phần
dữ liệu dựa vào các
mô hình đã thiết kế
Hệ quản trị CSDL
CSDL của HTTT cần tin
học hóa
5Mô hình hóa dữ liệu mức quan niệm
Khái niệm về thành phần dữ liệu mức quan
niệm
• Mô hình thực thể - kết hợp (ER)
• Mô hình thực thể - kết hợp mở rộng
• Các bước xây dựng mô hình ER
• Các phương pháp phân tích dữ liệu
• Các quy tắc mô hình hóa dữ liệu
• Một số vấn đề thường gặp
6Khái niệm về TPDL mức quan niệm
• Dữ liệu là tập hợp các ký hiệu xây dựng nên những thông tin
phản ánh các mặt của tổ chức, là thành phần quan trọng chủ
yếu của HTTT. Để thông tin phản ánh chính xác, đầy đủ và
kịp thời các khía cạnh dữ liệu, cần phải nghiên cứu cách thức,
phương pháp nhằm nhận biết, tổ chức, lưu trữ dữ liệu nhằm xử
lý và khai thác hiệu quả nhất
• Mô hình dữ liệu là tập hợp các khái niệm dùng để diễn tả tập
các đối tượng dữ liệu cũng như những mối quan hệ giữa chúng
trong hệ thống thông tin cần tin học hóa. Nó được xem là cầu
nối giữa thế giới thực với mô hình cơ sở dữ liệu bên trong
máy tính. Khi một mô hình dữ liệu mô tả một tập hợp các khái
niệm từ thế giới thực, ta gọi đó là mô hình quan niệm dữ liệu.
7Các loại câu hỏi thường dùng
Loại câu hỏi Câu hỏi người dùng hệ thống (System Users) và người quản lý doanh
nghiệp (Business Managers)
1. Thực thể dữ liệu
(Data entities)
Doanh nghiệp cần lưu trữ dữ liệu gì? (dữ liệu về con người (people),
nguyên vật liệu (material), …). Số lượng dữ liệu cần lưu trữ là bao
nhiêu?
2. Khóa dự tuyển
(Candidate key)
Nét đặc trưng (characteristic) duy nhất phân biệt giữa đối tượng này và
đối tượng khác trong cùng một loại là gì? Đặc trưng này có thay đổi theo
thời gian và có bị mất đi khi đối tượng vẫn còn tồn tại hay không?
3. Thuộc tính
(Attributes)
Những nét đặc trưng cơ bản của đối tượng là gì?
4. Bảo mật
(Security control)
Người dùng thực hiện những thao tác gì trên dữ liệu? (thao tác
thêm/xóa/sửa dữ liệu)? Những ai được quyền sử dụng dữ liệu? Ai có vai
trò thiết lập các giá trị hợp lệ cho dữ liệu?
5. Mối quan hệ (Rlationships),
bản số (cardinality) và số ngôi
(degrees)
Các đối tượng có mối quan hệ với nhau như thế nào?
6. Ràng buộc toàn vẹn
(Integrity rules), bản số tối
thiểu và bản số tối đa (minimum
and maximum cardinality)
Người dùng có những quy định, điều kiện ràng buộc gì trên dữ liệu?
8Mô hình hóa dữ liệu mức quan niệm
• Khái niệm về thành phần dữ liệu mức quan
niệm
Mô hình thực thể - kết hợp (ER)
• Mô hình thực thể - kết hợp mở rộng
• Các bước xây dựng mô hình ER
• Các phương pháp phân tích dữ liệu
• Các quy tắc mô hình hóa dữ liệu
• Một số vấn đề thường gặp
9Mô hình thực thể - kết hợp (ER)
• Giới thiệu
• Thực thể, thể hiện của thực thể
• Thuộc tính của thực thể
• Khoá của thực thể
• Mối kết hợp, thể hiện của mối kết hợp
• Thuộc tính của mối kết hợp
• Bản số
10
Giới thiệu
• Mô hình thực thể kết hợp (Entity-Relationship
Model viết tắc ER) được CHEN giới thiệu năm
1976.
• Mô hình ER được sử dụng nhiều trong thiết kế
dữ liệu ở mức quan niệm.
11
Thực thể
• Định nghĩa: Thực thể (Entity Type) biểu diễn
lớp các đối tượng hay sự vật của thế giới thực
tồn tại cụ thể cần được quản lý.
• Ví dụ : SINHVIEN, LOP, MONHOC, …
• Ký hiệu:
• Tên thực thể: danh từ, cụm danh từ
Ví dụ:
TÊN THỰC THỂ
LOPSINHVIEN
12
Thực thể - Loại thực thể
• Sự khác biệt quan trọng giữa loại thực thể
(entity types) và thể hiện thực thể (entity
instances).
• Loại thực thể là một tập các thực thể chia sẻ
các thuộc tính (properties) hoặc các đặc tính
(characteristics) chung.
• Mỗi loại thực thể trong mô hình thực thể - kết
hợp (ER) có một tên, đại diện cho một tập thực
thể.
13
Thể hiện của thực thể
• Định nghĩa: là một đối tượng cụ thể của một
thực thể.
• Mỗi loại thực thể có nhiều thể hiện thực thể
được lưu trữ trong cơ sở dữ liệu
• Ví dụ: Thực thể SINHVIEN có các thể hiện:
– (‘SV001’, ‘Nguyen Nam’, ‘1/2/1987’,’Nam’)
– (‘SV002’, ‘Trần Nam’, ‘13/2/1987’, ‘Nam’)
14
Thuộc tính của thực thể
• Định nghĩa: thuộc tính là những tính chất đặc trưng
của thực thể cần lưu trữ.
• Ví dụ: Thực thể SINHVIEN có các thuộc tính: Mã
sinh viên, họ tên, giới tính, ngày sinh, nơi sinh
• Ký hiệu:
SINHVIEN
Hoten
Gioitinh
MaSV
Ngaysinh
Noisinh
15
Các loại thuộc tính
• Đơn trị (Simple): mỗi thực thể chỉ có một giá trị ứng với các
thuộc tính.
Ví dụ: MaSV,TenSV
• Đa hợp (Composite): thuộc tính có thể được tạo thành từ nhiều
thành phần.
Ví dụ: DCHI(SONHA,DUONG,PHUONG,QUAN)
hay thuộc tính HOTEN(HO,TENLOT,TEN).
• Đa trị (Multi-valued): thuộc tính có thể có nhiều giá trị đối với
một thực thể.
Ví dụ: BANGCAP ký hiệu {BANGCAP}
16
Các loại thuộc tính
• Tóm lại, các thuộc tính đa hợp và đa trị có thể
lồng nhau tùy ý.
– Ví dụ: thuộc tính BANGCAP của HOCVIEN là
một thuộc tính đa hợp được ký hiệu bằng
{BANGCAP(TRUONGCAP,NAM,KETQUA,
CHUYENNGANH)}
17
Khóa của thực thể
• Khóa của thực thể là tập thuộc tính nhận diện thực
thể.
• Căn cứ vào giá trị của khóa có thể xác định duy nhất
một đối tượng cụ thể (thể hiện).
• Ký hiệu:
Khóa có 1 thuộc tính Khóa có nhiều thuộc tính
• Ví dụ:
– Mỗi sinh viên có một mã số duy nhất => Khoá của thực thể
SINHVIEN là Mã sinh viên
MaSV
SINHVIEN
Hoten
Gioitinh
Ngaysinh
Noisinh
18
• Định nghĩa: mối kết hợp là sự kết hợp giữa
hai hay nhiều thực thể
• Ví dụ: giữa hai thực thể HOCVIEN và LOP có
mối kết hợp THUOC
• Tên mối kết hợp: là động từ hoặc cụm động từ
• Ký hiệu: bằng một hình oval hoặc hình thoi
Mối kết hợp
HOCVIEN LOPThuộc
19
Mối kết hợp
• Giữa hai thực thể có thể tồn tại nhiều hơn một
mối kết hợp.
• Ví dụ
HOCVIEN LOP
Thuộc
Là lớp trưởng
20
Thể hiện của mối kết hợp
GIÁO VIÊN MÔN HỌC
(1,n) (0,n)
Giảng
dạy
g1
g2
m1
m2
m3
Không hợp lệ do
trùng lắp
Là tập hợp không trùng lắp các thể hiện của các thực thể
tham gia vào mối kết hợp đó.
21
Số ngôi của mối kết hợp
• Số ngôi của mối kết hợp là số thực thể tham
gia vào mối kết hợp đó.
• Ví dụ 1: Mối kết hợp Thuộc kết hợp 2 thực
thể HOCVIEN và LOP nên có số ngôi là 2
=> đây còn gọi là mối kết hợp nhị phân
• Ví dụ 2: Mối kết hợp Giảng dạy kết hợp 3
thực thể GIAOVIEN, MONHOC, LOP nên có
số ngôi là 3
=> đây còn gọi là mối kết hợp đa phân
22
Số ngôi của mối kết hợp
HOCVIEN LOPLOP MONHOC
GIAOVIEN
Giảng dạy
23
Thuộc tính của mối kết hợp
• Thuộc tính của mối kết hợp bao gồm các thuộc tính
khoá của các thực thể tham gia vào mối kết hợp đó.
Ngoài ra còn có thể có thêm những thuộc tính bổ
sung khác.
• Ví dụ: Mối kết hợp Giảng dạy giữa ba thực thể
GIAOVIEN, MONHOC và LOP có các thuộc tính là
Magv,Mamh,Malop, ngoài ra còn có thuộc tính riêng
là Hocky, Nam
24
Thuộc tính của mối kết hợp
LOP MONHOC
GIAOVIEN
Hocky
Nam
Giảng dạy
25
Bản số
• Mối kết hợp thể hiện liên kết giữa các thực thể, mỗi
liên kết được gọi là một nhánh.
• Định nghĩa: bản số của nhánh là số lượng tối thiểu
và số lượng tối đa các thể hiện mà một đối tượng cụ
thể của thực thể thuộc nhánh đó tham gia vào mối
kết hợp.
• Ký hiệu: (bản số tối thiểu, bản số tối đa)
• Ví dụ: Thực thể Hocvien và Lop có mối kết hợp
Thuoc.
26
Bản số
HOCVIEN LOP
(1,1) (1,n)
Thuộc
27
Bản số
HOCVIEN LOP
(1,1) (1,n)
(0,1) (1,1)
Thuộc
Là lớp trưởng
28
Bài tập - Xây dựng mô hình ER
• Xây dựng mô hình ER cho CSDL quản lý giáo
vụ gồm có các chức năng sau:
– Lưu trữ thông tin: Sinh viên , giáo viên, môn học,
lớp học
– Xếp lớp cho sinh viên, chọn lớp trưởng cho lớp
– Phân công giảng dạy: giáo viên dạy lớp nào với
môn học gì, ở học kỳ, năm học nào.
– Lưu trữ kết quả thi: học viên thi môn học nào, lần
thi thứ mấy, điểm thi bao nhiêu.
29
Mô hình hóa dữ liệu mức quan niệm
• Khái niệm về thành phần dữ liệu mức quan
niệm
• Mô hình thực thể - kết hợp (ER)
Mô hình thực thể - kết hợp mở rộng
• Các bước xây dựng mô hình ER
• Các phương pháp phân tích dữ liệu
• Các quy tắc mô hình hóa dữ liệu
• Một số vấn đề thường gặp
30
Mô hình ER mở rộng
• Thực thể yếu
• Mối kết hợp đệ quy
• Mối kết hợp mở rộng
• Cấu trúc phân cấp - Chuyên biệt hoá / Tổng
quát hóa
31
• Định nghĩa:
– Là thực thể không có thuộc tính khóa
– Phải tham gia trong một mối kết hợp xác định
trong đó có một thực thể chủ.
• Ký hiệu:
• Ví dụ: thực thể LYLICH tham gia trong mối kết
hợp Co với thực thể SINHVIEN là thực thể yếu.
Thực thể
Thực thể yếu
32
Thực thể yếu
SINHVIEN LYLICH
(1,1) (1,1)
Co
33
Mối kết hợp đệ quy
• Định nghĩa: là mối kết hợp được tạo thành từ cùng
một thực thể (hay một thực thể có mối kết hợp với
chính nó)
• Ví dụ: Mỗi nhân viên có một người quản lý trực tiếp
và người quản lý đó cũng là một nhân viên
NHANVIEN
(0,n)
(0,1)
QuanLy
34
Mối kết hợp mở rộng
• Là mối kết hợp định nghĩa trên ít nhất một mối
kết hợp khác
E1 E2
R1
R2 E3
E1 E2
R1
R2 E3E4
R3
Mối kết hợp mở rộng
Cung định hướng:
cho biết R2 định
nghĩa trên R1
35
Ví dụ -Mối kết hợp mở rộng
• Mở rộng mô hình ER cho CSDL quản lý giáo vụ gồm
có các chức năng sau:
– Lưu trữ thông tin: Sinh viên , giáo viên, môn học, lớp học,
học kỳ
– Xếp lớp cho sinh viên, chọn lớp trưởng cho lớp
– Lập danh sách các môn học được mở cho một lớp trong
một học kỳ
– Phân công giảng dạy: những môn học được mở cho giáo
viên
– Lưu trữ thông tin đăng ký môn học của sinh viên trên môn
học được mở
– Lưu trữ kết quả học tập: sinh viên thi môn học nào đã đăng
ký, điểm thi bao nhiêu.
36
Ví dụ -Mối kết hợp mở rộng
MỞ
MH
(0,n)
(0,n)
(0,n)
(0,n)
ĐĂNG
KÝ
Điểm
(0,n)
PHÂN
CÔNG(0,n)
(0,n)
MÔN HỌC SINH VIÊN
LỚP
GIÁO VIÊN
HỌC KỲ
Mã MH
Tên MH
Mã SV
Số học
phần
Tên sinh
viên
Địa chỉ
Mã lớp
Tên lớp
Sĩ số
Niên học
Học kỳ
Ngày bắt đầu Ngày kết thúc
Mã GV
Tên GV
37
Cấu trúc phân cấp
• E là một tổng quát hóa của một nhóm các thực
thể E1, E2,..., En nếu mỗi đối tượng của lớp
E1, E2,..., En cũng là đối tượng của lớp E
E
E1 E2 E3
Thực thể tổng quát
Các thực thể chuyên biệt
38
Cấu trúc phân cấp
Ví dụ: XE
XE MÁY XE ĐẠP XE HƠI
NHÂN VIÊN
NV_VP NV_SX NV_ QL
PHÒNG BANThuộc
39
Cấu trúc phân cấp
• Ví dụ:
CON-NGƯỜI
ĐÀN ÔNG PHỤ NỮ QUẢN LÝ BGĐ
QL - KỸ
THUẬT
NHÂN VIÊN
QL HÀNH
CHÍNH
NV - KẾ
TOÁN
NV - KINH
DOANH
NV - TIẾP
THỊ
(t,e) (p,e)
(t,o) (p,o)
40
Cấu trúc phân cấp
• Tính kế thừa: thực thể chuyên biệt kế thừa
thuộc tính và mối kết hợp của thực thể tổng
quát
E
E1
E’
E2
RA
B C
Thực thể E1 và E2 kế thừa (Thuộc tính A và mối kết hợp R)
từ thực thể E
41
Cấu trúc phân cấp
• Ví dụ chuyển đổi từ cấu trúc bình thường thành cấu
trúc phân cấp
ĐƠN ĐẶT
HÀNG
Chi tiết
giao
PHIẾU GIAO
HÀNG
HÀNG HÓA
Chi tiết
đặt
Số PGH
Ngày giaoSố ĐĐH
Ngày đặt
SL giao
SL đặt
Mã hàng
Tên hàng
ĐVTính
(0,n)
(1,n)
(0,n)
(1,n)
ĐƠN ĐẶT HÀNG PHIẾU GIAO HÀNG
HÀNG HÓA
ĐVTính
Số ctừ
Ngày ctừ
Số lượng
Mã hàng
Tên hàng
(0,n)
(1,n)
CHỨNG TỪ CT
CTỪ
(t,e)
42
Cấu trúc phân cấp
• Sự tương quan giữa các đối tượng trong cấu
trúc phân cấp
– Sự tương quan giữa các thực thể chuyên biệt với
thực thể tổng quát
Toàn phần (t- total): các đối tượng của tất cả các thực
thể chuyên biệt phủ toàn bộ tập đối tượng của thực thể
tổng quát
Bán phần (p- partial):các đối tượng của tất cả các thực
thể chuyên biệt không phủ toàn bộ tập đối tượng của
thực thể tổng quát
43
Cấu trúc phân cấp
• Sự tương quan giữa các đối tượng trong cấu
trúc phân cấp
– Sự tương quan giữa các thực thể chuyên biệt
Riêng biệt (e-executive): đối tượng trong thực thể
chuyên biệt này thì không là đối tượng của thực thể
chuyên biệt khác.
Chồng lắp (o-overlapping): đối tượng trong thực thể
chuyên biệt này có thể là đối tượng của thực thể chuyên
biệt khác
44
Cấu trúc phân cấp
Tập tổng quát
Tập
chuyên
biệt
Tập tổng quát
Tập
chuyên
biệt
Tập
chuyên
biệt
Tập
chuyên
biệt
Chuyên biệt bán phần,
chồng lắp
Chuyên biệt toàn phần,
riêng biệt
(p,o) (t,e)
Tập
chuyên
biệt
Tập
chuyên
biệt
Tập chuyên biệt
Tập
chuyên
biệt
Tập tổng quát Tập tổng quát
Chuyên biệt bán phần,
riêng biệt
Chuyên biệt toàn phần,
chồng lắp
(p,e) (t,o)
45
Cấu trúc phân cấp
• Ví dụ
CON-NGƯỜI
ĐÀN ÔNG PHỤ NỮ QUẢN LÝ BGĐ
QL - KỸ
THUẬT
NHÂN VIÊN
QL HÀNH
CHÍNH
NV - KẾ
TOÁN
NV - KINH
DOANH
NV - TIẾP
THỊ
(t,e) (p,e)
(t,o) (p,o)
46
Cấu trúc phân cấp
XE
XE MÁY XE ĐẠP XE HƠI
(p,e)
Nguyên tắc:
- Xây dựng thực thể chuyên biệt khi chúng ta xác định được các
đặc trưng riêng của nó
- Xây dựng thực thể tổng quát của các thực thể khi chúng ta xác
đinh được các đặc trưng chung giữa chúng và có thể tái sử dụng
trong các tình huống khác.
47
Tập con
Là trường hợp đặc biệt của tổng quát hóa khi chỉ
có một thực thể chuyên biệt
KHÁCH HÀNG
KHÁCH QUEN
Mã số KH
Tên KH
ĐThoại
MỨC CÔNG NỢ
CÔNG-NHÂN
CÔNG-NHÂN
THƯỜNG-XUYÊN
Họ tên
Địa chỉ
NGÀY KÝ
HỢP ĐỒNG
Sự tương quan trong tập con luôn là bán phần và riêng biệt (p,e)
48
Mô hình hóa dữ liệu mức quan niệm
• Khái niệm về thành phần dữ liệu mức quan
niệm
• Mô hình thực thể - kết hợp (ER)
• Mô hình thực thể - kết hợp mở rộng
Các bước xây dựng mô hình ER
• Các phương pháp phân tích dữ liệu
• Các quy tắc mô hình hóa dữ liệu
• Một số vấn đề thường gặp
49
Các bước xây dựng mô hình ER
• B1 - Phân hoạch dữ liệu thành các lĩnh vực
• B2 - Xây dựng mô hình thực thể - kết hợp cho
từng lĩnh vực
• B3 - Tổng hợp các mô hình thực thể - kết hợp
từ tất các lĩnh vực để có một mô hình tổng
quát.
• B4 - Chuẩn hóa
• B5 - Kiểm tra lần cuối
50
Các bước xây dựng mô hình ER – B1
Phân hoạch dữ liệu thành các lĩnh vực
• Tiêu chuẩn phân hoạch thường căn cứ vào tính chất chức
năng, nghiệp vụ của tổ chức.
• Các dữ liệu của lĩnh vực này thường ít liên quan đến dữ liệu
của lĩnh vực kia.
• Thí dụ: Hệ thống kế toán có thể phân chia thành các phân hệ
– Phân hệ tiền tệ: thu – chi tiền mặt, tiền gửi ngân hàng.
– Phân hệ hàng hóa: mua – bán hàng hóa.
– Phân hệ nguyên liệu: nhập – xuất nguyên liệu chính, nguyên liệu phụ,
công cụ sản xuất.
– Phân hệ sản phẩm: sản xuất và bán sản phẩm.
– Phân hệ công cụ: nhập - xuất, khấu hao công cụ.
– Phân hệ tài sản cố định: cập nhật, tính khấu hao.
– Phân hệ thuế: lập báo cáo thuế giá trị gia tăng đầu vào, đầu ra.
– Phân hệ thanh toán - các loại công nợ.
– Phân hệ kết chuyển, tổng hợp, lập các báo cáo tài chính.
51
Các bước xây dựng mô hình ER – B2
Xây dựng mô hình thực thể - kết hợp cho từng
lĩnh vực
• Xác định các thuộc tính, thực thể, quan hệ,
bản số của mỗi thực thể đối với mỗi mối kết
hợp mà nó tham gia.
• Xác định các ràng buộc toàn vẹn.
52
Các bước xây dựng mô hình ER – B3
Tổng hợp các mô hình thực thể - kết hợp từ tất các
lĩnh vực để cómột mô hình tổng quát.
• Thường mỗi lĩnh vực có tính chất nghiệp vụ riêng,
khi tổng hợp lại chúng có thể có những thực thể
chung.
• Ví dụ: các phân hệ trong hệ thống kế toán luôn liên
quan đến những lớp đối tượng chung như hệ thống tài
khoản, khách hàng, nhân viên…
53
Các bước xây dựng mô hình ER – B3 (tt)
• Xóa bỏ những từ đồng nghĩa và đa nghĩa
– Từ đồng nghĩa: 2 vật thể (object) mang 2 tên khác
nhau, nhưng thực chất là như nhau.
Ví dụ: thực thể "SINH VIÊN" và "HỌC VIÊN" hay
"HỌC SINH", thuộc tính "ĐIỂM" và "KẾT QUẢ" môn
thi.
– Từ đa nghĩa: 2 vật thể khác nhau mang cùng một
tên.
Ví dụ: Trong trường Đại học, khi sau này có phân biệt
liên quan đến chức năng, cùng là "NHÂN VIÊN" nhưng
sẽ không phân biệt được đó là "CÁN BỘ GIẢNG
DẠY" hay "NHÂN VIÊN HÀNH CHÁNH".
54
Các bước xây dựng mô hình ER – B3 (tt)
• Xây dựng ngữ vựng chung: Tạo danh mục tổng quát
gồm các danh mục sau:
– Danh mục các thuộc tính.
– Danh mục các thực thể.
– Danh mục các mối kết hợp.
• Lưu ý: Các thuộc tính, các thực thể, và các quan hệ
được định danh bằng các tên không thể trùng nhau và
khi tổng hợp có thể xem một thực thể của mô hình
thực thể – kết hợp này lại là mối kết hợp trong một
mô hình thực thể – kết hợp khác.
55
Các bước xây dựng mô hình ER – B4
Chuẩn hóa
• Áp dụng các quy tắc chuẩn hóa để có một mô hình
hợp lý.
• Lưu ý: khi chuẩn hoá không làm mất ngữ nghĩa bản
chất của vấn đề trong thế giới thực.
• Ví dụ: trong vấn đề quản lý nhân sự, nếu cần quản lý
thêm con của nhân viên thì cần quan tâm đến ngữ
nghĩa của vấn đề: đó là con của nhân viên với người
vợ hoặc người chồng nào vì mỗi nhân viên có thể
chưa (thậm chí không) nhưng cũng có nhiều vợ (hoặc
nhiều chồng).
56
Các bước xây dựng mô hình ER – B5
Kiểm tra lần cuối
• Trao đổi lại với những người có trách nhiệm và
những người có liên quan đến mô hình như: lãnh đạo
cơ quan, những người sử dụng, cũng như các đồng
nghiệp, những nhà tin học khác.
• Phân tích những ý kiến này, nếu hợp lý => điều
chỉnh cho phù hợp.
57
Mô hình hóa dữ liệu mức quan niệm
• Khái niệm về thành phần dữ liệu mức quan
niệm
• Mô hình thực thể - kết hợp (ER)
• Mô hình thực thể - kết hợp mở rộng
• Các bước xây dựng mô hình ER
Các phương pháp phân tích dữ liệu
• Các quy tắc mô hình hóa dữ liệu
• Một số vấn đề thường gặp
58
Các phương pháp phân tích dữ liệu
• Các luật căn bản phân tích quan niệm dữ
liệu
• Chiến lược trên – xuống (top-down)
• Chiến lược dưới – lên (bottom–up)
• Chiến lược trong-ra-ngòai
• Chiến lược phối hợp
59
Luật căn bản phân tích dữ liệu
• Quá trình phân tích quá trình tinh chế, chuyển đổi
• Ví dụ:
NƠI CHỐNCON NGƯỜI Sống
ở
(a) Lược đồ khởi điểm
THÀNH PHỐCON NGƯỜI Sống
ở
QUỐC GIA
Thuộc
(b) Lược đồ kết quả
60
Luật căn bản phân tích dữ liệu
• Ví dụ:
• Các tính chất chyển đổi:
– Lược đồ khởi điểm lược đồ kết quả
– Ánh xạ tên
– Thừa kế kết nối luận lý
NƠI CHỐN
THÀNH PHỐ
QUỐC GIA
Thuộc
(c) Lược đồ chuyển đổi
61
Luật căn bản phân tích dữ liệu
• Luật căn bản trên xuống:
Luật căn bản Lược đồ khởi điểm Lược đồ kết quả
T1: Thực thể --> Các
thực thể có cùng quan hệ
T2: Thực thể --> Tổng
quát hóa
Thực thể --> Tập con
T3: Thực thể --> Các
thực thể không có quan
hệ
T4: Mối kết hợp --> Mối
kết hợp song song
62
Luật căn bản phân tích dữ liệu
• Luật căn bản trên xuống:
T5: Mối kết hợp -->
Thực thể và các kết hợp
T6: Phát triển (thêm)
thuộc tính hay
T7: Phát triển (thêm)
thuộc tính kết hợp hay
T8: Tinh chế thuộc tính hay
63
Luật căn bản phân tích dữ liệu
• Luật căn bản trên xuống – ví dụ:
NƠI CHỐN
THÀNH PHỐ
QUỐC GIA
Thuộc
(a) ứng dụng luật T1
CON NGƯỜI
CON NGƯỜI
ĐÀN ÔNG PHỤ NỮ
(b) ứng dụng luật T2
GIẢI THƯỞNG GIẢI NOBEL GIẢI OSCAR
(c) ứng dụng luật T3
THÀNH PHỐ
Sống ở
CON NGƯỜI
THÀNH PHỐ
Liên hệ
đến
CON NGƯỜI
Sinh tại
(d) ứng dụng luật T4
64
Luật căn bản phân tích dữ liệu
• Luật căn bản trên xuống – ví dụ:
KHÁCH HÀNG
NHÀ
Thuê
KHÁCH HÀNG
HỢP ĐỒNG THUÊ
NHÀ
Của
Liên quan
(e) ứng dụng luật T5
SINH VIÊN SINH VIÊN Tên sinh viên
Mã số
Phái
Ngày sinh(e) ứng dụng luật T6
65
Luật căn bản phân tích dữ liệu
• Luật căn bản trên xuống – ví dụ:
CON NGƯỜI CON NGƯỜI Địa chỉ
Số nhà
Đường
Phường
Quận
Thành phố(f) ứng dụng luật T7
Ngày Tháng
Năm
Ngày
Ngày
Thông tin sức
khoẻ
Tình trạng sức khoẻ
Ngày tiêm chủng cuối
(g) ứng dụng luật T8
66
Luật căn bản phân tích dữ liệu
• Luật căn bản dưới lên:
Luật căn bản Lược đồ khởi điểm Lược đồ kết quả
B1: Giai đoạn Thực thể
B2: Giai đoạn mối kết hợp
B3: Giai đoạn Tổng quát hóa
(Giai đoạn Tập con)
B4: Cấu trúc các thuộc tính
B5: Cấu trúc các thuộc tính
kết hợp
67
Luật căn bản phân tích dữ liệu
• Luật căn bản dưới lên – ví dụ:
CON NGƯỜINHÂN VIÊN
QUẢN LÝ NHÂN VIÊN QUẢN LÝ
(c) Ứng dụng luật B3
CON NGƯỜI
Họ tên
Giới tính
Tuổi
CON NGƯỜI
Họ tên
Giới tính
Tuổi
(d) Ứng dụng luật B4
68
Luật căn bản phân tích dữ liệu
• Luật căn bản dưới lên – ví dụ:
CON
NGƯỜI
Số nhà
Đường phố
Thành phố
CON
NGƯỜI
Địa chỉ
Số nhà
Đường phố
Thành phố
(e) Ứng dụng luật B5
69
Chiến lược thiết kế lược đồ
• Chiến lược trên – xuống (top-down):
Lãnh vực ứng
dụng
Mặt phẳng
tinh chế thứ 1
Mặt phẳng
tính chế thứ 2
Mặt phẳng
tính chế thứ
cuối cùng
70
Chiến lược thiết kế lược đồ
• Chiến lược trên – xuống – ví dụ: ứng dụng
“quản lý nhân chủng học”
Thông tin nhân
chủng học
Thông tin về
con người
Thông tin về vị
trí
Liên
quan đến
Lược đồ khởi tạo
Tinh chế lần 1
71
Chiến lược thiết kế lược đồ
• Chiến lược trên – xuống – ví dụ: ứng dụng
“quản lý nhân chủng học”
CON NGƯỜI VỊ TRÍ
ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ
Sinh tại
Sống ở
Tinh chế lần 2
72
Chiến lược thiết kế lược đồ
• Chiến lược trên – xuống – ví dụ: ứng dụng
“quản lý nhân chủng học”
CON NGƯỜI VỊ TRÍ
ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ
Sinh
tại
Sống ở
MIỀN
Thuộc
Họ tên
Ngày sinh
Chiều cao
Cân nặng
Tên
Dân số
Châu lục
Tên
Chức danh Tên con gái
(1,1) (0,n)
(1,n) (0,n)
(1,1)
(0,n)
Tinh chế lần cuối
-Bổ sung thêm thuộc tính
-Bổ sung thêm bản số
-Bổ sung định danh
73
Chiến lược thiết kế lược đồ
• Chiến lược trên – xuống – ví dụ: ứng dụng
“Quản lý Đại lý băng đĩa”
Thông tin bán
BĐ
Thông tin mua
BĐLiên
quan
Lược đồ khởi tạo
Thông tin
bán BĐ
Thông tin
mua BĐLiên quan 1
BĐ Liên
quan 2
Tinh chế lần 1
74
Chiến lược thiết kế lược đồ
• Chiến lược trên – xuống – ví dụ: ứng dụng
“Quản lý Đại lý băng đĩa”
Thông tin bán lẻ
BĐ
Thông tin xử lý
đặt BĐ
BĐ
Chi tiết
bán lẻ
Chi tiết xử
lý đặt
(1)
(2)
Tinh chế thực thể: Thông tin
bán BĐ
BĐHOÁ ĐƠN BÁN
LẺ
ĐƠN HÀNG
KHÁCH HÀNG
HOÁ ĐƠN GIAO
HÀNG
Chi tiết hóa
đơn
Chi tiết
đặt
Của
Chi tiết
giao
Cho
(1)
(2)
75
Chiến lược thiết kế lược đồ
• Chiến lược trên – xuống – ví dụ: ứng dụng
“Quản lý Đại lý băng đĩa”
HOÁ ĐƠN
HOÁ ĐƠN
GIAO HÀNG
BĐ
ĐƠN HÀNG KHÁCH HÀNG
Chi tiết
hóa đơn
Cho
Của
Mã số
Tên BĐ
ĐVTính
Loại
Hiệu
Đơn giá bán
Mã KH
Tên khách
hàngĐiện thoại
Địa chỉ giao
hàng
Chi tiết
đơn hàng
Số HĐ
Ngày HĐ
Trị giá
Số ĐH
Ngày đặt
Trị giá đơn
hàng
Số lượngĐơn giá
Số lượng đặt
(1,n)
(0,n)
(1,1)
(1,1) (1,n)
(1,n)
(0,n)
(0,n)
Tinh chế cuối cùng
76
Chiến lược thiết kế lược đồ
• Chiến lược dưới – lên (bottom-up):
Lãnh vực ứng dụng
Xây dựng các khái
niệm cơ bản
Thu thập thêm các
khái niệm cơ bản
Kết hợp các khái
niệm cơ bản
cuối
Lược đồ
Lãnh vực ứng dụng cung cấp các thông
tin chi tiết về cấu trúc từ: báo cáo, tập
tin, sổ sách, chứng từ
Các đặc trưng của đối tượng sẽ được
thu thập (thuộc tính)
Kết hợp các đặc trưng thu thập để hình thành các
thực thể, mối kết hợp, định danh,…
77
Chiến lược thiết kế lược đồ
• Chiến lược dưới – lên - ví dụ: “ Quản lý nhân
chủng học”
Tuổi đàn ông
Chiều cao đàn
ông
Tên đàn ông
Cân nặng
Tuổi phụ nữ
Chiều cao phụ
nữ
Tên phụ nữ
Cân nặng phụ
nữ
Tên con gái
Châu lục
Tên miền
Chức danh
Tên quốc gia
Dân số quốc
gia
Tên thành phố
Dân số thành
phố
Thu thập tất cả các đặc trưng của đối tượng hệ thống
78
Chiến lược thiết kế lược đồ
• Chiến lược dưới – lên - ví dụ: “ Quản lý nhân
chủng học”
ĐÀN ÔNG
PHỤ NỮ
THÀNH PHỐ
MIỀN
Họ tên đàn ông
Tuổi đàn ông
Chiều cao đàn
ông
Cân nặng đàn ông
Chức danh
Tên con gái
Họ tên phụ nữ
Tuổi phụ nữ
Chiều cao phụ
nữ
Cân nặng phụ nữ
QUỐC GIA
Châu lục
Tên quốc gia
Dân số quốc
gia
Tên thành phố
Dân số thành
phố
Tên miền
Kết hợp các đặc trưng để hình thành thực thể
79
Chiến lược thiết kế lược đồ
• Chiến lược dưới – lên - ví dụ: “ Quản lý nhân
chủng học”
Xây dựng các khái niệm
trừu tượng hóa hơn
CON NGƯỜI
VỊ TRÍ
ĐÀN ÔNG
Họ tên đàn ông
Tuổi đàn ông
Chiều cao đàn
ông
Cân nặng đàn
ông Chức danh
PHỤ NỮ
Tên con gái
Họ tên phụ nữ
Tuổi phụ nữ
Chiều cao phụ
nữ
Cân nặng phụ nữ
QUỐC GIA
Châu lục
Tên quốc gia
Dân số quốc
gia
MIỀNTên miền THÀNH PHỐTên thành phố
Dân số thành
phố
80
Chiến lược thiết kế lược đồ
• Chiến lược dưới – lên - ví dụ: “ Quản lý nhân
chủng học”
CON NGƯỜI VỊ TRÍ
ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ
Sinh tại
Sống ở
MIỀN
Thuộc
Họ tên
Ngày sinh
Chiều cao
Cân nặng
Tên
Dân số
Châu lục
Tên
Chức danh Tên con gái
Số năm
(1,1) (0,n)
(0,n)(1,n)
(1,1)
(0,n)
Xác định mối kết hợp, bản số, định
danh
81
Chiến lược thiết kế lược đồ
• Chiến lược trong – ra – ngòai:
Lãnh vực ứng dụng
Chọn lọc các khái
niệm quan trọng nhất
Tiến triển theo
“vết dầu loang”
cuối
Lược đồ
điểm
Lược đồ khởi
gian
Lược đồ trung
Các thực thể quan trọng,
nổi bật của hệ thống
Lặp: phát triển thêm các
khái niệm có liên kết với
các khái niệm đã tồn tại
82
Chiến lược thiết kế lược đồ
• Chiến lược trong – ra – ngòai – ví dụ:
ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ
Châu lụcChức danh Tên con gái
CON NGƯỜI VỊ TRÍ
Sinh tại
Sống ở
Họ tên
Ngày sinh
Chiều cao
Cân nặng
Tên
Dân số
Số năm
(1,1) (0,n)
(0,n)(1,n)
Tên MIỀN
Thuộc
(1,1)
(0,n)
Tiến triển lần
thứ nhất
Tiến triển lần
thứ hai
Tiến triển lần
thứ ba
83
Chiến lược thiết kế lược đồ
• Chiến lược trong – ra – ngòai – ví dụ: “Quản lý yêu cầu sách NKH”
NHÀ KHOA
HỌC
Của
Tên NKH
Đơn vị
Điện thoại
Email
(1,1)
(1,n)
SÁCH
Mã sách
Tên sách
Đơn giá
Số trangNgôn
ngữ
(0,n)
(0,n)
(1,1)
Tiến triển
lần một
Tiến triển
lần hai
PYC NHÀ CUNG
CẤP
ĐƠN
SÁCH
Cung
cấp
Chi
tiết
YC
Chi
tiết đặt
Mã số
Đặt
tới
Tên NCC
Địa chỉ
Số đặt sách
Ngày đặt
Ngày giao
Trị giá
Ngày
Số phiếu
Trị giá PYC
Tình trạng
(1,n)
Số lượng
Số lượng đặt
Đơn giá đặt
(1,n)
(1,1)
(1,n)
(1,n)
Tiến triển
lần baTiến triển
lần bốnNGÂN SÁCH
Cấp
Năm
Số tiền
Sử dụngGhi chú
(1,1)
(0,n)
84
Chiến lược thiết kế lược đồ
• Chiến lược trong – ra – ngòai – ví dụ: “Quản lý yêu cầu sách NKH”
Tên NCC
PHIẾU
Số phiếu
Ngày
Trị giá
PYC ĐƠN SÁCHTình trạng
Ngày giao
NHÀ KHOA
HỌC
Của
Tên NKH
Đơn vị
Email
Điện thoại
NGÂN SÁCH Số tiền
Năm
Sử dụng
Ghi chú
Cấp
SÁCH
Chi
tiết
phiếu
Đặt
tới
Số lượng
Đơn giá
Mã sách Tên sách
Đơn giá
NHÀ CUNG
CẤP
Mã số
Địa chỉ
Số trang
Ngôn ngữ
Cung
cấp
(1,1)
(1,n)
(0,n)
(1,1)
(1,n)
(0,n)
(1,1)
(1,n)
(0,n)
(1,1)
(t,e)
85
Chiến lược thiết kế lược đồ
• Chiến lược trong phối hợp:
Lãnh vực ứng dụng
Lãnh vực ứng dụng 1
Lãnh vực ứng dụng 2
Lược đồ khung
Lược đồ 1 Lược đồ 2
Lược đồ cuối cùng
86
Chiến lược thiết kế lược đồ
• Chiến lược trong phối hợp – ví dụ:
THÔNG TIN
BÁN HÀNG TỒN KHOLiên
quan
Lược đồ khung
HOÁ ĐƠN
HOÁ ĐƠN
GIAO HÀNG
BĐ
ĐƠN HÀNG KHÁCH HÀNG
Chi tiết
hóa đơn
Cho
Của
Mã số
Tên BĐ
ĐVTính
Loại
Hiệu
Đơn giá bán
Mã KH
Tên khách
hàngĐiện thoại
Địa chỉ giao
hàng
Chi tiết
đơn hàng
Số HĐ
Ngày HĐ
Trị giá
Số ĐH
Ngày đặt
Trị giá đơn
hàng
Số lượngĐơn giá
Số lượng đặt
(1,n)
(0,n)
(1,1)
(1,1) (1,n)
(1,n)
(0,n)
(0,n)
Tinh chế
87
Chiến lược thiết kế lược đồ
• Chiến lược trong phối hợp – ví dụ:
BĐ
Mã số
Tên BĐ
ĐVTính
Loại
Hiệu
Đơn giá bán
LOẠI BĐ Thuộc THÁNG
NĂM
Tháng
Năm
Tồn
Tồn đầu kỳTổng nhập
Tổng xuất
Tồn tối thiểu
PHIẾU NHẬP Chi tiết
nhập
Số lượng nhập
Đơn giá nhập
Số PN Ngày nhập
Mô tả
Trị giá
(0,n) (1,1)
(0,n)
(0,n)
(0,n)
(1,n)
Mô hình hóa TỒN KHO
88
Chiến lược thiết kế lược đồ
• Chiến lược trong phối hợp – ví dụ:
Loại
Hiệu
LOẠI BĐ Thuộc THÁNG
NĂM
Tháng
Năm
Tồn
Tồn đầu kỳ
Tổng nhập
Tổng xuất
Tồn tối thiểu
PHIẾU NHẬP Chi tiết
nhập
Số lượng nhập
Đơn giá nhập
Số PN Ngày nhập
Mô tả
Trị giá
(0,n)
(1,1)
(0,n)
(0,n)
(0,n)
(1,n)
HOÁ ĐƠN
HOÁ ĐƠN
GIAO HÀNG
BĐ
ĐƠN HÀNG KHÁCH HÀNG
Chi tiết
hóa đơn
Cho
Của
Mã số
Tên BĐ
ĐVTính
Đơn giá
bán
Mã KH
Tên khách hàng
Điện thoại
Địa chỉ giao
hàng
Chi tiết
đơn hàng
Số HĐ
Ngày HĐ
Trị giá
Số ĐH
Ngày đặt
Trị giá
đơn hàng
Số lượngĐơn giá
Số lượng
đặt
(1,n)
(0,n)
(1,1)
(1,1) (1,n)
(1,n)
(0,n)
(0,n)
89
Chiến lược thiết kế lược đồ
• So sánh các chiến lược:
Chiến lược Mô tả Ưu điểm Khuyết điểm
Trên xuống Các khái niệm từng
bước được tinh chế
Không có các hiệu ứng lề không
mong muốn
Đòi hỏi phân tích viên phải
giỏi với mức trừu tượng hóa
cao lúc khởi điểm
Dưới lên Các khái niệm được
xây dựng từ các
thành phần cơ bản
- Dễ dàng cho các ứng dụng có
tính chất cục bộ
- Phân tích không phải chịu gánh
nặng quá lớn lúc bắt đầu
Khi cần thiết có thể phải xây
dựng lại cấu trúc trong quá
trình tinh chế ứng dụng luật
cơ bản.
Trong ra
ngoài
Các khái niệm được
xây dựng theo cách
tiếp cận “vết dầu
loang”
- Dễ dàng phát hiện ra các khái
niệm mới liên quan đến các
khái niệm đã có
- Phân tích không phải chịu gánh
nặng quá lớn lúc bắt đầu
Hình ảnh toàn bộ của ứng
dụng chỉ được xây dựng vào
giai đoạn cuối cùng
Phối hợp Phân tích từ trên
xuống các yêu cầu;
tích hợp từ dưới lên
sử dụng lược đồ
khung
- Tiếp cận theo cách “chia để trị”
để giảm độ phức tạp
Đòi hỏi quyết định quan
trọng về lược đồ khung tại
thời điểm bắt đầu của quá
trình thiết kế.
90
Mô hình hóa dữ liệu mức quan niệm
• Khái niệm về thành phần dữ liệu mức quan
niệm
• Mô hình thực thể - kết hợp (ER)
• Mô hình thực thể - kết hợp mở rộng
• Các bước xây dựng mô hình ER
• Các phương pháp phân tích dữ liệu
Các quy tắcmô hình hóa dữ liệu
• Một số vấn đề thường gặp
91
Một số qui tắc mô hình hóa
KHÁCH HÀNG Tên
Địa chỉ
Điện thoại
SANPHAM
HOADON
Mã SP
Tên
ĐVT
Số HĐ
Ngày
Khách hàng
CủaGồm
Quy tắc 1: Mọi thuộc tính dùng để mô tả đặc trưng cho một thực thể duy nhất và chỉ
mô tả đặc trưng của thực thê
92
Một số qui tắc mô hình hóa
Quy tắc 2: Các thực thể cùng liên quan đến một mối kết hợp thì ứng với một tổ hợp thể
hiện của các thực thể đó chỉ có một thể hiện duy nhất của mối kết hợp
SINH VIÊN MÔN HỌC
Học
Điểm
SINH VIÊN MÔN HỌC
Học
Điểm
HỌC KỲ
Trên thực tế, một SV sẽ có nhiều điểm trên một môn học
93
Một số qui tắc mô hình hóa
Quy tắc 3: Tất cả các nhánh nối với mối kết hợp phải là nhánh bắt buộc, nếu không phải
tách ra nhiều mối kết hợp. Trường hợp này được gọi là mối kết hợp ẩn dụ nhiều ngữ
nghĩa khác nhau
Tồn tại các thể hiện không có
sự tham gia đầy đủ của các
thực thể
SẢN PHẨM NHÀ CUNG CẤP
KHO HÀNG
Liên hệ
SẢN PHẨM NHÀ CUNG CẤP
KHO HÀNG
Đặt
hàng
Cung
ứng
94
Một số qui tắc mô hình hóa
Quy tắc 4: Các đặc trưng của một thực thể chỉ phụ thuộc vào thực thể đó mà thôi. Nếu
có đặc trưng nào phụ thuộc vào nhiều thực thể thì đó là đặc trưng của mối kết hợp định
nghĩa trên các thực thể đó
SINH VIÊN MÔN HỌCHọc
Điểm
SINH VIÊN LỚP HỌCThuộc
Ngày BĐ
SINH VIÊN LỚP HỌCThuộc
Ngày BĐ
(1,1) (1,n)
Ngày BĐ
95
Một số qui tắc mô hình hóa
Quy tắc 5: Nếu có một thuộc tính của một thực thể phụ thuộc vào thực thể đó và một
thuộc tính khác của thực thể đó thì tồn tại một thực thể ẩn mà cần phải được định nghĩa
bổ sung
Trọng lượng
XE Thuộc LOẠI XE Tên loại
XE
Số xe
Màu xe
Số chỗ
Lọai xe
Trọng lượng
Loại xe Trọng lượng
96
Các quy tắc chuẩn hóa mô hình ER
• Quy tắc 1: Trong mô hình thực thể - kết hợp: Đối với bất kỳ
thể hiện nào của một thực thể, mỗi thuộc tính đều phải có một
ý nghĩa và có một giá trị duy nhất.
• Quy tắc 2: Trong mô hình thực thể - kết hợp: Mọi thuộc tính
của một thực thể / mối kết hợp phải phụ thuộc vào khóa của
thực thể / mối kết hợp đó bằng một phụ thuộc hàm sơ cấp.
Nghĩa là phụ thuộc vào toàn bộ khóa chứ không phải phụ
thuộc vào một bộ phận thực sự của khóa.
• Quy tắc 3
Trong mô hình: Mọi thuộc tính của một thực thể hay của một
mối kết hợp phải phụ thuộc vào khóa bằng một phụ thuộc hàm
sơ cấp trực tiếp.
97
Quy tắc 1
Trong mô hình thực thể - kết hợp: Đối với bất kỳ thể hiện nào của một thực
thể, mỗi thuộc tính đều phải có một ý nghĩa và có một giá trị duy nhất.
Ví dụ: Thực thể nhân viên với các thuộc tính: Mã nhân viên, họ
tên, giới tính, tuổi, họ tên con, tôn giáo
Cách giải quyết
• C1: Thay bằng thuộc tính tương đương mang tính bản chất hơn, vd:
Tuổi nên thay bằng Ngày sinh khi đó có thể xác định tuổi ở tại bất cứ
thời điểm nào.
• C2: Cho thuộc tính vi phạm quy tắc này mang giá trị đặc biệt. Cách này
chỉ nên dùng cho trường hợp giá trị của thuộc tính đó hoặc là xác định
hoặc là không. Vd: thuộc tính Tôn giáo bằng chuỗi rỗng với những
người không có tín ngưỡng thuộc tôn giáo nào (Nếu có thì chỉ có một
tôn giáo mà thôi).
• C3: xây dựng thêm một thực thể và một mối kết hợp mới
NHÂN VIÊN CON_NVcó
(0,n) (1,n)
98
Quy tắc 2
Thuộc tính không khóa phụ thuộc đầy đủ vào khóa
NHÂN VIÊN NGẠCH
BẬC
Hưởng
THÁNG
Ngạch
….
Bậc
….
Tháng năm
….
Mã NV
….
Hệ số
Trên thực tế: Ngạch, bậc => Hệ số lương
99
Quy tắc 2 (tt)
NHÂN VIÊN NGẠCH
BẬC
Hưởng
THÁNG
Ngạch
….
Bậc
….
Tháng năm
….
Mã NV
….
Ngạch
– Bậc
Hệ số
(1,n) (1,n)
(1,n)(1,n)
(1,n)
100
Quy tắc 3
Thuộc tính không khóa không phụ thuộc bắc cầu vào khóa
Số HD, Mã SP => Số lượng, Đơn giá
Số lượng, Đơn giá => Thành tiền
SẢN PHẨM
Số lượng
Đơn giá
Thành tiền
HÓA ĐƠN
CT_H
Đ
Số HD
…
Mã SP
…
(1,n) (1,n)
101
Mô hình hóa dữ liệu mức quan niệm
• Khái niệm về thành phần dữ liệu mức quan
niệm
• Mô hình thực thể - kết hợp (ER)
• Mô hình thực thể - kết hợp mở rộng
• Các bước xây dựng mô hình ER
• Các phương pháp phân tích dữ liệu
• Các quy tắc mô hình hóa dữ liệu
Một số vấn đề thường gặp
102
Một số vấn đề thường gặp
Thực thể hay không là thực thể ?
Trong một số trường hợp thì khái niệm cần biểu diễn có thể là một đối tượng của
thế giới thực nhưng trong phạm vi ứng dụng thì số thể hiện chỉ là một. Nếu không
có nhu cầu mở rộng ứng dụng về sau thì không nên xem là thực thể
Chỉ có một thể
hiện TRƯỜNG
trong suốt chu
trình hệ thống
SINH VIÊN TRƯỜNG
KHOA
Thuộ
c
Thuộ
c
103
Một số vấn đề thường gặp
Thực thể hay thuộc tính đơn ?
- Chọn là thực thể khi có thể xác định một số đặc trưng căn bản như các thuộc tính,
mối kết hợp, tổng quát hóa hay tập con.
- Chọn là thuộc tính khi đối tượng có cấu trúc nguyên tố đơn giản và không có các
đặ̣c trưng khác.
XE HƠI HÃNG SẢN
XUẤT
Màu sắc
Số xe
Sản xuất
bởi
MS-CBMS-TP
THÀNH PHỐ
CHUYẾN BAYĐi
Đế
n
TEN-TP
MS-CB
CHUYẾN BAY
TP_DI
TP_DEN
104
Một số vấn đề thường gặp
Tổng quát hóa hay thuộc tính ?
- Tổng quát hóa được chọn khi chúng ta cho rằng một số đặc trưng sẽ được liên kết
ở cấp thấp hơn (ví dụ như thuộc tính hay mối kết hợp).
- Trường hợp ngược lại sẽ là thuộc tính
Màu sắc tócCON NGƯỜI
Phái
ĐÀN ÔNG PHỤ NỮ
Tình trạng
nghĩa vụ quân
sự
Kết
hôn
CON NGƯỜI Màu sắc tóc
105
Một số vấn đề thường gặp
Thuộc tính kết hợp hay một tập các thuộc tính đơn ?
- Chọn thuộc tính kết hợp nếu có thể gán tên một cách tự nhiên cho khái niệm.
- Ngược lại, chọn một tập các thuộc tính đơn nếu chúng diễn tả các đặc trưng độc
lập.
ĐỊA CHỈ
Số nhà
Đường
Phường
Quận
Tỉnh/TP
106
Một số vấn đề thường gặp
Mối kết hợp hay thực thể ?
- Chọn thực thể nếu khái niệm quan tâm có một số đặc trưng cần mô hình hóa ví dụ như
các mối kết hợp đến các thực thể khác, có định danh phân biệt,...
Họ tên KH
Điện thoại
SANPHAM HOÁ ĐƠN
KHÁCH
HÀNG
Chi tiết
HĐ
Của
Mã SP Tên SP ĐVT
Đơn giá
Số lượng Đơn giá
Số HĐ
Ngày HĐ
Trị giá
Địa chỉ
(1,n) (0,n)
(1,1)
(0,n)
-Một sản phẩm có thể tồn tại nhiều lần trong
một hóa đơn?
-Chi tiết HĐ có thể được chuyên biệt hóa?
-Có một mối kết hợp khác liên kết với Chi tiết
HĐ?
107
Một số vấn đề thường gặp
Mối kết hợp hay thực thể ? (tt)
SANPHAM HOÁ ĐƠN
KHÁCH HÀNG
Có
trong
Của
Mã SP Tên SP ĐVT
Đơn giá
Đơn giá
Số HĐ
Ngày HĐ
Trị giá
Họ tên KH
Địa chỉ
Điện thoại
(1,n)
(0,n)
(1,1)
(0,n)
CHI TIẾT
HOÁ ĐƠN
Số lượng
Có
(1,1) (1,1)
Số thứ tự
108
Một số vấn đề thường gặp
Chọn lược đồ rõ về nghĩa khi có nhiều lược đồ chọn lựa
LỊCH TRÌNH GA
Bắt
đầu
Dừng
Kết
thúc
(1,1) (0,n)
(0,n) (0,n)
(0,n)(1,1)
LỊCH TRÌNH GALiên
quan
Phân loại
(2,n) (0,n)
109
Chương 5
PHÂN TÍCH THIẾT KẾ
THÀNH PHẦN DỮ LIỆU
__
MÔ HÌNH TỔ CHỨC DỮ LIỆU
(LOGIC)
110
Các bước PTTK TPDL mức logic
• Xây dựng mô hình quan hệ dữ liệu (tổ chức dữ
liệu) từ mô hình thực thể kết hợp (quan niệm
dữ liệu).
• Tối ưu hóa mô hình quan hệ dữ liệu.
• Mô tả các ràng buộc toàn vẹn ở mức thiết kế tổ
chức (thường dùng ngôn ngữ toán học).
• Thiết kế hàm cửa sổ hay các khung nhìn
(views) dữ liệu, cũng như các chỉ mục(index)
được sử dụng trong xử lý sau này.
111
Chuyển đổi sang mô hình quan hệ
• B1 - Chuyển các khái niệm chuyên biệt hóa, tổng
quát hoá khái niệm quan hệ
• B2 - Chuyển thực thể quan hệ.
• B3 - Chuyển các mối kết hợp bậc 1 quan hệ.
• B4 - Chuyển các mối kết hợp bậc i quan hệ (i =
bậc trước +1)
– Lặp lại bước 4 cho đến khi hết các mối kết hợp.
• B5 - Nhập tất cả các quan hệ cùng khóa lại với nhau.
• B6 - Chuẩn hóa các quan hệ.
• B7 - Xem xét các RBTV.
112
Bước 1
B1 - Chuyển các khái niệm chuyên biệt hóa, tổng quát
hoá khái niệm quan hệ
• C1: Chuyển thành tổng quát hóa, gom tất cả vào
một quan hệ (thường áp dụng khi ở mức chuyên biệt
hóa không có hoặc có ít (<3) thuộc tính riêng)
– Các đặc trưng của thực thể chuyên biệt sẽ chuyển sang thực
thể tổng quát.
– Thêm vào một thuộc tính phân loại (hoặc một thực thể) loại
E, bổ sung ràng buộc miền giá trị cho thuộc tính loại E
– Loại bỏ các thực thể chuyên biệt
113
Bước 1 (tt)
E
E1 E2
A
E’ R
EE’ R A
Loại E
E (A, Loại E)
Bổ sung ràng buộc miền giá trị cho thuộc tính Loại E
(t,e): Ràng buộc MGT(LoạiE) {E1, E2}
(t,o): Ràng buộc MGT(LoạiE) {E1, E2, E1E2}
(p,e): Ràng buộc MGT(LoạiE) {E, E1, E2}
(p,o): Ràng buộc MGT(LoạiE) {E, E1, E2, E1E2}
• TH1: Ở mức chuyên biệt hóa không có thuộc tính riêng
114
Bước 1 (tt)
NHÂN VIÊN
Thuộc(1,1)
Mã NV
Họ tên NV PHÒNG BAN
C.NHÂN C.VIÊN Q.LÝ
(t,e)
QLý
Ptrách
(1,n)
(1,n)
(0,1)
(0,1)
(1,1)
Mã PB
Tên PB
NHANVIEN(Mã_NV, Họ tên_NV, LOẠI_NV)
Ràng buộc miền giá trị LOẠI_NV € {CN, CV, QL}
NHÂN
VIÊN
Mã NV
Họ tên NV
Thuộc(1,1) (1,n)
QLý
Ptrách
LoạiNV
(0,1)
(0,n)
(0,1) (1,1)
Mã PB
Tên PB
PHÒNG BAN
115
Bước 1 (tt)
• TH2: Ở mức chuyên biệt hóa có ít thuộc tính
riêng ( ngoài ràng buộc miền giá trị như
TH1, bổ sung thêm ràng buộc để đảm bảo ngữ nghĩa
116
Bước 1 (tt)
E
E1 E2
A
CB
E’ R
EE’ R AB
C
Loại E
E (A, B, C, Loại E)
Bổ sung ràng buộc miền giá trị cho thuộc tính Loại E
(t,e): Ràng buộc MGT(LoạiE) {E1, E2}
(t,o): Ràng buộc MGT(LoạiE) {E1, E2, E1E2}
(p,e): Ràng buộc MGT(LoạiE) {E, E1, E2}
(p,o): Ràng buộc MGT(LoạiE) {E, E1, E2, E1E2}
117
Bước 1 (tt)
NHÂN VIÊN
Thuộc(1,1)
Mã NV
Họ tên NV
SLượng NV
trực thuộc
Bậc thợ Chuyên ngành
PHÒNG BAN
C.NHÂN C.VIÊN Q.LÝ
(t,e)
QLý
Ptrách
(1,n)
(1,n)
(0,1)
(0,1)
(1,1)
Mã PB
Tên PB
NHÂN
VIÊN
Mã NV
Họ tên NV
Chuyên ngành
Thuộc(1,1) (1,n)
Bậc thợ
QLý
Ptrách
SLượng NV trực thuộc
LoạiNV
(0,1)
(0,n)
(0,1) (1,1)
Mã PB
Tên PB
PHÒNG BAN
NHANVIEN (Mã_NV, Họ tên_NV, Chuyên ngành, Bậc thợ, Slượng NV trực
thuộc, LOẠI_NV)
118
Bước 1 (tt)
• TH2 (tt)
Lưu ý: Ngoài Ràng buộc miền giá trị LOẠI_NV € {CN, CV, QL}
Trong trường hợp này khi chuyển cần cộng thêm một số ràng buộc toàn vẹn khác
(để đảm bảo về mặt ngữ nghĩa với mô hình ban đầu).
nv NHÂN VIÊN
Nếu nv.LOẠI NV = “CN” thì
nv. Chuyên ngành = NULL
nv. Slượng NV trực thuộc = NULL
Nguợc lại
Nếu nv.LOẠI NV = “CV” thì
nv. Bậc thợ = NULL
nv. Slượng NV trực thuộc = NULL
Nguợc lại
nv. Bậc thợ = NULL
nv. Chuyên ngành = NULL
Cuối nếu
Cuối
119
Bước 1 (tt)
• Đánh giá ưu khuyết điểm của phương pháp dùng thực thể
tổng quát hóa
Ưu điểm Khuyết điểm
Giải pháp đơn giản nhất,
không phát sinh thêm các
mối kết hợp
Có thể phát sinh ra một số lớn
các giá trị rỗng cho các thuộc
tính mà chỉ dùng cho một loại
thực thể tập con mà thôi.
Áp dụng cho tất cả các
cấu trúc tổng quát hóa
như toàn bộ (t) và bán
phần (p), chồng lắp (o) và
riêng biệt (e)
Tất cả các tác vụ muốn truy cập
đến một thực thể tập con phải
truy cập toàn bộ tất cả các thực
thể tập con
Phát sinh thêm một số RBTV
cần phải kiểm tra
120
Bước 1 (tt)
• C2: Chuyển thành chuyên biệt hóa, chia thành các
quan hệ riêng (thường áp dụng khi ở mức chuyên biệt
hóa có nhiều thuộc tính riêng (>3))
– Chuyển đổi tất cả đặc trưng (thuộc tính, mối kết hợp, định
danh) của thực thể tổng quát xuống lần lượt các thực thể
chuyên biệt
– Hủy bỏ thực thể tổng quát
– Cách này chỉ có thể áp dụng cho cấu trúc tổng quát hóa
toàn bộ (t) và riêng biệt (e), các cấu trúc còn lại không thể
áp dụng.
121
Bước 1 (tt)
E’ E
E1 E2
A
B
R
C
E1 E2B C
A A
E’
R1 R2
E1 (B, A)
E2 (C, A)
122
Bước 1 (tt)
NHÂN VIÊN
Thuộc(1,1)
Mã NV
Họ tên NV
SLượng NV
trực thuộc
Bậc thợ Chuyên ngành
PHÒNG BAN
C.NHÂN C.VIÊN Q.LÝ
(t,e)
QLý
Ptrách
(1,n)
(1,n)
(0,1)
(0,1)
(1,1)
Mã PB
Tên PB
SLượng NV
trực thuộc
Bậc thợ Chuyên
ngành
C. NHÂN C. VIÊN Q. LÝ (0,1)
PHÒNG BAN
Ptrách
(1,1)
Mã PB
Tên PB
Thuộc 3
Thuộc 2Thuộc 1
Qlý 1Qlý 2Qlý 3
(0,n)
(1, n)
(0,n)
(1,1) (1,1) (1,1)
(0,1)
(0,n)(0,n) (0,n)(0,n)(0,n)
C2 (tt): Vd1
123
Bước 1 (tt)
• Ta được các quan hệ:
CÔNG NHÂN (Mã NV, Họ tên NV, Bậc thợ)
CHUYÊN VIÊN (Mã NV, Họ tên NV, Chuyên ngành)
QUẢN LÝ (Mã NV, Họ tên NV, Slượng NV trực thuộc )
124
Bước 1 (tt)
• C2 (tt): Vd2
Sản xuất
HÃNG SX
Sản xuất
XE ĐẠP ĐIỆN
Thời gian chạy
Số bình acquy
Thời gian sạc XE MÁY Số máy
Mode
Số loại linh kiện
Số sườn
Tên xe
Số xe
Tên xe
Số xe
XE ĐẠP ĐIỆN XE MÁY
XE Số xe
Tên xe
Thời gian chạy
Số máy
Mode
Số loại linh kiện
Sản xuấtHÃNG SX
Số bình acquy
Thời gian sạc
Số sườn
(t,e)
125
Bước 1 (tt)
• C2 (tt):
Ta được các quan hệ:
XE ĐẠP ĐIỆN (Số xe, Tên xe, Số bình acquy,
Thời gian sạc, Thời gian chạy, Số loại linh kiện)
XE MÁY (Số xe, Tên xe, Số sườn, Số máy, Mode,
Số loại linh kiện )
126
Bước 1 (tt)
• Đánh giá ưu khuyết điểm:
Ưu điểm Khuyết điểm
Thuộc tính riêng của thực thể
tập con chỉ biểu diễn riêng cho
loại thực thể tập con đó
Cách chọn lựa này không áp dụng được cho cấu trúc
tổng quát hóa loại chồng chéo (o) và bán phần (p), chỉ
dùng được cho toàn phần (t) và riêng biệt (e)
Các tác vụ liên quan đến một
loại thực thể tập con chỉ truy
cập đến loại thực thể tập con đó
Quan niệm các thực thể tập con trước đây cùng là
chuyên biệt hóa của một thực thể tổng quát không còn
nữa. Quan niệm này có thể là chủ yếu liên quan đến
một số xử lý. Ví dụ công nhân, chuyên viên và quản lý
là nhân viên
Nếu thuộc tính của thực thể tổng quát là đáng kể thì sự
lập lại trong lược đồ đáng xem xét lại
Các tác vụ trước đây thao tác lên thực thể tổng quát
nay phải thao tác lên tất cả các thực thể tập con
127
Bước 1 (tt)
• Nhận xét chung: việc lựa chọn cách 1 hay cách 2 tuỳ
theo cấu trúc tổng quát hóa, số thuộc tính của các
thực thể chuyên biệt, ngoài ra còn phụ thuộc vào các
yếu tố sau:
– Dung lượng:
Gộp: Dung lượng lớn => truy xuất chậm
Tách: tùy trường hợp, thông thường dung lượng tối ưu
hơn
– Xử lý: xác định các xử lý ưu tiên (các xử lý có tần
xuất cao,…), tùy tình huống mà quyết định gộp
hay tách
128
Bước 1 (tt)
• C3: Dùngmối kết hợp
E
E1 E2
A
B
E’ R
C
E
E1 E2
A
B
E’ R
C
R1 R2
(1,1) (1,1)
(0,1)
(0,1)
• Hủy bỏ tổng quát – chuyên biệt
• Tạo mối kết hợp từ thực thể tổng quát đến các thực thể
chuyên biệt
E (A)
E1 (B)
E2 (C)
129
Bước 1 (tt)
NHÂN VIÊN
Thuộc(1,1)
Mã NV
Họ tên NV
SLượng NV
trực thuộc
Bậc thợ Chuyên ngành
PHÒNG BAN
C.NHÂN C.VIÊN Q.LÝ
(t,e)
QLý
Ptrách
(1,n)
(1,n)
(0,1)
(0,1)
(1,1)
Mã PB
Tên PB
NHÂN VIÊN Thuộc
(1,1)Mã NV
Tên NV
SLượng NV
trực thuộcBậc thợ
Chuyên
ngành
PHÒNG BAN
C. NHÂN C. VIÊN Q. LÝ
QLý
Ptrách
(1,n)
(1,n)
(0,1)
(0,1)
(1,1)
Mã PB
Tên PB
Nv-Cn Nv-Cv Nv-Ql
(0,1)(0,1)(0,1)
(1,1)(1,1)(1,1)
C3 (tt): Ví dụ
130
Bước 1 (tt)
• C3 (tt):
Ta được các quan hệ:
NHÂN VIÊN (Mã NV, Họ tên NV)
CÔNG NHÂN (Mã NV, Bậc thợ )
CHUYÊN VIÊN (Mã NV, Chuyên ngành)
QUẢN LÝ (Mã NV, Slượng NV trực thuộc)
131
Bước 1 (tt)
• Đánh giá ưu khuyết điểm:
Ưu điểm Khuyết điểm
Có thể mô hình tất cả các loại cấu
trúc tổng quát hóa toàn bộ / bán
phần và chồng chéo / riêng biệt
Lược đồ kết quả khá phức tạp. Ví dụ
như thêm một thể hiện cho một thực
thể tập con phải thêm mới một thể
hiện cho quan hệ và một thể hiện cho
thực thể tổng quát hóa
Rất uyển chuyển khi thay đổi yêu
cầu của ứng dụng
Phải chấp nhận sự dư thừa khi biểu
diễn mối liên kết IS A thành mối kết
hợp
132
Bước 2
• B2 - Chuyển thực thể sang quan hệ
• SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTNS)
• LỚP (Mã lớp, Tên lớp, Sĩ số)
Sĩ số
SINH VIÊN Thuộc LỚP Tên lớp
Mã lớpMã SV
Họ tên SV
Địa chỉ
NTNS
133
Bước 3 + 4
• B3 - Chuyển mối kết hợp bậc 1 sang quan hệ
• B4 - Chuyển các mối kết hợp bậc i quan hệ (i =
bậc trước +1)
– Lặp lại bước 4 cho đến khi hết các mối kết hợp.
Lưu ý:
- Thuộc tính của quan hệ chính là tổ hợp các khóa của các thực thể
tham gia vào mối kết hợp, cộng với các thuộc tính riêng của quan hệ
- Dựa vào phân loại của mối kết hợp để xác định khóa của quan hệ
+ Mối kết hợp 1-1: khóa của quan hệ là một trong các khóa
của các thực thể tham gia vào mối kết hợp
+Mối kết hợp 1-n: khóa của quan hệ là khóa của nhánh nhiều
+ Mối kết hợp n-n: khóa của quan hệ là tổ hợp khóa của các
thực thể tham gia vào mối kết hợp (có thể cộng thêm thuộc tính
riêng của quan hệ)
134
Bước 3 + 4
• MỞ MH (Mã MH, Học kỳ, Niên học, Mã lớp)
• ĐĂNG KÝ (Mã SV, Mã MH, Học kỳ, Niên học, Mã lớp, Điểm)
• PHÂN CÔNG (Mã giáo viên, Mã MH, Học kỳ, Niên học, Mã lớp)
MỞ
MH
(0,n)
(0,n)
(0,n)
(0,n)
ĐĂNG
KÝ
Điểm
(0,n)
PHÂN
CÔNG(0,n)
(0,1)
MÔN HỌC SINH VIÊN
LỚP
GIÁO VIÊN
HỌC KỲ
Mã MH
Tên MH
Mã SV
Số học
phần
Tên sinh
viên
Địa chỉ
Mã lớp
Tên lớp
Sĩ số
Niên học
Học kỳ
Ngày bắt đầu Ngày kết thúc
Mã GV
Tên GV
135
Bước 5
• B5 – Gộp tất cả các quan hệ cùng khóa
Ví dụ: xét mô hình
Ngày thành lập
Sĩ số
SINH VIÊN Thuộc
lớp
LỚP Tên lớp
Mã lớpMã SV
Họ tên SV
Địa chỉ
NTNS
Thuộc
khoa
KHOA Tên khoa
Mã khoa
(1,1) (1, n)
(1,1)
(1,n)
136
Bước 5 (tt)
• Sau khi áp dụng B1, 2, 3, 4, ta được
SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTTN)
THUỘC LỚP (Mã SV, Mã lớp)
LỚP (Mã lớp, Tên lớp, Sĩ số)
THUỘC KHOA (Mã lớp, Mã khoa)
KHOA (Mã khoa, Tên khoa, Ngày thành lập)
• Áp dụng B5, ta được
SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTTN, Mã lớp)
LỚP (Mã lớp, Tên lớp, Sĩ số, Mã khoa)
KHOA (Mã khoa, Tên khoa, Ngày thành lập)
137
Bước 6
• B6 – Chuẩn hóa
Ví dụ: xét mô hình
Phụ
trách
(1,n)
(1,1) (1,1)
(1,n)
Tham
gia
(1,1)
Cuộc
họp
(1,1)
KỸ SƯ CÔNG TRÌNH
PHÒNGTHỜI ĐIỂM
Mã_CT
…
Mã_KS
…
Mã_P
…Giờ
Ngày
138
Bước 6 (tt)
• Áp dụng B1, 2, 3, 4, ta được:
KỸ SƯ (Mã_KS, ….)
CÔNG TRÌNH (Mã_CT, …)
PHÒNG (Mã_P, …)
THỜI ĐIỂM (Ngày, Giờ)
CUỘC HỌP (Mã_P, Ngày, Giờ)
PHỤ TRÁCH (Mã_CT, Mã_KS)
THAM GIA (Mã_KS, Mã_CT, Mã_P, Ngày, Giờ)
139
Bước 6 (tt)
• Áp dụng B5, ta được:
KỸ SƯ (Mã_KS, ….)
CÔNG TRÌNH (Mã_CT, …, )
PHÒNG (Mã_P, …)
THỜI ĐIỂM (Ngày, Giờ)
CUỘC HỌP (Mã_P, Ngày, Giờ)
PHỤ TRÁCH (Mã_CT, Mã_KS)
THAM GIA (Mã_KS, Mã_CT, Mã_P, Ngày, Giờ)
Mã_KS
140
Bước 6 (tt)
• Áp dụng B6, ta thấy:
THAM_GIA không đạt dạng chuẩn 2 do tồn tại PTH:
Mã_CT -> Mã_KS
Phân rã thành:
THAM GIA (Mã_CT, Mã_P, Ngày, Giờ)
KS_TG (Mã_KS, Mã_CT) ≡≡
CÔNG TRÌNH (Mã_CT, .., Mã_KS)
141
Bước 6 (tt)
• Tóm lại, ta có mô hình CSDL quan hệ:
KỸ SƯ (Mã_KS, ….)
CÔNG TRÌNH (Mã_CT, …, Mã_KS)
PHÒNG (Mã_P, …)
THỜI ĐIỂM (Ngày, Giờ)
CUỘC HỌP (Mã_P, Ngày, Giờ)
THAM GIA (Mã_CT, Mã_P, Ngày, Giờ)
142
Bước 7
• B7 – Xem xét các ràng buộc toàn vẹn
143
Ví dụ minh họa
• Mô hình quan niệm dữ liệu và mô hình tổ chức
dữ liệu (mô hình quan hệ) của ứng dụng quản
lý ấn phẩm tại Sở văn hóa thông tin TP. HCM.
Các file đính kèm theo tài liệu này:
- pttk_c3_phuong_3046.pdf