(Luận văn thạc sĩ) mô hình thực thể liên kết mở rộng và cài đặt bằng UML - Pdf 70

Đ Ạ I H Ọ C Q U Ố C G IA H À N Ộ I
KHOA C Ô N G N GH Ệ

ĐỔNG VĂN HOAN

MÔ HỈNH THỰC THỂ LIÊN KẾT Mỏ RỘNG
VÀ CÀI ĐẶT BẰNG UML




CHUN 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
CHNG 1

MƠ HÌNH HỐ DỮLIỆU SỬDỤNG MƠ HÌNH THỤC THE LIÊN



ỉ .2.4

Mơ hình quan hệ .......................................................................... 13

1.3

Mơ hình thực thể liên kết mở rộ n g ................................................................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 chun biệt hố vá tổng qt hoa..../9

/ .3.5

Kiểu hợp sử dụng categories.......................................................... 22

CHNG 2

2.2

Mơ hình hố sử dụng U M L ........................................................................... 32

2.2. ỉ

Mị hỉnh hố trường hợp sử dụng (Use Case - U C ) ........................... 33

2.2.2

Mơ hình h 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



3.2

Mô hình hố bài tố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
3.3

Bổ sung các thuộc tính .......................................................................................... 67

Cài dặt bằng U M 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 tố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 :

khảo sát các vấn đề phức tạp. Thông qua mơ hình hố 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 hố đượ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 hố ƯML (Unified Modeling Language) ]à một ngơn ngữ mơ hình hố
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 hố 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 hố, đã 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


Đồng Văn Hoan

T r a n g

5


CHƯƠNG 1 MỎ HÌNH HỐ 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 TH IỆ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 tố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

kỹ thuật mơ hình hố 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 đượcgọ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 C O BẢN CỦA M Ơ HÌN H T H ự C TH Ể LIÊN K Ế T VÀ MƠ HÌNH
QUAN HỆ


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ị Nl. 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ố.
Địaohi
Người A

Điện thoại=
04.8573769

a)

Tên= Lê A Tuổi= 55

Địa chi= 17 - Phương
Mai, Hà Nội

b)

Số nhà Số ngơ Phổ

Hình ì .2 Ví dụ về thực thể và thuộc tích ghép

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


Kiểu thực thể

luộc tính Th"ƠCJ ính
Khố
Thuộc
v
đa tr________

Kiểu thực
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 E R

Dựa vào thuộc tính khố 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 khố 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.


Địa phương
thựởng trú

Đối tướng
phạm tội

r

\

(

\

V

\

7

Địa phương
thường trú

Đối tượng
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

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 q u à n lỷ

Q u ả n




ý



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 :

1 3


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
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 tố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 tốn phải cùng có cấu trúc.
- Ngồi ra cịn có các phép tốn bổ sung như các phép tốn nhóm, nối ngồ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 tốn tìm khố và chuẩn hố các quan hệ dựa vào khố 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


đố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.

2Lớ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 hồn tồ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 qt 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: Ngồ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 hố (specialization ) là một q 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á.

Đị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 hố (có thể gọi là lớp (rền của chun 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 hố (hoặc tổng qt hố) z được gọi là:




đồn thể hoặc một cơ quan nào đó.

Cơquan chủ
quản
Hình 1.8 Lược đồ E E R 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 chun biệt hố và tổng qt hố
Nhìn chung chun biệt hố 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 hố. Một chun biệt hố 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 chun biệt hố, 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 chun biệt hố có hai loại là:

o Chuyên biệt hoá rời rạc {disjoinỉness)
T r a n g :

19


o




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 hố tồ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
hố.
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 chun biệt hố 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 chun 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.
Đối tượng phạm tội
Đặc biệt

C
chức

D

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 chun
biệt hố ln 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 chun biệt hố 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 chun biệt hố chổng lắp ln 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 qt, giả sử ta cần mơ hình hố 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

1Thuật ngữ caicgorv dùng Ircn cơ sỡ mó hình GCR '

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



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status