Tải bản đầy đủ (.pdf) (95 trang)

Mô hình thực thể liên kết mở rộng và cài đặt bằng UML

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (32.41 MB, 95 trang )

Đ Ạ I H ỌC Q U Ố C GIA H À N ỘI
K H O A C Ô N G N G H Ệ
ĐỔNG VĂN HOAN
MÔ HỈNH THỰC THỂ LIÊN KẾT Mỏ RỘNG
• ■
VÀ CÀI ĐẶT BẰNG UML
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
MÃ SỐ: 01.01.10
LUẬN VĂN THẠC s ĩ
ề ■
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. NGUYỄN TUỆ
HÀ NỘI - 2003
Mục lục
LỜI GIỚI TI-IIỆU 3
CHUÔNG 1 MÔ HÌNH HOÁ DỮLIỆU SỬDỤNG MÔ HÌNH THỤC THE LIÊN
KẾT VÀ MÔ HÌNH THỤC THE liê n k ế t m ở r ộ n g
6
1.1 Giới thiệu 6
/ /./ Giới thiệu chung 6
ỉ .1.2 Sử dụng mỏ hình khái niệm mức cao cho thiết kế cơ sở dữ liệu

7
1.2 Khái niệm cơ bản của Mô hình thực thể liên kết và mổ hình quan h ệ 8
ỉ .2.1 Thực thể và thuộc tính
8
1.2.2 Kiểu thực thể V’ổ khoá 9
1.2.3 Kiểu liên kết, tên vai trò và các ràng buộc

11
ỉ .2.4 Mô hình quan hệ 13


1.3 Mô hình thực thể liên kết mở rộng 15
1.3. ỉ Giới thiệu 15
ì .3.2 Lớp trên - Lớp dưới và thừa k ế 16
ỉ .3.3 Chuyên hiệt hoá - T'ổng quát hoá 17
Ị .3.4 Ràng buộc và các tính chất của chuyên biệt hoá vá tổng quát hoa

/9
/ .3.5 Kiểu hợp sử dụng categories 22
CHUÔNG 2 MÔ HÌNH HOÁ SỬDỤNG UML
25
2. ! Giới thiệu UM L 25
2.ỉ.ỉ Giới thiệu về U M L 25
2. ỉ 2 Mô hình mức khái niệm của UM L 26
2.1.3 Kiến trúc hệ thống 30
2. ỉ .4 Rational Rose ỉà gì? 30
2.Ỉ.5 Khả năng sử dụng của UM L 31
2. ỉ .6 Nguyên tắc quẩn lý độ phức lạp 31
2.2 Mô hình hoá sử dụng UM L 32
2.2. ỉ Mò hỉnh hoá trường hợp sử dụng (Use Case - UC)

