42
Tiểu luận Chuyển đổi mô hình l ớp trong UML sang quan h

Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Embed Size (px)

Citation preview

Page 1: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Tiểu luận

Chuyển đổi mô hình lớp

trong UML sang quan hệ

Page 2: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

2

MỤC LỤC CHƢƠNG 1 ---------------------------------------------------------------------------------------------------- 4

BIỂU ĐỒ LỚP THIẾT KẾ TRONG UML ---------------------------------------------------------------- 4

VÀ MÔ HÌNH LIÊN KẾT THỰC THỂ EER ------------------------------------------------------------- 4

1.1 Thành phần và các mối quan hệ trong biểu đồ lớp ----------------------------------------------- 4

1.1.2 Các mối quan hệ giữa các lớp ------------------------------------------------------------------- 5

1.2 Mô hình kiên kết thực thể mở rộng EER -------------------------------------------------------- 11

1.2.1 Lớp cha, lớp con và sự kế thừa ---------------------------------------------------------------- 11

1.2.2 Chuyên biệt hoá và tổng quát hoá------------------------------------------------------------ 11

1.2.3 Các ràng buộc và các đặc điểm trên chuyên biêt hoá và tổng quát hoá ---------------- 13

1.2.5 Mô hình của các kiểu UNION sử dụng các Category ------------------------------------- 14

1.3 Sự tƣơng thích giữa mô hình liên kết thực thể và biểu đồ lớp -------------------------------- 16

CHƢƠNG 2 -------------------------------------------------------------------------------------------------- 20

PHƢƠNG PHÁP CHUYỂN ĐỔI TỪ BIỂU ĐỒ LỚP THIẾT KẾ SANG MÔ HÌNH QUAN HỆ

------------------------------------------------------------------------------------------------------------------ 20

2.1 Chuyển đổi từ biểu đồ lớp sang mô hình EER --------------------------------------------------- 20

2.1.1 Chuyển đổi một lớp thành một kiểu thực thể ----------------------------------------------- 20

2.1.2. Chuyển đổi các mối quan hệ ------------------------------------------------------------------ 20

2.2 Chuyển đổi từ mô hình EER thành quan hệ ------------------------------------------------------ 25

2.2.1 Các liên kết lớp cha/ lớp con, chuyên biệt hóa và tổng quát hóa ------------------------- 25

PHƢƠNG PHÁP CHUYỂN ĐỔI TỪ MÔ HÌNH LIÊN KẾT THỰC THỂ EER SANG BIỂU

ĐỒ LỚP THIẾT KẾ ----------------------------------------------------------------------------------------- 27

3.1 Chuyển đổi một kiểu thực thể thành một lớp ----------------------------------------------------- 28

3.1.1 Kiểu thực thể ------------------------------------------------------------------------------------- 28

3.1.2 Kiểu thực thể chứa thuộc tính đa trị ---------------------------------------------------------- 28

3.2 Chuyển đổi các kiểu liên kết ------------------------------------------------------------------------ 30

3.2.1 Liên kết giữa hai kiểu thực thể ---------------------------------------------------------------- 30

3.2.2 Liên kết có kiểu thực thể yếu ------------------------------------------------------------------ 32

3.2.3 Kiểu thực thể có thuộc tính không xác định------------------------------------------------- 33

3.2.4 Kiểu liên kết cấp 1 ------------------------------------------------------------------------------ 34

3.2.6 Chuyên biệt hóa --------------------------------------------------------------------------------- 36

CHƢƠNG 4 -------------------------------------------------------------------------------------------------- 37

ỨNG DỤNG -------------------------------------------------------------------------------------------------- 37

4.1 Chuyển đổi từ biểu đồ lớp thiết kế sang quan hệ ------------------------------------------------ 37

4.1.1 Biểu đồ lớp thiết kế ----------------------------------------------------------------------------- 37

4.1.2 Mô hình liên kết thực thể ER ------------------------------------------------------------------ 38

4.1.3 Mô hình quan hệ -------------------------------------------------------------------------------- 39

Page 3: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

3

TÓM TẮT

Phân tích và thiết kế hệ thống đóng vai trò rất quan trọng trong quá trình sản xuất

phần mềm, nhất là trong thời đại ngày nay cùng với sự phát triển phần mềm có qui mô

lớn với tính năng đa dạng thì yêu cầu bảo trì đối với hệ thống lớn và phức tạp ngày càng

trở thành vấn đề nghiêm trọng. Thực tế hiện nay đang tồn tại song song 2 hƣớng phân

tích thiết kế, đó là:

Phƣơng pháp phân tích theo hƣớng cấu trúc đã ra đời và đƣợc áp dụng rất sớm bởi

kết quả của việc thiết kế là Cơ sở dữ liệu quan hệ mà các quan hệ đã đạt đƣợc các chuẩn

đặt ra và đã đƣợc cài đặt bởi các công cụ hữu hiệu là các hệ quản trị CSDL quan hệ nhƣ:

Foxpro, Access, My SQL, SQL Server, Oracle, … Tuy nhiên việc phát triển, nâng cấp,

mở rộng hệ thống sau này để đáp ứng đƣợc nhu cầu của ngƣời dùng là rất khó.

Phân tích thiết kế hệ thống theo hƣớng đối tƣợng với Ngôn ngữ mô hình hoá thống

nhất UML (Unified Modeling Language) ra đời sau với kết quả của việc thiết kế là các

lớp đối tƣợng cùng với các thao tác xử lý đối tƣợng ngay trong lớp và sự trao đổi thông

tin giữa các lớp. Ƣu điểm là có thể áp dụng các mẫu thiết kế cho các lớp nhƣ Mẫu chuyên

gia (Expert), Bộ tạo lập (Creator), Bộ điều khiển (Controller), Ghép nối thấp (Low

coupling), Kết dính cao (High conhesion) ta đƣợc các lớp rất tốt có khả năng mở rộng và

sử dụng lại mà không ảnh hƣởng lớn đến hệ thống đang hoạt động hiện tại. Tuy nhiên

việc lƣu trữ các lớp là rất khó khăn bởi chƣa có các ngôn ngữ chuẩn hữu hiệu nhƣ trong

CSDL quan hệ.

Vì vậy mục đích của đề tài này là nghiên cứu thuật toán chuyển đổi từ mô hình lớp

trong UML sang quan hệ để có thể sử dụng các hệ quản trị CSDL quan hệ để lƣu trữ thì

hệ thống phân tích thiết kế đƣợc sẽ rất tốt.

Page 4: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

4

CHƯƠNG 1

BIỂU ĐỒ LỚP THIẾT KẾ TRONG UML

VÀ MÔ HÌNH LIÊN KẾT THỰC THỂ EER

1.1 Thành phần và các mối quan hệ trong biểu đồ lớp

Biểu đồ lớp chỉ một tập các lớp,các giao diện , các sự cộng tác và các mối quan hệ

giữa các lớp.

1.1.1 Lớp, đối tƣợng

Đối tƣợng là một sự tƣợng trƣng cho một thực thể, hoặc là thực thể tồn tại trong thế

giới thực hoặc là thực thể mang tính khái niệm.

