You are on page 1of 143

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

PHÂN TÍCH THIẾT KẾ


HỆ THỐNG THÔNG TIN

Tài liệu giảng dạy - Khoa Hệ thống thông tin

1
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 4
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

2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mụ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
3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thế giới quan
HTTT cần tin học hóa
Thành phần dữ liệu

Cài đặt thành phần


dữ liệu dựa vào các
Tìm hiểu và mô mô hình đã thiết kế
hình hóa

Các mô hình thiết kế

Nhóm chuyên gia phân Nhóm lập trình


tích thiết kế
Hệ quản trị CSDL

CSDL của HTTT cần tin


học hóa
4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Khá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.

6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cá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 Doanh nghiệp cần lưu trữ dữ liệu gì? (dữ liệu về con người (people),
(Data entities) 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 Nét đặc trưng (characteristic) duy nhất phân biệt giữa đối tượng này và
(Candidate key) đố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 Những nét đặc trưng cơ bản của đối tượng là gì?
(Attributes)
4. Bảo mật Người dùng thực hiện những thao tác gì trên dữ liệu? (thao tác
(Security control) 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), Các đối tượng có mối quan hệ với nhau như thế nào?
bản số (cardinality) và số ngôi
(degrees)

6. Ràng buộc toàn vẹn Người dùng có những quy định, điều kiện ràng buộc gì trên dữ liệu?
(Integrity rules), bản số tối
thiểu và bản số tối đa (minimum
and maximum cardinality) 7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mô 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ể
• 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ố

9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.

10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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Ể

• Tên thực thể: danh từ, cụm danh từ


Ví dụ: SINHVIEN LOP

11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ể.

12
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ụ: Loại 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’)

13
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thuộc tính của loại 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ụ: Loại 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:

MaSV
Hoten
SINHVIEN Gioitinh
Ngaysinh
Noisinh

14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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}

15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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)}

16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
Hoten
SINHVIEN Gioitinh
Ngaysinh
Noisinh
17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mối kết hợp

• Đị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

HOCVIEN Thuộc LOP

18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ụ

Thuộc

HOCVIEN LOP

Là lớp trưởng

19
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thể hiện của mối kết hợ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 đó.

Giảng
GIÁO VIÊN MÔN HỌC
(1,n) dạy (0,n)

<g1,m1> m1
g1
<g2,m2> m2
g2
<g1,m1> m3

Không hợp lệ do
trùng lắp

20
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

21
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Số ngôi của mối kết hợp

HOCVIEN
LOP MONHOC
LOP

Giảng dạy

GIAOVIEN

22
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

23
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thuộc tính của mối kết hợp

LOP MONHOC

Giảng dạy
Hocky
Nam
GIAOVIEN

24
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.

25
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bản số

Thuộc
(1,1) (1,n)

HOCVIEN LOP

26
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bản số

Thuộc
(1,1) (1,n)

HOCVIEN LOP

(0,1) (1,1)
Là lớp trưởng

27
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.

28
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
29
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

30
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thực thể yếu

• Đị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:
Thực thể

• 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.

31
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thực thể yếu

(1,1) (1,1)
SINHVIEN Co LYLICH

32
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
(0,1)

NHANVIEN QuanLy

(0,n)

33
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 Cung định hướng:
cho biết R2 định
nghĩa trên R1
Mối kết hợp mở rộng
R2 E3

E1 E2
R1

R3

E4 R2 E3
34
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.
35
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ - Mối kết hợp mở rộng

Số học
phần MÔN HỌC Mã MH Địa chỉ SINH VIÊN Mã SV
Tên MH Tên sinh
(0,n) (0,n)
viên
(0,n) ĐĂNG
MỞ KÝ
Điểm
Học kỳ
MH
Niên học
HỌC KỲ (0,n) Mã lớp
(0,n) (0,n) LỚP
Tên lớp
Ngày bắt đầu Ngày kết thúc

Mã GV PHÂN Sĩ số
GIÁO VIÊN (0,n) CÔNG
Tên GV

36
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc phân cấp
Thực thể tổng quát
E

E1 E2 E3

Các thực thể chuyên biệt

• 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
37
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc phân cấp

Ví dụ: XE

XE MÁY XE ĐẠP XE HƠI

NHÂN VIÊN Thuộc PHÒNG BAN

NV_VP NV_SX NV_ QL

