2013-06-27 33 views
6

Làm thế nào để thiết kế một bảng trong Oracle 11g để nó tương thích sau này với "Tính hợp lệ tạm thời" tính năng trong Oracle 12c?Làm thế nào để sử dụng hiệu lực thời gian trong Oracle 12c?

Các tài liệu trực tuyến của Oracle 12c xác định làm thế nào để xác định giá trị thời inthe SQL Ngôn ngữ hướng dẫn (http://docs.oracle.com/cd/E16655_01/server.121/e17209/statements_7002.htm#CJADHJHB)

ALTER TABLE my_table ADD (PERIOD FOR my_valid_time (my_valid_start, my_valid_end)); 

Vì vậy, người ta có thể sử dụng các cột valid_from và valid_till cũ tốt đã có trong 11g và cường họ lên thích thời gian trong 12c, phải không?

Tôi đã thừa kế cơ sở dữ liệu sử dụng ngày phép thuật cố định cho "từ lúc nào" và "mãi mãi", ví dụ: DATE '1900-01-01'DATE '3999-12-31'. Rõ ràng, 12c sử dụng NULL để thay thế.

Vì vậy, chúng tôi có phải từ bỏ sử dụng ngày phép thuật cố định và chuyển sang ngày NULL không?

+1

Great câu hỏi trên 12c! Tôi chưa sử dụng 12c nhưng chỉ cần thêm một bình luận thay vì một câu trả lời. Đọc ban đầu của tôi về tính năng Temporarl Validity là, trong khi NULLs sẽ là thích hợp hơn, các ngày phép thuật cũng sẽ hoạt động tốt. Họ có thể can thiệp phần nào với CBO của Oracle và gây ra các kế hoạch truy vấn kém, nhưng đó luôn là trường hợp với các giá trị ma thuật; và các biểu đồ mới của 12c có thể cũng có cách để giảm thiểu điều này. –

Trả lời

3

Có, bạn sẽ có thể làm thay đổi bảng trong 12c để cho phép hiệu lực Temporal (xem ALTER TABLE phần của tài liệu: http://docs.oracle.com/cd/E16655_01/server.121/e17209/statements_3001.htm#CJAEGCFI)

Nó hoạt động bằng cách chuyển đổi của bạn mệnh đề where đến một "< =" và "> hoặc là null" khoản, vì vậy bạn không cần phải thay đổi ngày cố định nếu bạn không muốn.

Tom Kyte chỉ đăng tải trên blog của mình về ngày hôm nay, với một số ví dụ execellent: http://tkyte.blogspot.com/2013/07/12c-flashforward-flashback-or-see-it-as.html

+0

+1 cho liên kết Tom Kyte, thực sự được giải thích tuyệt vời. Và bạn phải tất nhiên, 'NULL' _and_' 1900' sẽ làm việc cả, cảm ơn bạn đã chỉ ra điều đó! –

+1

Có cách nào để xác định các ràng buộc trong các khoảng thời gian này để ngăn chặn các phạm vi chồng chéo không? –

Các vấn đề liên quan