Một lớp là miêu tả của một nhóm đối tƣợng có chung thuộc tính, chung phƣơng

thức, chung ngữ nghĩa và chung các mối quan hệ với các đối tƣợng khác.

UML thể hiện lớp bằng hình chữ nhật có 3 phần:

- Tên lớp: Thƣờng là danh từ đặc tả đối tƣợng

- Thuộc tính: Là bộ phận thông tin liên kết với lớp sử dụng để mô tả những đặc

điểm của đối tƣợng. Thuộc tính thƣờng đƣợc xác định trong một phạm vi cho trƣớc các

giá trị, một phạm vi là một tập các giá trị xác định.

- Thao tác: là hành vi kết hợp với mỗi lớp. Thao tác xác định trách nhiệm của lớp.

Thao tác đƣợc sử dụng để xử lý thay đổi các thuộc tính cũng nhƣ thực hiện các công việc

khác.

Một tính chất quan trọng của lập trình hƣớng đối tƣợng là tính bao gói. Mỗi lớp

bao gói thông tin và hành vi nhờ các thuộc tính và hành vi của nó. Visibility là chi tiết

dùng để xác định tính chất truy nhập của một thành phần nào đó trong hệ thống.

UML có 3 cấp của Visibility :

Public : Bất kì lớp trong hệ thống đều có thể sử dụng các thành phần lớp với cấp này.

Private: Chỉ các thành phần của lớp này là có thể sử dụng các thành phần này.

Protected: Bất kì các lớp kế thừa hoặc các thành phần của lớp này đều có thể sử dụng

Page 5: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

5

các thành phần với visibility là protected.

Xét ví dụ lớp NHAN VIEN sau:

Lớp đối tƣợng NHAN VIEN có các thuộc tính { Manv, Ten, Ngay sinh, Gioi tinh,

Dia chi, Luong} và các thao tác {Tao moi(), Nhap(), Sua(), Xoa(), Xem()}.

1.1.2 Các mối quan hệ giữa các lớp

Quan hệ là kết nối ngữ nghĩa giữa các lớp, nó cho phép một lớp biết về các thuộc

tính, thao tác và quan hệ của lớp khác

Có các kiểu quan hệ chính:

Quan hệ kết hợp

Quan hệ kết tập

Quan hệ tổng quát hoá

Quan hệ hiện thực

a) Quan hệ kết hợp

Quan hệ kết hợp đƣợc định nghĩa là một mối quan hệ miêu tả một tập hợp các nối

kết, trong khi một nối kết đƣợc định nghĩa là một sự liên quan về ngữ nghĩa giữa một

nhóm các đối tƣợng.

Khi có quan hệ kết hợp mỗi lớp có thể gửi thông điệp đến lớp khác trong biểu đồ

tƣơng tác. Quan hệ kết hợp có thể 1 chiều hay 2 chiều

- Quan hệ kết hợp 2 chiều: Đòi hỏi các đối tƣợng phụ thuộc lẫn nhau, có nghĩa khi

một đối tƣợng này có liên hệ với một đối tƣợng khác thì cả hai đối tƣợng này nhận thấy

nhau.

VD: Xét quan hệ kết hợp 2 chiều giữa lớp NHAN VIEN và lớp PHONG BAN thể

hiện lớp nhân viên biết thuộc tính và thao tác của lớp phòng ban và ngƣợc lại.

Page 6: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

6

- Quan hệ kết hợp một chiều: Đòi hỏi sự phụ thuộc một chiều, thể hiện bằng một

mũi tên.

Xét quan hệ kết hợp 1 chiều trên hình 1.3b. Trong ví dụ này lớp NHAN VIEN biết

thuộc tính và thao tác của lớp PHONG BAN, nhƣng lớp PHONG BAN không biết gì về

lớp NHAN VIEN. Trên biểu đồ tƣơng tác, nhân viên có thể gửi thông điệp để phòng ban

nhận, nhƣng phòng ban không thể gửi thông điệp đến nhân viên.

- Quan hệ kết hợp có lớp kết hợp: Lớp kết hợp là lớp đƣợc gắn vào một quan hệ

nhằm bổ sung thông tin cho quan hệ đó.

Ví dụ quan hệ giữa hai lớp NHAN VIEN và DU AN, khi nhân viên làm việc trong

dự án thì sẽ sinh ra thuộc tính số giờ làm việc. Lớp Lam viec với thuộc tính số giờ là lớp

bổ sung thông tin cho mối quan hệ giữa lớp nhân viên và lớp dự án.

Page 7: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

7

- Quan hệ kết hợp có thể đệ qui: Kết hợp đệ qui cho thấy một hiện thực của lớp có

quan hệ với một hiện thực khác của cùng lớp đó.

Ví dụ với lớp NHAN VIEN, một nhân viên có thể là quản lý của nhiều nhân viên.

- Quan hệ phụ thuộc: Là một sự liên quan ngữ nghĩa giữa hai lớp, một mang tính

độc lập và một mang tính phụ thuộc. Mọi sự thay đổi trong phần tử độc lập sẽ ảnh hƣởng

đến phần tử phụ thuộc. Quan hệ phụ thuộc luôn luôn là quan hệ một chiều, chỉ ra một lớp

phụ thuộc vào lớp khác.

Lớp đối tƣợng A có quan hệ phụ thuộc với lớp đối tƣợng B nếu mọi sự thay đổi

trong phần tử độc lập A sẽ ảnh hƣởng đến phần tử phụ thuộc B.

VD: Lớp đối tƣợng Thời khóa biểu có quan hệ phụ thuộc với lớp đối tƣợng Giáo

viên.

Page 8: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

8

b) Quan hệ kết tập

Là một dạng đặc biệt của quan hệ kết hợp, biểu thị quan hệ giữa các lớp dựa trên

nền tảng của nguyên tắc “ một tổng thể đƣợc tạo thành bởi các bộ phận”. Nó đƣợc sử

dụng khi chúng ta muốn tạo lên một thực thể mới bằng cách tập hợp các thực thể tồn tại

với nhau.

Lớp đối tƣợng A có quan hệ kết tập với lớp đối tƣợng B nếu 1 đối tƣợng trong A

có quan hệ với nhiều đối tƣợng trong B.

Xét ví dụ lớp đối tƣợng NHAN VIEN có quan hệ kết tập với lớp PHU THUOC,

nghĩa là một đối tƣợng nhân viên có quan hệ với nhiều đối tƣợng phụ thuộc.

c) Quan hệ tổng quát hoá

Chuyên biệt hóa: là quá trình tinh chế một lớp thành những lớp chuyên biệt hơn.

Chuyên biệt hóa bổ sung thêm chi tiết và đặc tả cho lớp kết quả. Lớp mang tính khái quát

đƣợc gọi là lớp cha, kết quả chuyên biệt hóa là việc tạo ra các lớp con.

Con đƣờng bắt đầu từ môt lớp chuyên biệt và khiến nó ngày càng mang tính khái

quát cao hơn đƣợc gọi là quá trình khái quát hóa.