38
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc phân cấp
• Ví dụ:
CON-NGƯỜI
(t,e) (p,e)

ĐÀN ÔNG PHỤ NỮ QUẢN LÝ BGĐ NHÂN VIÊN

(t,o) (p,o)

QL - KỸ QL HÀNH NV - KẾ NV - KINH NV - TIẾP


THUẬT CHÍNH TOÁN DOANH THỊ

39
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

A E R E’

B E1 E2 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
40
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
PHIẾU GIAO Số PGH
ĐƠN ĐẶT Số ĐĐH HÀNG Ngày giao
HÀNG
Ngày đặt (1,n)
(1,n)

Chi tiết SL giao


Chi tiết SL đặt giao
đặt (0,n)

(0,n) HÀNG HÓA Mã hàng


Tên hàng
ĐVTính

Số ctừ CHỨNG TỪ (0,n) Mã hàng


CT HÀNG HÓA
Ngày ctừ (1,n) CTỪ Tên hàng
ĐVTính
(t,e)
Số lượng

ĐƠN ĐẶT HÀNG PHIẾU GIAO HÀNG


41
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

42
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

43
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc phân cấp
Tập tổng quát Tập tổng quát

(p,o) Tập Tập Tập (t,e)


Tập chuyên chuyên chuyên
chuyên biệt biệt biệt
biệt
Chuyên biệt bán phần, Chuyên biệt toàn phần,
chồng lắp riêng biệt

Tập tổng quát Tập tổng quát


Tập chuyên biệt
Tập
chuyên
(p,e) Tập biệt
(t,o)
Tập chuyên
chuyên biệt
biệt

Chuyên biệt bán phần, Chuyên biệt toàn phần,


riêng biệt chồng lắp
44
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc phân cấp
• Ví dụ

CON-NGƯỜI
(t,e) (p,e)

ĐÀN ÔNG PHỤ NỮ QUẢN LÝ BGĐ NHÂN VIÊN

(t,o) (p,o)

QL - KỸ QL HÀNH NV - KẾ NV - KINH NV - TIẾP


THUẬT CHÍNH TOÁN DOANH THỊ

45
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc phân cấp

XE
(p,e)

XE MÁY XE ĐẠP XE HƠI

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. 46
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

CÔNG-NHÂN Họ tên KHÁCH HÀNG


Địa chỉ Mã số KH
Tên KH
ĐThoại
CÔNG-NHÂN
THƯỜNG-XUYÊN KHÁCH QUEN
NGÀY KÝ
HỢP ĐỒNG MỨC CÔNG NỢ

Sự tương quan trong tập con luôn là bán phần và riêng biệt (p,e)

47
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
48
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các bước xây dựng mô hình ER

• B1 - Phân hoạch dữ liệu theo các phân hệ xử lý


• B2 - Xây dựng mô hình thực thể - kết hợp cho
từng phân hệ xử lý
• B3 - Tổng hợp các mô hình thực thể - kết hợp từ
tất các phân hệ xử lý để có một mô hình tổng
quát.
• B4 - Chuẩn hóa
• B5 - Kiểm tra lần cuối

49
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các bước xây dựng mô hình ER – B1
Phân hoạch dữ liệu thành các phân hệ xử lý
• 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 phân hệ xử lý này có khi liên quan đến dữ liệu
của phân hệ xử lý 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.
50
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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


phân hệ xử lý
• 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.

51
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
phân hệ xử lý của hệ thống ứng dụng để có một
mô hình tổng quát.
• Thường mỗi phân hệ xử lý 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…

52
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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".
53
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.

54
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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).

55
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.

56
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
57
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

58
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ụ:

CON NGƯỜI Sống NƠI CHỐN


(a) Lược đồ khởi điểm

CON NGƯỜI Sống THÀNH PHỐ


Thuộc

QUỐC GIA
(b) Lược đồ kết quả
59
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Luật căn bản phân tích dữ liệu

• Ví dụ:
THÀNH PHỐ
NƠI CHỐN
Thuộc

(c) Lược đồ chuyển đổi


QUỐC GIA

• 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ý

60
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

61
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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)
hay
thuộc tính
T7: Phát triển (thêm)
hay
thuộc tính kết hợp

T8: Tinh chế thuộc tính


hay