33
2.2.2 Mô hình hoú tương (ác đổi tuợng
37
2.2.3 Sơ đồ lớp và gói 41
2.2.4 Biểu dô trạng thái và biển đồ hoạt dộng 50
T r a n g : 1
2.3 So sánh EER với biểu đồ lớp trong UML
53
2.4 Một số Thuật toán chuyển mô hình 55
2.4.1 Thuật toán chuyển mô hình ER sang quan h ệ 55

2.4.2 Thiiát toán chuyển từ mô hình EER sang quan hê 56
2.4.3 Xây dựng thuật toán chuyển biểu đồ lớp UML sang mô hình quan h ệ . 57
2.4.4 Chuyển các hành vi của đối tượng 59
CHƯƠNG 3 ÁP DỤNG 62
3.1 Bài toán

.
62
3.1. ỉ Mục đích yên cẩu 62
3.ỉ . 2 Nhiệm vụ của hệ thống là 62
3.2 Mô hình hoá bài toán sử dụng EER 63
3.2.1 Các. lớp trên, lớp dưới 63
3.2.2 Các lớp khác 65
3.2.3 Các môĩ liên kết 66
3.2.4 Mỏ hình thực thể liên k ế t 66
3.2.5 Bổ sung các thuộc tính 67
3.3 Cài dặt bằng UM L 72
3.3.1 Các tiến trình tác nghiệp của hệ thống 72
3.3.2 Một số biểu đồ của hệ thống 73
3.4 Kết quà áp dụng thuật toán chuyển mô hình 86
KẾT LUẬN 92
TÀI LIỆU THAM KHẢO 93
T r a n g : 2
LÒI GIỚI THIỆU
Phát triển phần mềm ngày càng trờ !ên phức tạp, do sự phát triển và thay đổi
kỹ thuật và cỏng nghệ như: Kiến trúc hệ thống đa tầng, cơ sở dữ liệu (CSDL) phân
tán, internet đã làm tãng độ phức tạp của các hệ thống phần mềm. Để giải quyết, có
rất nhiều phương pháp và kỹ thuật tiếp cận khác nhau: tiếp cận bướng cấu trúc, tiệm
cận hướng logic, tiếp cận hướng đối tượng và tiếp cận hướng tác tử. Một số năm gần
đây, kỹ thuật tiếp cận hướng đối tượng được sử dụng nhiều hơn cả với lý do: quan

điểm hướng đối tượng được hình thành trên cơ sở hướng hệ thống, nó coi hệ thống
như thực thể được tổ chức từ các thành phần mà chỉ được xác định khi nó thừa nhận
và có quan hộ với các thành phần khác, việc tách và nhập được thực hiện nhờ tập
phong phú các cơ chế tích hợp và khả năng thống nhất cao cái mà nó đã tách ra để
xây dụng các thực thể phức tạp từ các thực thể đơn giản. Tiếp cận hướng đối tượng
cho ta chất lượng cao và khắc phục được nhiều nhược điểm của cách tiếp cận truyền
thống.
Việc tiếp cận bài toán theo phương pháp nào thì mô hình hoá dữ liệu cũng
luôn là một khâu quan trọng trong quá trình thiết kế dữ liệu. Nó được dùng cho các
ứng dụng mà trong đó các yêu cầu dữ liệu và quan hệ giữa chúng là phức tạp. Việc
mô hình hoá dữ liệu sẽ chỉ ra được cấu trúc, tính chất của các đối tượng cũng như
phát hiện các mối quan hệ giữa các đối tượng trong thế giới thực
{như mô hình ER -
Entity Relationship modeling/EER- Enhanced Entity Relationship Modeling). Tuy
nhiên việc mô hình hoá lại xem dữ liệu độc lập với xử lý chuyển boấ dữ liệu, chính
vì vậy ta cần phải có các kỹ thuật bổ sung cho các chức năng đặc biệt, tạo nén công
cụ hoàn thiện.
Để phân tích thiết kế hệ thống một cách tổng thể và đầy đủ như hệ thống có
thực trong thế gới thực thì khả năng của con người còn nhiều hạn chế trong việc
khảo sát các vấn đề phức tạp. Thông qua mô hình hoá hệ thống ta sẽ giới hạn vấn đề
bằng cách tập trung vào một khía cạnh trong một thời điểm, đó là quan điểm chia để
Irị mà Edsger Dijkstra đã phát biểu: 'Tấn công vào vấn dề khó bằng cách chia nó
thành dãv các vấn đề nhỏ hơn mà ta có thể giải quyết được". Mô hình hoá được hệ
thông cho ta làm việc ở mức trừu tượng cao. Việc chọn mổ hình sẽ ảnh hưởng đến
cách giải quyết vấn đề, ảnh hưởns đến mức độ chính xác khác nhau của hệ thống.
T r a n g : 3
Trong thực tẽ ihì không có mô hình nào là đầy đủ và mội mô hình tốt phái là một
mô hình phù hợp với thế giới thực.
Có nhiều phương pháp và kỹ thuật được đề xuất và ứng dụng trong những
năm qua đã đạt được nhiều kết quả quan trọng. Đến năm 1995 xuất hiện ngồn ngữ

mô hình hoá ƯML (Unified Modeling Language) ]à một ngôn ngữ mô hình hoá
thống nhất cho cộng đồng hướng đối tượng. Nó đã khắc phục được nhiều nhược
điểm của các mô hình hoá khác và cho phép xét cả việc xử lý chuyển hoá dữ liệu
cũng như biểu diễn sự phức tạp của các đối tượng dữ liệu có tính chất thời gian thực
hay các đối tượng có độ phức tạp đa chiều tạo ra một bước đột phá và được nhiều
ngưòi dùng phổ biến hiện nay.
Đổng hành với sự phát triển của các kỹ thuật và ngòn ngữ mỏ hình hoá, đã có
nhiều hệ cơ sở dữ liệu như: CSDL hướng đối tượng cho nhiều ứng dụng lớn, các hệ
quản trị CSDL đối tượng có lợi thế là không phải chuyển đổi đối tượng thành các
bảng và ngược lại. Tuy nhiên cho đến nay các hệ quản trị CSDL đối tượng chưa đạt
đến độ chín muồi, vì vậy nó chưa chạy trơn tru như hệ quản trị CSDL quan hộ.
Ngược lại, công nghệ CSDL quan hộ đã được kiểm nghiệm, có nhiều công cụ hỗ trợ
phát triển và quản trị các ứng dụng CSDL quan hệ lớn và phức tạp. Chính vì vậy,
việc nghiên cứu mó hình EER có sự trọ' giúp của UML theo hướng phát triển hướng
đối lượng và cơ sở dữ liệu quan hộ mở rộng là mục tiêu của Luận văn.
Trong phạm vi luận văn cao học, tôi sẽ đi trình bày vé mô hình dữ liệu sử
dụng mô hình thực thể liên kết mở rộng và cài đặt bằng UML. Nội dung của luận
vãn gồm:
■ Chương I. Giới (hiệu chung về mô hình dữ liệu quan hệ mở rộng.
Nội dung chính của chương này nhằm: Giới thiệu chung về mô hình hoá dữ
liệu, mô hình khái niệm mức cao cho thiết kế CSDL, các khái niệm cơ bản trong mô
hình thực thể liên kết, mô hình thực thể ỉiên kết mở rộng.
■ Chương 2. Mô hình hoá hướng đối tượng sử dụng UML.
Chương này trinh bày các nội dung chính sau: các khái niệm trong việc mô
hình hoá hướng đối tượng sử dụng UML, các biểu đổ trong UML. so sánh biểu đồ
lớp trong UML và mô hình EER, trình bày một số thuật toán chuyến mô hình. Xây
dựng thuật toán chuyển một số biểu đồ trong UML sang mô hình quan hệ.
■ Chương 3. Áp dụng
T r a n g : 4
Nội dung của chương này gồm: mô hình hóa sử dụng EER trong phân tích và

thiết kế hệ thống quản lý các can pham Irong các nhà tạm giam, tạm giữ. Cài đặt mô
hình bằng UML. Áp đụng thuật toán chuyển đổi mô hình EER, các biểu đổ UML
sang mô hình quan hệ và sinh mã cài dặt.
Cuối cùng, em xin cảm ơn sự hướng dẫn tận tình của TS. Nguyễn Tuệ - Khoa
Công nghệ - Đại học Quốc gia Hà Nội. Em xin cảm ơn các thầy, các cồ trong Khoa
Công nghệ- Đại học Quốc gia - Hà Nội, cảm ơn tập thể cán bộ Phòng tin học nghiệp
vụ - Cục C27 - Bộ Còng an, cảm ơn các bạn ỉớp 7KT - Khoa Cống Nghệ đã tạo diều
kiện và giúp đỡ em trong quá trình hoàn thành khoá luận.
Hà Nội, ngày 30 tháng 03 năm 2003
Học viên
Đồng Văn Hoan
T r a n g 5
CHƯƠNG 1 MỎ HÌNH HOÁ DỮ LIỆU s ử DỰNG MÔ HÌNH THỰC THỂ LIÊN
KẾT VÀ MÔ HÌNH THựC THỂ LIÊN KẾT MỞ RỘNG
1.1 G IỚI THIỆU
1.1.1 Giói thiệu chung
Trước hết ta sẽ xem xét thế nào là mô hình hóa dữ liệu. Mô hình dữ liệu là
tập các khái niệm và luật tạo thành khái niệm cho phép mô tả dữ liệu. Việc dùng các
mô hình dữ liệu ià để ĨĨ1Ô tả các đối tượng phức tạp, hay có cấu trúc phức tạp. Với
mô hình dữ liệu người ta có thể nhìn nhận nó theo các mức khác nhau. Đa số cho
rằng cách nhìn nhận mô hình theo ba mức là mức trong, mức khái niệm và mức
ngoài là hợp lý hơn cả:
■ Mức ngoài liên quan đến giao diện ngưdi/máy, đến người sử dụng và sơ sở dữ
liệu.
■ Mức quan niệm cho phép tạo ra ý nghĩa của thông tin được mô tả và phương
pháp xử !ý với sự hỗ trợ của toán logic và hỗ trợ hình thức.
■ Mức trong liên quan đến thiết bị vật lý.
Mô hình thực thể liên kết (ER-Entừy relationship model) được xem là mô
hình dữ liệu dùng phổ biến nhất để thiết kế khái niệm các cơ sở dữ liệu. Mô hình
này được Peter Chen giới thiệu năm 1976. Năm 1988 ASNĩ đâ chọn nó như mô hình

chuẩn cho hệ thống từ điển nguồn thống tin IRDS. Ban đầu mô hình thực thể liên
kết' chỉ gồm các kiểu thực thể, các kiểu liên kết và thuộc tính. Sau này, các khái
niệm khác như thuộc tính gộp, thuộc tính phân cấp, lớp trên, lớp dưới, thừa kế và đa
thừa kế, các liên kết tổng quát hoá và chuyên biệt hoá đã được đưa vào mô hình và
được gọi là mô hình thực thể liên kết nâng cao (E ER - Enhanced Entity relationship
model) [RB94Ị. Các khái niện cơ bản của mô hình này sẽ được trình bầy chi tiết ở
các phần sau.
1 Thuật naữ thực the liên kết được dùng như lớp các dối tương, dôi khi được dùng là kiêu Ihực thể, kiểu quan
hệ.
T r a n g : 6
Hình 1.1 cho thấy một mô tả đơn giản quá trình thiết kế dữ liệu. Bước đầu
tiên ta phải phân tích và tập hợp các yêu cầu. Trong bước này người thiết kế dừ liệu
sê phỏng vấn người dùng dữ liệu trong tương lai để hiểu rõ và thiết lập tài liệu các
yêu cầu đó, kết quả được gọi là tài liệu yêu cầu người sử dụng. Việc đặc tả chi tiết
và hoàn thành các yêu cầu này được tiến hành song song với quá trình chi tiết hoá
các yèu cầu về chức năng của ứng dụng, bao gồm cả các phép toán, thao tác do
người dùng định nghĩa {hoặc các giao dịch) sẽ dược thiết kế trong dữ liệu cũng như
việc trích chọn và sửa đổi dử liệu. Trong thiết kế phần mềm thường sử dụng các lược
đổ như: lược đồ [uổng dữ liệu, lược đồ tuần tự, kịch bản cũng như những kỹ thuật
khác cho việc đặc tả các yèu cầu chức năng. Ta sẽ không nghiên cứu sâu về các kỹ
thuật này bởi vì nó là các phần của công nghệ phần mém, ta đi sâu nghiên cứu các
kỹ thuật mô hình hoá dữ liệu.
1.1.2 Sử dụng mỏ hình khái niệm mức cao cho thiết kế cơ sư d ữ liệu
dụng
Hình 1.1 Một lược đổ dơn gián cho pha chính trong thiết kếCSDL
Bước tiếp theo là ta tạo ra một lược đổ khái niệm cho dữ liệu sử dụng mỏ
hình dữ liệu khái niệm mức cao. Bước này được gọi là thiết kê khái niệm. Lược đổ
T r a n g : 7
khái niệm mó tả các yêu cầu dữ liệu của người sử dụns và bao gồm những mô tả cho
tiết các kiểu Ihực thể, các kiểu liên kết và các ràng buộc dữ liệu. Các vấn để này

được làm rõ bàng sử dụng các khái niệm cho bởi mỏ hình dữ liệu mức cao. Các khái
niệm này không hàm ý các chi tiết thi hành mà được mó tả rất dẽ hiểu và sử dụng để
trao đổi với người dùng không làm kỹ thuật.
Bước tiếp theo trong thiết kế dữ liệu là thể hiện (implementation) dữ liệu
bằng cách sử dụng một hệ quản trị CSDL dữ liệu thương mại nào đó. Rất nhiều các
hệ quản trị dữ liệu cho phép hiện thực một mô hình dữ liệu như mô hình quan hệ
hoặc mỏ hình hướng đối tượng. Các lược đổ khái niệm sẽ được chuyển đổi từ mô
hình dữ liệu mức cao vào mô hình dữ liệu được thể hiện và bước này được gọi là
thiết kế logic hoặc chuyển mò hình đữ liệu {data model mapping). Kết quả là thê
hiện mô hình dữ liệu trên hệ quản trị cơ sở dữ liệu.
Bước cuối cùng là pha thiết kế vật lý, ở phần này các cấu trúc lưu trữ dữ liệu,
đường dẫn truy cập và các file dữ liệu dạng vật lý sẽ được đặc tả.
1.2 KHÁI NIỆM CO BẢN CỦA MÔ HÌNH T HựC THỂ LIÊN KẾT VÀ MÔ HÌNH
QUAN HỆ
1.2.1 Thực thé và thuộc tính
1. Thực thể
Thực thể là “cái gì đó” tồn tại độc lập trong thế giới thực. Nó có thể là đối
tượng tồn tại dạng vật chất, con người cụ thể, ó tô hoặc đối tượng trừu tượng như
công ty, công việc
Định nghĩa: Các thực thể thể hiện các đối tượng của thế giới thực.
2. Thuộc tính
Mỗi một thực thể có các thuộc tính là những tính chất mô tả, đậc trưng cho
thực thể, ví dụ như tên, tuổi đặc trưng cho một con người.
Định nghĩa: Các thuộc tính thể hiện các rinh chất cơ bản của các thực thể hoặc liên
kết.
Thuộc tính có thể có các kiểu sau:
■ Thuộc tính đơn trị: tại một thời điểm chỉ nhận một giá trị duy nhấl
■ Thuộc tính đa trị: có thể nhận nhiều giá trị tại một thời điểm
T r a n g : 8
■ Thuộc tính đơn (ơtomic- nguyên tử): không phân chia tiếp được

• Thuộc tính ghép: là thuộc tính có giá trị được tổ hợp từ nhiều giá trị, có thể
phân rã tiếp được
* Thuộc tính dẫn xuất được: có ihể tính được nhờ giá trị của các thuộc tính
■ Ngoài ra còn có khái niệm giá trị Null cho một thuộc tính: có nghĩa là thuộc
tính có thể không có giá trị hoặc có nhưng không chác chắn.
Hình 1.2 ỉà một ví dụ về thực thể và thuộc tính nghép. Thực thể là người A
được đặc trưng bởi các thuộc tính tên, tuổi, địa chỉ và điện thoại. Trong đó, tuổi là
Ihuộc tính nguyên tử, địa chỉ là thuộc tính ghép, điện thoại là thuộc tính có thể có
giá trị Nuìl. Giá trị của địa chỉ có thể được ghép từ các giá ưị như địa chì phố
phường, quận huyộn và thành phố.
Mỗi một thuộc tính liên quan đến một miền giá trị cụ thể và miền được định
nghĩa như sau:
Định nghĩa: Miền là tập các giá trị hợp lệ đôi với thuộc tính đó.
Các mô tà về miền tương tự như mô tả loại trong ngón ngữ lập trình, một
thuộc tính đơn được xác định trên một miền. Lấy ví dụ như tuổi cùa Đối tượng phạm
tội bị giam giữ giới hạn từ 18 đến 60.
1.2.2 Kiêu thực thế và khoá.
1. Kiểu thực thể
Một cơ sở dữ liêu thường bao hàm nhiều nhóm những thực thể có cùng chung
các thuộc tính. Thông thường đổ mô hình hoá các đôi tượng dữ liệu người ta thường
khác
Địa ohi
a)
Tên= Lê A Tuổi= 55 Địa chi= 17 - Phương
Mai, Hà Nội
Người A
Điện thoại=
04.8573769
Số nhà Số ngô Phổ
b)

Hình ì .2 Ví dụ về thực thể và thuộc tích ghép
T r a n g : 9
nhóm các đối tượng cùng loại vào với nhau tạo nên một kiểu Ihực thể. Kiểu của thực
thể được định nghĩa như sau:
Định nghĩa: Kiểu thực thể mô tả một tập các thực thể có cùng thuộc tính.
Mỗi kiểu thực thể trong cơ sở dữ liệu được mồ tả bằng một tên và các thuộc
tính của nó. Hình 1.3 tà một ví đụ về kiểu thực thể Đối tượng phạm tội, trong mô
hình ER kiểu thực thể được biểu diễn bởi hộp chữ nhật như trong hình.
2. Khoá
Mỗi kiểu thực thể có một hoặc tổ hợp thuộc tính mà giá trị củâ nó xác định
cho mỗi thực thể. Thuộc tính này được gọi là thuộc tính khoá. Với tổ hợp thuộc tính
làm khoá thì tổ hợp này phải là tối thiểu. Các thuộc tính cấu thành nên thuộc tính tổ
họp phải là xác định.
Định nghĩa: Thuộc tính khoá !à thuộc tính có giá trị phân biệt đối với mỗi í hực thể.
Ví dụ: Thuộc tính PIN (sốchứng minh thư) có thể là thuộc tính khoá cho kiểu
thực thể người. Bởi vì mỗi một người có một số chứng minh thư khác nhau.
Ký pháp được sử dụng trong mô hình ER để biểu diễn kiểu thực thể, thuộc
tính, khoá và kiểu liên kết như hình 1-4.
Kiểu thực thể Thuộc tính
luộc tính Th"ÔCJ ính Khoá Kiểu thực
v đa tr
________
thể phụ
thuộc
Thuộc tính
được dẫn xuất
(Min,Max)
Hình ỉ .4 Kỷ pháp biểu diễn trong mô hình ER
Dựa vào thuộc tính khoá ta có thể phân kiểu thực thể ra thành các loại như:
• Thực thể bình Thường: Là thực thể có thuộc tính khoá của riêng nó.

T r a n g : 1 0
• Thực thể phụ thuộc: Là thực thể tồn tại phụ thuộc vào sự tồn tại của thực thể
khác.
• Thực thể yếu: Là thực thể vừa phụ thuộc vừa không có khoá riêng cho mình
((hường là sinh ra bằng cách tách các thuộc tính da trị).
1.2.3 Kiểu liên kết, tên vai trò và các ràng buộc
1. Kiểu liên kết
Trong thực tế thì một thuộc tính của một kiểu thực thể có thể tham chiếu tới
một kiểu thực thể khác, nẩy sính ra mối liên kết giữa các thực thể với nhau. Kiểu của
liên kết được định nghĩa như sau:
Một kiểu ĩiên kết giữa các kiểu thực thể E ị , E 2, E„ được định nghĩa ỉà một tập
các Hên kết giữa các thực thể.
Định nghĩa tập liên kết: tập ỉiên kết R ỉà tập các thể hiện của liên kết r, mà mỗi r,
liên kết với n thực thể khác (e,, e2,e„)
Mỗi thực thể ej trong liên kết ĩj là thành viên của kiểu thực thể Ej với 1 <j<n.
Một kiểu liên kết R giữa Ej, E2, E„ được định nghĩa như một tập con của tích đề
các E|X E2x X E„. Trong kiểu liên kết R, các kiểu thực thể Ej, E2, E„ ỉà các
thành viên tham gia vào liên kết. Mỗi thực thể của tập e (, e2, en tham gia vào
thể hiện của liên kết ĩị={ et, e2,ej.
r
\
(
\
V
\
7
Địa phương Đối tượng
thường trú phạm tội
Hình ỉ .5 Kiểu liên kết và biểu diễn kiểu liền kết
Ta có thể phân biệt kiểu ỉiên kết thông qua cấp của ỉiên kết, tỷ số iực lượng

tham gia liên kết và lực lượng tham gia liên kết.
Cấp của một kiểu liên kết được định nghĩa như sau:
Định nghĩa: Cấp của mội kiểu liên kết là sô' ỉưựng các kiểu thực thể tham gia vào.
Địa phương
thựởng trú
Đối tướng
phạm tội
T r a n g : 1 1
Cấp của các kiểu liên kết có thể là: cấp I, cấp 2 hoặc cấp cao hon 2.
2. R àng buộc
Trong mổ hình ER, các kiểu liên kết sẽ được thiết lập các ràng buộc, diều này
đảm bảo là các quy tắc nghiệp vụ của hệ thống được thoả mãn khi mô hình hoá. Có
hai kiểu chính cùa ràng buộc là: Tỉ sô' lực lượng tham gia vào liên kết (cardinality
ratio) và lực lượng tham gia vào (participation)
a) vể tỉ sô' tham gia ta có các dạng chính sau;
• Dạng 1-1:1 thực thể kiểu A liên kết 1 thực thể kiểu B
• Dạng 1-n: 1 thực thể kiểu A liên kết với nhiều thực thể kiểu B, nhưng một
thực thể kiểu B chỉ liên kết với một thực thể kiểu A
• Dạng n-m: Nhiều thực thể kiểu A liên kết với nhiều thực thể kiểu B và ngược
lại.
b) Lực lượng tham gia chỉ rõ số thực thể tham gia vào liên kết. Ta định nghĩa hai
số (p,q) trong đó p là số ít nhất các thực thể tham gia vào liên kết, q là số
nhiều nhất các thực thể tham gia vào liên kết. Nếu p=0 thì sự tham gia của
kiểu thực thể vào liên kết là tuỳ chọn, nếu p>0 thì sự tham gia của kiểu thực
thể vào liên kết ỉà bắt buộc,
Kiểu liên kết có thể cũng có các thuộc tính, chúng biểu thị các đặc trưng của
kiểu liên kết đó.
3. Tên vai trò
Một khái niệm khác của kiểu liên kết là tên vai trò (role names). Mỗi thực thể
tham gia vào một liên kết sẽ giữ mội vai trò trong liên kết đó. Tên vai trò có thể

được chỉ ra trong liên kết. Khi thiết kế và cài đặt hệ thống, các vai trò cung cấp cách
thể hiện một liên kết như thế nào.
Ví dụ: một nhân viên có thể quản lý một hoặc nhiều nhân viên khác, một hoặc
nhiều nhân viên có thể bị quản lý bởi một nhân viên như hình 1.6.
T r a n g : 12
Bi quà n lỷ
Q u ả n lý
Nhân viên
Hình 1.6: Ví dụ về tên vai trò
1.2.4 Mô hình quan hệ
Mô hinh quan hệ là mô hình mức losíc. Mô hình này nói lèn các thực thể được
biểu diễn trong CSDL như thế nào. Phần này ta không đi sâu vào nghiên cứu mô
hinh quan hệ mà chỉ trình bầy một số khái niệm cơ bản trong mô hình quan hệ.
a) Các khái niệm của mô hình quan hệ
Định nghĩa miền:miền là một tập các giá trị nguvẽn tố.
Để chỉ ra miền ta đưa ra một tên miền, kiểu và kích cỡ của kiểu đó, ví dụ như
Ho_ten có kiểu varchar(30).
Định nghĩa lược đồ quan hệ
Một lược đó quan hệ trên các thuộc tính A/A2 A,, được kí hiệu ỉả
R(Ai,A2 ,An) trong đó R là tên quan hệ.
Định nghĩa một quan hệ
Quan hệ là một lập con của tích dề các D¡xD2X xDn. Trong dó Dị là miên
giá trị của thuộc tính Aị.
hoặc
Quan hệ là một tập các hộ giá trị } trong đố fj=<v,7,va ,vy, (v;n>
VỚÌVịị G D).
Một số các dặc trưng của quan hệ:
• Thứ tự của các bộ trong một quan hệ là tuỳ ý
• Thứ tự các giá trị trong 1 bộ ỉà tuỳ ý
• Các giá trị là các giá trị nguyên tử

