Luận Văn Thạc Sĩ: Nghiên Cứu & Thiết Kế Cơ Sở Dữ Liệu Thời Gian

Luận văn thạc sĩ về cơ sở dữ liệu thời gian tối ưu. Nghiên cứu chuyên sâu các phương pháp, kỹ thuật và ứng dụng hiệu quả trong quản lý dữ liệu theo thời gian.

Trường đại học

Không có thông tin

Chuyên ngành

Cơ sở dữ liệu

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

Không có thông tin

120
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

MỤC LỤC HT DANH MỤC CÁC BẢNG VÀ HÌNH VẼ

MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ CSDL VÀ CSDL THỜI GIAN

1.1. NHẮC LẠI MỘT SỐ KHÁI NIỆM TRONG CSDL QUAN HỆ:

1.2. CƠ SỞ DỮ LIỆU CÓ YẾU TỐ THỜI GIAN

1.2.1. Dữ liệu thời gian và một số khái niệm cơ bản:

1.2.2. Khái niệm về Thời gian hợp thức và Thời gian giao dịch:

1.2.3. Các vấn đề về thời gian hoá:

1.2.3.1. Bán thời gian hoá:
1.2.3.2. Thời gian hóa toàn phần:

1.2.4. BIỂU DIỄN YẾU TỐ THỜI GIAN TRONG CSDL THỜI GIAN

1.2.4.1. Khoảng thời gian
1.2.4.2. Toán tử vô hƣớng trên khoảng:
1.2.4.3. Các toán tử gộp nhập trên khoảng
1.2.4.4. Ràng buộc trên các khoảng
1.2.4.5. Toán tử Update trên khoảng:

2. CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU THỜI GIAN

2.1. QUÁ TRÌNH THIẾT KẾ

2.1.1. Dƣ thừa dữ liệu và các dị thƣờng cập nhật

2.1.2. Chiều thời gian của thiết kế logic

2.2. KIỂU VÀ MODUL THỜI GIAN:

2.2.1. Kiểu thời gian:

2.2.2. Module thời gian:

2.3. PHỤ THUỘC HÀM THỜI GIAN:

2.3.1. Các tiên đề suy diễn cho TFDs:

2.3.2. Bao đóng của một tập các thuộc tính:

2.4. CHUẨN HOÁ THỜI GIAN:

2.4.1. DẠNG CHUẨN BOYCE-CODD CÓ YẾU TỐ THỜI GIAN

2.4.1.1. Tách các lƣợc đồ module thời gian về dạng TBCNF:

2.4.2. BẢO TOÀN PHỤ THUỘC:

2.4.3. DẠNG CHUẨN BA CÓ YẾU TỐ THỜI GIAN

2.4.3.1. Tách lƣợc đồ module thời gian về dạng T3NF:

3. CHƯƠNG 3: NGÔN NGỮ TRUY VẤN TSQL2

3.1. MỘT SỐ TÍNH NĂNG CẦN THIẾT CỦA NGÔN NGỮ TSQL2:

3.2. MỘT SỐ ĐẶC TẢ VỀ SỰ MỞ RỘNG CỦA TSQL2:

3.3. VÍ DỤ MINH HOẠ

3.3.1. Lƣợc đồ cho CSDL thử nghiệm

3.3.2. Lƣợc đồ trong TSQL2

3.3.3. Cập nhật dữ liệu thử nghiệm

3.3.4. Một số truy vấn:

MỘT SỐ HƯỚNG NGHIÊN CỨU TIẾP THEO

KẾT LUẬN

TÀI LIỆU THAM KHẢO

DANH MỤC CÁC BẢNG VÀ HÌNH VẼ

1. CHƢƠNG 1: TỔNG QUAN VỀ CSDL VÀ CSDL THỜI GIAN

Tóm tắt

I. Tổng Quan Luận Văn Cơ Sở Dữ Liệu Thời Gian Là Gì