62
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ụ:
THÀNH PHỐ
CON NGƯỜI
Thuộc CON NGƯỜI
NƠI CHỐN
ĐÀN ÔNG PHỤ NỮ
(a) ứng dụng luật T1 QUỐC GIA (b) ứng dụng luật T2

GIẢI THƯỞNG GIẢI NOBEL GIẢI OSCAR

(c) ứng dụng luật T3

CON NGƯỜI CON NGƯỜI

Liên hệ
Sống ở Sinh tại
đến

THÀNH PHỐ THÀNH PHỐ


(d) ứng dụng luật T4 63
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 KHÁCH HÀNG

Của
Thuê
HỢP ĐỒNG THUÊ
NHÀ
Liên quan
(e) ứng dụng luật T5
NHÀ

Mã số

SINH VIÊN SINH VIÊN Tên sinh viên


Phái

(e) ứng dụng luật T6 Ngày sinh

64
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ụ:
Số nhà
CON NGƯỜI CON NGƯỜI Địa chỉ Đường
Phường
(f) ứng dụng luật T7 Quận
Thành phố

Ngày
Ngày Ngày Tháng
Năm

Thông tin sức Tình trạng sức khoẻ


khoẻ Ngày tiêm chủng cuối
(g) ứng dụng luật T8

65
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

66
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ụ:

NHÂN VIÊN CON NGƯỜI

QUẢN LÝ NHÂN VIÊN QUẢN LÝ

(c) Ứng dụng luật B3

CON NGƯỜI

Họ tên
CON NGƯỜI Giới tính
Họ tên
Giới tính Tuổi

Tuổi
(d) Ứng dụng luật B4
67
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ụ:

Số nhà
CON Số nhà CON
Đường phố Địa chỉ Đường phố
NGƯỜI NGƯỜI

Thành phố Thành phố

(e) Ứng dụng luật B5

68
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

69
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 Lược đồ khởi tạo
chủng học

Thông tin về Liên Thông tin về vị


con người quan đến trí

Tinh chế lần 1

70
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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”
Tinh chế lần 2

Sinh tại

CON NGƯỜI VỊ TRÍ


Sống ở

ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ

71
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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”
Tinh chế lần cuối

(1,1) Sinh (0,n)


Họ tên
tại
Ngày sinh Tên
Chiều cao CON NGƯỜI VỊ TRÍ
(1,n) Sống ở (0,n) Dân số
Cân nặng

ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ

(1,1)

Chức danh Tên con gái Châu lục Thuộc


-Bổ sung thêm thuộc tính
(0,n)
-Bổ sung thêm bản số
-Bổ sung định danh Tên MIỀN 72
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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”
Lược đồ khởi tạo

Thông tin bán Thông tin mua


BĐ Liên BĐ
quan

Tinh chế lần 1

Thông tin Thông tin


bán BĐ
Liên BĐ Liên
mua BĐ
quan 1 quan 2

73
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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”
Tinh chế thực thể: Thông tin
Thông tin bán lẻ Chi tiết
(1) bán lẻ bán BĐ

Thông tin xử lý Chi tiết xử


(2) lý đặt
đặt BĐ

HOÁ ĐƠN BÁN Chi tiết hóa BĐ


(1) đơn
LẺ

ĐƠN HÀNG Chi tiết Chi tiết


đặt giao

(2) Của
HOÁ ĐƠN GIAO
KHÁCH HÀNG Cho HÀNG 74
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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”
Đơn giá Số lượng Mã số
Số HĐ HOÁ ĐƠN Chi tiết BĐ Tên BĐ
Ngày HĐ (1,n) hóa đơn
(0,n) ĐVTính
Loại
Trị giá Hiệu
(0,n)
HOÁ ĐƠN Đơn giá bán
Chi tiết
GIAO HÀNG
đơn hàng
Số lượng đặt
(0,n)

Cho
(1,1) (1,n)
Số ĐH Mã KH
ĐƠN HÀNG Của KHÁCH HÀNG
Tên khách
Ngày đặt Điện
Trị giá đơn
(1,1) (1,n) hàng thoại
hàng Địa chỉ giao
hàng
Tinh chế cuối cùng 75
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 cung cấp các thông
Lãnh vực ứng dụng tin chi tiết về cấu trúc từ: báo cáo, tập
tin, sổ sách, chứng từ

Xây dựng các khái


niệm cơ bản Các đặc trưng của đối tượng sẽ được
thu thập (thuộc tính)