Xét quan hệ tổng quát hoá giữa các lớp A, lớp B, lớp C. Tổng quát hoá gộp các

thành phần chung của tập lớp B và lớp C để hình thành lớp tổng quát hơn là lớp cha A.

Mỗi lớp cấp thấp B, C có thể có thuộc tính, thao tác, quan hệ riêng để bổ sung vào các

thành phần mà nó kế thừa.

Page 9: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

9

VD: Quan hệ tổng quát hoá giữa các lớp hình, hình tròn và hình tam giác. Trong

đó lớp hình là lớp cha, lớp hình tròn và tam giác là lớp con. Hai lớp hình tròn và hình tam

giác kế thừa các thuộc tính chu vi, diện tích và kế thừa thao tác tính của lớp hình.

d) Quan hệ hiện thực

Là quan hệ chỉ ra mối quan hệ giữa lớp tham số và lớp hiện thực.

Lớp tham số có các tham số hình thức và các tham số này dùng để tạo ra các lớp

thực sự.

Lớp hiện thực đƣợc tạo ra từ lớp tham số bằng cách thay thế tham số hình thức đó

bởi các giá trị.

VD: Quan hệ hiện thực giữa các lớp Mang, Diemthi, Diachi. Lớp tham số là lớp

Mang có tham số hình thức là kieupt. Hai lớp Diemthi và Diachi là hai lớp hiên thực của

lớp Mang với các giá trị tƣơng ứng với tham số là diem, dchi.

Page 10: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

10

e) Gán đặc tính cho quan hệ

Tính nhiều: Là kết hợp biểu diễn mối quan hệ cấu trúc giữa các đối tƣợng. Tính

nhiều của quan hệ cho biết bao nhiêu hiện thực của lớp có quan hệ với một hiện thực của

lớp khác vào một thời điểm.Trong UML có các tính nhiều.

Tính nhiều Ý nghĩa

* Nhiều

0 Không

1 Một

0..* Từ không đến nhiều

1..* Từ một đến nhiều

0..1 Không hay một

1..1 Chỉ một

VD: Lớp LOP HOC và SINH VIEN có quan hệ kết hợp với nhau. Tính nhiều của

quan hệ trả lời câu hỏi sau: “ Một sinh viên có thể học bao nhiêu môn học trong một kì ”

và “Bao nhiêu sinh viên có thể đăng kí một môn học ”. Ví dụ thể hiện một sinh viên có

thể học đồng thời từ 0 dến 4 môn học, một lớp có thể có từ 10 đến 20 sinh viên.

Page 11: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

11

1.2 Mô hình kiên kết thực thể mở rộng EER

Mô hình liên kết thực thể mở rộng EER bao gồm tất cả các khái niệm của mô hình

ER. Ngoài ra nó còn bao hàm khái niệm về lớp cha, lớp con, các khái niệm có liên quan

đến chuyên biệt hoá và tổng quát hoá.

1.2.1 Lớp cha, lớp con và sự kế thừa

Nhƣ ta đã biết, một kiểu thực thể thƣờng dùng để mô tả một kiểu của thực thể và

tập thực thể hoặc tập các thực thể của kiểu đó tồn tại trong CSDL. Trong trƣờng hợp một

kiểu thực thể có nhiều nhóm con cho các thực thể của nó, các nhóm con này có ý nghĩa

cần đƣợc miêu tả rõ ràng bởi ý nghĩa của chúng đối với CSDL.

Ví dụ: Các thực thể là bộ phận của kiểu thực thể Nhân viên có thể đƣợc nhóm vào

trong Thƣ kí, Kĩ sƣ, … nhân viên lƣơng tháng, nhân viên công nhật. Tập các thực thể của

nhóm đó là một tập con của các thực thể thuộc vào tập thực thể Nhân viên. Chúng ta gọi

từng nhóm đó là một lớp con của các thực thể thuộc vào tập thực thể Nhân viên và kiểu

thực thể Nhân viên đƣợc gọi là lớp cha cho từng lớp con đó.

Một khái niệm liên quan tới các lớp con là kế thừa kiểu. Kiểu của một thực thể

đƣợc xác định bởi các thuộc tính mà nó có và các kiểu liên kết mà nó tham gia. Bởi vì

một thực thể trong lớp con mô tả cùng một thực thể trong thế giới thực nhƣ một thành

phần của lớp cha nên nó sẽ có các giá trị cho các thuộc tính cụ thể của nó cũng nhƣ các

giá trị của các thuộc tính của một bộ phận lớp cha. Thực thể cũng kế thừa tất cả các mối

liên kết của các lớp cha tham gia.

1.2.2 Chuyên biệt hoá và tổng quát hoá

a) Chuyên biệt hoá

- Là một quá trình xác định một tập lớp con của một kiểu thực thể, kiểu thực thể

này đƣợc gọi là lớp cha của chuyên biệt hoá. Tập lớp con hình thành chuyên biệt hoá

đƣợc xác định cơ bản dựa trên một số đặc điểm tiêu biểu của các thực thể trong lớp cha.

- Có thể có nhiều chuyên biệt hoá của cùng một kiểu thực thể dựa trên những đặc

điểm khác nhau tiêu biểu.

- VD: Với kiểu thực thể NHAN VIEN dựa trên cách thức trả lƣơng, chuyên biệt

hoá lớp thực thể NHAN VIEN tạo ra hai lớp con {NV_HOP DONG, NV_BIEN CHE}.

Page 12: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

12

Tiến trình chuyên biệt hoá cho phép chúng ta:

Xác định một tập các lớp con của một kiểu thực thể.

Thiết lập các đặc trƣng truyền thống với từng lớp con.

Thiết lập các kiểu liên kết đặc trƣng truyền thống giữa từng lớp con và các

kiểu thực thể khác và giữa các lớp con khác.

b) Tổng quát hoá

- Là quá trình xác định dặc trƣng giữa các kiểu thực thể và tổng quát chúng kiểu

thực thể ban đầu là các lớp con riêng biệt của nó.

- VD: NHAN VIEN là một tổng quát hoá của {THU KI, KI THUAT VIEN va KI

SU}.

Tien luong

Thuoc

ve

CONG DOAN

NHA QUAN LY

Hình 2.1 Ví dụ biểu diễn sự chuyên biệt hoá

Tra mot luot

NV_BIEN CHE

NHAN VIEN

NV_HOP DONG d

Hình 2.2 Ví dụ biểu diễn sự tổng quát hoá

THU KI

Ten

Bac

Tra mot luot

Gioi tinh

Dia chi

NGUOI QL

NGUOI QL KS

KT VIEN NV_BIEN CHE

d d

KI SU

NHAN VIEN

Kieu ki

su

NV_HOP DONG

Hsl

Ngay sinh

Trinh do

Page 13: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

13

1.2.3 Các ràng buộc và các đặc điểm trên chuyên biêt hoá và tổng quát hoá

a) Các ràng trên chuyên biệt hóa và tổng quát hóa

Trong một số chuyên biệt hóa chúng ta có thể xác định các thực thể sẽ trở thành

một phần của từng lớp con bởi một điều kiện đƣa ra trên giá trị của một số thuộc tính

