Page 1
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
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
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
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
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
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
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
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
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
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
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
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
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
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.