Thu thập thêm các


khái niệm cơ bản

Kết hợp các khái Kết hợp các đặc trưng thu thập để hình thành các
niệm cơ bản thực thể, mối kết hợp, định danh,…

Lược đồ 76
cuối
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 Tuổi phụ nữ Tên quốc gia Tên thành phố

Chiều cao đàn Chiều cao phụ Dân số quốc Dân số thành
ông nữ gia phố
Tên đàn ông Tên phụ nữ

Cân nặng Cân nặng phụ


nữ
Tên con gái
Chức danh Châu lục
Tên miền

Thu thập tất cả các đặc trưng của đối tượng hệ thống
77
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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”
Họ tên đàn ông
Tuổi đàn ông ĐÀN ÔNG Họ tên phụ nữ
Chiều cao đàn Tuổi phụ nữ PHỤ NỮ
ông Chiều cao phụ
nữ
Cân nặng đàn ông
Chức danh Cân nặng phụ nữ
Tên con gái

Tên quốc gia QUỐC GIA Tên thành phố THÀNH PHỐ
Dân số quốc Dân số thành
gia phố

Châu lục Tên miền MIỀN

Kết hợp các đặc trưng để hình thành thực thể


78
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

Họ tên đàn ông Họ tên phụ nữ


Tuổi đàn ông ĐÀN ÔNG Tuổi phụ nữ PHỤ NỮ
Chiều cao đàn Chiều cao phụ
ông nữ
Cân nặng đàn Cân nặng phụ nữ VỊ TRÍ
ông Tên con gái
Chức danh

Tên miền MIỀN Tên quốc gia QUỐC GIA Tên thành phố THÀNH PHỐ
Dân số quốc Dân số thành
gia phố
Châu lục
79
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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”
(1,1) Sinh tại (0,n)
Họ tên Số năm
Ngày sinh CON NGƯỜI VỊ TRÍ Tên
Chiều cao
(1,n) Sống ở (0,n) Dân số
Cân nặng

ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ

(1,1)

Chức danh Tên con gái Châu lục Thuộc

(0,n)
Xác định mối kết hợp, bản số, định
MIỀN
danh Tên

80
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 Các thực thể quan trọng,


niệm quan trọng nhất nổi bật của hệ thống

Lược đồ khởi
điểm

Lặp: phát triển thêm các


Lược đồ trung Tiến triển theo
khái niệm có liên kết với
“vết dầu loang”
gian các khái niệm đã tồn tại

Lược đồ 81
cuối
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chiến lược thiết kế lược đồ
• Chiến lược trong – ra – ngòai – ví dụ:

(1,1) Sinh tại (0,n)


Họ tên Số năm
Ngày sinh CON NGƯỜI VỊ TRÍ Tên
Chiều cao
(1,n) Sống ở (0,n) Dân số
Cân nặng

ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ

(1,1)

Chức danh Tên con gái Châu lục Thuộc

(0,n)
Tiến triển lần Tiến triển lần Tiến triển lần MIỀN
Tên
thứ ba thứ hai thứ nhất
82
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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”
Tiến triển
Tên sách lần một
Số phiếu Số lượng Mã sách Đơn giá

Ngày PYC (1,n) Chi (0,n) SÁCH (1,1) Cung (1,n) NHÀ CUNG Mã số
Trị giá PYC tiết cấp CẤP Tên NCC
YC (0,n) Địa chỉ
Tình trạng (1,1)
Số trang (1,n)
Ngôn
ngữ Chi
Của Số lượng đặt Đặt
tiết đặt
Đơn giá đặt tới
(1,n) (1,n)
Số đặt sách
Tên NKH NHÀ KHOA ĐƠN
Đơn vị Ngày đặt (1,1)
HỌC SÁCH
Điện thoại Ngày giao
(0,n)
Email
Trị giá
Cấp
Tiến triển
(1,1) Tiến triển lần hai
Tiến triển lần ba
NGÂN SÁCH Năm
Số tiền lần bốn
83
Ghi chú Sử dụng
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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”

Mã sách Tên sách