trong lớp cha. Các lớp con nhƣ vậy đƣợc gọi là các lớp con xác định bằng thuộc tính.

VD: nếu kiểu thực thể Nhân viên có một thuộc tính Kiểu công việc, ta có thể xác

định điều kiện của các thành viên trong lớp Thƣ kí bởi vì ( Kiểu công việc = Thƣ kí).

Điều kiện này là một ràng buộc chỉ rõ bộ phận của lớp con thƣ kí phải thỏa mãn thuộc

tính và là các thực thể của kiểu thực thể Nhân viên có thuộc tính Kiểu công việc = Thƣ

kí.

Khi không có một điều kiện nào cho việc xác định thành viên trong một lớp con,

lớp con đó đƣợc gọi là lớp con xác định bởi ngƣời dùng.

- Hai ràng buộc phù hợp với một chuyên biệt hoá:

Ràng buộc riêng rẽ

Ràng buộc đầy đủ

a1) Ràng buộc riêng rẽ

Xác định các lớp của chuyên biệt hoá phải rời nhau. Điều này có nghĩa là một thực

thể có thể là thành phần của nhiều nhất một lớp con của chuyên biệt hoá.

Một chuyên biệt hoá đƣợc xác định bởi thuộc tính xác định tức là ràng buộc riêng

rẽ nếu thuộc tính dùng để xác định giá trị thành viên là đơn trị.

- Ví dụ: Chuyên biệt hoá {NV_HOP DONG, NV_BIEN CHE} là ràng buộc mà

các lớp con đƣợc xác định bởi ngƣời dùng phải đƣợc tách rời.

Nếu nhƣ lớp con không bắt buộc phải riêng rẽ, tập các thực thể của chúng có thể

chồng chéo lên nhau: Các thực thể giống nhau có thể là một bộ phận của nhiều hơn một

lớp con của chuyên biệt hóa. Kí hiệu bởi chữ O trong vòng tròn.Ví dụ ( Hình 2.3)

BO PHAN

BP BAN HANG

Mo ta

Hình 2.3: Chuyên biệt hóa với các lớp con trùng lặp

O

Mabp

Masx

Ngay sx

BP SAN XUAT

Bang gia

Nha cung cap

Page 14: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

14

a2) Ràng buộc đầy đủ

- Một ràng buộc chuyên biệt hoá toàn bộ chỉ ra rằng các thực thể trong lớp cha

phải là một thành phần của một số lớp con nào đó trong chuyên biệt hoá

- VD ( Hình 2.2) Nếu tất cả nhân viên phải là Nhân viên hợp đồng hoặc Nhân viên

biên chế thì chuyên biệt hoá {NV_HOP DONG, NV_BIEN CHE} là một chuyên biệt hoá

toàn bộ của NHAN VIEN; điều này đƣợc chỉ ra trong sơ đồ EER bằng cách cùng một

đƣờng nối lớp cha với đƣờng tròn.

- Chuyên biệt hoá bộ phận, cho phép một thực thể không thuộc về bất kì một lớp

con nào. Chuyên biệt hoá {THU KI, KI SU} là một chuyên biệt hoá bộ phận.

b) Các hệ thống phân cấp và hệ thống đan chéo

Các thực thể có thể có nhiều hơn các lớp con xác định trên chính nó, hình thành

một hệ thống phân cấp hoặc một hệ thống đan chéo của các chuyên biệt hóa.

Ví dụ ( Hình 2.2 ) Kĩ sƣ là một lớp con của Nhân viên cũng là lớp cha của Quản lý

kĩ sƣ; điều này miêu tả ràng buộc của thế giới thực mà tất cả những ngƣời Quản lý kĩ sƣ

đều phải là một kĩ sƣ.

Một hệ thống phân cấp chuyên biệt hóa có ràng buộc tất cả các lớp con tham gia

nhƣ một lớp con tham gia chỉ trong một liên kết lớp/ lớp con.

Một hệ thống đan chéo chuyên biệt hóa một lớp con có thể là một lớp con trong

nhiều hơn một mối liên kết lớp/ lớp con.

1.2.5 Mô hình của các kiểu UNION sử dụng các Category

Trong các liên kết lớp cha/ lớp con mà chúng ta thấy có một lớp cha đơn. Một lớp

con dung chung nhƣ ngƣời quản lý trong hệ thống đan chéo ( hình 2.2) là lớp con của ba

mối liên kết lớp cha/lớp con phân biệt, ở đây một trong ba mối liên kết có một lớp cha

đơn. Điều này không phải là hiếm mà do nhu cầu xuất hiện của một mối liên kết lớp cha/

lớp con đơn lẻ nhiều hơn một lớp cha, ở đây các lớp cha mô tả các kiểu thực thể khác

nhau. Trong trƣờng hợp này, lớp con sẽ mô tả một tập các đối tƣợng đó là một kiểu

UNION của các thực thể khác nhau; chúng ta gọi một lớp con nhƣ vậy là một kiểu union

hoặc category.

Page 15: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

15

Ví dụ: CSDL đăng kí xe cộ, chủ nhân của một chiếc xe có thể là một NGUOI,

một NGAN HANG hoặc một CONG TY. Ta cần tạo một tập các thực thể chứa các thực

thể của cả ba kiểu để thể hiện đƣợc vai trò của người sở hữu xe. Một Category NGUOI

SO HUU là một lớp con cho UNION của ba kiểu thực thể NGUOI, NGAN HANG,

CONG TY.

Sự khác nhau cơ bản của một lớp con dùng chung và một Category là: Mỗi lớp

con dùng chung là một lớp con của một trong các lớp cha, vì thế một thực thể là thành

phần của một lớp con đó. Ràng buộc mô tả một thực thể của lớp là một tập con giao nhau

của ba lớp con. Trong khi một thực thể của một Category chỉ tồn tại trong một lớp cha

của nó.

Sự khác nhau cơ bản giữa một Category và một lớp cha là: Một Category của một

số thực thể là một số thực thể chứ không nhất thiết phải là tất cả chúng. Trong khi một

lớp cha phải bao gồm tất cả các lớp con của nó.

CONG TY

Dia chi NH Ten NH

Dia chi

Ten

NGUOI SO HUU

U

DANG KI XE

U O TO CON O TO TAI

Cau tao Trong tai

Kieu dang

Kieu dang

Ngay mua Quyen SH Sở hữu

Ma

NGAN HANG

SoDK Nam SoDK Nam

Cau tao

Nhan

Ten CT Dia chi CT

NGUOI

Page 16: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

16

1.3 Sự tương thích giữa mô hình liên kết thực thể và biểu đồ lớp

Từ mô hình trên ta thấy: CSDL quan hệ đƣợc biểu diễn mô hình liên kết thực thể,

từ mô hình liên kết thực thể ta có thể thiết kế ra đƣợc CSDL quan hệ. Đối với CSDL

hƣớng đối tƣợng đƣợc biểu diễn bởi biểu đồ lớp thiết kế trong UML, từ biểu đồ lớp trong

UML có thể thiết kế ra đƣợc CSDL hƣớng đối tƣợng. Vì vậy để có thể chuyển đổi đƣợc