Hầu hết các ứng dụng kỹ thuật về cơ sở dữ liệu (CSDL) trong tự nhiên đều mang yếu tố thời gian. Ví dụ: các ứng dụng về tài chính, quản lý nhân sự, quản lý kiểm kê, dự báo thời tiết, thảm họa tự nhiên…v. Tất cả những ứng dụng đó đều dựa trên những CSDL ghi lại dữ liệu tham chiếu tới thời gian và được gọi là “CSDL có yếu tố thời gian” hay “CSDL thời gian”. Với những ứng dụng rộng rãi trong mọi lĩnh vực đời sống, quản trị CSDL thời gian được xem là một lĩnh vực nghiên cứu đầy sức lôi cuốn. Việc xây dựng và ứng dụng một CSDL có yếu tố thời gian thành công mang một ý nghĩa rất quan trọng trong thực tiễn. Một CSDL thời gian phải phản ánh hay biểu diễn được một cách chân thực nhất, chính xác nhất về dữ liệu tại mọi thời điểm. Một hệ quản trị CSDL có yếu tố thời gian sẽ quản lý những dữ liệu tham chiếu tới thời gian (Time-referenced data), do đó các yếu tố thời gian gắn liền với các thực thể trong CSDL. Nói một cách không chặt chẽ, cơ sở dữ liệu (CSDL) thời gian là một CSDL bao gồm dữ liệu mang tính lịch sử thay vì dữ liệu hiện tại. Trong quá trình lưu trữ và thao tác trên CSDL thì giá trị của một số thuộc tính ổn định theo thời gian, nhưng với một số thuộc tính khác thì giá trị của chúng lại thay đổi theo thời gian. Luận văn này nghiên cứu, hệ thống lại khái niệm về mô hình dữ liệu quan hệ có yếu tố thời gian kéo theo các phép toán đại số, mở rộng các phụ thuộc hàm và các dạng chuẩn có yếu tố thời gian.

1.1. Giới thiệu Khái Niệm CSDL Quan Hệ Cơ Bản

Mô hình quan hệ biểu thị dữ liệu trong một CSDL như là một bảng giá trị gồm các hàng và các cột. Mỗi hàng trong bảng là một tập các giá trị có liên quan đến nhau, các giá trị này biểu thị một sự kiện tương ứng với một thực thể hay một mối quan hệ trong thế giới thực. Một miền D là một tập hợp các giá trị nguyên tố, hiểu theo nghĩa mỗi giá trị trong miền không thể phân chia trong phạm vi mô hình quan hệ. Một quan hệ trên một tập các thuộc tính là một tập con của tích Đềcác của một hay nhiều miền. Lược đồ quan hệ R là một cặp có thứ tự R = <Ω, F>, trong đó Ω là tập hữu hạn các thuộc tính của quan hệ, F là tập các điều kiện giữa các thuộc tính (F còn gọi là tập các ràng buộc toàn vẹn). Siêu khóa của một lược đồ quan hệ R là một tập hợp gồm một hay nhiều thuộc tính của lược đồ R có tính chất xác định duy nhất một bộ trong mỗi thể hiện của R. Khóa của một lược đồ quan hệ là một siêu khóa của lược đồ này sao cho mọi tập con thực sự của nó không là một siêu khóa.

1.2. Tổng Quan Về Khái Niệm CSDL Thời Gian Temporal Database

Không giống như các hệ CSDL thông thường, CSDL quan hệ chỉ biểu thị được những dữ liệu ở dạng tĩnh (dạng ảnh) với mỗi sự kiện của thực thể tương ứng. Trong một CSDL dạng ảnh, yếu tố thời gian của bức ảnh thông thường được xem là thời điểm hiện tại (nghĩa là thời gian khi mà CSDL thực sự được xem xét). Ngay cả khi yếu tố thời gian của CSDL dạng ảnh đôi khi diễn ra khác với “hiện tại”, điều đó không tạo ra sự khác biệt nào đáng kể đến cách quản lý và sử dụng dữ liệu. Tuy nhiên, như chúng ta sẽ thấy dữ liệu trong một CSDL thời gian được quản lý và sử dụng rất khác trong hàng loạt phương diện quan trọng so với cách nó được quản lý và sử dụng trong một CSDL dạng ảnh; điều này được xem là phần quan trọng nhất và sẽ được trình bày cụ thể sau phần nhắc lại một số những khái niệm cơ bản về CSDL quan hệ.

II. Phân Tích Sự Khác Biệt Giữa Thời Gian Hợp Lệ Giao Dịch