Số lượng
Số phiếu
PHIẾU (1,n) Chi
SÁCH Số trang
Ngày tiết (0,n)
(t,e) Trị giá phiếu Ngôn ngữ
(1,1)
Đơn giá
PYC ĐƠN SÁCH Đơn giá Cung
Tình trạng (1,1) cấp
(1,1) Đặt
(1,n)
Ngày giao tới (0,n)
Của NHÀ CUNG Mã số
Năm
CẤP Tên NCC
(1,n)
Địa chỉ
Tên NKH NHÀ KHOA (0,n) Cấp NGÂN SÁCH Số tiền
Đơn vị (1,1)
HỌC Sử dụng
Điện thoại
Ghi chú
Email

84
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 2


Lãnh vực ứng dụng 1

Lược đồ khung
Lược đồ 1 Lược đồ 2

Lược đồ cuối cùng 85


CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chiến lược thiết kế lược đồ
• Chiến lược trong phối hợp – ví dụ:
Lược đồ khung

THÔNG TIN
BÁN HÀNG Liên TỒN KHO
quan
Tinh chế

Đơn giá Số lượng Mã số


Số HĐ HOÁ ĐƠN Chi tiết BĐ Tên BĐ
Ngày HĐ (1,n) hóa đơn (0,n) ĐVTính
Loại
Trị giá Hiệu
(0,n)
HOÁ ĐƠN Đơn giá bán
GIAO HÀNG Chi tiết
đơn hàng Số lượng đặt
(0,n)
Cho
(1,1) (1,n)
Số ĐH Mã KH
ĐƠN HÀNG Của KHÁCH HÀNG Tên khách
Ngày đặt (1,1) (1,n) Điện thoại
Trị giá đơn hàng
86
hàng Địa chỉ giao
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chiến lược thiết kế lược đồ
• Chiến lược trong phối hợp – ví dụ:
Mô hình hóa TỒN KHO

Mã số
(0,n) (1,1)
LOẠI BĐ BĐ Tên BĐ THÁNG Tháng
Thuộc ĐVTính (0,n) NĂM Năm
Loại (0,n)
Hiệu (0,n) Tồn
Đơn giá bán Tổng xuất
Tồn tối thiểu
Tổng nhập Tồn đầu kỳ

Số PN Ngày nhập
Mô tả
PHIẾU NHẬP (1,n) Chi tiết Số lượng nhập
Trị giá nhập
Đơn giá nhập

87
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chiến lược thiết kế lược đồ
• Chiến lược trong phối hợp – ví dụ:
(0,n) Tháng
LOẠI BĐ Thuộc THÁNG
Loại NĂM Năm
Hiệu (0,n)

Tồn
Số PN Ngày nhập (1,1)
Tổng xuất
Mô tả
PHIẾU NHẬP (1,n) Chi tiết Số lượng nhập Tồn đầu kỳ
nhập Tổng nhập
Trị giá Đơn giá nhập
(0,n) (0,n)
Đơn giá Số lượng Mã số
Số HĐ HOÁ ĐƠN Chi tiết BĐ Tên BĐ
Ngày HĐ (1,n) hóa đơn (0,n) ĐVTính
Trị giá Tồn tối thiểu
(0,n)
HOÁ ĐƠN Đơn giá
Chi tiết
GIAO HÀNG
đơn hàng
bán
Số lượng
(0,n)
đặt
Cho
(1,1) (1,n)
Số ĐH Mã KH
ĐƠN HÀNG Của KHÁCH HÀNG Tên khách hàng
Ngày đặt (1,1) (1,n) Điện thoại
Trị giá 88
đơn hàng Địa chỉ giao
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 Không có các hiệu ứng lề không Đòi hỏi phân tích viên phải
bước được tinh chế mong muốn 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 - Dễ dàng cho các ứng dụng có Khi cần thiết có thể phải xây
xây dựng từ các tính chất cục bộ dựng lại cấu trúc trong quá
thành phần cơ bản - Phân tích không phải chịu gánh trình tinh chế ứng dụng luật
nặng quá lớn lúc bắt đầu cơ bản.
Trong ra Các khái niệm được - Dễ dàng phát hiện ra các khái Hình ảnh toàn bộ của ứng
ngoài xây dựng theo cách niệm mới liên quan đến các dụng chỉ được xây dựng vào
tiếp cận “vết dầu khái niệm đã có giai đoạn cuối cùng
loang” - Phân tích không phải chịu gánh
nặng quá lớn lúc bắt đầu
Phối hợp Phân tích từ trên - Tiếp cận theo cách “chia để trị” Đòi hỏi quyết định quan
xuống các yêu cầu; để giảm độ phức tạp trọng về lược đồ khung tại
tích hợp từ dưới lên thời điểm bắt đầu của quá
sử dụng lược đồ trình thiết kế.
khung
89
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
90
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Một số qui tắc mô hình hóa
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ể