giữa CSDL quan hệ và CSDL theo hƣớng đối tƣợng, ta phải thực hiện việc chuyển đổi

giữa mô hình liên kết thực thể EER và biểu đồ lớp thiết kế trong UML. Thuật toán

chuyển đổi phải đảm bảo có sự tƣơng thích giữa các thành phần trong mô hình liên kết

thực thể mở rộng EER và biểu đồ lớp thiết kế để sau khi chuyển đổi thì dữ liệu không bị

mất mát và sai lệch thông tin. Phần trình bày sau trình bày về sự tƣơng thích giữa các

thành phần, các mối quan hệ giữa mô hình EER và biểu đồ lớp thiết kế trong UML.

CSDL

Quan hệ

CSDL

Hướng đối

tượng

Mô hình

Liên kết thực thể

EER

Biểu đồ lớp

trong UML

Thiết kế

Chuyển đổi

Chuyển đổi

Biểu diễn Thiết kế

Biểu diễn

Page 17: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

17

UML EER

UML là ngôn ngữ mô hình hóa chuẩn để

thiết kế CSDL hƣớng đối tƣợng

EER sử dụng trong mô hình thiết kế cơ sở

dữ liệu quan hệ

Các thành phần

Biểu đồ lớp thiết kế

Lớp

Đối tƣợng

Thuộc tính

Miền giá trị của thuộc tính

Mối quan hệ giữa các lớp

Bản số tham gia vào quan hệ

Mô hình EER

Kiểu thực thể

Thực thể

Thuộc tính

Miền giá trị của thuộc tính

Kiểu liên kết giữa các thực thể

Tỷ số lực lƣợng tham gia vào liên

kết

Các kí hiệu

- UML hiển thị lớp bằng hình chữ nhật có 3

phần:

Phần trên cùng: Tên lớp

Phần giữa: Thuộc tính

Phần dƣới cùng: Thao tác

- Kiểu thực thể hiển thị bởi hình chữ nhật

Tên kiểu thực thể

Thuộc tính đƣợc hiển thị bởi hình

elip

Các thao tác không đƣợc hỗ trợ

trong mô hình EER

Các mối quan hệ

- Trong UML gọi là các mối quan hệ giữa

các lớp.

- Lực lƣợng tham gia vào liên hệ gọi là bản

số.

- Bản số đƣợc ghi ở phía đầu đƣờng thẳng

thể hiện liên hệ, sát vào lớp là miền áp

dụng của nó. Phạm vi số lƣợng phẩn tử có

thể có trong liên hệ.

- Trong EER gọi là các mối quan hệ giữa

các thực thể.

- Tỷ số lực lƣợng cực đại, cực tiểu tham gia

vào liên kết.

Bản số và lực lƣợng

0..*

1 hoặc 1..1

0,N

1,1

Page 18: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

18

Thuộc tính riêng của quan hệ

- Thuộc tính riêng của quan hệ giữa các lớp

đối tƣợng.

- Thuộc tính riêng của kiểu liên kết giữa

các thực thể

Các mối quan hệ

Quan hệ đệ qui

Quan hệ kết tập

Quan hệ kết hợp

Quan hệ có lớp kết hợp

Liên kết cấp 1

Liên kết giữa một kiểu thực thể với

một kiểu thực thể yếu

Liên kết giữa các thực thể

Liên kết có thuộc tính riêng của kiểu

liên kết

Ví dụ

Mapb

So gio

(0,1)

N

Ngay sinh

Dia chi Ten PB Manv

(1,N) PHONG BAN lam

viec cho

Ho ten

Gioi tinh

M

Mapt

Ten PT

Gioi tinh

Ngay sinh

(0,N)

Quan he

PHU THUOC

(0,N)

(0,1)

(1,1)

Quan

ly

NHAN VIEN

Lam

viec

Mada

Ten DA

DU AN

Phu

thuoc

Page 19: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

19

Page 20: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

20

CHƯƠNG 2

PHƯƠNG PHÁP CHUYỂN ĐỔI TỪ BIỂU ĐỒ LỚP THIẾT KẾ SANG MÔ HÌNH QUAN HỆ

2.1 Chuyển đổi từ biểu đồ lớp sang mô hình EER

2.1.1 Chuyển đổi một lớp thành một kiểu thực thể

Với mỗi lớp trong biểu đồ lớp, ta tạo ra một kiểu thực thể tƣơng ứng. Tên của

kiểu thực thể đƣợc lấy trực tiếp từ tên lớp. Các thuộc tính của lớp gốc đƣợc chuyển thành

các thuộc tính của kiểu (tập) thực thể. Bổ sung thuộc tính định danh vào kiểu thực thể

đóng vai trò là thuộc tính khoá.

2.1.2. Chuyển đổi các mối quan hệ

2.1.2.1 Quan hệ kết hợp

a) Quan hệ kết hợp

Xét mối quan hệ kết hợp giữa lớp đối tƣợng A và đối tƣợng B nhƣ hình vẽ. Khi

chuyển đổi sang mô hình EER lớp đối tƣợng A, B chuyển thành kiểu thực thể A, B tƣơng

ứng.

Quan hệ kết hợp một hay hai chiều đƣợc chuyển đổi thành các quan hệ.

Tuỳ thuộc vào cơ số của quan hệ kết hợp mà quan hệ tƣơng ứng trong quan hệ

thực thể là “1-1”, “1-n”, “n-m”.

A

a2

a1 ai

an

an Id_a

Id_b

(1,1)

(1,N) b1

bm

a1

lk

A

B

Page 21: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

21

Ví dụ lớp đối tƣợng SINH VIEN có quan hệ kết hợp với lớp KHOA.

b) Quan hệ kết hợp có lớp kết hợp

Xét quan hệ kết hợp có lớp kết hợp là A quan hệ với lớp kết hợp B sinh ra lớp C.

Lớp kết hợp C đƣợc chuyển thành mối quan hệ giữa các kiểu thực thể A, B.

Thuộc tính của lớp kết hợp chuyển thành các thuộc tính của mối quan hệ.

VD: Quan hệ kết hợp giữa lớp đối tƣợng Nhân viên và lớp Du an sinh ra lớp kết

hợp Làm việc có thuộc tính là số giờ làm việc.

Luong

Manv

Phu

thuoc

Ten Ngay sinh

(1,N)

(1,M) So gio

Lam

viec

Gioi tinh

NHAN VIEN

Dia chi

Ten DA DU AN Mada

Id_a a1

b1

(1,1)

(1,N)

c1 C

ID_b

an

A

B

bm

ck

Ngay sinh Ho ten Dia chi

Makhoa

(1,N)

(1,1)

Học

tai

Dien thoai Ten khoa

SINH VIEN

Masv

KHOA

Page 22: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

22

c) Quan hệ đệ qui

Lớp đối tƣợng A khi có quan hệ đệ qui sẽ tạo thành kiểu thực thể tƣơng ứng với

thuộc tính định danh và liên kết “ một- nhiều” với chính nó.

VD: Lớp đối tƣợng Nhân viên, một hiện thực của lớp là nhân viên có thể liên kết

