Giáo trình Phân tích thiết kế hệ thống thông tin (Phần 2) - Phạm Nguyễn Cương
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Chương 6 MÔ HÌNH HOÁ DỮ LIỆU
Mô hình quan niệm dữ liệu là một sự trình bày về dữ liệu được tổ chức. Mục đích của mô
hình quan niệm dữ liệu là chỉ ra những qui tắc về ngữ nghĩa và mối quan hệ giữa các dữ
liệu có thể được.
Chúng ta có thể làm công việc mô hình hoá dữ liệu song song với các công việc phân tích
và cấu trúc hoá yêu cầu trong suốt quá trình phân tích hệ thống. Chúng ta thu thập các mô
tả về nghiệp vụ cần thiết cho mô hình hoá dữ liệu từ các phương pháp thu thập thông tin
như: phỏng vấn, bảng câu hỏi, quan sát,…Trong một môi trường phát triển hệ thống lớn,
một nhóm có thể tập trung trong việc mô hình hoá dữ liệu trong khi nhóm khác tập trung
làm những công việc khác như: mô hình hoá xử lý, luận lý,…Thông thường, chúng ta sẽ
phải mô hình lại một mô hình quan niệm dữ liệu cho hệ thống hiện hành đang hoạt động
và xây dựng một mô hình quan niệm phù hợp với phạm vi, yêu cầu cho hệ thống. Phần
lớn trường hợp việc mô hình hoá mô hình dữ liệu quan niệm cho hệ thống hiện hành là
nhằm để xây dựng mô hình quan niệm dữ liệu cho hệ thống mới bằng việc xem xét lại
phạm vi, yêu cầu của hệ thống mới. Tuy nhiên, trong trường hợp một hệ thống là xây
dựng mới hoàn toàn thì việc mô hình hoá dữ liệu sẽ phải bắt đầu mới hoàn toàn. Một số
phương pháp khả sát hệ thống phải bao gồm luôn các câu hỏi để thu thập dữ liệu, sau đây
là một bảng câu hỏi hướng dẫn:
1. Các chủ đề/đối tượng của nghiệp vụ là gì? Các loại người, vị trí, sự vật, nguyên
liệu,… nào được sử dụng hoặc tương tác với nghiệp vụ sẽ được lưu trữ? Có bao
nhiêu thể hiện cho mỗi đối tượng tồn tại? - Dữ liệu thực thể và mô tả
2. Đặc điểm phân biệt duy nhất cho một đối tượng từ những đối tượng khác? Đặc
trưng này có thay đổi không hay cố định? - Khoá, định danh dữ liệu
3. Các đặc trưng khác của đối tựơng là gì? để các đối tượng được tham chiếu, chọn,
sắp xếp, phân loại,… - Thuộc tính và khác khoá ứng viên, hoặc định danh khác
4. Dữ liệu được sử dụng như thế nào? Ai được phép sử dụng dữ liệu này? Ai chịu
trách nhiệm thiết lập giá trị hợp pháp cho dữ liệu này? - Các vấn đề về an toàn dữ
liệu, quyền truy cập dữ liệu, và đối tượng chịu trách nhiệm thiết lập về dữ liệu.
5. Khoảng thời gian nào chúng ta sử dụng dữ liệu này? Dữ liệu này cần lưu vết quá
trình của nó hay không? Nếu một đặc trưng của đối tượng thay đổi chúng ta có
cần phải biết các giá trị cũ của nó hay không? - Bản số và chiều thời gian của dữ
liệu.
6. Có phải tất cả thể hiện của mỗi đối tượng là tương tự nhau không? Đó là, có
những loại đối tượng đặc biệt nào mà đơn vị cần nô tả và giải quyết khác nhau
không? - Tổng quát hoá, chuyên biệt hoá
7. Các biến cố nào xảy ra ngụ ý các mối kết hợp giữa các đối tượng? – Các liên kết
dữ liệu, bản số của liên kết
8. Xác lập về các luật toàn vẹn dữ liệu, ràng buộc về bản số tối thiểu, tối đa.
Sau đây chúng ta tìm hiểu về một dùng để biểu diễn mô hình dữ liệu ở mức quan niệm:
148
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
I. Mô hình thực thể - kết hợp (Entity Relationship
Model)
Giáo trình này sẽ tập trung vào mô hình thực thể kết hợp (TT-KH) – mô hình được sử
dụng nhiều nhất trong việc thiết kế quan niệm dữ liệu. Mô hình TT-KH được giới thiệu
bởi CHEN vào nằm 1976 và đã trở nên phổ biến ngày càng nhiều hơn. Đến năm 1988,
ANSI chọn mô hình TT-KH là mô hình chuẩn cho Hệ thống tự điển tài nguyên thông tin
(IRDSS: Information Resource Dictionary System).
Đầu tiên, mô hình TT-KH chỉ bao gồm các khái niệm thực thể, kết hợp và thuộc tính. Về
sau, một số khái niệm khác như là thuộc tính kết hợp, cấu trúc cây tổng quát hóa được bổ
sung vào mở rộng hơn mô hình TT-KH. Trong phần tiếp theo chúng ta sẽ xem xét các
khái niệm cơ bản, sau đó sẽ xét đến các khái niệm mở rộng.
Mô hình thực thể kết hợp là một sự trình bày chi tiết, luận lý về dữ liệu cho một đơn vị tổ
chức hoặc một phạm vi nghiệp vụ xác định. Mô hình TT-KH được diễn đạt bằng các
thuật ngữ thực thể trong môi trường nghiệp vụ, các mối kết hợp hoặc các liên kết giữa các
thực thể này, và các thuộc tính hoặc các đặc trưng của tất cả thực thể và mối kết hợp. Một
mô hình TT-KH thường được thể hiện dưới dạng sơ đồ và được gọi là sơ đồ TT-KH
(ERD – Entity-Relationship Diagram). Cho đến bây giờ đã tồn tại nhiều khái niệm dùng
để biểu diễn các thành phần của mô hình TT-KH, trong giáo trình này chúng ta sẽ tiếp
cận một tập các khái niệm cơ bản, nếu chúng ta dùng một ký hiệu khác thì chúng ta cũng
dễ dàng chuyển đổi giữa chúng.
I.1 Các yếu tố cơ bản của mô hình thực thể kết hợp
Mô hình TT-KH giới thiệu các khái niệm cơ bản là thực thể, mối kết hợp và thuộc tính.
Nên lưu ý rằng chúng ta dùng thuật ngữ thực thể và mối kết hợp để biểu thị một lớp các
đối tượng, Trong một số tài liệu khác, các tác giả có thể dùng thuật ngữ tương đương là
loại thực thể và loại mối kết hợp.
I.1.1. Thực thể
Thực thể biểu diễn lớp các đối tượng của thế giới thực. Các đối tượng này có thể phân
thành 2 loại:
-
Đối tượng hữu hình: các đối tượng có thể quan sát một cách trực quan. Ví dụ:
PHÒNG, TOÀ NHÀ, NHÂN VIÊN, SINH VIÊN,…
-
Các đối tượng vô hình: là các đối tượng trừu tượng không cảm nhận được một
cách trực quan. Ví dụ: DỰ ÁN, LỚP HỌC, PHÒNG BAN,…
Ký hiệu
Hình chữ nhật có tên thực thể nằm bên trong
Tên thực thể
Tên
Tên thực thể = Danh từ (cụm danh từ)
Ví dụ
149
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
SINH VIEN
LOP HOC
DU AN
I.1.2. Mối kết hợp
Mối kết hợp biểu diễn sự kết hợp giữa hai hay nhiều thực thể.
Ký hiệu
Tên
MKH
Tên
Tên MKH = Động từ (cụm danh từ)
Ví dụ
Một ví dụ về mối kết hợp nhị phân SINH-TẠI là quan hệ giữa CON-NGƯỜI và THÀNH-
PHỐ sinh ra. Một mối quan hệ nhị phân khác giữa hai thực thể trên là SỐNG-Ở cho biết
thành phố mà con người đang sống. Mối kết hợp được biểu diễn đồ họa bởi hình thoi như
trong hình
SONG-O
CON-NGUOI
THANH-PHO
SINH-TA I
Một phần của lược đồ TT-KH biểu diễn các thực thể CON-NGƯỜI và THÀNH-PHỐ và
các mối quan hệ SINH-TẠI và SỐNG-Ở.
Mối kết hợp đa phân nối kết nhiều hơn hai thực thể; ví dụ như quan hệ BUỔI-HỌC trong
ví dụ hình
MÔN HỌC
LỚP HỌC
BUOI-HOC
NGÀY
150
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Hình 47.
Mối quan hệ đa phân
Mối kết hợp phản thân là mối kết hợp giữa một thực thể với chính nó. Chúng còn được
gọi là mối kết hợp đệ quy. Ví dụ như mối kết hợp QUẢN-LÝ trong hình 3.17 nối kết
cán bộ quản lý và nhân viên trực thuộc, cả hai được biểu diễn bởi thực thể NHÂN-VIÊN.
Để phân biệt hai vai trò của cùng một thực thể trong mối kết hợp, chúng ta kết thêm hai
nhãn vào thực thể. Lược đồ dưới có hai vai trò QUẢN-LÝ và TRỰC THUỘC.
Quản lý
Quản lý
NHÂN VIEN
Trực thuộc
Hình 48.
Mối kết hợp phản thân
Vai trò
Biểu diễn ngữ nghĩa của một thực thể tham gia vào mối kết hợp. Mổi vai trò có một tên
và một bản số
-
Tên vai trò
Tên vai trò = động từ
-
Bản số: bản số của một vai trò qui định ràng buộc về số lượng đối tượng của một
thực thể có thể tham gia vào mối kết hợp. Một bản số được biểu diễn bởi một cặp
giá trị là (mincard, maxcard) trong đó.
o Mincard: qui định giá trị tối thiểu của một đối tượng trong thực thể tham
gia vào mối kết hợp. Giá trị của mincard từ 0 a (a là hàng số)
o Maxcard: qui định giá trị tối đa cho phép một đối tượng của thực thể có thể
tham gia vào mối kết hợp. Một đối tượng tồn tại trong thực thể không thể
có số lần tham gia vào mối kết hợp vượt con số này. Giá trị của maxcard
từ 1 n (n có nghĩa là nhiều, không hạn chế)
Các mẫu bản số cơ bản là : (0,1), (1,1), (2,5), (0,n), (1,n), (2,n)
Ví dụ:
151
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Làm tại
Gồm
Làm
việc
NHÂN VIÊN
PHÒNG BAN
(1,1)
(0,n)
Các vai trò của mối
kết hợp làm việc
Của
Có
Của
ĐƠN HÀNG
KHÁCH HÀNG
(1,1)
(1,n)
Hình 49.
Mô tả vai trò của mối kết hợp
Thông thường tên của vai trò được che dấu và không được hiển thị trong sơ đồ, thay vào
đó tên của mối kết hợp có thể sẽ lấy tên của một vai trò hoặc một tên ghép các tên thực
thể
Gồm
NHÂN VIÊN
PHÒNG BAN
PHÒNG BAN
(1,1)
(0,n)
Hoặc
NV_PB
NHÂN VIÊN
(1,1)
(0,n)
Mối kết hợp làm việc giữa hai thực thể Nhân viên và Phòng ban là mối kết hợp nhị phân
bao gồm hai vai trò. Vai trò Làm tại mô tả nhân viên được phân công làm việc trong một
phòng ban và bản số (1,1) của vai trò cho biết một thể hiện nhân viên của thực thể phải
tham gia kết hợp với ít nhất một phòng ban và tối đa một phòng ban (duy nhất một phòng
ban). Trong khi đó vai trò Gồm mô tả phòng ban gồm có những nhân viên trực thuộc và
bản số (0,n) cho biết một thể hiện phòng ban có thể không hoặc chưa tham gia vào mối
kết hợp Làm tại và có thể tham gia nhiều lần và mối kết hợp không hạn chế.
Trong các ví dụ trên chúng ta có bản số mô tả cho lần lượt các mối kết hợp SONG O,
SINH TAI, BUOI HOC, QUAN LY nhu sau:
152
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
MON-HOC
(1,n)
LOP-HOC
(0,n)
SONG-O
(0,1)
(0,n)
BUOI-HOC
CON-NGUOI
THANH-PHO
(0,n)
(1,1)
(0,n)
SINH-TA I
NGAY
(0,1)
(0,n)
NHAN-VIEN
QUAN-LY
Một cách cụ thể hơn, chúng ta xem xét qua việc biểu diễn thể hiện sau:
p1
k1
nv1
nv2
d1
d2
p2
p3
p4
k2
k3
k4
nv3
d3
nv4
nv5
d4
d5
Nhân viên
Phòng ban
Đơn hàng
Khách hàng
Thể hiện nv1 không hợp lệ do vi phạm về bản số tối đa (tham gia kết hợp 2 lần); nv5 vi
phạm bản số tối thiểu (không tham gia mối kết hợp). Tương tự, d1 của đơn hàng không
hợp lệ do vi phạm bản số tối đa; d5, k4 vi phạm bản sô tối thiểu.
Tổng quát, cho 2 thực thể E1, E2 và mối kết hợp R giữa chúng. Tùy theo giá trị bản số tối
thiểu chúng ta có những trường hợp sau:
. Nếu mincard (E1,R) = 0 thì chúng ta nói rằng class E1 có sự tham gia tùy
ý trong mối kết hợp bởi vì một đối tượng của class C1 có thể không tham
gia kết hợp với đối tượng lớp E2 trong mối kết hợp R.
. Nếu mincard (E1,R) >0 thì chúng ta nói rằng class E1 có sự tham gia bắt
buộc vào mối kết hợp bởi vì một đối tượng của class E1 phải bắt buộc
tham gia kết hợp với ít nhất một phần tử của class E2 trong mối kết hợp R.
Tùy theo giá trị của bản số tối đa mà chúng ta có các trường hợp sau:
. Nếu maxcard(E1,R) = 1 và maxcard(E2,R) = 1 thì ta gọi là mối kết hợp
một - một (one- to – one)
153
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
. Nếu maxcard(E1,R) = 1 và maxcard(E2,R) = n thì ta gọi là mối kết hợp
một - nhiều (one- to – many)
. Nếu maxcard(E1,R) = n và maxcard(E2,R) = 1 thì ta gọi là mối kết hợp
nhiều - một (many- to – one)
. Nếu maxcard(E1,R) = n và maxcard(E2,R) = n thì ta gọi là mối kết hợp
nhiều - nhiều (many- to – many)
Thể hiện
Một thể hiện của mối kết hợp là một tổ hợp không trùng lắp của các thực thể tham gia vào
mối kết hợp
Ví dụ:
Giảng
dạy
GIÁO VIÊN
MÔN HỌC
(1,n)
(0,n)
g1
g2
<g1,m1>
<g2,m2>
<g1,m1>
m1
m2
Không hợp lệ do trùng lắp
I.1.3. Thuộc tính
Thuộc tính: biểu diễn các đặc trưng cơ bản của thực thể hay mối kết hợp. Tất cả thông
tin mở rộng được biễu diễn bởi thuộc tính.
Ký hiệu
Tên thuộc tính
Hình mô tả thêm các thuộc tính cho ví dụ
Ngày đến
SONG-O
(0,n)
Tên
Họ
(1,1)
Độ cao
Số CMND
THANH-PHO
CON-NGUOI
(0,n)
Số dân cư ngụ
Nghề nghiệp
(0,n) Học vị
(0,1)
SINH-TA I
Ngày-sinh
Thuộc tính đa trị
Hình 50.
Một lược đồ TT-KH với các thực thể, mối kết hợp và thuộc tính
154
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Giống như mối kết hợp, thuộc tính cũng được đặc trưng bởi bản số tối thiểu và tối đa.
Bản số tối thiểu (min-card) chỉ ra con số tối đa của giá trị thuộc tính liên kết với mỗi thể
hiện của thực thế hay mối kết hợp.
Cho A là một thuộc tính của thực thể E:
Nếu min-card (A,E) = 0 thì thuộc tính đó là tuỳ ý có thể có giá
trị rổng (Null) trong một số trường hợp.
Nếu min-card (A,E) = 1 thì thuộc tính là bắt buộc và phải có ít
nhất một giá trị thuộc tính được xác định cho tất cả các thể hiện
thuộc tính.
Định nghĩa cho bản số của mối kết hợp cũng tương tự như bản số của thực thể.
Trong ví dụ của chúng ta, HỌ TÊN, SỐ CMND và NGHỀ NGHIỆP là thuộc tính bắt
buộc nên chúng ta không thể chấp nhận thêm mới một con người vào CSDL nếu không
đủ HỌ TÊN, SỐ CMND8 và NGHỀ NGHIỆP. HỌC-VỊ là tuỳ ý và chúng ta chấp nhận
thêm mới một con người mà HỌC-VỊ là không xác định.
Bản số tối đa (max-card) chỉ ra con số tối đa các giá trị thuộc tính liên kết với mỗi thể
hiện thực thể hay mối kết hợp.
Cho A là một thuộc tính của thực thể E:
Nếu max-card (A,E) = 1 thì thuộc tính đó là thuộc tính đơn giá
trị (single-valued).
Nếu max-card (A,E) > 1 thì thuộc tính là đó là thuộc tính đa giá
trị (multi-valued).
Định nghĩa cho bản số tối đa của mối kết hợp cũng tương tự như bản số của thực thể.
Trong ví dụ của chúng ta đang xét, HỌ TÊN, SỐ CMND và NGHỀ NGHIỆP là đơn giá
trị. HỌC-VỊ là đa giá trị bởi vì mỗi người có thể có nhiều ngạch bậc ví dụ như tốt nghiệp
phổ thông, đại học , cao học, tiến sĩ của các ngành khác nhau.
Chúng ta có thể tổng hợp bản số tối đa và tối thiểu thành một cặp (min-card, max-card) sẽ
được trình bày trong lược đồ, bên cạnh tên thuộc tính. Giá trị thông thường là (1,1) được
xem là giá trị ngầm định, do đó không cần thể hiện lên trên lược đồ.
Mỗi thuộc tính sẽ liên quan đến một tập hợp các giá trị hợp lệ gọi là miền giá trị (domain)
xác định. Khai báo miền giá trị tương ứng với khai báo kiểu trong các ngôn ngữ lập trình.
Một thuộc tính đơn sẽ được định nghĩa trên một miền giá trị.
Một số ví dụ khác
Mã SV
Tên SV
(0,n)
(0,n)
Kết quả
Mã MH
Tên MH
SINH VIÊN
MÔN HỌC
Điểm
Số HP
sv1(001, NVA)
sv2(002, NTB)
<sv1, m1, 4>
<sv2, m1, 7>
<sv2, m2, 8>
m1(01, CSDL, 3)
m2(02, MMT, 3)
8 Chú ý là do con người chúng ta quan tâm là người lớn: nhân viên hay sinh viên nên bắt buộc phải có số
chưng minh nhân dân.
155
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Mô hình trên cho phép chúng ta mô tả một sinh viên sẽ có một kết quả ghi nhận bằng
điểm trên một môn học, và ứng với một môn học một sinh viên chỉ được phép ghi nhận
một điểm số duy nhất. Nếu chúng ta muốn biểu diễn một sinh viên sẽ được ghi nhận trên
nhiều điểm khác nhau trên một môn học ứng với nhiều lần thi khác nhau thì chúng ta phải
chuẩn hoá các lần thi như là một tập hợp các đối tượng thuộc hệ thống quản lý và biểu
diễn nó quan một thực thể Lần thi:
Mã SV
Tên SV
(0,n)
(0,n)
Kết quả
Mã MH
Tên MH
SINH VIÊN
MÔN HỌC
Điểm
Số HP
(0,n)
LẦN THI
Số lần thi
sv1(001, NVA)
sv2(002, NTB)
<sv1, m1, l1, 4>
<sv2, m1, l1, 7>
<sv2, m2, l1, 8>
<sv1, m1, l2, 6>
m1(01, CSDL, 3)
m2(02, MMT, 3)
l1(1)
l2(2)
I.2 Mô hình thực thể kết hợp mở rộng
Các khái niệm mới được bổ sung vào mô hình thực thể kết hợp là cấu trúc cây tổng quát
hóa, tập hợp con, thuộc tính kết hợp và định danh.
I.2.1. Cấu trúc cây phân cấp
Trong mô hình TT-KH mở rộng, chúng ta có thể thiết lập cấu trúc cây phân cấp giữa các
thực thể.
Một thực thể 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. Biểu diễn sơ đồ của tổng
quát hóa được trình bày trong hình tiếp theo. Mũi tên của cung sẽ chỉ vào thực thể tổng
quát hóa.
E
E1
E2
E3
156
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Hình 51.
Biễu diễn tổng quát hóa trong mô hình TT-KH mở rộng
Ví dụ:
XE
(p,e)
XE TẢI
XE BUS
XE HƠI
Thuộc
NHÂN VIÊN
PHÒNG BAN
(p,o)
THƯ KÝ
KỸ SƯ
NV QUẢN LÝ
Mỗi thực thể có thể được bao gồm trong nhiều tổng quát hóa, có thể đồng thời đóng vai
trò thực thể tổng quát của một quan hệ tổng quát hóa và là thực thể tập con của một quan
hệ tổng quát hóa khác. Hình dưới giới thiệu một cấu trúc cây tổng quát hóa phức tạp cho
thực thể CON-NGƯỜI. Đối lập với tổng quát hóa là chuyên biệt hóa.
CON-NGƯỜI
(t,e)
(p,e)
QUẢN-LÝ THƯ-KÝ
(t,o)
ĐÀN-ÔNG PHỤ-NỮ
NHÂN-VIÊN
(p,o)
QUẢN-LÝ
QUẢN-LÝ
HÀNH-
LẬP-
TRÌNH
NHÂN-
VIÊN BÁN
NHÂN-
VIÊN TIẾP-
Hình 52.
Cấu trúc cây tổng quát hóa của thực thể CON-NGƯỜI
Ý nghĩa của cấu trúc phân cấp là dùng để mô hình hoá việc phân loại một tập hợp các đối
tượng thành những tập con chuyên biệt hoặc tổng hợp các thực thể chuyên biệt thành một
thực thể tổng quát biểu diễn sự trừu tượng hoá ở mức cao hơn của những thực thể chuyên
biệt này
Tính chất quan trọng của cấu trúc phân cấp là tính thừa kế: tất cả các thực thể chuyên biệt
sẽ thừa kế tất cả các đặc trưng của thực thể chuyên biệt (bao gồm cả thuộc tính và mối kết
hợp). Sơ đồ dưới cho thấy thực thể E1 và E2 thừa hưởng từ E thuộc tính A và mối kết
hợp R với thực thể E’.
157
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
R
E
E’
A
E1
E2
B
C
Ví dụ dưới đây, các thuộc tính HỌ-TÊN và ĐỊA-CHỈ của thực thể CON-NGƯỜI cũng là
thuộc tính của thực thể ĐÀN-ÔNG và ĐÀN-BÀ. Ngoài ra, mỗi thực thể tập con ĐÀN-
ÔNG và ĐÀN-BÀ cũng có thuộc tính riêng của mình là TRÌNH-TRẠNG NGHĨA-VỤ và
TÊN-CON-GÁI
HỌ-TÊN
CON-
ĐỊA-CHỈ
(t,e)
ĐÀN-ÔNG
PHỤ-NỮ
TRÌNH-TRẠNG
NGHĨA-VỤ
Ví dụ khác: giả sử chúng ta có một mô hình mô tả nhập xuất nguyên vật liệu:
Số PX
PHIẾU XUẤT
Số PX
PHIẾU NHẬP
Ngày xuất
Ngày nhập
(1,n)
(1,n)
CT
SL xuất
CT
SL nhập
NVLIỆU
(0,n)
Mã NVL
Tên NVL
ĐVTính
(0,n)
Xây dựng một thực thể CHỨNG TỪ tổng quát cho hai thực thể PHIẾU NHẬP và PHIẾU
XUẤT
158
Phần 2 – Phân tích hệ thống
Số ctừ
Chương 6 – Mô hình hoá dữ liệu
(0,n)
Mã NVL
CT
CHỨNG TỪ
NVLIỆU
Ngày ctừ
(1,n)
Tên NVL
ĐVTính
(t,e)
Số lượng
PHIẾU NHẬP
PHIẾU XUẤT
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:
-
Tập hợp 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 thì gọi là toàn phần (total), ký hiệu là t.
-
Tập hợp 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 thì gọi là bán phần (partial), ký hiệu là p.
Sự tương quan giữa các thực thể chuyên biệt:
-
Không tồn tại một đối tượng của thực thể tổng quát thuộc hai thực thể chuyên biệt
trở lên thì gọi là riêng biệt (exclusive), ký hiệu là e.
-
Tồn tại một đối tượng của thực thể tổng quát thuộc hai thực thể chuyên biệt trở lên
thì gọi là chồng lắp (overlapping), ký hiệu là o.
Tập tổng quát
Tập tổng quát
Tập
Tập
Tập
chuyên
biệt
chuyên
biệt
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
Tập tổng quá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
Tập
chuyên
biệ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
Hình 53.
Sự tương quan giữa các class trong quan hệ tổng quát hoá
159
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Như vậy, trong quan hệ tổng quát hoá, sự tương quan giữa các thực thể được biểu diễn
quan bốn trường hợp (bán phần - chồng lắp (p.o), bán phần - riêng biệt (p,e), toàn phần -
chồng lắp(t,o), toàn phần – riêng biệt (t,e)). Sự tương quan này phản ánh ràng buộc ngữ
nghĩa trong tập hợp các đối tượng của quan hệ: một đối tượng của thực thể chuyên biệt
này có thể là đối tượng trong thực thể chuyên biệt khác hay không? Và một đối tượng
trong thực thể tổng quát có thể không thuộc một thực thể chuyên biệt nào hay không?.
Ví dụ, quan hệ tổng quát hoá giữa Xe – Xe tải, Xe bus, Xe hơi có sự tương quan là bán
phần – riêng biệt (p,e). Quan hệ giữa Nhân viên – Thư ký, Kỹ sư, Nhân viên quản lý có
sự tương quan là bán phần - chồng lắp (p,o).
Lưu ý: cặp giá trị thông thường là (t,e) được xem là ngầm định và có thể không cần biểu
diễn trên sơ đồ.
Trong hình 46, tính bao phủ được giải thích cụ thể như sau:
1. Sự tổng quát hóa dựa trên giới tính là toàn bộ và riêng biệt.
2. Giả sử trong lãnh vực ứng dụng mà chúng ta đang xét có thể bao
gồm con người mà không phải là nhân viên, thư ký hay quản lý.
Do đó tổng quát hóa dựa trên vai trò công việc này là bán phần
và riêng biệt.
3. Giả sử mỗi người có thể đảm nhận nhiều loại công việc khác
nhau do đó tổng quát hóa dựa vào loại công việc là bán phần và
chồng chéo.
4. Giả sử mỗi nhân viên quản lý có thể nhận cả hai vai trò quản lý
kỹ thuật và quản lý hành chính nên tổng quát hóa dựa trên vai trò
quản lý sẽ là toàn bộ và chồng chéo.
Chúng ta cũng cần nhớ lại tính chất cơ bản của sự trừu tượng dạng tổng quát hóa: Tất cả
các đặc trưng của thực thể tổng quát sẽ được kế thừa bởi các thực thể tập con. Trong mô
hình TT-KH, điều này có nghĩa là mọi thuộc tính, mối kết hợp và tổng quát hóa định
nghĩa cho thực thể tổng quát sẽ được tự động kế thừa bởi tất cả các thực thể tập con trong
quan hệ tổng quát hóa. Tính chất này rất quan trọng bởi vì nó là cơ sở để xây dựng cấu
trúc phân cấp tổng quát hóa.
I.2.2. Tập con
Tập con là một trường hợp đặc biệt của tổng quát hóa chỉ có một thực thể tập con. Tính
bao phủ của tập con rõ ràng là bán phần và riêng biệt. Chúng ta biễu diễn quan hệ tập con
bởi một mũi tên chỉ vào thực thể tổng quát như trong hình sau. Tập con có thể có các
thuộc tính riêng, ví dụ như là NGÀY-KÝ-HỢP ĐỒNG của CÔNG-NHÂN-THƯỜNG-
XUYÊN.
Họ tên
Địa chỉ
Mã số KH
Tên KH
CÔNG-NHÂN
KHÁCH HÀNG
KHÁCH QUEN
ĐThoại
CÔNG-NHÂN
THƯỜNG-XUYÊN
NGÀY KÝ
HỢP ĐỒNG
MỨC CÔNG NỢ
160
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
I.2.3. Thuộc tính kết hợp
Thuộc tính kết hợp (subset) là một nhóm các thuộc tính mà có liên hệ trong ý nghĩa khi sử
dụng. Ví dụ như thuộc tính địa chỉ biểu thị một nhóm các thuộc tính SỐ NHÀ, ĐƯỜNG
PHỐ, QUẬN, THÀNH PHỐ VÀ QUỐC GIA. Chúng ta sẽ biểu diễn thuộc tính kết hợp
bằng hình bầu dục như mô hình tiếp theo.
Số nhà
Đường - phố
Quận
ĐỊA CHỈ
CON NGƯỜI
NHÂN KHẨU
(0,n)
(0,1)
Thành phố
Quốc gia
Số CMND
Ngày lập
Nơi lập
(0,1)
CHỨNG
MINH ND
Bản số tối thiểu và tối đa áp dụng cho thuộc tính kết hợp cũng tương tự như định nghĩa
cho thuộc tính cơ bản. Trong mô hình trên, một con người có thể có nhiều địa chỉ và mỗi
địa chỉ bao gồm số nhà, đường phố, quận, thành phố và quốc gia. Trong đó thuộc tính
quận là tuỳ ý, không bắt buộc.
I.2.4. Định danh
Định danh (Identifier) của một thực thể E là một tập hợp các thuộc tính hay của các thực
thể liên quan đến E có tính chất đặc trưng duy nhất để có thể xác định phân biệt tất cả thể
hiện của E. (Nhìn dưới quan điểm thuật ngữ, định danh thỉnh thoảng được xem là khóa
(key) và khóa dự tuyển (candidate key))
Tiếp theo, chúng ta hãy xem xét định nghĩa hình thức của định danh như sau:
Cho E là một thực thể;
Cho A1, A2, A3,..., An là các đơn thuộc tính, bắt buộc của E;
Cho E1, E2, E3,..., Em là các thực thể khác được nối kết đến E bằng các mối kết hợp nhị
phân, một-một, nhiều-một, bắt buộc (i.e min-card (E,Ri) = max-card (E,Ri) = 1)
E1
R1
R2
(1,1)
(1,1)
A1
A2
E
E2
An
(1,1)
Rm
Em
161
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Xem xét tập hợp có thể là định danh I như sau: I={ A1 ,..., An , E1 ,..., Em} với n 0, m
0 , n+m 1
Giá trị của định danh cho một thể hiện cụ thể của thực thể E là e được định nghĩa như là
một tập hợp tất cả các giá trị tương ứng của thuộc tính Aì i = 1,2,...n và tất cả thể hiện
của thực thể Ej j = 1,2,...m kết nối với E với i n và j m.
Bởi vì giả thiết đã cho các thuộc tính là đơn trị và bắt buộc, các mối kết hợp là bắt buộc
với bản số tối đa là 1, do đó mỗi thể hiện của E có thể ánh xạ tới hoặc một giá trị của
thuộc tính Ai hoặc đến một thể hiện của thực thể Ej với i n và j m.
I là định danh của E nếu các đặc trưng sau được đảm bảo:
Đặc trưng duy nhất: Không thể có hai thể hiện của E có chung một giá trị
định danh chung.
Đặc trưng tối thiểu: Nếu chúng ta bỏ một vài thuộc tính Ai hay thực thể Ej
trong định danh, tính chất 1 không còn được đảm bảo.
Mỗi thực thể có thể có nhiều định danh đồng thời. Chúng ta phân loại các định danh như
sau:
1. Một định danh là đơn giản (simple) nếu n+m = 1; nó là kết hợp
(composite) nếu n+m > 1.
2. Một định danh là bên trong (internal) nếu m = 0; nó là bên ngoài
(external) nếu n = 0.
3. Một định danh là phối hợp (mixed) nếu m > 0 và n > 0.
Một điều quan trọng cần chú ý là nên tránh vòng lặp trong khi định nghĩa các định danh
(ví dụ như sử dụng thực thể Ei khi định nghĩa định danh của Ej và thực thể Ej lại được
định nghĩa bởi thực thể Ei). Với mục đích tránh các vòng lặp, một khi thực thể Ej được
bao gồm trong định nghĩa của thực thể E, thì Ej phải có định danh riêng biệt không phụ
thuộc vào E. Trong thực tế, việc xây dựng mô hình được thực hiện bằng cách bắt đầu quá
trình với các thực thể có định danh bên trong. Các thực thể này trong một số trường hợp
được gọi là thực thể mạnh (strong Entity). Sau đó, xác định định danh cho các thực thể có
định danh bên ngoài. Các thực thể này còn được gọi là thực thể yếu (weak entities).
Hình tiếp theo sẽ giới thiệu các ví dụ về các định danh. Biểu diễn đồ họa của định danh là
là vòng tròn đen nhỏ.
I = {Số CMND}
CON-NGƯỜI
(a) Định danh bên trong / đơn giản
Họ tên
Ngày sinh
I = {Họ tên, Ngày sinh}
ĐỊNH-DANH
CON NGƯỜI
(b) Định danh bên trong / kết hợp
162
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
NHÂN VIÊN
(1,1)
PHÒNG
Số phòng
Số thứ tự
trong bộ phận
(1,1)
Thuộc
(1,n)
Thuộc
(0,n)
BỘ PHẬN
TOÀ NHÀ
Mã bộ phận
Mã toà nhà
INV = {Số thứ tự trong bộ phận, BỘ PHẬN} IPHÒNG = {Số phòng, TOÀ NHÀ}
SẢN PHẨM
Số đơn hàng
ĐƠN HÀNG
(0,n)
(1,n)
Liên
quan
Của
I1CTDH = {ĐƠN HÀNG,
SẢN PHẨM}
(1,1)
(1,1)
I2CTDH = {ĐƠN HÀNG, Số
thứ tự}
CHI TIẾT
ĐƠN HÀNG
Số thứ tự
(c) Định danh kết hợp – bên ngoài và phối hợp
Hình 54.
Một số mô hình mô tả định danh
Trong hình (a), SỐ-CMND là định danh đơn-giản – bên trong của thực thể CON-NGƯỜI.
Hình (b), HỌ-TÊN và NGÀY-SINH cấu trúc nên định danh kết hợp – bên trong cho thực
thể CON NGƯỜI. Định danh kết hợp được biểu diễn đồ họa bằng một đường phân đoạn
nối kết hai hay nhiều thành phần của định danh. Một vòng tròn đen nhỏ đánh dấu các
điểm nối giữa đường phân đoạn và các thành phần của định danh. Một đầu của đường
phân đoạn sẽ có một vòng tròn đen và tên của định danh nếu có. Trong ví dụ này tên định
danh là ĐỊNH-DANH-CON-NGƯỜI
Chúng ta hãy xem xét thực thể NHÂN-VIÊN trong hình (c) kết nối đến thực thể BỘ-
PHẬN bới mối kết hợp THUỘC với bản số max-card (NHÂN-VIÊN, THUỘC) = 1. Do
đó, thực thể BỘ-PHẬN và thuộc tính SỐ-THỨ-TỰ-TRONG-BỘ-PHẬN tạo nên một
định danh bên ngoài, kết hợp và phối hợp cho thực thể NHÂN-VIÊN.
̣
Bây giờ chúng ta tiếp tục xem xét thực thể ĐƠN-ĐĂT-HÀNG. Giả sử rằng mỗi CHI-
̣
TIẾT-ĐĐH được kết nối đến thực thể SẢN-PHẨM bởi mối kết hợp LIÊN QUAN và kết
nối đến thực thể ĐƠN-ĐĂT-HÀNG bằng mối kết hợp CỦA. Bản số của các mối kết hợp
̣
̣
này là card (CHI-TIẾT-ĐĐH, CỦA) = card (CHI-TIẾT-ĐĐH, LIÊN QUAN) = (1,1).
Cũng giả thiết rằng không có hai CHI-TIẾT-ĐĐH cùng liên hệ đến cùng một sản phẩm
163
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
trong một đơn đặt hàng. Do đó, cặp các thực thể ĐƠN-ĐẶT-HÀNG (qua kết hợp CỦA)
và SẢN-PHẨM (qua kết hợp LIÊN QUAN) tạo nên một định danh kết hợp – bên ngoài
của thực thể CHI-TIẾT-ĐĐH với tên gọi là A. Mặt khác, giả sử một chi tiết đơn đặt hàng
được đánh số thứ tự ghi nhận bới thuộc tính SỐ-THỨ-TỰ. Cặp gồm thực thể ĐƠN-ĐẶT-
HÀNG (qua mối kết hợp CỦA) và thuộc tính SỐ-THỨ-TỰ tạo nên một định danh khác
tên gọi là B có tính chất bên ngoài, kết hợp và phối hợp.
Do định danh là một đặc trưng của thực thể nên nó cũng là một đặc trưng được kế thừa
bởi các thực thể tập con tương ứng: một định danh của thực thể tổng quát cũng là định
danh của các thực thể tập con. Ngoài ra, các thực thể tập con có thể có các định danh
khác.
Trong hình tiếp theo, mỗi con người được định danh bởi số CMND; mỗi nhân viên được
định danh bởi mã số nhân viên được gán trong công ty; và mỗi quân nhân được định danh
bởi sư đoàn và số quân trong sư đoàn.
SỐ-NHÀ
ĐƯỜNG-PHỐ
QUẬN (0,1)
HỌ-TÊN
(1,n
SỐ-CMND
ĐỊA-CHỈ
NGHỀ-NGHIỆP
CON-NGƯỜI
HỌC-VỊ
(0,n)
THÀNH-PHỐ
QUỐC-GIA
(p,e
(t,e)
PHỤ-NỮ
QUÂN-NHÂN
ĐÀN-ÔNG
QUẢN-LÝ THƯ-KÝ NHÂN-VIÊN
TRÌNH-TRẠNG
QUẬN SỰ
CÔNG-VIỆC
QUÂN-SỐ
MA
VIÊN
̃
́
NHÂN
CÔNG VIỆC
TÊN-CON GÁI
Hình 55.
Cấu trúc cây tổng quát hóa, thuộc tính kết hợp và định danh trong mô hình TT-
KH
I.2.5. Mối kết hợp mở rộng
Là mối kết hợp được định nghĩa trên ít nhất một mối kết hợp khác. Trong thực tế, một số
tình huống của mối kết hợp được tạo ra không phải do ngữ nghĩa liên kết giữa hai thực
thể mà dựa trên ít nhất một mối kết hợp đã tồn tại trước. Trường hợp này mô hình thực
thể - kết hợp truyền thống không cho phép biểu diễn. trong mô hình thực thể kết hợp mở
rộng, chúng ta biểu diễn điều này thông qua mối kết hợp mở rộng.
E1
E2
R1
E3
Trong mô hình, R2 là mối kết hợp mở rộng bởi vì nó được xác định dựa trên mối kết hợp
R1 và E3. Do đó R1 phải tồn tại trước R2 và thể hiện của R2 sẽ được xác định dựa trên
thể hiện của R1 và E3.
164
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Ví dụ: xem mô tả của bài toán Quản lý giáo vụ của một trường học gồm các yêu cầu như
sau:
-
Lưu trữ các thông tin về sinh viên, môn học, giáo viên, lớp học và các học kỳ
trong từng niên khóa.
-
-
-
-
Lập danh sách mở các môn học cho một lớp trong một học kỳ.
Phân công giảng dạy môn học được mở cho một giáo viên.
Lưu thông tin đăng ký môn học của sinh viên trên môn học được mở
Ghi nhận điểm kết quả học tập của sinh viên
Kết quả mô hình hóa dữ liệu như sau:
Số học
phần
Mã MH
Tên MH
Địa chỉ
Mã SV
MÔN HỌC
SINH VIÊN
(0,n)
Tên sinh viên
(0,n)
(0,n)
ĐĂNG
MỞ
Điểm
Học kỳ
Niên học
HỌC KỲ
(0,n)
Mã lớp
Tên lớp
LỚP
(0,1)
(0,n)
Ngày bắt đầu
Ngày kết thúc
Sĩ số
PHÂN
CÔNG
Mã GV
Tên GV
GIÁO VIÊN
(0,n)
Trong mô hình trên, ĐĂNG KÝ và PHÂN CÔNG là các mối kết hợp mở rộng bởi vì nó
được định nghĩa dựa trên mối kết hợp MỞ MH. Dựa trên mối kết hợp MỞ MH hệ thống
cho phép giáo vụ lưu trữ thông tin về môn học được mở ra cho một lớp trong một học kỳ.
Mối kết hợp ĐĂNG KÝ cho phép lưu trữ thông tin đăng lý học phần của sinh viên trên
môn học được mở. Mối kết hợp PHÂN CÔNG cho phép lưu trữ thông tin về việc phân
công một giáo viên trên một môn học mở.
I.3 Sự trừu tượng hóa trong mô hình TT-KH
Để đánh gía sự trừu tượng hóa trong mô hình TT-KH, trước tiên chúng ta sẽ xem xét các
khái niệm được biễu diễn trong mô hình TT-KH được nhắc lại trong hình 3.27 tiếp theo
165
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Khaùi nieäm
Thöïc theå
Keát hôïp
Bieåu dieãn ñoà hoïa
Thuoäc tính
Thuoäc tính
keát hôïp
Phaân caáp
Toång quaùt
hoùa
Ñònh danh
Ñònh danh
beân ngoaøi
hoån hôïp
Hình 56.
các khái niệm trong mô hình TT-KH
Kế tiếp, chúng ta sẽ lần lượt xem xét từng loại trừu tượng hóa gồm trừu tượng hóa dạng
phân loại, trừu tượng hóa dạng kết hợp và trừu tượng hóa dạng tổng quát hóa đã được sử
dụng trong các khái niệm trong mô hình TT-KH biễu diễn như thế nào.
I.4 Sự trừu tượng hóa dạng phân loại
Trong mô hình TT-KH, các khái niệm cơ bản là thực thể, mối kết hợp và thuộc tính đều là
sự trừu tượng hóa dạng phân loại:
Thực thể: là một lớp các đối tượng thế giới thực với các tính chất đặc trưng
của chúng
Mối kết hợp: là một lớp các sự kiện căn bản phản ảnh sự liên hệ của hai hay
nhiều thực thể
Thuộc tính: là một lớp các giá trị biểu diễn các đặc trưng nguyên tố của thực
thể hay mối kết hợp
I.5 Sự trừu tượng hóa dạng kết hợp
Tương tự như 3.4.3.2, các khái niệm cơ bản của mô hình TT-KH là thực thể, mối kết hợp
và thuộc tính kết hợp đều là sự trừu tượng hóa dạng kết hợp:
Thực thể: là sự kết hợp các thuộc tính
Mối kết hợp: là sự kết hợp giữa các thực thể
Thuộc tính kết hợp: là sự kết hợp các thuộc tính thành phần
166
Phần 2 – Phân tích hệ thống
Chương 6 – Mô hình hoá dữ liệu
Chú ý: trong một số trường hợp đặc biệt, một số mô hình TT-KH mở rộng cho phép
chúng ta định nghĩa mối kết hợp giữa các thực thể và các mối kết hợp khác. Ví dụ như
sau:
ĐĂNG
SINH VIÊN
MÔN HỌC
(1,n)
(1,n)
(0,1)
DỰ
(1,n)
KỲ THI
Hình 57.
mối kết hợp trên mối kết hợp
Trong ví dụ trên, mối kết hợp DỰ-THI là mối kết hợp được định nghĩa trên mối kết hợp
ĐĂNG-KÝ và thực thể KỲ-THI. Một cung tròn sẽ được vẽ gần mối kết hợp DỰ THI cho
biết nó được định nghĩa trên mối kết hợp ĐĂNG KÝ.
Mối kết hợp ĐĂNG-KÝ được gọi là mối kết hợp một ngôi (nghĩa là định nghĩa giữa các
thực thể), mối kết hợp DỰ-THI là mối kết hợp hai ngôi (nghĩa là định nghĩa giữa các thực
thể và mối kết hợp một ngôi). Tương tự như trên, mối kết hợp ba ngôi sẽ là mối kết hợp
định nghĩa giữa các thực thể, mối kết hợp một ngôi và mối kết hợp hai ngôi
I.6 Sự trừu tượng hóa dạng tổng quát hóa
̀
Trong mô hình TT-KH, các khái niệm sau diễn ta sự trừu tượng hóa dạng tổng quát hóa:
̉
Phân cấp tổng quát hóa
Thực thể tập con
Chú ý: khái niệm tổng quát hóa và tập con thường áp dụng cho các thực thể, tuy nhiên
trong một số mô hình TT-KH mở rộng, tổng quát hóa có thể áp dụng cho cả mối kết hợp.
Ví dụ như sau:
167
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Phân tích thiết kế hệ thống thông tin (Phần 2) - Phạm Nguyễn Cương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
giao_trinh_phan_tich_thiet_ke_he_thong_thong_tin_phan_2_pham.pdf