Những nghiên cứu trong thập kỷ trước về CSDL thời gian chỉ ra một vấn đề hóc búa. Dữ liệu thay đổi theo thời gian (Time-varying data) được xem là rất đơn giản: nó có thể có nhiều hơn một giá trị, mỗi giá trị ứng với mỗi khoảng thời gian, nhưng việc thiết kế một mô hình dữ liệu thời gian đúng là vô cùng phức tạp. Đã có rất nhiều mô hình dữ liệu thời gian, tính tới nay đã có khoảng trên 40 mô hình được trình bày trong những tài liệu, và chắc chắn sẽ còn nhiều hơn thế. Các học giả đã từ lâu công nhận sự lưỡng phân (dichotomy) và tính đối ngẫu (duality) giữa những sự kiện (events) và trạng thái (states). Một trạng thái là cái gì đó mà nó đúng (true) về một đối tượng trong một khoảng thời gian, nhưng không đúng trong các khoảng thời gian trước đó và sau đó. Một sự kiện được xem là một điều gì đó “xảy ra” (happen).

2.1. Định Nghĩa Thời Gian Hợp Lệ Valid Time Trong CSDL

Những thời điểm mà tại đó một sự kiện nào đó xảy ra hoặc các khoảng thời gian trong đó tồn tại một trạng thái xác định được gọi là thời gian hợp thức. Chính xác hơn là thời gian hợp thức của một mệnh đề p là tập các thời điểm tại đó p được tin là true.

2.2. Định Nghĩa Thời Gian Giao Dịch Transaction Time Trong CSDL

Thời gian giao dịch là một tập các thời điểm mà tại đó p đã được thực sự biểu diễn là true trong CSDL. Thời gian hợp thức có thể được cập nhật để phản ánh những niềm tin thay đổi, nhưng thời gian giao dịch thì không thể; đó là do thời gian giao dịch được quản lý hoàn toàn bởi hệ thống, và không có người dùng nào được phép thay đổi chúng bằng bất kỳ cách nào (điển hình là đương nhiên chúng được ghi lại, ẩn hoặc tường minh, trong nhật ký giao dịch (transaction log)).

2.3. Mối Quan Hệ Giữa Thời Gian Hợp Lệ Và Thời Gian Giao Dịch

Mặc dù mọi sự kiện đều có một thời gian hợp thức nhưng thời gian hợp thức của một sự kiện có thể không nhất thiết được ghi lại trong CSDL (có thể do không nhận ra hoặc không liên quan đến ứng dụng). Thời gian giao dịch có thể được gắn với bất kỳ thực thể nào trong CSDL chứ không phải chỉ gắn với các sự kiện. Cho dù mọi thực thể đều có thể được gán cho một thời gian giao dịch nhưng người thiết kế CSDL có thể thiết kế chỉ cho một số các thực thể cần thiết. Khía cạnh thời gian giao dịch của một thực thể CSDL có khoảng thời gian tồn tại từ phép chèn (insertion) cho đến phép xóa (detetion), và do ngữ nghĩa của thời gian giao dịch phép xóa là xóa về lôgic chứ không phải là xóa vật lý, mà chỉ thôi không còn là một phần trạng thái hiện tại của CSDL.

III. Hướng Dẫn Cách Biểu Diễn Yếu Tố Thời Gian Trong CSDL

Bước đầu tiên và cơ bản nhất là thừa nhận sự cần thiết phải đề cập tới các khoảng (Intervals) một cách đúng đắn, thay vì chỉ xem chúng như là những cặp giá trị độc lập như chúng ta đã thực hiện ở các phần trước. Vậy chính xác một khoảng là gì? Căn cứ vào ví dụ CSDL, nhà cung cấp S1 đã có thể cung cấp mặt hàng P1 trong suốt khoảng từ ngày 04 đến ngày 10. Nhưng “từ ngày 04 đến ngày 10” có nghĩa là gì? Chắc chắn là nó bao gồm ngày 5,6,7,8 và 9, vậy còn điểm đầu và điểm cuối, ngày 4 và 10 thì sao? Điều đó chỉ ra rằng: cho trước một khoảng xác định, đôi khi ta thấy điểm đầu và điểm cuối là bao gồm trong khoảng nhưng đôi khi thì không phải vậy.

3.1. Tìm Hiểu Về Các Kiểu Khoảng Thời Gian Trong CSDL

Độ hạt của khoảng [d04, d10] là các ngày. Chính xác hơn ta có thể nói nó là kiểu DATE, với thuật ngữ đó ta muốn nói rằng thành viên của họ thông thường những kiểu dữ liệu “DATETIME” trong đó độ chính xác là “ngày” (trái với, “giờ” hoặc “mini giây” hoặc “tháng”). Điều này cho phép chúng ta bắt buộc kiểu chính xác của khoảng trong những vấn đề như sau: Điều đầu tiên và trên hết tất nhiên là một kiểu khoảng; điều này bản thân nó là đủ để xác định những toán tử trên giá trị khoảng trong vấn đề bàn đến.