Mã SP SANPHAM KHÁCH HÀNG Tên


Tên Địa chỉ
ĐVT Điện thoại

Gồm Của

HOADON Số HĐ
Ngày
Khách hàng

91
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

Trên thực tế, một SV sẽ có nhiều điểm trên một môn học

SINH VIÊN MÔN HỌC


Học
Điểm

HỌC KỲ
92
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

SẢN PHẨM NHÀ CUNG CẤP

Liên hệ

KHO HÀNG
Tồn tại các thể hiện không có
sự tham gia đầy đủ của các
thực thể
Cung
SẢN PHẨM ứng NHÀ CUNG CẤP

Đặt
hàng

KHO HÀNG
93
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 Học MÔN HỌC


Điểm

SINH VIÊN Thuộc LỚP HỌC


Ngày BĐ

(1,1) (1,n)
SINH VIÊN Thuộc LỚP HỌC
Ngày BĐ Ngày BĐ

94
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

Số xe
XE Màu xe
Số chỗ Loại xe  Trọng lượng
Lọai xe
Trọng lượng

XE Thuộc LOẠI XE
Tên loại
Trọng lượng

95
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.

96
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 có CON_NV


(0,n) (1,n)
97
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quy tắc 2
Thuộc tính không khóa phụ thuộc đầy đủ vào khóa

Mã NV NHÂN VIÊN NGẠCH Ngạch


….
….

Hưởng Hệ số

Tháng năm THÁNG BẬC Bậc


…. ….

Trên thực tế: Ngạch, bậc => Hệ số lương


98
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quy tắc 2 (tt)

Mã NV NHÂN VIÊN NGẠCH Ngạch


….
….
(1,n) (1,n)
(1,n)

Hưởng Ngạch Hệ số
– Bậc

(1,n) (1,n)

Tháng năm THÁNG BẬC Bậc


…. ….

99
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
… …

HÓA ĐƠN SẢN PHẨM

(1,n) (1,n)

Số lượng

CT_H Đơn giá


Đ Thành tiền

Số HD, Mã SP => Số lượng, Đơn giá


Số lượng, Đơn giá => Thành tiền
100
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
101
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ể

SINH VIÊN TRƯỜNG

Thuộ Thuộ Chỉ có một thể


c c hiện TRƯỜNG
trong suốt chu
KHOA trình hệ thống

102
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 Sản xuất HÃNG SẢN


bởi XUẤT
Màu sắc
Số xe

Đi CHUYẾN BAY CHUYẾN BAY


THÀNH PHỐ
MS-CB
Đế
MS-TP MS-CB TP_DI
n
TEN-TP
TP_DEN

103
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

CON NGƯỜI Màu sắc tóc

CON NGƯỜI Màu sắc tóc


ĐÀN ÔNG PHỤ NỮ
Phái
Tình trạng
nghĩa vụ quân Kết
sự hôn

104
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.

Số nhà
Đường
ĐỊA CHỈ Phường
Quận
Tỉnh/TP

105
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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,...

Đơn giá
SANPHAM Chi tiết HOÁ ĐƠN Số HĐ
Ngày HĐ
(1,n) HĐ (0,n)
(1,1) Trị giá
Mã SP Tên SP ĐVT
Số lượng Đơn giá Của

(0,n)
KHÁCH Họ tên KH
-Một sản phẩm có thể tồn tại nhiều lần trong HÀNG Địa chỉ
Điện thoại
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Đ?
106
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Một số vấn đề thường gặp
Mối kết hợp hay thực thể ? (tt)

Đơn giá
SANPHAM HOÁ ĐƠN Số HĐ
Ngày HĐ
(0,n)
(1,n) (1,1) Trị giá
Mã SP Tên SP ĐVT

Có Có Của
trong
(0,n)
(1,1)
(1,1)
Số thứ tự KHÁCH HÀNG Họ tên KH
CHI TIẾT Địa chỉ
Số lượng
HOÁ ĐƠN Điện thoại
Đơn giá

107
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

Bắt
đầu

(1,1) (0,n)
(0,n) (0,n)
LỊCH TRÌNH Dừng GA