• Báng hiểu diẻn kiểu thực thể hoặc kiểu liên kết
T r a n g : 13
b) Ràng buộc trong lược đồ quan hệ
Ràng buộc miền: giá trị của một thuộc tính phải thuộc về miền giá trị cùa nó.
Ví dụ: ràng buộc miền thuộc tính tuổi của Đối tượng phạm tội là kiểu số nguyên có
hai chữ sô' từ 18 đến 60: Tuổi integer(2); 18<Tuổi<60.
Ràng buộc về khoá:
Giả sử R={t1,t2 ,tn } với tj*tj, Vi,j; một tập con SKc={ A,,A2 ,A„ } sao cho
Vt,,tj có t|[SK]^tj[SK] được gọi là siêu khoá (super key). Khoá K của một lược đồ
quan hệ R là một siêu khoá có tính chất, nếu bò một thuộc tính trong K thì K không
còn là siêu khoá nữa. Như vậy, K là một siêu khoá Tối thiểu. Một quan hệ có thể có
nhiều khoá, các khoá đó gọi ỉà khoá dự tuyển. Khoấ chính là một khôá được chọn từ
một trong các khoá dự tuyển tuỳ theo ý muốn của người thiết kế. Giá trị của khoá
trên các bộ giá trị khác nhau phải khác nhau.
c) Cơ sở dữ liệu quan hệ và lược đồ CSDL quan hệ
Một lược đồ quan hộ được định nghĩa ỉà R(Ai,A2 ,An)- Một quan hệ là một
tập các bộ giá trị r = {tl,t2 ,tn}. Một lược đồ CSDL quan hệ là tập các lược đồ quan
hệ S={R|, R2, R mỊ. Cơ sở dữ liệu quan hệ là tập hợp các quan hệ DB= {ri(Ri),
r2(R2) , r „ ( R J ) .
d) Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn quy chiếu
Ràng buộc toàn vẹn thực thể: Khoá chính phải là duy nhất và xác định
Ràng buộc toàn vẹn quy chiếu: Một bộ giá trị trong một quan hệ có liên quan vói
các bộ giá trị trong một quan hộ khác thì nó phải tương ứng với một bộ giá trị trong
quan hệ liên quan.
Tập các thuộc tính FK của một quan hộ Rị là một khoá ngoài {Poreign key)
của R, quy chiếu đến R2 nếu như thoả mãn các điều kiện sau đây:
- FK của Rị có cùng miền giá trị với khoá chính PK (primery key) của R2
- Mỗi giá trị của FK trong R| hoặc tương ứng với một giá trị của PK trong
R2 hoặc có giá trị NULL.
R, là quan hệ quy chiếu, là quan hệ được quy chiếu.

Trong một CSDL quan hệ, một quan hệ có thể có nhiều khoá ngoài.
T r a n g : 14
e) Các ràng buộc khác
Trong thực tế thì các quy tấc nghiệp vụ là rất phức tạp và liên hệ đến nhiều
quan hệ hoặc các thuộc tính khác nhau. Ta không thể sử dụng các ràng buộc toàn
vẹn trên thực thể hay trên các liên kết để biểu diễn được. Trong nhiều hệ quản trị
CSDL cho phép tạo ra các hàm {Function), thủ thục {Procedure) hoặc các kích hoạt
{trigger) để biểu diễn các ràng buộc.
f) Các phép toán và sự vi phạm các ràng buộc
Các phép toán trong mô hình quan hệ bao gồm:
- Phép cập nhật có các kiểu như thêm {Insert), xoá (Delete) và xửa {Update).
Phép Insert cho phép chèn một bộ giá trị mói vào quan hệ. Phép Delete cho
phép xoá một bộ giá trị và phép Update dùng để sửa đổi một bộ giá trị.
- Phép toán đại số quan hệ bao gồm phép chọn, chiếu, nối Phép chọn cho
phép ta ỉấy một bộ giá trị thoả mãn điều kiện chọn. Phép chiếu cho phép lấy
ra một số cột của bảng và kết quả là một bảng.
- Các phép toán tập hợp cho phép hợp, giao và trừ trên các quan hệ. Điều kiện
là các quan hệ tham gia vào phép toán phải cùng có cấu trúc.
- Ngoài ra còn có các phép toán bổ sung như các phép toán nhóm, nối ngoài
Mô hình quan hệ lần đầu tiên được Ted Codd giới thiệu vào năm 1970. Có nhiều
khái niệm như khái niệm các phụ thuộc hàm, định nghĩa các dạng chuẩn của quan
hệ, hay các thuật toán tìm khoá và chuẩn hoá các quan hệ dựa vào khoá chính Tuy
nhiên ta không đi sâu vào phần này.
1.3 MÔ HÌNH THỰC THỂ LIÊN KẾT MỞ RỘNG
1.3.1 Giới thiệu
Mô hình thực thể liên kết mở rộng EER bao gồm tất cả các khái niệm của mô
hình thực thể liên kết ER được chỉ ra ở phần trước và bổ sung thêm các khái niệm
như: lớp dưới, lớp trên, kế thừa, khái niệm về mối quan hệ tổng quát hoá, chuyên
biệt hoá và khái niệm cấp liên kết (category).
T r a n g : 15