3.2. Các Toán Tử So Sánh Khoảng Thời Gian Quan Trọng

Các toán tử này thường được gọi là toán tử Allens, do Allens là người đầu tiên giới thiệu: * i1 = i2 khi và chỉ khi cả s1 =s2 và e1 =e2 là đúng * i1 là BEFORE i2 khi và chỉ khi e1 Nhận thấy rằng truy vấn 1.1 gồm một phép chiếu đơn giản và truy vấn 1.2 là hiệu của hai phép chiếu đơn giản đó.

3.3. Thao Tác Gộp Nhập Trên Khoảng UNFOLD và COALESCE

Trong phần này sẽ giới thiệu về hai toán tử đặc biệt quan trọng là UNFOLD và COALESCE. Mỗi toán tử này lấy một tập của các khoảng thuộc cùng một kiểu như một toán hạng đơn của nó và trả lại kết quả cũng là một tập khác như vậy. Có thể coi kết quả của cả hai trường hợp như là một dạng chính tắc đối với tập gốc. UNFOLD(X) sẽ trả về giá trị dạng trải mở của X, và COALESCE(X) sẽ trả về dạng hợp kết của X.

IV. Phương Pháp Thiết Kế CSDL Thời Gian Ở Mức Khái Niệm

Trong lĩnh vực CSDL, nhiều nghiên cứu đã được triển khai để giải quyết vấn đề về thiết kế logic: cho trước một khối lượng lớn dữ liệu và các ràng buộc trên dữ liệu được biểu diễn trong CSDL, ta quyết định một lựa chọn cấu trúc logic phù hợp cho những dữ liệu đó như thế nào? Trong ngữ cảnh quan hệ, vấn đề thiết kế logic có thể được phát biểu như sau: Cần phải xây dựng một lược đồ cơ sơ dữ liệu (một tập hợp các lược đồ quan hệ) với một số tính chất mong muốn như thế nào? Trung tâm của thiết kế những lược đồ CSDL là ý tưởng của một phụ thuộc dữ liệu (data dependency), là một ràng buộc trên các quan hệ được phép tương ứng với một lược đồ quan hệ.

4.1. Các Bước Cơ Bản Trong Thiết Kế CSDL

Quá trình thiết kế CDSL thường bao gồm các bước sau: Tập hợp các yêu cầu và phân tích, Thiết kế khái niệm, Thiết kế logic (hay còn gọi là ánh xạ mô hình dữ liệu), Thiết kế vật lý

4.2. Thiết Kế Logic Và Các Phụ Thuộc Dữ Liệu

Thiết kế logic (hay còn gọi là ánh xạ mô hình dữ liệu): Cài đặt CSDL bằng một hệ quản trị CSDL. Kết quả bước này là một lược đồ CSDL dưới dạng một mô hình dữ liệu thể hiện của hệ quản trị CSDL. Trung tâm của thiết kế những lược đồ CSDL là ý tưởng của một phụ thuộc dữ liệu (data dependency), là một ràng buộc trên các quan hệ được phép tương ứng với một lược đồ quan hệ.

24/09/2025

Trích đoạn nội dung tài liệu

