CHƯƠNG 4 PHÂN TÍCH Ý NIỆM DỮ LIỆU
I. M Ô HÌNH THựC THể - KếT HợP
I.1. Khái niệm về mô hình thực thể - kết hợp
I.1.1.Khái niệm về thực thể
Thực thể theo định nghĩa của từ điển tiếng Việt là cái có sự tồn tại độc lập. Ví dụ : con người là một thực thể xã hội. Như vậy, thực thể là một đối tượng (object) cụ thể hay trừu tượng của thế giới thực, có sự tồn tại ổn định theo thới gian để có thể được ghi nhận, biểu diễn và xử lý trong HTTT.
Ví dụ :
DH025 là Bia chai Tiger.
Số lượng của Bia chai Tiger là 10.
Mỗi thực thể có thể có một hoặc có nhiều đặc tính (Property) hay thuộc tính (Attribute).
Mỗi đặc tính đặc trưng cho một khía cạnh thực của thực thể trong HTTT và được chỉ định bởi một tên gọi và một giá trị.
Ví dụ :
Địa chỉ của Mơ là 54 Lê Lợi Đà nẵng
Phân tích xử lý Phân tích dữ liệu
Thế giới thực
Từ điển dữ liệu Phân tích các dòng dữ liệu
Nghiên cứu
phụ thuộc hàm Ma trận, đồ thị phụ thuộc hàm
Mô hình hoá
dữ liệu Mô hình ý niệm dữ liệu (MHYNDL)
Hợp thức hoá MHYNDL đã hợp thức
Mô hình ý niệm xử lý (MHYNXL)
Tên mặt hàng của đơn đặt hàng số DH025 là Bia chai Tiger Số lượng của Bia chai Tiger là 10
Tên đặc tính cũng là tên của một kiểu đặc tính (property type). Một kiểu đặc tính có thể thuộc về nhiều thực thể.
Ví dụ :
Địa chỉ của sinh viên
Tên mặt hàng của đơn đặt hàng Số lượng của mặt hàng bán
Một kiểu thực thể (entity type) là một tập hợp các thực thể được xác định bởi cùng một tập hợp các kiểu đặc tính đóng giống nhau trong HTTT. Kiểu thực thể thể hiện một lớp đối tượng thực trong thế giới thực. Trong thực tế, người ta hay nhầm lẫn giữa thực thể và kiểu thực thể.
Ví dụ :
Kiểu thực thể Sinh viên Kiểu thực thể Đơn đặt hàng Kiểu thực thể Mặt hàng bán
Tuy nhiên, để đơn giản, người ta nói thực thể Sinh viên để chỉ định kiểu thực thể Sinh viên, v.v...
Một trường hợp cụ thể (occurence) của một kiểu thực thể được tạo thành từ tập hợp các giá trị mà các kiểu đặc tính của kiểu thực thể này có thể lấy.
Ví dụ :
Giả sử kiểu thực thể Sinhviên gồm các kiểu đặc tính Tên, Phái, Địa chỉ và Ngành học, ta có các trường hợp cụ thể như sau :
STT Tên Phái Địa chỉ Ngành học
1. Mơ Nữ 54 Lê Lợi Đà nẵng Tin học
2. Mận Nữ 12/7 Phú Cam, tp. Huế Điện tử
3. Đào Nữ Quế an, Quế sơn, Quảng nam Kế toán
Trong các kiểu đặc tính của một kiểu thực thể, người ta nhấn mạnh một một kiểu đặc tính được gọi là khoá hay định danh (identifier).
Ví dụ :
Tên của sinh viên là khóa của kiểu thực thể Sinh viên Số của đơn đặt hàng là khóa của kiểu thực thể Đơn đặt hàng Tên của mặt hàng là khóa của kiểu thực thể Mặt hàng bán
Khoá của một kiểu thực thể cho phép phân biệt các trường hợp cụ thể khác nhau của kiểu thực thể đó. Khi gán một giá trị cụ thể cho khoá, ta có thể nhận được duy nhất một thực thể.
Việc xác định khóa cho thực thể không phải luôn luôn dễ dàng. Trong một kiểu thực thể, có thể chọn được nhiều kiểu đặc tính dùng làm khóa nhờ đặc trưng của bản thân dữ liệu (giá trị của đặc tính). Chẳng hạn, đối với một thực thể khách hàng, vị trí xã hội cũng như số điện thoại của khách hàng đều có thể chỉ định được khách hàng đó.
Tuy nhiên có thể xảy ra trường hợp không có kiểu đặc tính nào của kiểu thực thể được chọn làm khóa. Trong kiểu thực thể Sinh viên ở trên, nếu ta chọn khóa là Tên thì sẽ không hợp lý vì có thể xảy ra sự trùng tên. Nhiều sinh viên có thể có cùng một tên. Điều gì sẽ xảy ra nếu có sự nhầm lẫn giữa hai sinh viên trong việc quản lý đào tạo ? Lúc này, cần đưa ra được ít nhất
Để dễ dàng thiết kế các cơ sở dữ liệu quan hệ về sau, người ta đưa vào hai ràng buộc (constraints) cho các kiểu đặc tính là tính duy nhất (uniquiness) và tính sơ cấp (elementarity)
Tính duy nhất giá trị của các đặc tính bắt buộc mỗi đặc tính của một thực thể chỉ nhận một và chỉ một giá trị, không cho phép có nhiều giá trị. Ví dụ kiểu đặc tính Ngành học của thực thể sinh viên Đào không thể lấy giá trị nào khác ngoài giá trị “Kế toán”.
Tính sơ cấp của kiểu đặc tính có nghĩa là không thể định nghĩa một hoặc nhiều kiểu đặc tính này từ những kiểu đặc tính khác bằng cách tổ hợp hoặc rút gọn. Ví dụ kiểu đặc tính Địa chỉ của kiểu thực thể Sinh viên không thể xác định từ các kiểu đặc tính Số nhà, Phố và Tỉnh thành. Tính sơ cấp là bắt buộc cho mọi kiểu đặc tính cũa một kiểu thực thể.
Các kiểu thực thể được biểu diễn bởi các hình chữ nhật gồm hai phần, phần trên chứa tên của kiểu thực thể và phần dưới chứa danh sách các kiểu đặc tính của kiểu thực thể đó.
Tên của kiểu thực thể được quy ước viết toàn chữ hoa, ví dụ SINHVIÊN. Tên của các kiểu đặc tính viết hoa thường xen kẽ giống tên riêng (proper), ví dụ TênSV. Riêng tên kiểu đặc tính là khoá có gạch chân, ví dụ MãSV. Các loại tên đều không chứa dấu cách, tuy nhiên có thể sử dụng dấu gạch dưới dòng (_) để thay cho dấu cách, chẳng hạn Tên_SV.
Để dễ đọc, tên dữ liệu liên quan đến thực thể và kết hợp đều có dấu tiếng Việt.
Ví dụ :
Dưới đây là các kiểu thực thể SINHVIÊN và MÔNHOC :
Hình 4.34 Biểu diễn đồ thị của kiểu thực thể
I.1.2.Khái niệm về kết hợp
Trong cấu trúc kiểu thực thể, các dữ liệu không phản ánh được những mối liên hệ (nếu có) giữa chúng. Tồn tại những mối liên hệ hay sự phụ thuộc về tác nghiệp giữa các khóa của nhiều kiểu thực thể.
Như vậy, kết hợp (association) là mối liên hệ hay sự phụ thuộc giữa các thực thể với nhau trong đó mỗi thực thể đóng một vai trò xác định. Kết hợp phản ánh một tình huống thực trong HTTT đang xét.
Ví dụ :
Sinh viên Mơ học môn Phân tích và Thiết kế Hệ thống Sinh viên Đào ở (thuộc về) khoa Kế toán
Khách hàng Hãi Vân yêu cầu Đơn đặt hàng số DH025
Một kiểu kết hợp (association type) là một tập hợp các kết hợp có cùng ngữ nghĩa được định nghĩa giữa nhiều kiểu thực thể. Ta cũng quy ước tên của kiểu kết hợp được viết chữ hoa chữ thường xen kẽ tương tự kiểu đặc tính nhưng in nghiêng.
Ví dụ :
Kết hợp Học giữa các kiểu thực thể SINHVIÊN và MÔNHỌC.
Kết hợp ThuộcVề giữa các kiểu thực thể SINHVIÊN và KHOA MÔNHOC
MãMH TênMH SốĐVHT SINHVIÊN
MãSV TênSV PháiSV ĐịaChỉSV Ngành
Kết hợp YêuCầu giữa các kiểu thực thể KHÁCHHÀNG và ĐƠNĐHÀNG
Một kiểu kết hợp có thể có nhiều kiểu đặc tính. Ví dụ kết hợp Học có kiểu đặc tính là HọcKỳ, kết hợp YêuCầu có kiểu đặc tính là SốLượngĐặt, v.v...
Một kiểu kết hợp được gọi là nhị nguyên (binary) nếu chỉ có hai kiểu thực thể tham gia vào kết hợp. Đây là một ánh xạ giữa hai tập hợp thực thể hay giữa hai kiểu thực thể tương ứng.
Ánh xạ cũng được xem là có hai chiều ngược nhau trong phép kết hợp giữa các thực thể của hai kiểu thực thể.
Một kiểu kết hợp có thể được biểu diễn dưới dạng các bảng cụ thể như sau :
b1 b2 b3 E1 E2 a1 b1 0
a1 1 a1 b2 a1 b2 1
a2 1 a2 b1 a1 b3 0
a3 1 a3 b1 a2 b1 1
a4 1 a4 b3 a2 b2 0
a2 b3 0
a3 b1 1
a3 b2 0
a3 b3 0
a4 b1 0
a4 b2 0
a4 b3 1
Hình 4.4 Biểu diễn dạng bảng của kiểu kết hợp
Người ta đưa vào khái niệm bản số (cardinality) hay còn gọi là lực lượng. Các bản số thể hiện mối quan hệ tồn tại giữa các trường hợp cụ thể của các kiểu thực thể thông qua các kết hợp. Với mỗi kiểu thực thể và với mỗi kiểu kết hợp liên quan, hai bản số được chỉ định, bản số thứ nhất là cực tiểu và bản số thứ hai là cực đại.
Giả sử cho hai kiểu thực thể E1 và E2 với hai ánh xạ F1 và F2 ngược nhau qua kết hợp A như hình vẽ dưới đây.
Hình 4.5 Xác định bản số của kiểu kết hợp
Anh xạ F1 đặt tương ứng mỗi phần tử (hay mỗi trường hợp cụ thể) của E1 với các phần tử của E2 bởi kết hợp A. Anh xạ F2 đặt tương ứng mỗi phần của E2 với các phần tử của E1 bởi kết hợp A.
Bản số cực tiểu của F1 là số ảnh nhỏ nhất của F1 (có thể là 0, 1 hoặc n>1), còn bản số cực đại của F1 là số ảnh lớn nhất của F1 (có thể là 0, 1 hoặc n). Đối với F1, hai số này thể hiện rằng có ít nhất và có nhiều nhất số phần tử của E2 được kết hợp với một phần tử của E1 trong
Kiểu thực thể E1 Kiểu thực thể E2
F1 F2
b1 b2 b3 a1
a2 a3 a4
n thể hiện một số không xác định, lớn hơn hoặc bằng 1. Đôi khi có thể là một con số xác định nhưng trong phân tích ý niệm, người ta không đặt thành vấn đề, miễn là một con số được ghi nhận.
Trong thực tế, người ta dùng đồ thị để biểu diễn kiểu kết hợp bằng cách dùng một hình ôval ghi tên kiểu kết hợp và đường nối giữa hai kiểu thực thể liên quan.
Ví dụ :
Hình 4.35 Các bản số của kiểu kết hợp YêuCầu
Các bản số của kiểu kết hợp YêuCầu giữa KHÁCHHÀNG và ĐƠNĐHÀNG được xác định như sau :
Giữa KHÁCHHÀNG và ĐƠNĐHÀNG có bản số 0-n vì có thể không có khách hàng nào (ít nhất) và có thể yêu cầu nhiều đơn đặt hàng (nhiều nhất).
Trong một số trường hợp, bản số 1-n với giá trị 1 chỉ ra rằng mọi khách hàng thuộc cơ sở dữ liệu đều đã đặt tối thiểu một đơn đặt hàng.
Bản số giữa ĐƠNĐHÀNG và KHÁCHHÀNG là 1-1 vì mỗi đơn đặt hàng là của một khách hàng (ít nhất) và chỉ thuộc về một khách hàng mà thôi (nhiều nhất).
Ví dụ :
Hình 4.36 Các bản số của kiểu kết hợp Học
Các bản số của kiểu kết hợp Học giữa SINHVIÊN và MÔNHOC được xác định như sau : Giữa SINHVIÊN và MÔNHOC có bản số 1-n vì mỗi sinh viên đều phải học ít nhất một môn học và sinh viên bắt buộc phải học nhiều môn học.
Giữa MÔNHOC và SINHVIÊN cũng có bản số 1-n vì mỗi môn học đều có sinh viên theo học và có nhiều sinh viên theo học một môn học.
1−n 1− n SINHVIÊN
MãSV TênSV PháiSV ĐịaChỉSV Ngành
MÔNHOC MãMH TênMH SốĐVHT Học
0−n 1− 1 KHÁCHHÀNG
MãSV HọTênSV NgàySinh Ngành
ĐƠNĐHÀNG MãGV
HọTênGV NgànhGV ĐiệnThoạiCha YêuCầu
Khi xảy ra trường hợp ngoại lệ là bản số cực tiểu có giá trị lớn hơn 1, ta sẽ ghi cụ thể số đó.
Ví dụ :
Hình 4.37 Bản số cực tiểu có giá trị lớn hơn 1
Một SINHVIÊN chỉ có một và chỉ một GIÁOVIÊN phụ trách, bản số (1 − 1).
Một GIÁOVIÊN phụ trách tối thiểu 4 sinh viên, hoặc hơn, bản số (4 − n).