Duy trì và phát triển kho dữ liệu là một hoạt động phức tạp và hao tốn nhiều thời gian. Nguyên nhân là do môi trường của kho dữ liệu thay đổi liên tục và các nguồn cung cấp dữ liệu cho kho cũng thay đổi theo thời gian. Theo đó, các mô hình dữ liệu của kho cần được môđun hóa và linh hoạt để có thể quản lí được sự thay đổi của các thông tin. Mô hình dữ liệu Anchor là mô hình dữ liệu mức khái niệm thích hợp cho việc thiết kế các kho dữ liệu hay các cơ sở dữ liệu thuộc dạng chuẩn 6NF. Nhưng trên thực tế, một số cơ sở dữ liệu thời gian lại được thiết kế dựa vào mô hình thực thể - Mối quan hệ có yếu tố thời gian (gọi tắt là mô hình ER thời gian), là mô hình ở mức khái niệm hỗ trợ các yếu tố thời gian. Điều này dẫn đến mô hình quan hệ thu được khi thực hiện việc chuyển đổi từ mô hình ER thời gian là không đạt dạng chuẩn 6NF. Để khắc phục vấn đề này, bài báo đề xuất một phương pháp chuyển đổi mô hình ER thời gian sang mô hình Anchor, bằng cách đề ra các quy tắc chuyển đổi các thành phần trong một mô hình ER thời gian sang mô hình Anchor
7 trang |
Chia sẻ: Thục Anh | Ngày: 11/05/2022 | Lượt xem: 393 | Lượt tải: 0
Nội dung tài liệu Thiết kế mô hình dữ liệu Anchor từ mô hình thực thể - Mối quan hệ có yếu tố thời gian, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Huế, ngày 07-08/6/2019
DOI: 10.15625/vap.2019.00057
THIẾT KẾ MÔ HÌNH DỮ LIỆU ANCHOR TỪ MÔ HÌNH THỰC THỂ -
MỐI QUAN HỆ CÓ YẾU TỐ THỜI GIAN
Nguyễn Thị Lan Anh1, Trần Việt Khoa1, Nguyễn Viết Liên2, Hoàng Quang1
1 Trường Đại học Khoa học, Đại học Huế
2 Trường Cao đẳng Giao thông vận tải Trung ương VI
c3ntlanh.pdl@hue.edu.vn, tvkhoa.husc@gmail.com, nguyenvietliengt3@gmail.com, hquang@hueuni.edu.vn
TÓM TẮT: Duy trì và phát triển kho dữ liệu là một hoạt động phức tạp và hao tốn nhiều thời gian. Nguyên nhân là do môi trường
của kho dữ liệu thay đổi liên tục và các nguồn cung cấp dữ liệu cho kho cũng thay đổi theo thời gian. Theo đó, các mô hình dữ liệu
của kho cần được môđun hóa và linh hoạt để có thể quản lí được sự thay đổi của các thông tin. Mô hình dữ liệu Anchor là mô hình
dữ liệu mức khái niệm thích hợp cho việc thiết kế các kho dữ liệu hay các cơ sở dữ liệu thuộc dạng chuẩn 6NF. Nhưng trên thực tế,
một số cơ sở dữ liệu thời gian lại được thiết kế dựa vào mô hình thực thể - mối quan hệ có yếu tố thời gian (gọi tắt là mô hình ER
thời gian), là mô hình ở mức khái niệm hỗ trợ các yếu tố thời gian. Điều này dẫn đến mô hình quan hệ thu được khi thực hiện việc
chuyển đổi từ mô hình ER thời gian là không đạt dạng chuẩn 6NF. Để khắc phục vấn đề này, bài báo đề xuất một phương pháp
chuyển đổi mô hình ER thời gian sang mô hình Anchor, bằng cách đề ra các quy tắc chuyển đổi các thành phần trong một mô hình
ER thời gian sang mô hình Anchor.
Từ khóa: Mô hình ER, mô hình ER thời gian, mô hình Anchor, mô hình dữ liệu mức khái niệm.
I. GIỚI THIỆU
Các cơ sở dữ liệu truyền thống vẫn tiếp tục tồn tại và phát triển. Tuy nhiên nó không có khả năng thích ứng với
các loại dữ liệu động liên tục thay đổi theo thời gian, vì vậy việc xây dựng các cơ sở dữ liệu theo thời gian thực là hết
sức cần thiết đối với các tổ chức có các yêu cầu nghiệp vụ quản lý thông tin dữ liệu liên tục thay đổi [7]. Các hệ cơ sở
dữ liệu ngày nay xử lý dữ liệu nhanh hơn so với quá khứ, tuy nhiên khả năng xử lý kết quả một cách kịp thời và đưa ra
các dự đoán đúng sẽ luôn luôn quan trọng hơn việc xử lý nhanh. Việc xử lý nhanh mà hỗ trợ ra quyết định không đúng
thì không mang lại nhiều hiệu quả đối với các hệ cơ sở dữ liệu thời gian thực. Các hệ thống ngày càng được mở rộng,
các loại thiết bị thông minh cũng đang ngày càng được phát triển và dữ liệu cho các hệ thống này ngày càng lớn và đa
dạng. Việc ứng dụng cơ sở dữ liệu thời gian thực là một xu hướng có tính tất yếu khi các yêu cầu nghiệp vụ đòi hỏi sự
hỗ trợ tức thì từ việc xử lý thông tin, cũng như hỗ trợ ra quyết định.
Hiện nay các mô hình thực thể - mối quan hệ có yếu tố thời gian (gọi tắt là mô hình ER thời gian) [1] đã trở
thành mô hình phổ biến cho việc thiết kế các hệ cơ sở dữ liệu thời gian thực ở mức khái niệm. Tuy nhiên, mô hình này
tồn tại một nhược điểm đáng kể, đó là sẽ khó lòng xử lý (thậm chí phải hủy bỏ mô hình) khi hệ thống cần có sự thay
đổi về mặt cấu trúc dữ liệu, chẳng hạn như việc bổ sung hoặc loại bỏ một thuộc tính nào đó của một tập thực thể [2]. Vì
vậy, cần phải thay thế một mô hình mới nhằm mục đích để giải quyết bất lợi này của mô hình ER thời gian. Mô hình
Anchor được tạo ra để tránh các nhược điểm đó và đạt được lợi ích từ mức độ chuẩn hóa 6NF [6].
Ngoài ra, việc duy trì và phát triển kho dữ liệu là một hoạt động phức tạp và hao tốn nhiều thời gian. Nguyên
nhân là do môi trường của kho dữ liệu thay đổi liên tục và các nguồn cung cấp dữ liệu cho kho cũng thay đổi theo thời
gian [5]. Theo đó, các mô hình dữ liệu của kho cần được môđun hóa và linh hoạt để có thể quản lí được sự thay đổi của
các thông tin [4]. Mô hình dữ liệu Anchor là mô hình dữ liệu mức khái niệm thích hợp cho việc thiết kế các kho dữ liệu
hay các cơ sở dữ liệu thuộc dạng chuẩn 6NF:
Đảm bảo tính toàn vẹn dữ liệu tại một thời điểm bất kì.
Đơn giản hóa các khái niệm mô hình hóa.
Cho phép phát triển theo mô-đun và tăng trưởng từng bước.
Chuyển đổi sang cơ sở dữ liệu vật lí đơn giản.
Cho phép và hỗ trợ công cụ sinh tự động các kịch bản tạo cơ sở dữ liệu vật lý cũng như các khung nhìn, các
hàm cần thiết.
Chỉ quét những dữ liệu cần thiết trong quá trình xử lí truy vấn nhờ mỗi thuộc tính được lưu trữ riêng lẻ trong
từng bảng.
Không chấp nhận giá trị NULL nên khắc phục được vấn đề dữ liệu trống trong một cơ sở dữ liệu thông
thường.
Từ những lợi ích này, một bài toán đặt ra đó là: Làm thế nào để có thể thiết kế các mô hình Anchor trên cơ sở kế
thừa các mô hình ER thời gian đã được thiết kế từ trước. Ngoài ra, việc giải quyết vấn đề này còn giúp chúng ta có
được sự đối sánh giữa mô hình ER thời gian và mô hình Anchor. Theo đó, bài báo đề xuất một số quy tắc để chuyển
đổi các thành phần của mô hình ER thời gian sang mô hình Anchor, là một vấn đề chưa được nhắc đến trong các
nghiên cứu trước đây. Theo đó, cấu trúc của bài báo ở các phần tiếp theo như sau: Phần II giới thiệu khái quát về mô
444 THIẾT KẾ MÔ HÌNH DỮ LIỆU ANCHOR TỪ MÔ HÌNH THỰC THỂ-MỐI QUAN HỆ CÓ YẾU TỐ THỜI GIAN
hình Anchor. Tiếp theo, Phần III trình bày các quy tắc chuyển đổi từ mô hình ER thời gian sang mô hình Anchor. Phần
IV là một kết quả thực nghiệm của phương pháp chuyển đổi. Cuối cùng, Phần V là phần kết luận kèm hướng nghiên
cứu tiếp theo.
II. GIỚI THIỆU KHÁI QUÁT VỀ MÔ HÌNH ANCHOR
Mô hình Anchor là mô hình cơ sở dữ liệu thời gian mức khái niệm, biểu diễn một lược đồ (sơ đồ) các cấu trúc
dữ liệu nhằm thể hiện các yếu tố có tính thời gian và phi thời gian của các thực thể. Ưu điểm của mô hình Anchor đó là
thể hiện sự linh hoạt khi cần thiết phải thay đổi và mở rộng cấu trúc của mô hình. Đặc biệt, với việc sử dụng lược đồ
hình sao, mô hình Anchor mang lại lợi ích chính yếu trong việc lưu trữ thông tin tại các kho dữ liệu, vì các ứng dụng
vẫn không bị ảnh hưởng bởi sự thay đổi cấu trúc của mô hình dữ liệu [2].
Mô hình Anchor có bốn thành phần cơ bản: neo, thuộc tính, mối quan hệ và nút thắt [3]. Cũng tương tự như mô
hình ER, một neo (anchor) được xem như một tập thực thể nhưng chỉ lưu định danh của các thực thể. Theo đó, mỗi neo
có thể gồm nhiều thuộc tính (attribute). Dữ liệu của một thuộc tính là một bảng gồm hai cột lưu giá trị định danh của
thực thể kèm giá trị của thuộc tính đó. Chính điều này tạo ra sự khác biệt so với mô hình ER, đó là khi ta bổ sung/loại
bỏ một thuộc tính nào đó của một neo thì đồng nghĩa với việc bổ sung/loại bỏ một bảng tương ứng có liên kết đến neo
đó, nhờ vậy mà không ảnh hưởng đến cấu trúc dữ liệu của mô hình vật lý. Trong khi đó, một mối quan hệ (tie-
relationship) giữa các neo chỉ lưu trữ định danh của các neo tương ứng có mối quan hệ với nhau. Ngoài ra, khái niệm
về nút thắt (knot) đóng vai trò như một “từ điển” để giải thích các định danh cho trước.
Một cách hình thức, để làm cơ sở cho việc định nghĩa các thành phần cơ bản này, ta quy ước về một số các kí
hiệu như sau: I là tập hợp các kí hiệu được sử dụng như là những định danh. D là một kiểu dữ liệu, miền giá trị của D
là tập hợp các giá trị dữ liệu. T là một kiểu thời gian, miền của T là tập các giá trị thời gian [3].
Hình 1. Biểu diễn các thành phần của mô hình Anchor trong sơ đồ lớp UML [3]
1. Neo
Một neo đại diện cho một tập thực thể, chẳng hạn như một tác nhân hoặc sự kiện. Hình 2a biểu diễn cho một neo.
Định nghĩa 1 (Neo). Một neo A là một tập hợp con của I.
Một ví dụ về neo là GV_GIAOVIEN gồm có 3 thực thể là: {#111, #123, #132}.
2. Nút thắt
Một nút thắt được sử dụng để thể hiện cho một tập hợp các thực thể cố định và không thay đổi theo thời gian.
Trong khi các neo được sử dụng để thể hiện cho các tập thực thể tùy ý thì các nút thắt được sử dụng để quản lý các
thuộc tính có sự trùng lặp dữ liệu của các thực thể.
Định nghĩa 2 (Nút thắt). Một nút thắt K là một tập con của I D, trong đó dữ liệu trên miền D đã định sẵn.
Một ví dụ về nút thắt là GIO_GIOITINH có ngữ nghĩa là: {(#0, „Nam‟), (#1,„Nữ‟)}.
3. Thuộc tính
Có bốn loại thuộc tính: thuộc tính tĩnh, thuộc tính có yếu tố thời gian, thuộc tính tĩnh có nút thắt và thuộc tính có
yếu tố thời gian có nút thắt.
Định nghĩa 3 (Thuộc tính tĩnh). Một thuộc tính tĩnh là tập con của I D, trong đó dữ liệu trên miền D chưa
được định sẵn.
Nguyễn Thị Lan Anh, Trần Việt Khoa, Nguyễn Viết Liên, Hoàng Quang 445
Một ví dụ về thuộc tính tĩnh là họ tên của giáo viên GV_HTE_GIAOVIEN_HOTEN như ở Hình 2b.
Định nghĩa 4 (Thuộc tính có yếu tố thời gian). Một thuộc tính có yếu tố thời gian là tập con của I D T.
Một ví dụ về thuộc tính có yếu tố thời gian là hệ số lương của giáo viên GV_LUO_GIAOVIEN_LUONG (rd)
như hình 2c.
(a) (b)
(c) (d)
Hình 2. Các ví dụ về thành phần trong mô hình Anchor
(a) neo GV_GIAOVIEN, (b) thuộc tính GV_HTE_GIAOVIEN_HOTEN, (c) thuộc tính có yếu tố thời gian
GV_LUO_GIAOVIEN_LUONG (rd), (d) nút thắt GIO_GIOITINH.
Định nghĩa 5 (Thuộc tính tĩnh có nút thắt). Một thuộc tính tĩnh có nút thắt là tập con của I × I.
Một ví dụ về thuộc tính nút thắt tĩnh là thuộc tính GV_GIO_GIAOVIEN_GIOITINH có nút thắt
GIO_GIOITINH.
Định nghĩa 6 (Thuộc tính có yếu tố thời gian có nút thắt). Một thuộc tính có yếu tố thời gian có nút thắt là tập
con của I × I × T.
4. Mối quan hệ
Một mối quan hệ đại diện cho một liên kết giữa hai hoặc nhiều tập thực thể. Tương tự như các thuộc tính, các
mối quan hệ cũng được chia làm 4 loại: mối quan hệ tĩnh, mối quan hệ có yếu tố thời gian, mối quan hệ tĩnh có nút thắt
và mối quan hệ có yếu tố thời gian có nút thắt. Một thực thể có thể xuất hiện nhiều lần trong một mối quan hệ thì các
lần xuất hiện đó phải có đủ điều kiện bằng cách sử dụng khái niệm về vai trò.
Định nghĩa 7 (Vai trò neo). Một vai trò neo có kiểu dữ liệu là kiểu của neo tương ứng.
Định nghĩa 8 (Vai trò nút thắt). Một vai trò nút thắt có kiểu dữ liệu là kiểu của nút thắt tương ứng.
Định nghĩa 9 (Mối quan hệ tĩnh). Mối quan hệ tĩnh R là một tập hợp gồm ít nhất hai tập thực thể. Trong đó R =
{ ,. . . , } là một tập hợp các cặp ( , ), i = 1,. . . , n, với là tập thực thể, I và n ≥ 2.
Định nghĩa 10 (Mối quan hệ có yếu tố thời gian). Mối quan hệ R có yếu tố thời gian T là một tập hợp gồm có ít
nhất hai tập thực thể và loại thời gian T. Trong đó R(T) = { ,. . . , , T}là một tập hợp các cặp ( , ), i = 1,. . . , n
và một điểm thời gian p, với là tập thực thể, I, p T và n ≥ 2.
Định nghĩa 11 (Mối quan hệ tĩnh có nút thắt). Mối quan hệ tĩnh có nút thắt R(K) là một tập hợp gồm ít nhất hai
tập thực thể, một hoặc nhiều vai trò nút thắt. Một R(K) = { ,. . . , , ,. . . , } là một tập hợp các cặp ( , ), i =
1,. . . , n và ( , ), j = 1,. . . , m, trong đó là vai trò neo, là vai trò nút thắt, I, I, n ≥ 2 và m ≥ 1.
Định nghĩa 12 (Mối quan hệ có yếu tố thời gian có nút thắt). Mối quan hệ có yếu tố thời gian có nút thắt R(TK)
là một tập hợp gồm có ít nhất hai tập thực thể, một hoặc nhiều vai trò nút thắt và loại thời gian T. Một R(TK) = { ,. . .,
, ,. . . , , T} là một tập hợp các cặp ( , ), i = 1,. . . , n, ( , ), j = 1,. . . , m và điểm thời gian p, trong đó
là vai trò neo, là vai trò nút thắt, I, I, p T, n ≥ 2 và m ≥ 1.
Hình 3. Ví dụ về mô hình Anchor
446 THIẾT KẾ MÔ HÌNH DỮ LIỆU ANCHOR TỪ MÔ HÌNH THỰC THỂ-MỐI QUAN HỆ CÓ YẾU TỐ THỜI GIAN
Hình 3 là một ví dụ về mô hình Anchor gồm hai neo GV_GIAOVIEN và MH_MONHOC, trong đó neo
GV_GIAOVIEN gồm các thuộc tính tĩnh là GV_HTE_GIAOVIEN_HOTEN và GV_GIO_GIAOVIEN_GIOITINH,
thuộc tính có yếu tố thời gian là thuộc tính GV_LUO_GIAOVIEN_LUONG và
GV_HGV_GIAOVIEN_HISTORIZEDGV ngoài ra còn có nút thắt đó là GIO_GIOITINH, neo MH_MONHOC có
thuộc tính MH_TMH_MONHOC_TENMONHOC, hai neo này liên kết với nhau bởi mối quan hệ GV_DAY_MH_LA.
III. CHUYỂN ĐỔI MÔ HÌNH ER THỜI GIAN SANG MÔ HÌNH ANCHOR
Trong bài báo này chúng tôi đề xuất một phương pháp chuyển đổi mô hình ER thời gian thành mô hình Anchor
gồm 2 giai đoạn, giai đoạn 1 nhằm chuyển đổi các thành phần không có yếu tố thời gian của mô hình ER thời gian sang
mô hình Anchor, giai đoạn 2 là để chuyển đổi các thành phần có yếu tố thời gian của mô hình ER thời gian sang mô
hình Anchor.
A. Chuyển đổi các thành phần không có yếu tố thời gian của mô hình ER thời gian sang mô hình Anchor:
Quy tắc 1: Chuyển đổi mỗi tập thực thể E không có yếu tố thời gian của mô hình ER thời gian thành neo A(E)
của mô hình Anchor.
Như vậy hai tập thực thể GIAOVIEN và MONHOC trong Hình 4 sẽ được chuyển thành hai neo
GV_GIAOVIEN và MH_MONHOC trong Hình 3. Lưu ý rằng neo A(E) chỉ bao gồm một trường khóa ID(A(E)) theo
qui định của mô hình Anchor, còn việc chuyển đổi các thuộc tính của tập thực thể E là liên quan đến Qui tắc 2.
Quy tắc 2: Chuyển đổi mỗi thuộc tính không có yếu tố thời gian và không phải là khóa của tập thực thể E trong
mô hình ER thời gian thành một thuộc tính tương ứng của neo A(E) trong mô hình Anchor.
Trong mô hình Anchor thì một thuộc tính sẽ tạo thành một bảng riêng lẻ, điều này sẽ giúp cho dữ liệu trong
bảng tránh được giá trị null nhằm khắc phục được vấn đề dữ liệu trống. Ngoài ra, ta không xét thuộc tính khóa, bởi vì
trường khóa đã được lưu trong mỗi thực thể của neo A(E).
Hình 4. Dữ liệu minh họa cho thuộc tính GV_HTE_GIAOVIEN_HOTEN
Ngoài ra với các thuộc tính có sự trùng lặp về dữ liệu, ví dụ như thuộc tính GIOITINH thì khi chuyển đổi sang
mô hình Anchor sẽ có thêm các nút thắt. Trong đó mỗi nút thắt sẽ tạo thành một bảng.
Hình 5. Dữ liệu minh họa cho thuộc tính GV_GIO_GIAOVIEN_GIOITINH và nút thắt GIO_GIOITINH
Quy tắc 3: Chuyển đổi mỗi mối quan hệ R không có thuộc tính và không có yếu tố thời gian trong mô hình ER
thời gian thành một mối quan hệ tương ứng của mô hình Anchor.
Chẳng hạn, một mối quan hệ nhị nguyên R giữa hai tập thực thể E1 và E2 trong mô hình ER khi chuyển thành
mối quan hệ T(R) trong mô hình Anchor là một bảng dữ liệu gồm hai cột ID(A(E1)) và ID(A(E2)).
Các mối quan hệ đa nguyên/phản xạ không có thuộc tính và không có yếu tố thời gian cũng được thực hiện
tương tự.
Quy tắc 4: Việc chuyển đổi mối quan hệ R không có yếu tố thời gian và có tập thuộc tính X giữa các tập thực
thể E1, E2, ...., En trên mô hình ER thời gian sang mô hình Anchor được thực hiện như sau:
+ Tạo neo A(R) để biểu diễn mối quan hệ R (do mối quan hệ R được xem như là một tập thực thể).
Nguyễn Thị Lan Anh, Trần Việt Khoa, Nguyễn Viết Liên, Hoàng Quang 447
+ Mỗi thuộc tính của X được ánh xạ thành một thuộc tính của neo A(R) (tức là đã sử dụng Quy tắc 2).
+ Tạo n mối quan hệ A(Ri) giữa A(R) với các A(Ei), i=1, ...., n.
B. Chuyển đổi các thành phần có yếu tố thời gian của mô hình ER thời gian sang mô hình Anchor:
Quy tắc 5: Chuyển mỗi tập thực thể E có yếu tố thời gian T của mô hình ER thời gian thành neo A(E) kèm
thuộc tính thời gian HA(ET) của neo A(E) có kiểu BIT để xác thực thời gian mà thực thể tồn tại hay không.
Chẳng hạn, với tập thực thể GIAOVIEN có trong Hình 4 yêu cầu có hỗ trợ yếu tố thời gian sống LS (Life
Span), khi chuyển sang mô hình Anchor cần tạo thêm thuộc tính thời gian GV_HGV_GIAOVIEN_HISTORIZEDGV
của neo GV_GIAOVIEN như trong Hình 3.
Quy tắc 6: Chuyển đổi mỗi thuộc tính có yếu tố thời gian của tập thực thể E trong mô hình ER thời gian thành
thuộc tính thời gian tương ứng của neo A(E) trong mô hình Anchor.
Quy định của mô hình Anchor thì dữ liệu của các thuộc tính có yếu tố thời gian sẽ có thêm cột thời gian để lưu
trữ thời gian thay đổi của thuộc tính.
Hình 6. Dữ liệu minh họa cho thuộc tính có yếu tố thời gian GV_LUO_GIAOVIEN_LUONG
Qui tắc 7: Chuyển đổi mỗi mối quan hệ không có thuộc tính và có yếu tố thời gian trong mô hình ER thời gian
thành mối quan hệ thời gian tương ứng của mô hình Anchor.
Ví dụ, mối quan hệ nhị nguyên DAY có yếu tố thời gian trong Hình 4 được chuyển thành mối quan hệ
GV_DAY_MH_LA trong mô hình Anchor. Khi đó trên mô hình Anchor, dữ liệu của mối quan hệ GV_DAY_MH_LA
sẽ bao gồm các cột là khóa của các neo GV_GIAOVIEN và MH_MONHOC, kèm cột thời gian để lưu trữ thời gian
thay đổi của mối quan hệ.
Hình 7. Dữ liệu minh họa cho mối quan hệ có yếu tố thời gian GV_DAY_MH_LA
Điều này cũng được thực hiện tương tự đối với các mối quan hệ đa nguyên/phản xạ không có thuộc tính và có
yếu tố thời gian.
Quy tắc 8: Chuyển đổi mối quan hệ R có yếu tố thời gian T và có tập thuộc tính X giữa các tập thực thể E1,
E2, ...., En từ mô hình ER thời gian sang mô hình Anchor sẽ được thực hiện như sau:
+ Tạo neo A(R) để biểu diễn mối quan hệ R kèm thuộc tính thời gian HA(RT) của neo A(R) có kiểu BIT để xác
thực thời gian mà thực thể tồn tại hay không.
+ Mỗi thuộc tính của X được ánh xạ thành một thuộc tính của neo A(R) (sử dụng Quy tắc 2 hoặc Quy tắc 6).
+ Tạo n mối quan hệ A(Ri) giữa A(R) với các A(Ei), i=1, ...., n.
IV. THỰC NGHIỆM
Xét một ví dụ nhằm minh họa cho những quy tắc đã nêu ở phần trên. Cụ thể, mô hình ER thời gian đầu vào
được cho như trong Hình 8. Trong ví dụ này tập thực thể GIAOVIEN, thuộc tính LUONG và mối quan hệ DAY là có
yếu tố thời gian.
Sau khi lần lượt áp dụng các quy tắc có trong Phần III, ta thu được mô hình Anchor kết quả chính là mô hình có
trong ví dụ của Hình 3. Đồng thời xuất code trên SQL server chúng ta thu được mô hình cơ sở dữ liệu quan hệ như
Hình 9.
448 THIẾT KẾ MÔ HÌNH DỮ LIỆU ANCHOR TỪ MÔ HÌNH THỰC THỂ-MỐI QUAN HỆ CÓ YẾU TỐ THỜI GIAN
Trong Hình 9, chúng ta lưu ý rằng, nếu theo yêu cầu của thế giới thực, giả sử ta cần bổ sung một thuộc tính của
neo MONHOC thì cũng có nghĩa là ta sẽ bổ sung thêm một bảng dữ liệu kết nối với bảng MONHOC. Tương tự, nếu ta
cần xóa bớt một thuộc tính của neo GIAOVIEN thì đồng nghĩa với việc xóa bảng dữ liệu tương ứng kết nối với bảng
GIAOVIEN.
Hình 8. Một ví dụ về mô hình ER thời gian đầu vào của phương pháp chuyển đổi
Hình 9. Mô hình cơ sở dữ liệu quan hệ kết quả
V. KẾT LUẬN
Trong bài báo này chúng tôi đã giới thiệu sơ lược về mô hình Anchor và lợi ích của việc sử dụng mô hình
Anchor trong giai đoạn thiết kế cơ sở dữ liệu mức khái niệm. Đối với mô hình Anchor việc xóa hay bổ sung, sửa đổi
các tập thực thể/thuộc tính/mối quan hệ trở nên đơn giản bởi vì chúng hoàn toàn độc lập với nhau. Hơn thế nữa các yếu
tố thời gian trong mô hình cũng được quản lí rất dễ dàng. Từ đó chúng tôi xây dựng nên các quy tắc chuyển đổi để
chuyển đổi các thành phần của mô hình ER thời gian sang mô hình Anchor.
Từ hướng nghiên cứu này, chúng tôi xác định hướng nghiên cứu tiếp theo là xây dựng một phương pháp chuyển
đổi mô hình Anchor sang OWL ontology nhằm kế thừa các hệ thống cũ thay vì phải thiết kế các ontology từ đầu.
TÀI LIỆU THAM KHẢO
[1]. Hoàng Quang, Giáo trình Cơ sở dữ liệu thời gian, Nhà xuất bản Đại học Huế, 2016.
[2]. Nguyễn Thị Thùy Trang, “Differences from the anchor modeling and an entity relationship database”, International
Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 7, Issue 8,
ISSN:2278-1323, pp. 666-669, 2018.
Nguyễn Thị Lan Anh, Trần Việt Khoa, Nguyễn Viết Liên, Hoàng Quang 449
[3]. Rönnbäcka L, Regardtb O, Bergholtzc M, Johannessonc P, Wohedc P, “Anchor modeling - Agile information
modeling in evolving data environments”, Data & Knowledge Engineering, 69(12), pp. 1229, 2010.
[4]. Humasak Simanjuntak, Marcella Tambunan, Kamaruddin Manullang, Hanna Panjaitan, “An Automatic Tool for
Anchor Model Data Warehouse Development”, Internetworking Indonesia Journal, Vol.8/No.2, pp.33-38, 2016.
[5]. Ahmed, Waqas, Esteban im anyi, and RobertWrembel, “Temporal DataWare-houses: Logical Models and
Querying.”, In:EDA, pp. 33-48, 2015.
[6]. Golec, Darko, Viljan Mahniˇc, and TatjanaKovaˇc, “Relational model of temporal data based on 6th normal form”,
In:Tehniˇcki vjesnik24.5, pp. 1479-1489, 2017.
[7]. Golfarelli, Matteo and Stefano Rizzi, “A survey on temporal data warehousing”, In:International Journal of Data
Warehousingand Mining (IJDWM)5.1, pp. 1-17, 2009.
DESIGNING ANCHOR MODELING FROM TIME ENTITY-RELATIONSHIP MODEL
Nguyen Thi Lan Anh, Tran Viet Khoa, Nguyen Viet Lien, Hoang Quang
ABSTRACT: Maintaining and developing a data warehouse is a complicated and time-consuming operation. The reason is that the
data warehouse environment changes constantly and the data sources for warehouses also change over time. Accordingly, the
warehouse data models need to be modularized flexibly to manage the change of information. The Anchor modeling is a conceptual
level data model suitable for the design of data warehouses or databases of the standard 6NF format. However, some time
databases are designed based on the temporal entity, a TimeER relationship model which supports time elements. This leads to the
relational model obtained when executing the transition from the ER model to a non-standard 6NF. To overcome this problem, this
paper proposes a method to convert a time ER model into an Anchor modeling, an issue which has not been mentioned in previous
studies.
Keywords: ER model, TimeER model, Anchor modeling, Conceptual data model.
Các file đính kèm theo tài liệu này:
- thiet_ke_mo_hinh_du_lieu_anchor_tu_mo_hinh_thuc_the_moi_quan.pdf