đặt vấn đề này sang một bên và sẽ quay trở lại trong các phần sau.3 CSDL Nhà cung cấp & Mặt hàng (Phiên bản thời gian hoá toàn phần thứ nhất, Sử dụng các nhãn thời gian) S_FROM_TO: U S# TENCONGTY TRANGTHAI DIACHI FROM TO U U U S1 VinhTrinh 20 HaNoi d04 d10 S2 CMC 10 SaiGon d07 d10 S2 CMC 10 SaiGon d02 d04 S3 HaiAn 30 SaiGon d03 d10 S4 VinaComm 20 HaNoi d04 d10 S5 Hanel 30 DaNang d02 d10 Cơ sở dữ liệu thời gian TIEU LUAN MOI download : skknchat@gmail.com - 20 - SP_FROM_TO: U S# U U P# U U FROM TO U S1 P1 d04 d10 S1 P2 d05 d10 S1 P3 d09 d10 S1 P4 d05 d10 S1 P5 d04 d10 S1 P6 d06 d10 S2 P1 d02 d04 S2 P2 d03 d03 S2 P1 d08 d10 S2 P2 d09 d10 S3 P2 d08 d10 S4 P2 d06 d09 S4 P4 d04 d08 S4 P5 d05 d10 CSDL thời gian của Bảng 1.3 bao gồm toàn bộ mọi thông tin từ CSDL bán thời gian trong Bảng 1.2, cùng với những thông tin mang tính lịch sử liên quan đến thời kỳ trƣớc (từ ngày d02 đến d04) trong khoảng đó nhà cung cấp S2 đƣợc ký kết chính thức. Tân từ đối với S_FROM_TO là “Nhà cung cấp S# đƣợc đặt tên là TENCONGTY, có trạng thái là TRANGTHAI, đóng tại thành phố DIACHI,đã ký hợp đồng chính thức, từ ngày FROM (không phải ngay ngày trƣớc ngày FROM) tới ngày TO (không phải ngày ngay sau TO)”. Tân từ đối với SP_FROM_TO là tƣơng tự. Cơ sở dữ liệu thời gian TIEU LUAN MOI download : skknchat@gmail.1 – Ràng buộc Trƣớc hết chúng ta tránh trƣờng hợp ngớ ngẩn là thời điểm TO đứng trƣớc thời điểm FROM trong cặp FROM_TO: CONSTRAINT S_FROM_TO_OK IS_EMPTY (S_FROM_TO WHERE TO < FROM); CONSTRAINT SP_FROM_TO_OK IS_EMPTY (SP_FROM_TO WHERE TO < FROM); Tiếp theo ta nhận thấy trong Bảng 1.3 có thêm thuộc tính FROM đƣợc gạch chân mà chúng ta thêm vào trong khoá chính của cả S_FROM_TO và SP_FROM_TO; ví dụ khoá chính của S_FROM_TO hiển nhiên không chỉ là {S#}, bởi vậy chúng ta không thể có cùng một nhà cung cấp đƣợc ký kết lại có nhiều hơn một giai đoạn liên tục.

Áp dụng tƣơng tự cho SP_FROM_TO. Chú ý: Ta có thể sử dụng các thuộc tính TO thay cho thuộc tính FROM; thực tế cả hai bảng S_FROM_TO và SP_FROM_TO đều có hai khoá dự tuyển là các ví dụ tốt về biến quan hệ mà với chúng hiển nhiên là không có lý do gì để chọn một trong những khóa đó làm khoá chính. Chúng ta thực hiện việc chọn lựa chỉ thuần tuý để đƣợc sự xác định rõ. Tuy nhiên những khoá chính đó không tự nó nắm bắt đƣợc mọi ràng buộc nhƣ ta mong muốn.