với một hiện thực của chính nó.

2.1.2.2 Quan hệ kết tập

a) Quan hệ kết tập

Với mỗi quan hệ kết tập, tạo quan hệ “một- nhiều” giữa hai kiểu thực thể tƣơng

ứng với hai lớp tham gia liên kết.

Lớp bộ phận B khi chuyển đổi sang mô hình liên kết thực thể sẽ tạo thành kiểu

thực thể yếu liên kết “ nhiều - một” với kiểu thực thể A.

(1,1) (1,N)

quản

Luong Gioi tinh

Dia chi

NHAN VIEN

Manv Ten Ngay sinh

a1

an (0,1) (1,n)

ai

a2

A

lk

Page 23: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

23

Ví dụ: Lớp đối tƣợng Nhân viên có quan hệ kết tập với lớp đối tƣợng Phụ thuộc.

b) Quan hệ kết tập giữa hai lớp thông qua một lớp khác

Với quan hệ kết tập giữa hai lớp A và lớp thông qua lớp C, khi chuyển đổí sang

mô hình quan hệ thì lớp đối tƣợng C sẽ chuyển thành thuộc tính đa trị của hai thực thể

tham gia liên kết là thực thể A và B.

an

(1,n)

(1,1)

a1 A an

Id_a

b1

bm

Id b B

lk

(1,1)

(1,N)

phu

thuoc

PHU THUOC

Manv

NHAN VIEN Gioi tinh

Dia chi

Ten

Gioi tinh

Ngay sinh

Quan he

Ten Ngay sinh

Luong

Id_a

Id_b

(1,n)

(1,1) c

b1

a1

c

bm

A

lk

B

Page 24: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

24

VD: Xét 1 quan hệ kết hợp giữa 2 lớp Phòng ban và lớp Dự án thông qua lớp Địa

điểm.

2.1.2.3 Quan hệ tổng quát hoá

Quan hệ tổng quát hoá giữa 2 lớp thì đƣợc chuyển thành quan hệ chuyên biệt hoá

giữa 2 kiểu thực thể biểu diễn lớp cha và lớp con.

2.1.3.4 Quan hệ hiện thực

Với mỗi quan hệ hiện thực, tạo quan hệ is-a giữa hai thực thể tƣơng ứng với lớp

tham số và lớp hiện thực.

Quan hệ hiện thực cũng là một dạng của quan hệ kế thừa. Do đó quan hệ hiện thực

cũng đƣợc chuyển đổi thành quan hệ i-sa trong mô hình thực thể- mối quan hệ.

VD: Mối quan hệ hiện thực giữa các lớp Mang, Diemthi , Diachi. Lớp tham số là

lớp mảng có tham số hình thức là kieupt.

NGHIEN CUU SINH

Thoi gian

TRO LY NC

Du an

Khoa hoc

TRO LY GD

d

DU AN

Mapb

Ten DA

(1,1)

(1,N)

kiem

soat

Dia diem

Dia diem

PHONG BAN

Ten PB

Mada

kieupt= dchi kieupt= diem

Mang kieupt

i-sa

Diem thi Dia chi

i-sa

Page 25: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

25

2.2 Chuyển đổi từ mô hình EER thành quan hệ

Thuật toán để chuyển đổi từ mô hình quan hệ thực thể sang mô hình quan hệ bao

gồm tất cả các thuật toán ánh xạ từ mô hình quan hệ thực thể ER và có thêm bƣớc ánh xạ

từ mô hình quan hệ thực thể mở rộng EER sang mô hình quan hệ. Báo trình bày thuật

toán chuyển đổi từ mô hình thực thể EER sang mô hình quan hệ.

Chúng ta sử dụng atts(R) để biểu diễn các thuộc tính của quan hệ R và PK(R) để biểu thị

khoá chính của R.

2.2.1 Các liên kết lớp cha/ lớp con, chuyên biệt hóa và tổng quát hóa

Chuyển đổi từng lớp con chuyên biệt hoá với m lớp con {S1, S2, …., Sm} và

(tổng quát hoá) các lớp cha C, các thuộc tính của C là {k, a1, a2, …. an}và k là khoá

chính thành các sơ đồ quan hệ sử dụng thuật toán sau.

Tạo một quan hệ L cho C với các thuộc tính Atts(L) = { k, a1, a2,..., an} và PK(L )

= k. Tạo một quan hệ Li cho từng lớp con Si, 1<= i<=m, với các thuộc tính attrs(Li) = {k,

ki}+ {các thuộc tính của Si} với PK(Li) = {k} là khoá.

Ví dụ: Xét một quan hệ chuyên biệt hóa của kiểu thực thể NHAN VIEN với các

lớp con { THU KI, KI THUAT VIEN, KI SU } nhƣ hình vẽ.

2.2.2 Ánh xạ các lớp con dùng chung

Một lớp con dùng chung nhƣ QUAN LY KI SU nhƣ đã mô tả ở phần trƣớc là một

lớp con của nhiều lớp cha. Các lớp này phải có tất cả các thuộc tính khóa giống nhau; mặt

khác lớp con dùng chung sẽ đƣợc mô hình nhƣ một Category.

2.2.3 Ánh xạ từ các loại Category

Một Category là một lớp con của việc hợp nhất hai hay nhiều lớp cha có thể có các

khóa khác nhau. Việc ánh xạ một Category mà các lớp cha xác định của nó có các khóa

khác nhau, là qui tắc để chỉ ra một thuộc tính khóa mới gọi là khóa đại diện khi tạo ra

một liên kết để ứng với một Category. Điều này là do các khóa của các lớp xác định là

khác nhau, ví thế chúng ta không sử dụng bất kì một trong các khóa đó để nhận biết tất cả

các thực thể trong Category.

Ví dụ: Tạo sơ đồ liên kết Ngƣời sở hữu tƣơng ứng với Category NGUOI SO HUU

nhƣ đã minh họa và chứa bất kì các thuộc tính trong của Category trong quan hệ này.

Khóa chính của Ngƣời sở hữu là khóa đại diện MASH. Chúng ta cũng thêm vào thuộc

tính khóa đại diện Ngƣời sở hữu nhƣ là khóa ngoài của từng quan hệ tƣơng ứng với một

lớp cha của Category, để nhận biết đƣợc sự tƣơng ứng các giá trị giữa khóa đại diện và

Page 26: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

26

từng lớp cha.

Với một Category mà các lớp cha của nó có khóa giống nhau, ta không cần cho

một khóa đại diện mà khóa chính của Category là khóa của các lớp cha đó.

Áp dụng thuật toán chuyển đổi trên ta đƣợc các bảng quan hệ:

BHXH Ho Dem Gioi tinh Loai nghe Ngay sinh Dia chi

BHXH Trinh do

BHXH Kieuks

BHXH Bac

THU KI

KI SU

KI THUAT VIEN

NHAN VIEN

NHAN VIEN

d

KI THUAT VIEN

Gioi tinh

Dia chi

Trinh do Bac Kieu ki su

Ngay sinh

Họ

Loai nghe

Dem

Ten