(1,1) (0,n)
Kết
thúc

LỊCH TRÌNH (2,n) Liên (0,n) GA


quan
Phân loại
108
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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)

109
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.
110
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.
111
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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

112
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)
• TH1: Ở mức chuyên biệt hóa không có thuộc tính riêng
A
E
A
E’ R E

E1 E2 Loại E
E (A, Loại E)
E’ R

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}
113
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)
(1,1) Thuộc
(1,n) Mã PB
Mã NV (0,1)
Họ tên NV NHÂN VIÊN QLý PHÒNG BAN

(t,e) (1,n) (1,1)


Tên PB
C.NHÂN C.VIÊN Q.LÝ Ptrách
(0,1)

(1,1) Thuộc
(1,n) Mã PB
Mã NV
NHÂN (0,1)
Họ tên NV QLý PHÒNG BAN
LoạiNV VIÊN (0,n)

(0,1) (1,1) Tên PB


Ptrách

NHANVIEN(Mã_NV, Họ tên_NV, LOẠI_NV)


Ràng buộc miền giá trị LOẠI_NV € {CN, CV, QL} 114
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)

• TH2: Ở mức chuyên biệt hóa có ít thuộc tính


riêng (<= 3) => 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

115
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)
A
E
A
E’ R E B
B C C
E1 E2 Loại E

E’ R 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}

116
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)
(1,1) Thuộc
(1,n) Mã PB
Mã NV (0,1)
Họ tên NV NHÂN VIÊN QLý PHÒNG BAN

(t,e) (1,n) (1,1)


Tên PB
C.NHÂN C.VIÊN Q.LÝ Ptrách
(0,1)

Chuyên SLượng NV
Bậc thợ
ngành trực thuộc

LoạiNV
SLượng NV trực thuộc (1,1) Thuộc
(1,n) Mã PB
Mã NV
NHÂN (0,1)
Họ tên NV QLý PHÒNG BAN
Chuyên ngành VIÊN (0,n)
Bậc thợ (1,1)
(0,1) Tên PB
Ptrách

NHANVIEN (Mã_NV, Họ tên_NV, Chuyên ngành, Bậc thợ, Slượng NV trực


thuộc, LOẠI_NV)
117
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 
118
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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, Có thể phát sinh ra một số lớn
không phát sinh thêm các các giá trị rỗng cho các thuộc
mối kết hợp 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 Tất cả các tác vụ muốn truy cập
cấu trúc tổng quát hóa đến một thực thể tập con phải
như toàn bộ (t) và bán truy cập toàn bộ tất cả các thực
phần (p), chồng lắp (o) và thể tập con
riêng biệt (e) Phát sinh thêm một số RBTV
cần phải kiểm tra
119
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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.

120
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)

A
E’ R E

E1 B E2 C

E1 B E2 C E1 (B, A)
A A
R1 R2 E2 (C, A)
E’
121
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)
(1,1) Thuộc
C2 (tt): Vd1 (1,n) Mã PB
Mã NV (0,1)
Họ tên NV NHÂN VIÊN QLý PHÒNG BAN

(t,e) (1,n) (1,1)


Tên PB
C.NHÂN C.VIÊN Q.LÝ Ptrách
(0,1)

Chuyên SLượng NV
Bậc thợ
ngành trực thuộc

(0,n) Mã PB
(0,n)
Thuộc 1 Thuộc 2 PHÒNG BAN
Thuộc 3 (1, n)
(1,1) (1,1) (1,1) (1,1) Tên PB
(0,1)
C. NHÂN C. VIÊN Q. LÝ Ptrách
(0,n) (0,n) (0,n) (0,n)
(0,n)
Bậc thợ Chuyên SLượng NV
ngành trực thuộc (0,1)

Qlý 3 Qlý 2 Qlý 1


122
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 )

123
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)
• C2 (tt): Vd2
HÃNG SX Sản xuất XE Số xe
Tên xe
(t,e)
Số bình acquy Số sườn
Thời gian sạc XE ĐẠP ĐIỆN XE MÁY Số máy
Thời gian chạy Mode
Số loại linh kiện

HÃNG SX

Số xe Sản xuất Sản xuất Số xe


Tên xe Tên xe
Số bình acquy Số sườn
Thời gian sạc XE ĐẠP ĐIỆN XE MÁY Số máy
Thời gian chạy Mode
Số loại linh kiện 124

CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 )

125
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ể Cách chọn lựa này không áp dụng được cho cấu trúc
tập con chỉ biểu diễn riêng cho tổng quát hóa loại chồng chéo (o) và bán phần (p), chỉ
loại thực thể tập con đó 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 Quan niệm các thực thể tập con trước đây cùng là
loại thực thể tập con chỉ truy chuyên biệt hóa của một thực thể tổng quát không còn
cập đến loại thực thể tập con đó 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

126
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
127
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)
• C3: Dùng mối kết hợp
A
A E’ R E
E’ R E (0,1)
(0,1)
R1 R2
(1,1) (1,1) C
E1 B E2 C B
E1 E2

E (A)
E1 (B)
E2 (C)
• 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
128
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 1 (tt)
C3 (tt): Ví dụ (1,1) Thuộc
(1,n) Mã PB
Mã NV (0,1)
Họ tên NV NHÂN VIÊN QLý PHÒNG BAN

(t,e) (1,n) (1,1)


Tên PB
C.NHÂN C.VIÊN Q.LÝ Ptrách
(0,1)

Chuyên SLượng NV
Bậc thợ
ngành trực thuộc

Mã NV (1,1)
NHÂN VIÊN Thuộc
Tên NV (1,n) Mã PB
(0,1) (0,1) (0,1) (0,1)
Nv-Cn Nv-Cv Nv-Ql QLý PHÒNG BAN
(1,1) (1,1) (1,1) (1,n) (1,1)
Tên PB
C. NHÂN C. VIÊN Q. LÝ Ptrách
(0,1)
Chuyên SLượng NV
Bậc thợ ngành trực thuộc 129
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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)

130
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 Lược đồ kết quả khá phức tạp. Ví dụ
trúc tổng quát hóa toàn bộ / bán như thêm một thể hiện cho một thực
phần và chồng chéo / riêng biệt 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 Phải chấp nhận sự dư thừa khi biểu
cầu của ứng dụng diễn mối liên kết IS A thành mối kết
hợp

131
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 2
• B2 - Chuyển thực thể sang quan hệ
Mã SV Mã lớp
Họ tên SV SINH VIÊN Thuộc LỚP
Tên lớp
Địa chỉ
Sĩ số
NTNS

• SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTNS)


• LỚP (Mã lớp, Tên lớp, Sĩ số)

132
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ệ)

133
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 3 + 4
Số học
phần MÔN HỌC Mã MH Địa chỉ SINH VIÊN Mã SV
Tên MH Tên sinh
(0,n) (0,n)
viên
(0,n) ĐĂNG
MỞ KÝ
Điểm
Học kỳ
MH
Niên học
HỌC KỲ (0,n) Mã lớp
(0,n) (0,n) LỚP
Tên lớp
Ngày bắt đầu Ngày kết thúc

Mã GV PHÂN Sĩ số
GIÁO VIÊN (0,n) CÔNG
Tên GV

• 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)
134
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 5
• B5 – Gộp tất cả các quan hệ cùng khóa
Ví dụ: xét mô hình
(1,1) (1, n)
Mã SV Mã lớp
Thuộc
Họ tên SV SINH VIÊN LỚP
lớp Tên lớp
Địa chỉ
Sĩ số
NTNS (1,1)
Thuộc
khoa

(1,n)
Mã khoa
KHOA
Tên khoa
Ngày thành lập

135
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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)
136
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 6
• B6 – Chuẩn hóa
Ví dụ: xét mô hình
(1,n) (1,1)
Mã_KS KỸ SƯ Phụ CÔNG TRÌNH Mã_CT
… trách …
(1,n)

Tham
gia

(1,1)

Ngày (1,1) (1,1) Mã_P


THỜI ĐIỂM Cuộc PHÒNG
Giờ họp …
137
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ờ)

138
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 6 (tt)

• Áp dụng B5, ta được:


 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ờ)
 PHỤ TRÁCH (Mã_CT, Mã_KS)
 THAM GIA (Mã_KS, Mã_CT, Mã_P, Ngày, Giờ)

139
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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)

140
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ờ)

141
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bước 7

• B7 – Xem xét các ràng buộc toàn vẹn

142
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ý quán cafe.

143
CuuDuongThanCong.com https://fb.com/tailieudientucntt

You might also like