Top Banner
Hội nghị khoa học: Một số vấn đề tiên tiến trong Công nhệ thông tin và truyền thông – Huế, 30/05/20015 1 THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ YẾU TỐ THỜI GIAN TỪ MÔ HÌNH TIME-ER Hoàng Quang 1 , Nguyễn Viết Chánh 2 Khoa Công nghệ thông tin, Trường Đại học Khoa học 77 Nguyễn Huệ - Huế, Việt Nam 1 [email protected], 2 [email protected] Tóm tắt: Đã có nhiều mô hình cơ sở dữ liệu (CSDL) thời gian mức kh{i niệm được đề xuất nhằm l|m cơ sở cho việc thiết kế mô hình CSDL thời gian mức logic. B|i b{o n|y tập trung v|o việc giới thiệu mô hình TimeER do H. Gregersen v| S. Jensen đề xuất. Từ đó đề xuất một phương ph{p chuyển đổi từ mô hình TimeER sang mô hình cơ sở dữ liệu hướng đối tượng. Về mặt cấu trúc dữ liệu, b|i to{n chuyển đổi mô hình TimeER sang mô hình cơ sở dữ liệu hướng đối tượng l| có nhiều thuận lợi hơn so với vấn đề chuyển đổi mô hình TimeER sang mô hình cơ sở dữ liệu quan hệ, do đặc tính hỗ trợ c{c thuộc tính đa trị v| phức hợp của mô hình hướng đối tượng. Theo đó, c{c thuộc tính n|y được sử dụng để lưu trữ tất cả c{c thay đổi về thời gian của một đối tượng thuộc c{c lớp trong một mô hình cơ sở dữ liệu hướng đối tượng. Từ khóa: Mô hình cơ sở dữ liệu thời gian mức kh{i niệm, Mô hình TimeER, Mô hình hướng đối tượng có yếu tố thời gian 1 Giới thiệu Mô hình TimeER phát triển dựa vào mô hình EER (Extended Entity Relationship Model) [5][6]. Bên cạnh đó, mô hình n|y còn hỗ trợ thêm một số kiểu thời gian như: thời gian sống, thời gian hợp lệ, và thời gian giao tác. Mô hình TimeER là mô hình ở mức khái niệm có hỗ trợ yếu tố thời gian, vì vậy nó được xem là gần gũi với thế giới thực của hệ thống thông tin m| người ta cần thiết kế. Bên cạnh đó, trong những năm gần đ}y, mô hình dữ liệu hướng đối tượng đã v| đang phát triển trong xu thế phát triển của việc ứng dụng các khái niệm hướng đối tượng trong một số lĩnh vực của khoa học máy tính. Việc áp dụng cách tiếp cận hướng đối tượng v|o lĩnh vực CSDL đã tạo khả năng linh hoạt cho mô hình dữ liệu này trong việc mô hình hóa thế giới thực vốn ngày càng phức tạp. Hiện nay, việc nghiên cứu chuyển đổi mô hình trong qui trình thiết kế CSDL theo hướng top–down (thiết kế CSDL từ mức khái niệm đến mức logic) đã đạt được một số kết quả nhất định [8][9]. Trong đó phải kể đến c{c phương ph{p chuyển đổi sau: - Phương ph{p chuyển đổi mô hình ER sang mô hình hướng đối tượng [10][13][14] - Phương ph{p chuyển đổi mô hình TimeER sang mô hình quan hệ [1][2][3][4][5][6]
14

THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Aug 29, 2019

Download

Documents

phungduong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hội nghị khoa học: Một số vấn đề tiên tiến trong Công nhệ thông tin và truyền thông – Huế, 30/05/20015

1

THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

CÓ YẾU TỐ THỜI GIAN TỪ MÔ HÌNH TIME-ER

Hoàng Quang1, Nguyễn Viết Chánh2

Khoa Công nghệ thông tin, Trường Đại học Khoa học

77 Nguyễn Huệ - Huế, Việt Nam [email protected], [email protected]

Tóm tắt: Đã có nhiều mô hình cơ sở dữ liệu (CSDL) thời gian mức kh{i niệm được đề xuất

nhằm l|m cơ sở cho việc thiết kế mô hình CSDL thời gian mức logic. B|i b{o n|y tập trung

v|o việc giới thiệu mô hình TimeER do H. Gregersen v| S. Jensen đề xuất. Từ đó đề xuất

một phương ph{p chuyển đổi từ mô hình TimeER sang mô hình cơ sở dữ liệu hướng đối

tượng. Về mặt cấu trúc dữ liệu, b|i to{n chuyển đổi mô hình TimeER sang mô hình cơ sở dữ

liệu hướng đối tượng l| có nhiều thuận lợi hơn so với vấn đề chuyển đổi mô hình TimeER

sang mô hình cơ sở dữ liệu quan hệ, do đặc tính hỗ trợ c{c thuộc tính đa trị v| phức hợp của

mô hình hướng đối tượng. Theo đó, c{c thuộc tính n|y được sử dụng để lưu trữ tất cả c{c

thay đổi về thời gian của một đối tượng thuộc c{c lớp trong một mô hình cơ sở dữ liệu

hướng đối tượng.

Từ khóa: Mô hình cơ sở dữ liệu thời gian mức kh{i niệm, Mô hình TimeER, Mô hình hướng

đối tượng có yếu tố thời gian

1 Giới thiệu

Mô hình TimeER phát triển dựa vào mô hình EER (Extended Entity Relationship Model)

[5][6]. Bên cạnh đó, mô hình n|y còn hỗ trợ thêm một số kiểu thời gian như: thời gian sống, thời

gian hợp lệ, và thời gian giao tác. Mô hình TimeER là mô hình ở mức khái niệm có hỗ trợ yếu tố

thời gian, vì vậy nó được xem là gần gũi với thế giới thực của hệ thống thông tin m| người ta

cần thiết kế.

Bên cạnh đó, trong những năm gần đ}y, mô hình dữ liệu hướng đối tượng đã v| đang

phát triển trong xu thế phát triển của việc ứng dụng các khái niệm hướng đối tượng trong một

số lĩnh vực của khoa học máy tính. Việc áp dụng cách tiếp cận hướng đối tượng v|o lĩnh vực

CSDL đã tạo khả năng linh hoạt cho mô hình dữ liệu này trong việc mô hình hóa thế giới thực

vốn ngày càng phức tạp.

Hiện nay, việc nghiên cứu chuyển đổi mô hình trong qui trình thiết kế CSDL theo hướng

top–down (thiết kế CSDL từ mức khái niệm đến mức logic) đã đạt được một số kết quả nhất

định [8][9]. Trong đó phải kể đến c{c phương ph{p chuyển đổi sau:

- Phương ph{p chuyển đổi mô hình ER sang mô hình hướng đối tượng [10][13][14]

- Phương ph{p chuyển đổi mô hình TimeER sang mô hình quan hệ [1][2][3][4][5][6]

Page 2: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hoàng Quang, Nguyễn Viết Chánh

2

Tuy nhiên, vấn đề chuyển đổi từ mô hình TimeER sang mô hình hướng đối tượng thì vẫn

chưa được b|n đến một cách sâu sắc trong các nghiên cứu trước đ}y. Đ}y được xem là một mở

rộng của bài toán chuyển đổi mô hình ER sang mô hình hướng đối tượng, bởi vì mô hình

TimeER do H. Gregersen v| S. Jensen đề xuất được xem là một mở rộng của mô hình EER [7].

Vì vậy bài báo này tập trung vào việc xây dựng một thuật toán chuyển đổi mô hình TimeER

sang mô hình hướng đối tượng có yếu tố thời gian. Về mặt cấu trúc dữ liệu, bài toán chuyển đổi

mô hình TimeER sang mô hình cơ sở dữ liệu hướng đối tượng là có nhiều thuận lợi hơn so với

vấn đề chuyển đổi mô hình TimeER sang mô hình cơ sở dữ liệu quan hệ, do đặc tính hỗ trợ các

thuộc tính đa trị và phức hợp của mô hình hướng đối tượng. Các thuộc tính n|y được sử dụng

để lưu trữ tất cả c{c thay đổi về thời gian của một đối tượng thuộc các lớp trong một mô hình

cơ sở dữ liệu hướng đối tượng.

Theo đó, b|i b{o được tổ chức như sau. Trong mục tiếp theo, chúng tôi giới thiệu khái

quát các thành phần của mô hình TimeER. Mục 3 trình bày thuật toán chuyển đổi mô hình

TimeER thành mô hình hướng đối tượng. Cuối cùng là phần kết luận.

2 Giới thiệu mô hình TimeER

Mô hình TimeER là một mở rộng của mô hình EER bằng cách cho phép hỗ trợ các loại

thời gian sau: thời gian sống của một thực thể, thời gian hợp lệ của một sự kiện, và thời gian

giao tác của một thực thể hoặc một sự kiện.

Mô hình n|y quy ước rằng, đối với các thực thể, hệ thống chỉ có thể hỗ trợ thời gian sống

(LifeSpan, ký hiệu là LS), hoặc thời gian giao tác (Transaction Time, ký hiệu là TT), hoặc cả hai

loại thời gian này (ký hiệu l| LT). Còn đối với các thuộc tính, hệ thống chỉ cho phép hỗ trợ thời

gian hợp lệ (Valid Time, ký hiệu là VT), hoặc thời gian giao tác (TT), hoặc cả hai loại thời gian

này (BiTemporal, ký hiệu BT). Ngoài ra, do một mối quan hệ có thể xem là một tập thực thể

hoặc một thuộc tính, nhờ vậy m| người thiết kế có thể x{c định các yếu tố thời gian hỗ trợ cho

mối quan hệ đó nếu cần.

Hình 1. Một ví dụ về mô hình TimeER *6+

Page 3: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hội nghị khoa học: Một số vấn đề tiên tiến trong Công nhệ thông tin và truyền thông – Huế, 30/05/20015

3

Các thành phần của mô hình

- Tập thực thể: Trong mô hình TimeER, tập thực thể mạnh (gọi tắt tập thực thể) thường

được biểu diễn hình chữ nhật nét đơn. Đối với tập thực thể yếu, ta sử dụng hình chữ nhật nét

đôi. Nếu tập thực thể E có hỗ trợ thời gian sống, hoặc thời gian giao tác, hoặc cả hai, thì thêm ký

hiệu LS, TT, hoặc LT vào sau tên tập thực thể tương ứng. Việc hỗ trợ yếu tố thời gian của thực

thể yếu l| độc lập với thực thể chủ của nó.

- Thuộc tính: Thuộc tính đơn trị được biểu diễn bởi hình oval nét đơn, ngược lại thuộc

tính đa trị sử dụng hình oval nét đôi. Kh{c với thuộc tính đơn, thuộc tính phức hợp biểu diễn

bởi hình oval có các cung nối đến các thuộc tính thành phần của nó. Do một thuộc tính đơn trị

và phức hợp gồm n thuộc tính thành phần là có thể được thay bằng n thuộc tính đơn trị v| đơn.

Vì vậy, các thuộc tính của một tập thực thể hoặc của một thuộc tính phức hợp chỉ có thể là một

trong các loại thuộc tính sau: đơn trị v| đơn, đa trị v| đơn, hoặc đa trị và phức hợp.

Nếu thuộc tính có hỗ trợ thời gian hợp lệ, thời gian giao tác, hoặc cả hai, thì thêm ký hiệu

VT, TT, hoặc BT ở bên phải thuộc tính đó. Nếu thuộc tính phức hợp có hỗ trợ yếu tố thời gian gì

thì các thuộc tính thành phần của nó cũng được hỗ trợ thời gian đó. C{c tập thực thể có hỗ trợ

yếu tố thời gian hoặc phi thời gian đều có thể có các thuộc tính có yếu tố thời gian và phi thời

gian.

- Mối quan hệ: Một mối quan hệ được biểu diễn bởi hình thoi. Việc đưa yếu tố thời gian

vào mối quan hệ là tùy thuộc vào nhà thiết kế CSDL. Nếu mối quan hệ có quản lý yếu tố thời

gian thì gọi là mối quan hệ có yếu tố thời gian, ngược lại gọi là mối quan hệ phi thời gian.

- Mối quan hệ lớp cha/lớp con: Tương tự mô hình EER, trong mô hình này một lớp con

kế thừa tất cả các thuộc tính và các hỗ trợ về thời gian từ lớp cha của nó. Ngoài ra, ta còn có thể

bổ sung thêm yếu tố thời gian cho các thuộc tính riêng của nó.

3 Chuyển đổi mô hình TimeER thành mô hình hướng đối tượng

Việc xây dựng một thuật toán chuyển đổi mô hình TimeER sang mô hình hướng đối

tượng có yếu tố thời gian được x{c định như sau:

Đầu vào: Mô hình TimeER

Đầu ra: Mô hình hướng đối tượng có yếu tố thời gian

Phương ph{p: Hình thức hóa c{c bước thực hiện thông qua các quy tắc chuyển đổi

nhằm cho phép chuyển đổi các thành phần trong mô hình TimeER thành các lớp đối

tượng trong mô hình hướng đối tượng. Do bài báo này chỉ tập trung nghiên cứu việc

chuyển đổi cấu trúc dữ liệu của các mô hình dữ liệu, nên chỉ quan t}m đến phần cấu

trúc các thuộc tính của mỗi lớp đối tượng, vì vậy c{c phương thức của mỗi lớp đối

tượng l| không được đề cập đến. Ngoài ra, thuộc tính định danh OID được xem là

Page 4: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hoàng Quang, Nguyễn Viết Chánh

4

thuộc tính mặc định của các lớp đối tượng. Thuật toán chuyển đổi n|y được thực

hiện qua 5 bước như sau:

Bước 1: Chuyển đổi các tập thực thể không tham gia vào mối quan hệ lớp cha/lớp

con

Bước 2: Chuyển đổi các tập thực thể tham gia vào mối quan hệ lớp cha/lớp con

Bước 3: Chuyển đổi các thuộc tính có yếu tố thời gian của một tập thực thể

Bước 4: Chuyển đổi các mối quan hệ phi thời gian

Bước 5: Chuyển đổi các mối quan hệ có yếu tố thời gian

Cơ sở lý luận của phương ph{p chuyển đổi: Thông qua thuật toán chuyển đổi,

chúng tôi đã chứng minh được tính chất bảo toàn thông tin trên cấu trúc dữ liệu

được chuyển đổi. Cụ thể: với mỗi CSDL đầu vào sẽ cho tương ứng một CSDL đầu ra

trên mô hình dữ liệu được chuyển đổi.

Nội dung của mỗi bước l| tương ứng với lần lượt các mục cụ thể như sau.

3.1 Chuyển đổi các tập thực thể không tham gia vào mối quan hệ lớp cha/lớp con

Với mỗi tập thực thể E không tham gia vào mối quan hệ lớp cha/lớp con có tập thuộc tính

là , trong đó A1, A2, …, An là các thuộc tính phi thời gian, ta xét hai trường hợp sau:

3.1.1 Chuyển đổi tập thực thể mạnh

Nếu E là tập thực thể mạnh có khoá là ID(E), thì ta tạo một lớp đối tượng, được gọi là lớp

đối tượng chính, tương ứng với tập thực thể E, ký hiệu là C(E), có tập thuộc tính là UC(E) = ID(E)

{A1, A2, …, An}. Khóa của lớp C(E) là ID(E).

Trong trường hợp tập thực thể E có hỗ trợ yếu tố thời gian (thời gian sống/giao tác), ta

quy ước rằng, nếu các yếu tố thời gian hỗ trợ cho tập thực thể E được ký hiệu bởi dấu , thì ta

bổ sung thêm một thuộc tính đa trị và phức hợp T vào lớp C(E) để biểu diễn yếu tố thời gian

này. Tùy theo yếu tố thời gian * được hỗ trợ cho tập thực thể E, thuộc tính phức hợp T được xác

định như sau:

Bảng 1. C{c thuộc tính nhãn thời gian hỗ trợ cho c{c tập thực thể/ mối quan hệ

(a) Nếu * = LS thì T = {LSs, LSe}

(b) Nếu * = TT thì T = {TTs, TTe}

(c) Nếu * = LT thì T = {TTs, TTe, LSs, LSe}

Page 5: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hội nghị khoa học: Một số vấn đề tiên tiến trong Công nhệ thông tin và truyền thông – Huế, 30/05/20015

5

3.1.2 Chuyển đổi tập thực thể yếu

Xét E là tập thực thể yếu của mối quan hệ định danh S có tập thực thể chủ là E. Khi đó, ta

chuyển tập thực thể yếu E thành thuộc tính đa trị A(E) của lớp C(E). Thuộc tính A(E) cũng l|

thuộc tính phức hợp được xây dựng từ tập thuộc tính {A1, A2, …, An} của tập thực thể E.

Tương tự như việc chuyển đổi tập thực thể mạnh, trong trường hợp tập thực thể yếu E có

hỗ trợ yếu tố thời gian , thì ta bổ sung thêm một thuộc tính đa trị và phức hợp T vào thuộc tính

phức hợp A(E). Tùy theo yếu tố thời gian * hỗ trợ cho tập thực thể E, thuộc tính phức hợp T

được x{c định từ Bảng 1.

Ví dụ 1: Xét mô hình TimeER được cho bởi Hình 2.

Hình 2. Ví dụ về chuyển đổi tập thực thể mạnh có hỗ trợ yếu tố thời gian

Theo quy tắc chuyển đổi trên, ta có kết quả chuyển đổi th|nh mô hình hướng đối tượng

l| như sau:

Class NHANVIEN

MANV: CHAR(5);

HoTen: NVARCHAR (50);

T: set(tuple(LSs: DATE;

LSe: DATE));

End NHANVIEN.

Lưu ý rằng, các thuộc tính đa trị và thuộc tính phức hợp của mô hình TimeER cũng sẽ

được chuyển thành các thuộc tính đa trị (sử dụng từ khoá set) và thuộc tính phức hợp (sử dụng

từ khoá tuple) bên trong mỗi lớp đối tượng.

Để minh họa cho việc chuyển đổi dữ liệu trên các mô hình của Ví dụ 1, ta giả sử rằng tập

thực thể NHANVIEN tại thời điểm t = 1 có hai bộ dữ liệu là (1, Le A), (2, Le B); tại thời điểm t =

2 có hai bộ dữ liệu là (1, Le A), (3, Le C) và tại thời điểm t = 3 có ba bộ dữ liệu là (1, Le A), (2, Le

B), (3, Le C). Khi đó dữ liệu của mô hình TimeER ta có thể biểu diễn bởi các biểu đồ Venn trong

Hình 3.

Page 6: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hoàng Quang, Nguyễn Viết Chánh

6

Hình 3. Dữ liệu của tập thực thể NHANVIEN tại 3 thời điểm

Khi đó dữ liệu tương ứng của mô hình hướng đối tượng trên lớp C(NHANVIEN) được

chỉ ra trong Bảng 2.

Bảng 2. Dữ liệu tương ứng vời Hình 3 trên lớp C(NHANVIEN)

OID MANV HoTen T

LSs LSe

E01 1 Le A 1 3

E02 2 Le B 1 1

3 3

E03 3 Le C 2 3

Ví dụ 2: Xét mô hình TimeER được cho bởi Hình 4.

Hình 4. Ví dụ về chuyển đổi tập thực thể yếu có hỗ trợ yếu tố thời gian

Ta có kết quả chuyển đổi thành mô hình hướng đối tượng l| như sau:

Class NHANVIEN

MANV: CHAR(5);

HoTen: NVARCHAR (50);

NguoiPhuThuoc:set(tuple(TenNPT:NVARCHAR (50);

QuanHe: NVARCHAR (20);

T: set(tuple(LSs: DATE;

LSe: DATE))));

End NHANVIEN.

Hình 5 sau đ}y l| minh họa một cơ sở dữ liệu tương ứng với mô hình TimeER được cho

ở Ví dụ 2.

Page 7: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hội nghị khoa học: Một số vấn đề tiên tiến trong Công nhệ thông tin và truyền thông – Huế, 30/05/20015

7

Hình 5. Dữ liệu của mô hình TimeER trong Ví dụ 2 tại 3 thời điểm

Khi đó dữ liệu tương ứng của mô hình hướng đối tượng trên lớp C(NHANVIEN) được

chỉ ra trong Bảng 3.

Bảng 3. Dữ liệu tương ứng vời Hình 6 trên lớp C(NHANVIEN)

OID MANV HoTen

NguoiPhuThuoc

TenNPT QuanHe T

LSs LSe

E01 1 Le A

Le M Cha 1 3

Le N Me 1 1

3 3

E02 2 Le B Le P Con 1 3

E03 3 Le C Le Q Con 1 3

3.2 Chuyển đổi các tập thực thể tham gia vào mối quan hệ lớp cha/lớp con

Với mỗi mối quan hệ lớp cha/lớp con, trong đó lớp cha E có các lớp con là S1, S2, …, Sn, ta

tạo ra lớp chính C(E) tương ứng với tập thực thể E để biểu diễn lớp cha E. Ngoài ra, giả sử mỗi

lớp con Si (i = 1..n) có tập thuộc tính phi thời gian riêng là Xi, thì ta tạo thêm lớp kế thừa SC(Si) là

một lớp con của lớp C(E), có tập thuộc tính riêng là Usc(si) = Xi.

Nếu E hoặc S1, S2, …, Sn có hỗ trợ yếu tố thời gian thì ta bổ sung thêm các thuộc tính đa trị

và phức hợp T vào các lớp tương ứng để biểu diễn yếu tố thời gian này. Tùy theo yếu tố thời

gian * được hỗ trợ cho các tập thực thể E hoặc S1, S2, …, Sn, thuộc tính phức hợp T được xác

định từ Bảng 1.

Page 8: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hoàng Quang, Nguyễn Viết Chánh

8

Lưu ý rằng, trong trường hợp tập thực thể yếu có mối quan hệ định danh với lớp cha

(hoặc lớp con) được xét ở trên thì ta thực hiện việc chuyển đổi thực thể yếu n|y tương tự như

Mục 3.1.2.

3.3 Chuyển đổi các thuộc tính có yếu tố thời gian của một tập thực thể

Với mỗi thuộc tính A của tập thực thể E là thuộc tính có yếu tố thời gian * (thời gian hợp

lệ/giao tác), ta bổ sung thêm một thuộc tính đa trị và phức hợp

T(A) = {A} T vào lớp C(E) để biểu diễn yếu tố thời gian n|y. Trong đó, T là tập thuộc tính

nhãn thời gian được xác định như Bảng 4.

Bảng 4. C{c thuộc tính nhãn thời gian hỗ trợ cho c{c thuộc tính/ mối quan hệ

(a) Nếu * = VT thì T = {VTs, VTe}

(b) Nếu * = TT thì T = {TTs, TTe}

(c) Nếu * = BT thì T = {TTs, TTe, VTs, VTe}

Lưu ý: Quy tắc chuyển đổi này có thể áp dụng trong cả hai trường hợp: A là thuộc tính

đơn trị hoặc A là thuộc tính đa trị. Ngoài ra, nó còn áp dụng trong trường hợp tập thực thể E là

phi thời gian hoặc có hỗ trợ yếu tố thời gian.

3.4 Chuyển đổi các mối quan hệ phi thời gian

Mối quan hệ phi thời gian là mối quan hệ giữa các thực thể của các tập thực thể liên quan,

m| nó l| không thay đổi theo thời gian [8]. Việc chuyển đổi các mối quan hệ phi thời gian giữa

các tập thực thể được xét trong các kiểu mối quan hệ sau:

3.4.1 Chuyển đổi mối quan hệ nhị nguyên không có thuộc tính

Nếu hai tập thực thể E1 và E2 có mối quan hệ nhị nguyên R là mối quan hệ không có

thuộc tính đính kèm, thì lớp C(E1) (hoặc lớp C(E2)), sẽ được bổ sung thêm thuộc tính mối quan

hệ A(R.E2) (hoặc thuộc tính mối quan hệ A(R.E1)). Cụ thể, ta xét c{c trường hợp sau:

* Trường hợp 1: Nếu chỉ số cực đại của cung nối E1 (hoặc E2) và R là 1, thì thuộc tính

A(R.E2) trong lớp C(E1) (hoặc thuộc tính A(R.E1) trong lớp C(E2)) sẽ được khai báo là thuộc tính

đơn trị.

* Trường hợp 2: Nếu chỉ số cực đại của cung nối E1 (hoặc E2) và R là n, thì thuộc tính

A(R.E2) trong lớp C(E1) (hoặc thuộc tính A(R.E1) trong lớp C(E2)) sẽ được khai báo là thuộc tính

đa trị.

Lưu ý rằng, do đối với mối quan hệ nhị nguyên 1-1 có kèm thuộc tính, thì các thuộc tính

đó có thể chuyển thành các thuộc tính của một trong hai tập thực thể tham gia. Còn đối với mối

quan hệ nhị nguyên 1-nhiều có kèm thuộc tính, thì các thuộc tính đó có thể chuyển thành các

thuộc tính của tập thực thể tương ứng với “phía nhiều”. Vì vậy ta có thể qui ước rằng, đối với

Page 9: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hội nghị khoa học: Một số vấn đề tiên tiến trong Công nhệ thông tin và truyền thông – Huế, 30/05/20015

9

mối quan hệ nhị nguyên có kèm thuộc tính thì trường hợp này chỉ xảy ra đối với mối quan hệ

nhị nguyên nhiều-nhiều. Việc chuyển đổi đối với trường hợp của mối quan hệ nhị nguyên này

l| như sau.

3.4.2 Chuyển đổi mối quan hệ nhị nguyên nhiều-nhiều có kèm thuộc tính

Nếu hai tập thực thể E1 và E2 có mối quan hệ R là mối quan hệ nhiều-nhiều có kèm các

thuộc tính phi thời gian (tức là, mối quan hệ R có thể xem như một tập thực thể và kí hiệu là

E(R)), thì ta cần bổ sung thêm một lớp mới C(R) để biểu diễn mối quan hệ nhị nguyên R (hay

tập thực thể E(R)). Lớp C(R) bao gồm các thuộc tính sau:

Các thuộc tính phi thời gian của mối quan hệ R,

Hai thuộc tính mối quan hệ A1 và A2 là các thuộc tính đơn trị lần lượt có kiểu dữ liệu là

lớp C(E1) và lớp C(E2).

Lưu ý rằng, trong hai lớp C(E1) và C(E2) ta cũng có thể bổ sung các thuộc tính ngược của

hai thuộc tính A1 và A2 ở trên.

Hiển nhiên rằng quy tắc n|y cũng có thể áp dụng để chuyển đổi các mối quan hệ nhị

nguyên không có thuộc tính. Lúc này lớp C(R) chỉ bao gồm hai thuộc tính A1 và A2 có khai báo

như trên.

Ngoài ra, trong trường hợp mối quan hệ nhị nguyên phi thời gian R là mối quan hệ nhị

nguyên nhiều-nhiều (hay tập thực thể E(R)) có kèm các thuộc tính thời gian, thì ta thực hiện

việc chuyển đổi các thuộc tính thời gian n|y tương tự như c{ch chuyển đổi trong Mục 3.3

(chuyển đổi thuộc tính thời gian của một tập thực thể).

3.4.3 Chuyển đổi mối quan hệ phản xạ không có thuộc tính

Xét một tập thực thể E có mối quan hệ phản xạ R. Gọi r là một trong hai vai trò của mối

quan hệ phản xạ n|y. Khi đó, tên của vai trò r sẽ được dùng để biểu diễn thuộc tính mối quan

hệ mà ta cần bổ sung vào lớp C(E). Cụ thể:

* Trường hợp 1: Nếu vai trò r có chỉ số cực đại là 1, thì bổ sung thuộc tính mối quan hệ r

vào lớp C(E) có khai báo là thuộc tính đơn trị.

* Trường hợp 2: Nếu vai trò r có chỉ số cực đại là n, thì bổ sung thuộc tính mối quan hệ r

vào lớp C(E) có khai báo là thuộc tính đa trị.

3.4.4 Chuyển đổi mối quan hệ phản xạ nhiều-nhiều có kèm thuộc tính

Xét một tập thực thể E có mối quan hệ phản xạ R là mối quan hệ nhiều-nhiều có kèm các

thuộc tính phi thời gian. Gọi r là một trong hai vai trò của mối quan hệ phản xạ n|y. Khi đó, ta

cần bổ sung thêm một lớp mới C(R) để biểu diễn mối quan hệ phản xạ R (hay tập thực thể

E(R)). Lớp C(R) bao gồm các thuộc tính sau:

Page 10: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hoàng Quang, Nguyễn Viết Chánh

10

Các thuộc tính phi thời gian của mối quan hệ R,

Hai thuộc tính mối quan hệ r1 và r2 là các thuộc tính đơn trị đều có kiểu dữ liệu là lớp

C(E).

Lưu ý rằng, trong C(E) ta cũng có thể bổ sung các thuộc tính ngược của hai thuộc tính r1

và r2 ở trên.

3.4.5 Chuyển đổi mối quan hệ đa nguyên

Đối với mối quan hệ đa nguyên, việc chuyển đổi thực hiện tương tự như mối quan hệ nhị

nguyên nhiều-nhiều có kèm thuộc tính.

Nếu k tập thực thể E1, E2, ..., Ek (k > 2) có quan hệ với nhau thông qua mối quan hệ đa

nguyên R bậc k, thì ngoài k lớp C(E1), C(E2), ..., C(Ek) ta sẽ bổ sung thêm lớp mới C(R) đóng vai

trò trung gian. Lớp C(R) bao gồm các thuộc tính sau:

Các thuộc tính phi thời gian của mối quan hệ R,

Các thuộc tính mối quan hệ Ai là các thuộc tính đơn trị có kiểu dữ liệu là lớp C(Ei), với i

= 1, 2, ..., k.

3.5 Chuyển đổi các mối quan hệ có yếu tố thời gian

Việc chuyển đổi các mối quan hệ có yếu tố thời gian bao gồm c{c trường hợp sau:

3.5.1 Chuyển đổi mối quan hệ định danh

Xét mối quan hệ định danh S hỗ trợ yếu tố thời gian * có tập thực thể yếu là E và tập thực

thể chủ là E (khi đó, lớp C(E) đã tồn tại từ việc thực hiện Bước 3.1.2 hay Bước 3.2). Ta bổ sung

thêm một thuộc tính đa trị và phức hợp T vào thuộc tính phức hợp A(E) (là thuộc tính đã được

chuyển đổi từ tập thực thể yếu E trong Bước 3.1.2 hay Bước 2.2). Tùy theo yếu tố thời gian * hỗ

trợ cho mối quan hệ S, các thuộc tính thành phần của thuộc tính phức hợp T được x{c định từ

Bảng 1 hoặc Bảng 4.

3.5.2 Chuyển đổi mối quan hệ nhị nguyên

Xét mối quan hệ R là mối quan hệ nhị nguyên có yếu tố thời gian * giữa hai tập thực thể

E1 và E2. Khi đó, ngoài lớp C(E1) và C(E2), ta bổ sung thêm lớp TC(R) nhằm biểu diễn yếu tố thời

gian * của mối quan hệ R. Lớp TC(R) bao gồm các thuộc tính sau:

Các thuộc tính của mối quan hệ R,

Tập thuộc tính đa trị và phức hợp T chứa các thuộc tính nhãn thời gian được cho bởi

Bảng 1 hoặc Bảng 4,

Hai thuộc tính mối quan hệ A1 và A2 là các thuộc tính đơn trị lần lượt có kiểu dữ liệu là

lớp C(E1) và lớp C(E2).

Page 11: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hội nghị khoa học: Một số vấn đề tiên tiến trong Công nhệ thông tin và truyền thông – Huế, 30/05/20015

11

Lưu ý rằng, trong hai lớp C(E1) và C(E2) ta cũng có thể bổ sung các thuộc tính ngược của

hai thuộc tính A1 và A2 nói trên, ngoài ra nếu các thuộc tính của mối quan hệ R (hay chính là tập

thực thể E(R)) còn có các thuộc tính thời gian, thì ta thực hiện việc chuyển đổi các thuộc tính

thời gian n|y tương tự như c{ch chuyển đổi trong Bước 3.3 (chuyển đổi thuộc tính thời gian của

một tập thực thể).

Việc chuyển đổi các mối quan hệ khác có yếu tố thời gian (như mối quan hệ phản xạ và

mối quan hệ đa nguyên) cũng được thực hiện tương tự như trên (Bước 3.5.2).

Ví dụ 3: Xét mô hình TimeER được cho bởi Hình 6.

Hình 6. Ví dụ về chuyển đổi mối quan hệ nhị nguyên có hỗ trợ yếu tố thời gian

Ta có kết quả chuyển đổi thành mô hình hướng đối tượng là gồm 3 lớp có cấu trúc dữ

liệu như sau:

Class NHANVIEN MANV: CHAR(5); HoTen: NVARCHAR(50);

End NHANVIEN. Class DUAN

MADA: CHAR(5); NganQuy: tuple( ChiPhi: FLOAT; ThuNhap: FLOAT);

End DUAN. Class LAMVIEC

T: set(tuple( VTs: DATE; VTe: DATE));

NhanVien: NHANVIEN; DuAn: DUAN;

End LAMVIEC.

Hình 7 sau đ}y l| minh họa một cơ sở dữ liệu tương ứng với mô hình TimeER được cho

ở Ví dụ 3.

Page 12: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hoàng Quang, Nguyễn Viết Chánh

12

Hình 7. Dữ liệu của mô hình TimeER trong Ví dụ 3 tại 3 thời điểm

Khi đó dữ liệu tương ứng trên các lớp của mô hình hướng đối tượng được chỉ ra trong

Bảng 5.

Bảng 5. Dữ liệu tương ứng vời Hình 9 trên c{c lớp đối tượng

OID MANV HoTen

E01 1 Le A

E02 2 Le B

E03 3 Le C

C(NHANVIEN)

OID MADA NganQuy

ChiPhi ThuNhap P01 1 3 5

P02 2 4 6 C(DUAN)

OID T

NhanVien DuAn VTs VTe

T01 1 3 E01 P01

T02 1 1 E02 P02

T03 2 2 E02 P01

T04 3 3 E02 P02

T05 1 2 E03 P02

T06 3 3 E03 P01 TC(LAMVIEC)

4 KẾT LUẬN

Trong b|i b{o n|y, chúng tôi đã đề xuất một phương ph{p để thiết kế cấu trúc dữ liệu

của các lớp trong một mô hình hướng đối tượng có yếu tố thời gian từ một mô hình dữ liệu ở

mức khái niệm đó l| mô hình TimeER.

Trên cơ sở của phương ph{p chuyển đổi đã được đề xuất, hướng nghiên cứu tiếp theo

của chúng tôi là ứng dụng kết quả nghiên cứu này vào việc sử dụng mô hình TimeER để thiết

kế c{c Ontology dưới dạng OWL, m| mô hình hướng đối tượng có yếu tố thời gian l| đóng vai

trò như một kết quả chuyển đổi trung gian.

Page 13: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hội nghị khoa học: Một số vấn đề tiên tiến trong Công nhệ thông tin và truyền thông – Huế, 30/05/20015

13

Tài liệu tham khảo

1. Ho|ng Quang, Nguyễn Viết Ch{nh, “Một c{ch tiếp cận trong việc thiết kế cơ sở dữ liệu thời gian”,

Tạp chí Khoa học, Đại học Huế, Tập 74A (Số 5), tr. 99-107, 2012.

2. Hoang, Q. and Nguyen, V.T., “Extraction of TimeER model from a relational database”, Lecture

Notes in Artificial Intelligence 6591, pp.57-66, 2011.

3. Hoang, Q. and Nguyen, V.T., “Extraction of a temporal conceptual model from a relational

database”, Int. J. Intelligent Information and Database Systems, Vol. 7(No. 4), pp. 340-355, 2013.

4. H. Quang, H.T. Thanh, “Extension of Method for Converting TimeER Model to Relational Model”,

Journal of Computer Science and Cybernetics, Vol. 25(No. 3), pp. 246-257, 2009.

5. H. Quang, H.T. Thanh, “A Mapping Algorithm from TimeER Model to Relational Model”, ICT-

Hanoi 2008: Proceedings of the 2nd Hanoi Forum on Information – Communication Technology,

Hanoi, VietNam, pp. 37-45, 2008.

6. C.S. Jensen, Temporal Database Management, Dr.techn. thesis by Christian S. Jensen, 2000,

(http://people.cs.aau.dk/~csj/Thesis/).

7. Heidi Gregersen, Christian S. Jensen, “Temporal Entity-Relationship Models-A Survey”, IEEE

Transactions on Knowledge and Data Engineering, Vol. 11(No. 3), pp. 464-497, 1999.

8. Elmasri, Navathe, Fundamentals of Database Systems-Sixth Edition, Addison-Wesley Publishers,

United States of America, 2011.

9. Massimo Franceschet, Donatella Gubiani, Angelo Montanari and Carla Piazza, “A Graph-Theoretic

Approach to Map Conceptual Designs to XML Schemas”, ACM Transactions on Database Systems,

Vol. 38(No. 1) Article 6, 2013.

10. Quang Hoang, “Transformation from E-R Model to Object-Oriented Model”, Journal of Computer

Science and Cybernetics, Vol. 17 (No. 4), pp. 78-86, 2001.

11. Peter Pin-Shan Chen, “The Entity-Relationship Model – Toward a Unified View of Data”, ACM

Transactions on Database Systems, Vol. 1(No. 1), March 1970.

12. Jeffrey A.Hoffer, Joey F.George, Joseph S.Valacich, Modern Systems Analysis and Design-Fourth

Edition, Prentice Hall, 2005.

13. Missaoui, R., J. M. Gagnon, Mapping an Extended Entity-Relationship Schema into a Schema of

Complex Objects, Technical Report, IGLOO Program, Centre de Recherche Informatique de

MontrÐal, 1994.

14. Gogolla, M., R. Herzig, Integrating the ER Approach in an OO Environment, Proc. 12th

International Conference on Entity-Relationship Approach (ER’93), Springer, Berlin, LNCS 823, pp.

376-389, 1994.

Page 14: THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG CÓ …it.husc.edu.vn/Media/ChuyenMuc/KhoaHoc/Hoithao-Hoinghi/SAICT_2015... · thay đổi về thời gian của

Hoàng Quang, Nguyễn Viết Chánh

14

DESIGNING TEMPORAL OBJECT-ORIENTED DATABASE

MODEL WITH TIME-ER MODEL

Hoang Quang, Nguyen Viet Chanh

Faculty of Information Technology – College of Sciences, Hue University

77 Nguyen Hue street, Hue city, VietNam [email protected], [email protected]

Abstract: Following temporal conceptual database models have been proposed to serve as a

basis for designing temporal logic database model. This article is going to focus on the

introduction of TimeER model proposed by H. Gregersen and S. Jensen. From this

introduction, a method of the conversion of TimeER model into object-oriented database

model is going to be proposed. For the structural data, the issue of TimeER model

conversion into object-oriented database model is more favorable than the one of TimeER

model conversion into relational database model, based on the supporting features of the

multi-valued attributes and complex mixture of the object-oriented model. Therefore, these

attributes are used to store all the changes in the time of an object belonging to the class in a

object-oriented model.

Keywords: Temporal conceptual database model, TimeER model, Temporal object-oriented

model.