KI SU THU KI

BHXH

Mô hình quan hệ:

Page 27: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

27

CHƯƠNG 3

PHƯƠNG PHÁP CHUYỂN ĐỔI TỪ MÔ HÌNH LIÊN KẾT THỰC THỂ EER SANG BIỂU ĐỒ LỚP THIẾT KẾ

Thiết kế Cơ sở dữ liệu (CSDL) quan hệ bằng phƣơng pháp Top-Down đã đƣợc sử

dụng từ rất lâu và đƣợc phổ biến rộng rãi và ứng dụng nhiều. Tuy nhiên trong vài năm trở

lại đây CSDL hƣớng đối tƣợng đã đƣợc đƣa vào triển khai ứng dụng rộng rãi nhƣng việc

phân tích thiết kế bằng phƣơng pháp hƣớng đối tƣợng UML còn mới mẻ, khó khăn đối

với một số ngƣời đã quá quen thuộc với CSDL quan hệ. Để giải quyết khó khăn trên thì

trong báo cáo sẽ trình bày phƣơng pháp chuyển đổi từ mô hình liên kết thực thể mở rộng

EER sang các lớp trong biểu đồ lớp của UML (chuyển đổi dữ liệu). Sau đó sẽ áp dụng

một số mẫu thiết kế (mẫu chuyên gia Expert, bộ tạo lập Creator ...) để xác định thêm các

phƣơng thức cho các lớp vừa chuyển đổi đƣợc thì sẽ nhận đƣợc CSDL hƣớng đối tƣợng

hoàn chỉnh. Phƣơng pháp chuyển đổi này sẽ giúp cho những ngƣời đã quá quen thuộc

chuyên sâu về thiết kế CSDL quan hệ tiếp cận đƣợc dễ dàng với việc thiết kế CSDL

hƣớng đối tƣợng mà vẫn kế thừa đƣợc kiến thức sẵn có từ trƣớc về CSDL quan hệ mà

vẫn tiếp cận đƣợc với CSDL hƣớng đối tƣợng một cách tƣơng đối thuận tiện mang lại

hiệu quả cao.

Phần trình bày sau trình bày về một sồ phƣơng pháp chuyển đổi từ mô hình liên

kết thực thể sang biểu đồ lớp thiết kế trong UML.

KI SU KI SU

Page 28: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

28

3.1 Chuyển đổi một kiểu thực thể thành một lớp

3.1.1 Kiểu thực thể

Kiểu thực thể A chuyển thành lớp đối tƣợng A tƣơng ứng. Thuộc tính định danh

a1 của thực thể chuyển thành thuộc tính khóa a1 của lớp, các thuộc tính {a2, ai, an}của

thực thể chuyển thành các thuộc tính { a2, ai, an }tƣơng ứng của lớp đối tƣợng.

3.1.2 Kiểu thực thể chứa thuộc tính đa trị

Xét kiểu thực thể A có thuộc tính đa tri b. Muốn chuyển về biểu đồ lớp thiết kế

phải qua 2 bƣớc:

Bƣớc 1: Chuyển thuộc tính đa trị về thuộc tính đơn bằng quan hệ liên kết giữa 2

kiểu thực thể A và kiểu thực thể B, với b là thuộc tính riêng của B. A, B liên kết với nhau

bởi quan hệ N:M.

Bƣớc 2: Chuyển đổi quan hệ liên kết giữa 2 kiểu thực thể về biểu đồ lớp. Kiểu

thực thể A, B chuyển thành quan hệ kết hợp giữa 2 lớp đối tƣợng A, B tƣơng ứng.

a2

a1 ai

an

A

A

b

A B N M

b

Liên

kết

a a

Page 29: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

29

VD: Kiểu thực thể NHAN VIEN có thuộc tính đa trị là ngoai ngu

Bƣớc 1: Kiểu thực thể NHAN VIEN chuyển thành quan hệ giữa 2 kiểu thực thể

NHAN VIEN và NGOAI NGU.

Bƣớc 2: Kiểu thực thể SINH VIEN, NGOAI NGU trở thành lớp SINH VIEN,

NGOAI NGU tƣơng ứng có quan hệ kết hợp với nhau.

EER

Quan hệ N-M giữa hai kiểu thực thể

EER

Thuộc tính đa trị

SINH VIEN N M hoc

Ngay sinh

Gioi tinh

Masv

Dia chi

Ho ten

Ngoai ngu

NGOAI NGU

Lop

Ngoai ngu

Ngay sinh Dia chi

SINH VIEN

Ho ten

Gioi tinh

Masv Lop

Page 30: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

30

3.2 Chuyển đổi các kiểu liên kết

3.2.1 Liên kết giữa hai kiểu thực thể

Kiểu thực thể A liên kết với kiểu thực thể B chuyển thành quan hệ kết hớp giữa

hai lớp.

VD: Xét kiểu thực thể NHAN VIEN liên kết 1: N với kiểu thực thể PHONG BAN.

A

N

M

liên

kết

B

a

b

Ngay sinh

Manv

Dia chi

Gioi tinh

Mapb

lam

viec

Ten PB

PHONG BAN (1,N)

NHAN VIEN (0,1)

Ho ten

Dia diem

Page 31: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

31

3.2.2 Kiểu liên kết có thuộc tính riêng Xét kiểu thực thể A liên kết với kiểu thực thể B có thuộc tính c sinh ra bởi kiểu

liên kết. Chuyển đổi về biểu đồ lớp gổm 2 bƣớc:

Bƣớc 1: Chuyển từ quan hệ bậc 2 về mối quan hệ bậc 3 giữa ba kiểu thực thể,

thuộc tính c trở thành thuộc tính riêng của kiểu thực thể C.

Bƣớc 2: Chuyển từ mô hình liên kết thực thể về biểu đồ lớp. Lớp A quan hệ kết

hợp với lớp B sinh ra lớp kết hợp C.

Xét ví dụ: Khi Nhân viên làm việc trong Dự án ghi lại số giờ và ngày làm việc.

Thuộc tính riêng của kiểu liên kết giữa 2 kiểu thực thể NHAN VIEN và DU AN là { So

gio, Ngay lv}.

A

N

M

c liên

kết

B

A

N

M

B

C

a a

b b

c

liên

kết

Ngay sinh

Manv

Dia chi

Gioi tinh

Ten DA

Dia diem So gio

Ngay lv

N

M

Mada

Ho ten

DU AN lam

viec NHAN VIEN

Page 32: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

32

3.2.2 Liên kết có kiểu thực thể yếu

Xét kiểu thực thể A liên kết với kiểu thực thể yếu B, khi chuyển sang biểu đồ lớp

thì chuyển thành quan hệ kết tập giữa hai lớp A và B. Lớp B trở thành lớp bộ phận quan

hệ kết tập với lớp tổng thể A.

Manv

Dia chi

Gioi tinh

N N

Ho ten Ten DA

Dia diem

N

DU AN NHAN VIEN

So gio

Mada

lam

viec

Ngay lv

Lam viec

Ngay sinh

a

(1,N)

(0,1)

b B

liên

kết

A

Page 33: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