Ví dụ khi xem xet biến quan hệ S_FROM_TO. Rõ ràng là nếu có một bộ cho nhà cung cấp Sx trong đó biến quan hệ với giá trị FROM là f và TO có giá trị là t, khi đó ta muốn không có một bộ cho nhà cung cấp Sx nào trong biến quan hệ đó chỉ ra rằng Sx đã đƣợc ký chính thức vào ngày ngay trƣớc ngày f hoặc ngay sau ngày t. Ví dụ giả sử nhà cung cấp S1, với nhà cung cấp đó ta chỉ có một bộ S_FROM_TO, với FROM = d04 và TO = d10. Thực tế chỉ {S#, FROM} là khoá chính cho biến quan hệ đó thì hiển nhiên không đủ để ngăn chặn sự xuất hiện của một bộ giá trị S1 “trùng lặp thêm” (“additional -overlaping”) với FROM = d02 và TO = d06 chỉ ra trong số những điều khác rằng S1 đƣợc ký kết chính thức vào ngày ngay trƣớc ngày d04.

Rõ ràng điều mà ta mong muốn là với hai bộ giá trị của S1 này có thể hợp nhất đƣợc lại thành một bộ giá trị với FROM = d02 và TO = d10. Cơ sở dữ liệu thời gian TIEU LUAN MOI download : skknchat@gmail.com - 22 - Do đó ràng buộc ở đây là chặn những điểm lặp và tiếp giáp đó: CONSTRAINT AUG_S_FROM_TO_PK IS_EMPTY (((S_FROM_TO RENAME FROM AS F1, TO AS T1) JOIN S_FROM_TO RENAME FROM AS F2, TO AS T2)) WHERE (T1 ≥ F2 AND T2 ≥ F1)) OR (F2 = T1+1 OR F1 = T2+1)); Biểu thức này là khá phức tạp, không đề cập đến cách viết tổng quát, ví dụ “T1+1” là một ngày ngay sau ngày đƣợc biểu diễn bởi T1, vấn đề này ta sẽ quay trở lại sau trong Phần 1. Tiếp theo, chú ý rằng tổ hợp các thuộc tính {S#, FROM} trong biến quan hệ SP_FROM_TO không phải là một khoá ngoài từ SP_FROM_TO tới S_FROM_TO (cho dù nó bao gồm những thuộc tính giống nhau, S# và FROM, tƣơng tự khoá chính của S_FROM_TO). Tuy nhiên, chúng ta cần chắc chắn rằng nếu một nhà cung cấp nào đó xuất hiện trong SP_FROM_TO, thì cũng nhà cung cấp đó sẽ xuất hiện trong S_FROM_TO: CONSTRAINT AUG_SP_TO_S_FK_AGAIN1 SP_FROM_TO {S#}  S_FROM_TO {S#}; Nhƣng ràng buộc AUG_SP_TO_S_FK_AGAIN1 bản thân nó không đầy đủ, ta cũng cần phải chắc chắn rằng (thậm chí nếu mọi mong muốn kết hợp các bộ dữ liệu đã đƣợc thực hiện) nếu SP_FROM_TO chỉ ra một vài nhà cung cấp có khả năng cung cấp một số mặt hàng trong một số khoảng thời gian, thì S_FROM_TO chỉ ra rằng cũng nhà cung cấp đó phải đƣợc ký kết hợp đồng trong cùng khoảng thời gian.

Ta sẽ thử nhƣ sau: CONSTRAINT AUG_SP_TO_S_FK_AGAIN2 /* chưa chính xác! */ IS_EMPTY ((S_FROM_TO RENAME FROM AS SF, TO AS ST) JOIN (SP_FROM_TO RENAME FROM AS SPF, TO AS SPT)) WHERE SPF < SF OR SPT > ST); Cơ sở dữ liệu thời gian TIEU LUAN MOI download : skknchat@gmail.com - 23 - Tuy nhiên đặc tả này thực tế là không chính xác. Để hiểu rõ tại sao, cho S_FROM_TO nhƣ mô tả trong Bảng 1.3, và cho S_PFROM_TO bao gồm một bộ giá trị của nhà cung cấp S2 với FROM = d03 và TO = d04. Sự sắp xếp đó rõ ràng là phù hợp, khi đó ràng buộc AUG_SP_TO_S_FK_AGAIN2 giống nhƣ một phép chặn thực sự trạng thái. Chúng ta sẽ không giải quyết vấn đề này ở đây mà sẽ xem xét trong phần sau (Ràng buộc trên khoảng).