Trước khi trinh bày các khái niệm về lớp trên và lớp dưới, ta định nghĩa lớp
như sau.
Định nghĩa: Một lớp2 là một tập hợp các thực thể hoặc đối tượng.
Trong nhiều trường họp, kiểu của thực thể có những nhóm con thực thể có
nghĩa (theo tính chất nào đó) và cần được biểu diễn một cách rõ ràng- Ta phân kiểu
thực thể ra thành các nhóm con theo tính chất đã rõ ràng đó. Ta gọi mỗi nhóm con là
một lớp dưới (subclass) và kiểu thực thể được gọi là ỉớp trên (superclass).
Ví dụ: Xét các thực thể là thành viên của kiểu Đối tượng phạm tội ở hình 1.7,
nếu các thực thể này đều biết trước về nghề nghiệp thì ta có thể chia thành các nhóm
theo tính chất nghề nghiệp như: nông dân, công nhân, kỹ sư, viên chức, nhà quản lý.
1.3.2 Lớp trên - Lớp dưới và thừa kế.
Hình Ị .7 Ví dụ về lớp trên và lớp dưới
Định nghĩa: Một lớp dưới s là một lớp mà các thực thể luôn luôn là một tập con của
các thực thể trong một lớp khác được gọi là lớp trên c .
Một thực thể tồn tại trong CSDL không đơn thuần là thành viên của một lớp
dưới mà nó còn là thành viên của lớp trên. Mỗi một thực thể thuộc lớp trên có thể là
thành viên nào đó của một lớp dưới hoặc không thuộc lớp dưới nào cả.
Ví dụ: Lớp trên đối tượng phạm tội có thể được phân ra thành 4 lớp dưới là
đối tượng hình sự và đối tượng an ninh, đối tượng kinh tế và đối tưọng ma tuý. Do
vậy, một đối tượng phạm tội có thể ò một trong bốn lớp dưới. Tuv nhiên không nhất
thiết mọi thực thể ở lớp trên đều là thành viên của lớp dưới.
2 Lớp ở đíty khác với dịnh nghĩa chung trong các ngôn ngữ lập trình hướng đối tượng như C”, lóp là một kiểu
cấu trúc được định nghĩa gổm các thuộc lính và các phương thức, ớ dãy lớp giống như kiếu [hực thê' loại trừ
các phưưna Ihức.
T r a n g : 16
Một khái niệm quan trọng liên quan tới lớp trên và lớp dưới là tính kế thừa
(inheritance). Ta biết kiểu của một thực thể được định nghĩa bởi các thuộc tính dặc
trưng cho nó và kiểu các mối quan hệ mà nó tham gia. Lớp trên mỏ tả một lớp đối
tượng trong thế giới thực. Các lớp dưới là sự phân tách ỉớp trên theo một tính chất
nào đó (các tính chất ha\’ thuộc tính có giá trị rõ ràng). Do đó, việc mô tả các lớp

dưới hoàn toàn tương tự như lớp trên. Và một thực thể là thành viên của lớp dưới kế
thừa tất cả các thuộc tính của thực thể thành viên trong lớp trên, nó cũng kế thừa
mọi liên kết của lớp trên đã tham gia.
Ta có thể khái quát về tính kế thừa như sau:
■ Lớp trên: các thuộc tính của lớp trên cũng là thuộc tính của lớp dưới.
■ Lớp dưới: Ngoài những thuộc tính giống như ở lớp trên nó còn có những
thuộc tính riêng, nó cũng kế thừa các liên kết từ lớp trên.
1.3.3 Chuyên biệt hoá - Tổng quát hoá
Chuyên biệt hoá (specialization) là một quá trình định nghĩa một tập ỉớp dưới
của một kiểu thực thể, kiểu thực thể này được gọi là lớp trên của chuyên biệt hoá.
Tập các lớp dưới ỉà dạng chuyên biệt được định nghĩa trên cơ sở một vài tính chất
tiêu biểu của các thực thể trong ỉớp trên. Các tính chất tiêu biểu đó được gọi là tiêu
chuẩn để phân lớp. Ngược lại, từ mộí số lớp có các tính chất và xử sự giống nhau ta
có thể xây dựng một lớp đại diện cho các lớp này và được gọi là Lớp trên. Quá trình
này gọi là tổng quát hoá (generalization). Tổng quát hoá và chuyên biệt hoá được
định nghĩa như sau:
Định nghĩa: Chuyên biệt hữá là phân một lớp thành các lớp dưới theo một tiêu
chuẩn nào đó.
Định nghĩa: Tổng quát hoá là quá trình tạo lớp tổng quát hon từ các lớp dưới. Lớp
tổng quát được gọi là lớp trên.
Trong mô hình EER việc định nghĩa các chuyên biệt hoá bằng đường kết nối
tới hình tròn. Kí hiệu d là chỉ sự rời rạc (disjoin). Kí hiệu tập con trên mỗi đường kết
nối chỉ lớp dưới kết nối trực tiếp tới lớp ĩrên và gọi là một mối quan hệ lớp trên/ lớp
dưới. Đường nối đơn và nối đôi tương ứng với mối quan hệ một phần và toàn phần.
, (. Trang: 17
V - L í / Ỉ H
Các ihuộc tính của mỗi lớp dưới trong quan hê chuyên biệt hoá có thể được thcm
vào. Không nhất thiết lớp dưới nào cũng có thém thuộc tính.
Chuyên biệt hoá là quá trình nhằm:
• Định nghĩa một tầp các Lóp dưới của một kiểu thực thể

• Thêm các thuộc tính vào cho các lớp dưới
• Thêm các kiểu mối quan hệ giữa một lớp dưới và kiểu thực thể khác hoặc lớp
dưới khác.
Từ khái niệm cơ bản trên ta đi đến định nghĩa chuẩn về tổng quát hoá và
chuyên biệt hoá như sau: Giả sử có lớp dưới là s và lớp trên của nó là c. Ta gọi quan
hệ lớp trên/ lớp dưới là một quan hệ ỉà một (is-ơ). Khi đó ScC. Một chuyên biệt hoá
(hoặc tổng quát hoá) Z={S[, s>, SnỊ là một tập các lớp dưới có cùng lớp trên G
mà G/S, là một quan hệ lớp trên/ lớp dưới (với i=ỉ n). G được gọi là kiểu thực thể
tổng quát hoá (có thể gọi là lớp (rền của chuyên biệt hoá, hoặc tổng quát hoá của
các lớp dưới Sị,S2, s„).
Một chuyên biệt hoá (hoặc tổng quát hoá) z được gọi là:
• Gộp (bất kỳ thời điểm nào) nếu có [J,v =G
; = l
• Ngược lại, z là một phần nếu có StnSj =<ị>; phân rã nếu có SínSỊ =<ị> (tập
rỗng) với i*j.
• Trùng khớp nếu thoả mãn điều kiện thứ hai với i=j.
Một lớp dưới s cùa lớp trên c gọi là được xác định trước nếu một giá trị p dã
biết trước trẽn thuộc tính của c, đặc tả các thực thể của c là thành viên của s. Khi
đó S=C[p] với C[p] là tâp thực thể trong c thoả mãn p. Một lớp dưới không được
định nghĩa trước sẽ do người dùng định nghĩa.
Một chuyên biệt hoá z (hoặc tổng quát hoá G) được xác định nếu biết trước
A=C| với A là thuộc tính của G và Cj là một giá trị thuộc miền của A. Người ta dùng
nó biểu diễn mối quan hệ thành viên ở mỗi lớp dưới Sj của z. Nếu c^Cị\ i*j và A là
thuộc tính đơn trị thì chuyên biệt hoá là rời rạc.
Ví dụ: Hình 1.8 cho ta thấy một Đối lượng phạm tội có thể chuyên biệt hoá
thành Đối tượng phạm tội là Viên chức, ĐỐI tượng phạm tội là nông dân hay Đối
T r a n g : 18
tượng phạm tội là lãnh đạo cấp cao. Ta thấy dối với lớp dưới viên chức thì có thêm
thuộc tính là bậc lương. Lớp dưới lãnh đạo cao cấp thì có mối quan hệ thuộc về một
đoàn thể hoặc một cơ quan nào đó.

Cơ quan chủ
quản
Hình 1.8 Lược đồ EER biểu diễn chuyên biệt hoá và lớp dưới
1.3.4 Ràng buộc và các tính chất của chuyên biệt hoá và tổng quát hoá
Nhìn chung chuyên biệt hoá chỉ thực hiện trên các kiểu thực thể có các thực
thể là giống nhau (hoặc từ lớp (rên), trong nhiều trường hợp các thực thể thuộc vào
các lớp dưới của quá trình chuyên biệt hoá. Một chuyên biệt hoá có thể bao gồm
duy nhất một Iófp dưới mà thôi, ví dụ hình 1.8 cho thấy chuyên biệt hoá Đối tượng
đặc biệt chỉ gồm một lớp đưới, nó không sử đụng kí pháp hình tròn.
Trong chuyên biệt hoá, ta có thể xác định chính xác các thực thể sẽ ỉà thành
viên của lớp dưới theo giá trị thuộc tính (tiêu chuẩn) của ỉớp trên. Lấy ví dụ, trong
hình 1.8 tóp trên Đối tượng phạm tội có thuộc tính nghề nghiệp, ta có thể xác định
rõ các lớp dưới như lớp viên chức, nông dân, nhà quản lý theo điều kiện nghề nghiệp
ỉà 'viên chức' hoặc 'nông dân' hoặc 'quản lý'. Việc phân iớp như thế gọi là phân lớp
định trước. Trong trường hợp không định trước thì tuỳ thuộc vào người đùng cuối
khi nhập giá trị vào sẽ quyết định là thuộc phân ỉớp nào. Phân lớp như vậy gọi là
phân lớp do người dùng định nghĩa.
Ràng buộc cùa chuyên biệt hoá có hai loại là:
o Chuyên biệt hoá rời rạc {disjoinỉness)
T r a n g : 19
o Chuyên biệt hoá toàn phần ( completeness).
Trong truờng hợp rời rạc, các lớp dưới của chuyên biệt hoá phải là rời rạc.
Điều này có nghĩa là một thực thể chỉ thuộc duy nhất một lớp dưới trong chuyên
biệt hoá. Một chuyên biệt hoá định trước luôn là rời rạc. Trẽn mô hình, kí pháp d sẽ
được viết trong hình tròn. Trường hợp các lớp dưới không rời rạc toàn phần có nghĩa
thực thể có thể ở nhiều lớp dưới khác nhau và được gọi là chồng lắp. Các thực thể
trong thế giới thực sẽ là thành viên của nhiều hơn một lớp dưới trong quá trình
chuyên biệt hoá. Kí pháp o trong hình tròn biểu thị trong trường họp chổng lắp.
Trường hợp chuyén biệt hoá toàn phần (có (hể toàn phẩn hoặc một phần).
Chuyên biệt hoá toàn phần đặc tả tất cả các thực thể trong lớp trên phải là thành viên

của một vài lớp dưới. Trong mô hình EER chuyên biệt hoá toàn phần được biêu diễn
một đường kép nối từ lớp trên tới đường tròn. Một đường đơn biểu diễn chuyên biệt
hoá một phần (có nghĩa là một vài thực thề có thể không thuộc một lớp dưới nào).
Quá trinh chuyên biệt hoá có thể được phân loại như sau:
• Rời rạc toàn phần
• Rời rạc một phần
• ơiổng lắp toàn phần
• Chồng lấp một phần
Các ràng buộc được xác định trong thế giới thực, từ đó ta thiết lập chuyên
biệt hoá hoặc tổng quát hoá các thực thể. Một lớp trên có thể được xác định bằng
cách tổng quát hoá từ các lớp dưới. Trong trường hợp này ràng buộc là toàn phần.
Bởi vì lớp trên được dẫn xuất từ các lớp dưới.
Trong chuyên biệt hoá và tổng quát hoá thì việc thêm vào hoặc loại ra một
thực thể phải tuân theo một quy luật và các luật như sau:
• Xóa một thực thể từ lớp trên thì tự động xoá sự có mặt của thực thể ở tất cả
các lớp dưới ỉệ thuộc vào nó.
• Thêm vào lớp trên một thực thể thì bắt buộc thêm vào lớp dưới được định
trước sao cho thoả mãn tính chất làm tiêu chuẩn.
T r a n g . 2 0
• Thêm một thực thể vào lớp trẽn của chuyên biệt hoá toàn phần thì thực ihể
bắt buộc dược thêm vào ít nhất một trong số những lớp dưới của chuyên biệt
hoá.
Một lớp dưới có thể có những ỉớp dưới khác. Mối liên hệ này tạo nên một
nhánh (hierarchies) hoặc một lưới (lattice) chuyên biệt hoá. Nhánh chuyên biệt hoá
là một ràng buộc mà ỉớp dưới tham gia vào một và chỉ một mối quan hệ lớp trên/ lớp
dưới. Lưới chuyên biệt hoá thì một lớp dưới có thể ở trong nhiều hơn một quan hệ
lớp trên/ lớp dưới. Ví dụ hình 1.9 cho thấy một lưới chuyên biệt hóa. Một đối tượng
phạm tội có thể đồng thời vừa là viên chức vừa là nhà quản lý viên chức. Một lớp
dưới Quản lý - Viên chức được kế thừa từ hai lớp trên là quàn lý và viên chức.
Đặc biệt

Đối tượng phạm tội
C D
Quản lý
Nông đân
Quản lý_Viên chức
Cơ quan chù
quản
chức
Hình 1.9 Lưới và đường trong chuyên biệt hoá
Trong nhánh hoặc lưới chuyên biệt hoá, một lớp dưới ngoài thừa kế các thuộc
tính của các lớp trên mà nó kết nối trực tiếp đến mà còn thừa kế tất cả các thuộc tính
cùa các lớp trên trước đó. Sự thừa kế này đi theo các nhánh tới gốc của nhánh hoặc
tới gốc của lưới. Mặt khác, một thực thể có thể tồn tại trong một vài nút ỉá của
nhánh (một lớp không sở hữit một lớp dưói nào). Lấy ví dụ trong hình 1.9 chuyên
biệt hoá của lớp trên Đối tượng phạm tội gồm các lớp dưới là: nông dân, viên chức,
đối tượng đặc biệt và quản lý. Qiuyên biệt hoá này có thể bị chồng lắp. Do đó một
đố tượng đặc biệt có thể lại ià một nhà quản lý.
Định nghĩa da thừa kể: Một lớp dưới có thể thừa kể từ nhiều lớp trên khác nhau
Iron % nhánh hoặc lưới.
T r a n g : 2 1
Một lớp dưới có nhiểu hơn một iớp trên được gọi là lớp dưới được chia sẻ
(shared subclass - hưy là khái niệm da thừa kề). Ví dụ mô hình ở hình 1.9, một nhà
quản lý - viên chức phải là một viết chức và cũng phải là một nhà quản Lý. Lớp dưới
quản lý - viên chức được gọi là một lớp dưới đa thừa kế. Như vậy, một lưới chuyên
biệt hoá luôn tổn tại ít nhất là một đa thừa kế (hay lớp dưới dược chia sẻ). Một lưới
không có một đa thừa kế nào thì ta có một nhánh (lưới đặc biệt).
Một vấn đé đặt ra với đa thừa kế [à: các thuộc tính được thừa kế từ các lớp
trên và lớp trẽn này lại là một chuyên biệt hoá của một lớp trên khác thì sẽ dẫn đến
thừa kế trùng các thuộc tính iớp trên. Lấy ví dụ lớp dưới quản iý - viên chức thừa kế
từ hai ỉớp trên là viên chức và quản lý. Hai lớp trên này lại thừa kế các thuộc tính từ

lớp trẽn Đối tượng phạm tội. Như vậy tại lớp dưới quản lý - viên chức sẽ thừa kế hai
lần các thuộc tính của lớp trên Đối tượng phạm tội. Để thống nhất và tránh trùng lắp
ta phải tuân thủ luật đỏi với đa thừa kế như sau:
Nếu một thuộc tính (hoặc liên kết) khởi dầu từ cùng một lớp trên và được
thừa kể thông qua nhiều đường khác nhau trong lưới thì chỉ thêm các thuộc tính đó
vào một lổn trong lớp dưới được thừa kế.
Trong nhiêu trường hợp, kĩ thuật thừa kế không cho phép đa thừa kế. Khi cẩn
tạo ra lớp dưới bao phủ các khả năng tổ hợp của lớp người ta mới dùng đa thừa kế.
Một chuyên biệt hoá chổng lắp luôn yêu cầu một lớp đa thừa kế. Đíéu này cần thiết
để xây dựng các đối tượng có độ phức tạp cao.
1.3.5 Kiểu hợp sử dụng categories
Trong tất cả các mối quan hệ lớp trên/ lớp dưới được trình bày ở phần trước
chỉ liên quan đến một lớp trên. Một lớp dưới là đa thừa kế ở trong mô hình 1.9 là
một lớp dưới ở trong hai mối quan hệ riêng lẻ. Một trong hai mối quan hệ riêng lẻ có
một lớp trên. Không mất tính tổng quát, giả sử ta cần mô hình hoá mối quan hệ
nhiều hơn một kiểu lớp trên. Ở đây, các lớp trên là các kiểu thực thể khác nhau.
Trong trường hợp này, lớp dưới là một tập các đối tượng có các kiểu thực thể khác
nhau. Ta gọi lớp dưới này là kiểu hợp (union type) hay kiểu gộp (category J). Trong
1 Thuật ngữ caicgorv dùng Ircn cơ sỡ mó hình GCR ' Entity caicgorv relation của Elmasri nSm 1985
T r a n g : 2 2
lược đồ EER, mối quan hệ kiểu họp và các lóp trên được biểu diễn bằng hình tròn có
kí tự u à trong.
Định nghĩa: Kiểu hợp (category)
Một category T là một lớp gồm mội tập con của n lớp trẻn Hển kết lại Dị, D2 ,
với n>L
Ta có T c (D |ư D2 uDn). Nếu một Pi được biết trước trên thuộc tính của D i.
Nếu thành viên của mỗi Dị là thành viên của T. T sẽ được biểu diễn bằng
T=(D|[p,]u D2[p2] uD JpJ).
Ví dụ: Trong hình 1.10 cho thấy một kiểu hợp giữa các kiểu kiểu: Cán bộ
kiểm tra, Đoàn kiểm tra, Liên ngành kiểm tra. Điểu này có thể giải thích là việc

kiểm tra bắi giam giữ có thể được thực hiện bời cá nhân một cán, đoàn cán bộ hoặc
liên ngành cùng kiểm tra. Các kiểu thực thể này là khác nhau. Như vậy các phần tử
trong kiểu hợp kiểm tra có thể gồm cả ba loại đối tượng là cán bộ, đoàn và liên
ngành.
Hình ỉ . 10 Ví dụ về kiểu hợp kiểm tra
Một kiểu hợp có thể có nhiều lớp trên khác nhau, còn các mối quan hộ lớp
trên/ lớp dưới thì chỉ có lớp trên đơn lẻ, Sự khác nhau giữa hai kiểu này là:
o Với kiểu đa thừa kế, một thực thể của lớp dưới phải tổn tại trong tất cả
các lớp trên của nó. Các thuộc tính của lớp trên được lớp dưới thừa kế
toàn bộ. Việc này gần giống như phép giao các tập thực thể của các kiểu
lớp trên.
T r a n g 2 3
o Với kiểu hợp, mộl thực thể ờ lớp dưới chì cần là Ihành viên cùa ít nhất
một lớp trẽn. Các thuộc tính thừa kè có nhiều lựa chọn hơn. Nó chỉ thừa
kế lớp trên nào nó phụ thuộc mà thôi.
Trang: 24

×