33

Ví dụ: Kiểu thực thể NHAN VIEN có quan hệ phụ thuộc với lớp PHU THUOC

3.2.3 Kiểu thực thể có thuộc tính không xác định

Kiểu thực thể B có thuộc tính không xác định, khi chuyển về biểu đồ lớp thiết kế,

thuộc tính không xác định chuyển thành phƣơng thức của kiểu thực thể tƣơng ứng.

Thuộc tính không xác định là thuộc tính không có giá trị cụ thể [ NULL ] hoặc có

giá trị không xác định.

VD: Một Nhân viên làm việc trong Phòng ban, kiểu thực thể PHONG BAN có

thuộc tính không xác định là Lƣơng trung bình ( Luong TB).

(1,1)

(1,N)

Manv

NHAN VIEN

Ho ten

Ten

Dia chi

Quan he Ngay sinh

Gioi tinh

PHU THUOC Gioi tinh

Ngay sinh

phu

thuoc

a

b1

M

N

lk

A

b

B

Page 34: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

34

3.2.4 Kiểu liên kết cấp 1

Kiểu thực thể A có liên kết cấp một với chính nó, khi chuyển sang mô hình lớp

chuyển thành quan hệ đệ qui giữa một đối tƣợng của lớp với chính các đối tƣợng trong

lớp đó.

VD: Xét kiểu thực thể NHAN VIEN có quan hệ bậc một với chính nó (một Nhân

viên có thể quản lý nhiều Nhân viên), khi chuyển sang biểu đồ lớp thiết kế chuyển thành

quan hệ đệ qui giữa các đối tƣợng trong lớp Nhân viên.

(0,N)

N

(1,1) NHAN VIEN PHONG BAN

Lam

viec

Luong Luong TB

Ten PB MaPB

lk

a1

an (0,1) (1,n)

ai

a2 A

(1,1)

(1,N) quản

Gioi tinh

Dia chi

NHAN VIEN

SSn Ngay sinh

Ten

Luong

Page 35: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

35

3.2.5 Tổng quát hóa Tổng quát hóa chuyển thành quan hệ chuyên biệt hóa giữa các lớp.

VD:

O

B C

D E

A

d

d

SV DA TN

Trinh do

Ten Ma

O

NHAN VIEN SINH VIEN

SV CHUA TN

Chuyen nganh

Lop

Luong

NGUOI

Page 36: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

36

3.2.6 Chuyên biệt hóa

Chuyên biệt hóa chuyển thành quan hệ tổng quát hóa giữa các lớp.

VD: Chuyên biệt hóa NV_HD và NV_BC của kiểu thực thể NHAN VIEN.

NHAN VIEN

NV_HD NV_BC

d

Ngay sinh

Ho ten

Hesl Luong

Dia chi

Gioi tinh Manv

d

A

C B

Page 37: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

37

CHƯƠNG 4

ỨNG DỤNG

4.1 Chuyển đổi từ biểu đồ lớp thiết kế sang quan hệ

4.1.1 Biểu đồ lớp thiết kế

Page 38: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

38

4.1.2 Mô hình liên kết thực thể ER

NGUOI

Man

Ngay sinh

sinhen

Ho ten Gioi tinh

Dia chi

O

SINH VIEN

Luong

Cap hoc

Chuyen

d

SV TN

Trinh do Lop

NC_SINH CAN BO THU KI

Quan

ly

So gio

Ten PB

Dia diem

Mada Ten DA

Ten

TRO LY NC TRO LY GD

d

Khoa hoc Du an

Bac Chuc vu

Gioi tinh Ngay sinh

Quan he

Ngay bd

(1,1)

PHU THUOC

(0,N)

(1,N)

(1,1)

(4,N) lam viec

cho

Dia diem PHONG BAN

(1,1)

(1,N)

Tham

gia

(0,N)

Kiem

soat

(1,1)

(0,1) NHAN VIEN

Nam

Phu thuoc

(0,1) (1,N)

d

Quan

ly

Chuyen nganh

Thoi gian

(1,1)

(1,N)

HOC SINH

Trinh do

thuoc

MaPB

DU AN

SV CHUA TN

Page 39: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

39

4.1.3 Mô hình quan hệ

Page 40: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo thực tập Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

40

KẾT LUẬN

1. Kết quả đạt được của đề tài

Với yêu cầu của đề tài là: “ Chuyển đổi mô hình lớp trong UML sang quan hệ và

ứng dụng”, đến thời điểm hiện tại em đã hoàn thành đƣợc những nội dung sau:

Nghiên cứu về biểu đồ lớp trong UML, về mô hình liên kết thực thể mở rộng EER.

Nghiên cứu thuật toán chuyển đổi từ biểu đồ lớp về mô hình liên kết thực thể mở

rộng EER và từ mô hình EER sang quan hệ.

Nghiên cứu thuật toán chuyển đổi từ mô hình EER sang biểu đồ lớp thiết kế.

Ứng dụng vào bài toán cụ thể.

2. Hướng phát triển của đề tài

Tuy đã cố gắng, nhƣng do trình độ, thời gian còn hạn chế nên kết quả đạt đƣợc còn

khá khiêm tốn. Trong thời gian tới, nếu có điều kiện, em sẽ cố gắng phát triển đề tài với

nội dung sau:

Xây dựng hoàn chỉnh một bài toán cụ thể, chuyển đổi thành công từ biểu đồ lớp

sang quan hệ để lƣu trữ CSDL và viết các thủ tục cài đặt chƣơng trình.

Page 41: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo thực tập Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

41

LỜI CẢM ƠN

Để hoàn thành đợt tốt nghiệp này em xin gửi lời cảm ơn đến hội đồng quản trị của

nhà trƣờng đã tạo điều kiện về cơ sở vật chất, trang thiết bị giúp cho việc học tập và

nghiên cứu của em trong suốt thời gian học tại trƣờng.

Em xin gửi lời cảm ơn chân thành tới các thầy, cô giáo trong tổ Bộ môn tin học

của trƣờng đại học dân lập Hải Phòng, những ngƣời đã tận tình giảng dạy.

Đặc biệt em xin gửi lời cảm ơn chân thành của mình tới thầy giáo TS.Vũ Anh

Hùng là ngƣời đã hƣớng dẫn tận tình cũng nhƣ tạo mọi điều kiện thuận lợi về tài liệu và

kiến thức liên quan giúp em hoàn thành đợt làm tốt nghiệp này.

Em xin chân thành cảm ơn !

Hải Phòng, 8/2007

Sinh viên

Nguyễn Thu Thủy

Page 42: Trường đại học dân lập Hải phòngdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · Vì vậy mục đích của đề tài này là nghiên cứu

Báo cáo thực tập Chuyển đổi mô hình lớp trong UML sang quan hệ

Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin

42

TÀI LIỆU THAM KHẢO

[1] ELMASRI, Fundamentals of Database Systems, Third Edition

[2] Nguyễn Văn Vỵ (2002), Phân tích thiết kế các hệ thống thông tin hiện đại, hướng cấu

trúc và hướng đối tượng, NXB Thống kê (2002), Hà Nội.