Tuy nhiên ta nhận thấy giống nhƣ nội dung của một thuật ngữ mà nếu (nhƣ chú ý ở phần trƣớc) sự kết hợp thuộc tính {S#,FROM,TO} trong biến quan hệ S_FROM_TO đƣợc xem nhƣ một “khóa dự tuyển thời gian” , khi đó tổ hợp các thuộc tính {S#,FROM,TO} trong biến quan hệ SP_FROM_TO đƣợc xem là “khóa ngoài thời gian” (cho dù thực tế nó không phải là một khóa ngoài nhƣ vậy).2 – Truy vấn: Các phiên bản “thời gian hóa toàn phần” của truy vấn 1.2 là:  Truy vấn 3.1: Cho S#-FROM-TO là bộ ba giá trị của những nhà cung cấp có U U khả năng cung cấp một số mặt hàng vào một số thời điểm nào đó, trong đó FROM và TO cùng chỉ rõ một khoảng liên tục tối đa trong đó nhà cung cấp S# thực tế đã có khả năng cung cấp một số mặt hàng. Chú ý: Chúng ta sử dụng thuật ngữ “tối đại” (maximal) ở đây nhƣ một giải thích ngắn gọn thuận tiện hàm ý (trong trƣờng hợp sắp tới) rằng nhà cung cấp S# đã không thể cung cấp bất kỳ mặt hàng nào vào ngày ngay trƣớc ngày FROM và ngay sau ngày TO.2: Cho S#-FROM-TO là bộ ba giá trị của những nhà cung cấp U U không có khả năng cung cấp bất kỳ mặt hàng tại mọi thời điểm, trong đó FROM và TO cùng chỉ rõ một khoảng liên tục tối đại trong đó nhà cung cấp S# thực tế đã không có khả năng cung cấp bất kỳ mặt hàng nào. Cơ sở dữ liệu thời gian TIEU LUAN MOI download : skknchat@gmail.com - 24 - Vấn đề của dữ liệu có yếu tố thời gian là nó nhanh chóng dẫn đến các ràng buộc và truy vấn mà đều trong tình trạng quá phức tạp trừ khi hệ thống có thể cung cấp những phƣơng pháp ngắn gọn đƣợc thiết kế tốt, tất nhiên nhƣ chúng ta biết với hệ thống những sản phẩm thƣơng mại ngày nay thì lại không thể.4- BIỂU DIỄN YẾU TỐ THỜI GIAN TRONG CSDL THỜI GIAN.1- Khoảng thời gian Chúng ta sẽ bắt đầu sự phát triển về một tập hợp thích hợp ngắn ngọn. Bƣớc đầu tiên và cơ bản nhất là thừa nhận sự cần thiết phải đề cập tới các khoảng (Intervals) một cách đúng đắn, thay vì chỉ xem chúng nhƣ là những cặp giá trị độc lập nhƣ chúng ta đã thực hiện ở các phần trƣớc.

Vậy chính xác một khoảng là gì? Căn cứ vào Bảng 1.3, nhà cung cấp S1 đã có thể cung cấp mặt hàng P1 trong suốt khoảng từ ngày 04 đến ngày 10. Nhƣng “từ ngày 04 đến ngày 10” có nghĩa là gì? Chắc chắn là nó bao gồm ngày 5,6,7,8 và 9, vậy còn điểm đầu và điểm cuối, ngày 4 và 10 thì sao? Điều đó chỉ ra rằng: cho trƣớc một khoảng xác định, đôi khi ta thấy điểm đầu và điểm cuối là bao gồm trong khoảng nhƣng đôi khi thì không phải vậy. Nếu khoảng từ ngày 4 đến ngày 10 có bao gồm ngày 4, ta gọi đó là khoảng đóng tại điểm đầu, trƣờng hợp ngƣợc lại ta gọi khoảng là mở tại điểm đầu. Cũng tƣơng tự vậy nếu khoảng bao gồm cả ngày 10 ta gọi là khoảng đóng tại điểm cuối, ngƣợc lại ta gọi là khoảng mở tại điểm cuối.

Ta quy ƣớc cách chỉ rõ một khoảng bởi điểm đầu và điểm cuối của nó (theo trật tự đó) nhƣ sau: ký hiệu dấu “ [ “ cho khoảng đóng và “(“ cho khoảng mở. Do đó có 4 cách khác nhau để biểu diễn một khoảng xác định từ ngày 4 tới ngày 10 bao gồm cả ngày 4 và ngày 10:  [d04, d10]  [d04, d11)  (d03, d10]  (d03, d11) Cơ sở dữ liệu thời gian TIEU LUAN MOI download : skknchat@gmail.com - 25 - Chú ý: Thực tế kiểu đóng [.] thƣờng đƣợc sử dụng nhiều hơn cả, và ta cũng dùng kiểu này trong các biểu diễn tiếp theo. Cho trƣớc khoảng [d04, d10] là những giá trị trong thứ tự đúng của nó; Việc tổ hợp các thuộc tính FROM và TO của SP_FROM_TO (trong Bảng 1.3) thành một thuộc tính đơn, DURING, những giá trị của chúng đƣợc rút ra từ một kiểu khoảng nào đó là có ý nghĩa. Ƣu điểm ngay lập tức của ý tƣởng này là tránh đƣợc một sự lựa chọn tuỳ hứng cần thiết nhƣ là lựa chọn khoá nào làm khoá chính trong các khoá {S#,FROM} và {S#,TO}.

Một ƣu điểm khác là nó cũng tránh đƣợc điều cần thiết phải quyết định: liệu các khoảng FROM –TO trong Bảng 1.3 đƣợc lý giải là đóng hay mở đối với mỗi giá trị FROM và TO; thực tế [d04, d10], [d4, d11), (d03, d10] và (d03, d11) bây giờ trở thành 4 cách biểu diễn khác nhau có thể có của cùng một khoảng và chúng ta không cần thiết phải biết đâu là cách biểu diễn thực sự.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