Hiện nay, cơ sở dữ liệu đa chiều được quan tâm đáng kể cho sự phát triển trong lĩnh vực phân tích kinh doanh và các ứng dụng hỗ trợ quyết định. Codd đã đề xuất khái niệm OLAP để biểu diễn dữ liệu của tổ chức kinh doanh bằng mô hình đa chiều, thực hiện phân tích dữ liệu trực tuyến bằng cách sử dụng các công thức toán học hoặc sự phân tích thống kê phức tạp hơn và dữ liệu tổng kết thống nhất. Công nghệ cơ sở dữ liệu quan hệ được cho là thích hợp hơn đối với việc quản lí các giao tác thực tế và các truy vấn đặc biệt. Mặc khác, OLAP hỗ trợ phân tích trực tuyến phức tạp, một vài vấn đề mà mô hình quan hệ truyền thống ít được hỗ trợ. Để giải quyết điều này, nhiều nhà cung cấp đã phát triển sản phẩm OLAP, ví dụ như Arbor Software’s Essbase và Oracle Express
Mô hình đa chiều đang trở nên quan trọng như một tầng logic đối với dữ liệu truy vấn trong OLAP. Khía cạnh chính của dữ liệu đa chiều là sự tách rời các chiều và các dữ kiện. Trong khi các chiều mô tả dữ liệu tĩnh một cách tương đối, các dữ kiện cơ sở đã được mô tả giống như các điểm trong các không gian đã định nghĩa bởi các chiều. Một số mô hình đa chiều cho OLAP gần đây đã hợp nhất các chiều như là các thực thể.
Tiểu luận “Mô hình hoá dữ liệu đa chiều” là tổng hợp nội dung của bốn bài báo tương ứng với bốn phần:
Phần 1
Nền tảng cho cơ sở dữ liệu đa chiều
A Foundation for Multi-Dimensional Databases
(Thực hiện: Nguyễn trí Nhân)
Phần 2
Ứng dụng kỹ thuật phân mảnh theo chiều dọc trong thiết kế logical của cở sở dữ liệu đa chiều
Applying vertical fragmentation techniques in logical design of Multidimensional Databases
(Thực hiện: Nguyễn Trí Nhân)
Phần 3
Một trong hai phương pháp mới cho mô hình ROLAP
(Thực hiện: Trần Kiên )
Phần 4
Trình bày mô hình cơ sở dữ liệu đa chiều
(Thực hiện: Trần Thái Sơn)
74 trang |
Chia sẻ: tuandn | Lượt xem: 3196 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Tiểu luận Mô hình hóa dữ liệu đa chiều, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ÑAÏI HOÏC HUEÁ
TRÖÔØNG ÑAÏI HOÏC KHOA HOÏC
TIEÅU LUAÄN MOÂN HOÏC
DATA WAREHOUSE
Ñeà taøi:
MOÂ HÌNH HOÙA DÖÕ LIEÄU ÑA CHIEÀU
Giaùo vieân höôùng daãn : TS. Nguyeãn Thanh Bình
Hoïc vieân thöïc hieän: Nhoùm 7
Nguyeãn Trí Nhaân
Traàn Thaùi Sôn
Traàn Kieân
Lôùp Cao hoïc Khoa hoïc maùy tính – Khoaù 2008 - 2010
Hueá, thaùng 6/2009
A. MỞ ĐẦU
Hiện nay, cơ sở dữ liệu đa chiều được quan tâm đáng kể cho sự phát triển trong lĩnh vực phân tích kinh doanh và các ứng dụng hỗ trợ quyết định. Codd đã đề xuất khái niệm OLAP để biểu diễn dữ liệu của tổ chức kinh doanh bằng mô hình đa chiều, thực hiện phân tích dữ liệu trực tuyến bằng cách sử dụng các công thức toán học hoặc sự phân tích thống kê phức tạp hơn và dữ liệu tổng kết thống nhất. Công nghệ cơ sở dữ liệu quan hệ được cho là thích hợp hơn đối với việc quản lí các giao tác thực tế và các truy vấn đặc biệt. Mặc khác, OLAP hỗ trợ phân tích trực tuyến phức tạp, một vài vấn đề mà mô hình quan hệ truyền thống ít được hỗ trợ. Để giải quyết điều này, nhiều nhà cung cấp đã phát triển sản phẩm OLAP, ví dụ như Arbor Software’s Essbase và Oracle Express…
Mô hình đa chiều đang trở nên quan trọng như một tầng logic đối với dữ liệu truy vấn trong OLAP. Khía cạnh chính của dữ liệu đa chiều là sự tách rời các chiều và các dữ kiện. Trong khi các chiều mô tả dữ liệu tĩnh một cách tương đối, các dữ kiện cơ sở đã được mô tả giống như các điểm trong các không gian đã định nghĩa bởi các chiều. Một số mô hình đa chiều cho OLAP gần đây đã hợp nhất các chiều như là các thực thể.
Tiểu luận “Mô hình hoá dữ liệu đa chiều” là tổng hợp nội dung của bốn bài báo tương ứng với bốn phần:
Phần 1
Nền tảng cho cơ sở dữ liệu đa chiều
A Foundation for Multi-Dimensional Databases
(Thực hiện: Nguyễn trí Nhân)
Phần 2
Ứng dụng kỹ thuật phân mảnh theo chiều dọc trong thiết kế logical của cở sở dữ liệu đa chiều
Applying vertical fragmentation techniques in logical design of Multidimensional Databases
(Thực hiện: Nguyễn Trí Nhân)
Phần 3
Một trong hai phương pháp mới cho mô hình ROLAP
(Thực hiện: Trần Kiên )
Phần 4
Trình bày mô hình cơ sở dữ liệu đa chiều
(Thực hiện: Trần Thái Sơn)
B. NỘI DUNG
1. Nền tảng cho cơ sở dữ liệu đa chiều (A Foundation for Multi-Dimensional Databases)
Tóm tắt
Chúng tôi trình bày mô hình khối dữ liệu đa chiều có thể phục vụ như một mô hình khái niệm cho các ứng dụng phân tích trực tuyến on line (On-Line Analytical Processing (OLAP)). Bên cạnh cung cấp các chức năng cần thiết cho các ứng dụng dựa trên OLAP, nổi bậc của mô hình hỗ trợ sự tách biệt rõ ràng giữa cấu trúc và nội dung liên quan cho phép chúng ta định nghĩa ngôn ngữ thao tác, cách trong suốt. Cụ thể chỉ ra rằng thao tác khối(cube) dữ liệu có thể được trình bày dễ dàng. Cụ thể định nghĩa đại số và phép tính để biểu diễn chúng tương đương. Kết luận bởi việc so sánh phương pháp tới công việc liên quan.
Khái niệm của mô hình cơ sở dữ liệu đa chiều là trực giao tới sự cài đặc, nó không phải là chủ đề của bài này.
1.1. Giới thiệu
Gần đây, có sự quan tâm quan trọng trong hệ thống cơ sở dữ liệu đa chiều cho phân tích thương mại tiến triển và các ứng dụng hỗ trợ quyết định. Codd đưa ra khái niệm OLAP cho dữ liệu doanh nghiệp biểu diễn trong viễn cảnh đa chiều, thực hiện phân tích on-line của công thức toán học sử dụng dữ liệu hoặc phức tạp hơn phân tích thống kê và dữ liệu hợp nhất (consolidating and summarizing data) [Cod93, CCS93]. Điều đó tin rằng công nghệ cơ sở dữ liệu quan hệ là phù hợp tốt hơn cho quản lý giao dịch mạnh mẽ. Nói cách khác, OLAP gọi cho phân tích trực tuyến on-line phức tạp, đôi khi mô hình quan hệ truyền thống tỏ ra hỗ trợ ít. Cung cấp thêm cần thiết này, một vài máy bán tự động (vendor) thực sự phát triển các sản phẩm OLAP ví dụ Arbor Software’s Essbase and Oracle Ex- press gọi tên chỉ hai. Nhiều sản phẩm này chụi sự giới hạn theo:
(i) Ad-hoc(truy vấn bộc phát) và không hỗ trợ ngôn ngữ truy vấn phức tạp tương tự như SQL;
(ii) Tương tác người sử dụng thường bị giới hạn một thao tác ở một thời điểm.
(iii) Khung nhìn dữ liệu trong viễn cảnh đa chiều phức tạp bao gồm thuộc tính chứa đựng xử lý như các tham chiều và duy trì chúng như là dữ kiện(measures), phân tích chúng như một “hàm”(“function”) của các tham biến; nhiều sản phẩm xử lý bất đồng bộ các chiều và dữ kiện cuối cùng.
(iv) Không giống như mô hình quan hệ, không có rõ ràng, thích hợp chung chung, mô hình khái niệm cho OLAP hoặc cũng được gọi là cơ sở dữ liệu đa chiều (MDD). Nhiều sự thành công của cơ sở dữ liệu quan hệ có thiết lập logic rõ ràng cho mô hình dữ liệu, đầu tiên là Codd phát triển và sau đó đông đảo các nhà nghiên cứu.
Trong phần này chúng tôi đưa ra như sau:
1. Phát triển mô hình khái niệm đơn giản cho OLAP hoặc MDD.
2. Có hỗ trợ kiến trúc bốn tầng cho ngôn ngữ truy vấn OLAP. Chỉ rằng sự tách biệt liên quan của nội dung chống lại cấu trúc, còn có thể phát triển đơn giản đại số mạnh mẽ và một tính toán tương đương, cả hai phù hợp đặc trưng xử lý tới tất cả bốn mức của kiến trúc.
Hình 1.1: một ví dụ bảng hai chiều Sales với các chiều Category và Time. Tập hợp tham biến kết hợp là: {Part, City} và {Year, Month}, riêng biệt. Thuộc tính dữ kiện là Cost và Sale;
Minh họa ở trên, chúng ta trình bày trong đại số thao tác khối dữ liệu thông dụng gần đây hỗ trợ bởi Gray et al.[GBLP95] cũng như hữu dụng và thực hành giá trị thu hút hơn.
Trong phần này tổ chức như sau. Trong đoạn 1.2 trình một sự giới thiệu không hình thức mô hình dữ liệu cho MDD. Trong đoạn 1.3 và 1.4, trình bày một đại số và phép tính cho MDD và minh họa năng lực biểu diễn theo các ví dụ. Biểu diễn cả hai ngôn ngữ tương đương trong khả năng biểu diễn.
1.2. Mô hình dữ liệu đa chiều(Multi-Dimensional Data Model)
Từ quan điểm nhận thức, OLAP được gọi cho 4 loại cơ bản sau:
1. Truy vấn(Querying): khả năng đưa ra truy vấn bộc phát một sự đơn giản giao diện khai báo.
2. Cấu trúc lại(Restrucring): khả năng cấu trúc lại thông tin trong sự bùn nổ cơ sở dữ liệu đa chiều của dữ liệu và đưa ra(bring out) phối cảnh khác của dữ liệu.
3. Sự phân loại(Classifition): khả năng phân loại hoặc nhóm tập dữ liệu trong phong cách thích hợp cho tổng kết theo sau:
4. Tổng kết(Summarization/Consolidation): Đây là tổng quát hóa của các phép toán đại số trong chuẩn SQL. Tổng quát summarization ánh xạ đa tập(multisets) của giá trị của một kiểu số tới một kiểu chuỗi(single), giá trị“hợp nhất”.
Chúng tôi truy tìm một mô hình khái niệm và ngôn ngữ truy vấn đó là có thể hỗ trợ tất cả các chức năng ở trên và cho phép chúng tương tác với mỗi đối tượng khác kiểu liền mảnh(seamless).
Cấu trúc dữ liệu cơ bản của dữ liệu đa chiều là cái chúng tôi gọi là bảng n chiều(n-dimensional table). Trước tiên đưa ra trực giác bên cạnh nó. Chúng ta mong ước có thể nhìn giá trị thuộc tính chắc chắn như một “chức năng” khác, trong bất kỳ cái cách nào phù hợp với chúng, khả năng bùn nổ vữa lót(rendering) đa chiều. Vẽ trên thuật ngữ của dữ liệu thông kê, chúng ta có thể phân loại tập thuộc tính kết hợp với lược đồ của một bảng vào trong hai loại: tham biến và dữ kiện. Không có sự phân biệt ưu tiên(priori) giữa tham biến và dữ kiện trong thuộc tính bất kỳ đó có chọn lựa vai trò. Một ví dụ bảng hai chiều được cho trong hình 1.1.
Ở mức khái niệm, chúng ta cần mô hình của chúng ta duy trì thân thiện mô hình quan hệ chuẩn nếu có thể, do đâu thân dôi ra(rich body) của lý thuyết và công nghệ phát triển tốt cho mô hình quan hệ sẽ lúc đó dồn cho mô hình OLAP Một cách tự nhiên thực thi đối tượng này là thừa nhận đó chiều của các bảng là một đặc trưng cấu trúc vốn có, cái mà đầy đủ ý nghĩa nhất khi bảng là đưa tới cho người dùng. Nội dung thực tế của bảng là trực giao cần thiết cho việc kết hợp cấu trúc, nghĩa là sự phân tán của các thuộc tính lên trên các chiều và dữ kiện. Việc phân tách cả hai đặc tính dẫn đến view quan hệ của một bảng. Ví dụ đầu vào trong “ô”đầu tiên(tức là đầu cực trái) của bảng trong hình 1.1 đầu vào chứa (5, 6) tương ứng với bộ (PC, Montreal, 1996, Jan, 5,6) trên lược đồ {Part, City, Year, Month, Cost, Sale}trong view quan hệ của bảng đó.
Hình 1.2: view khái niệm của bảng hình 1.1. Cấu trúc lưu trữ thực sự và sự thực thi không cần quan hệ.
Chúng ta bây giờ chính thức mô tả không hình thức ở trên, trong định nghĩa của một bảng n chiều.
Như thường lệ, chúng tôi giả sử hai tập hợp các ký hiệu phân biệt và vô hạn: N là một tập hợp tên và V là tập hợp các giá trị.
Định nghĩa 1.2.1 (lược đồ bảng và thể hiện-Table Schemas and Instances)
Một lược đồ bảng (Table Schema) n chiều là một bộ ba ở đây D={ d1,..., dn} là một tập hợp các tên chiều, R={A1, ..., Am} là tập các thuộc tính và par: D ® 2{,...,}, thoả mãn
(i) Với mọi i,j=1,..,n, i j, par(di) par(dj) = và
(ii) d D par(d) R
Chúng ta thường ký hiệu par(di) bởi Xi
Cho M = R – Xi. Một thể hiện(instance) của một bảng lược đồ n chiều là một tập hợp n + 1 quan hệ hữu hạn theo dạng rd1(Tid, X1), ... , rdn(Tid, Xn), rm(rd1.Tid, ..., rdn.Tid, M), thoả mãn
(i) Sự kết hợp bằng , nghĩa là với mỗi sự kết hợp của các giá trị Tid trong các quan hệ rd1, ..., rdn, có ít nhất một bản ghi tương ứng trong rm, và mỗi bản ghi trong rm tương ứng với một số sự kết hợp của các giá trị Tid trong các quan hệ rd1, ...rdn;
(ii) Với mọi i = 1, ...., n, Tid là một khoá của quan hệ rdi; và
(iii) với mọi i,j=1,..,n, i j, , nghĩa là các giá trị Tid trong các quan hệ khác nhau rdi và rdj là rời nhau.
Như vậy, một cơ sở dữ liệu được xếp thành bảng đa chiều (MDD–Multi Dimensional Databasse) là một tập các bảng.
Trong định nghĩa 1.2.1, một bảng có một tập R gồm m thuộc tính và n chiều (n 0) d1,..., dn kết hợp với nó. Mỗi chiều được mô tả bởi một tập hợp con riêng biệt của các thuộc tính từ R, gọi là các tham số của chiều đó. Các thuộc tính trong R mà chúng không phải là tham số của bất kỳ chiều nào thì chúng được gọi là các thuộc tính dữ kiện của bảng.
Bằng trực giác, chúng ta có thể xem các bản ghi trong các quan hệ rd1,..., rdn như là “các tọa độ”(coordinates) trong các chiều d1,..., dn theo thứ tự định sẵn. Từ quan điểm này, một bảng có thể được xem như là sự kết hợp của một tập các bộ trên các thuộc tính dữ kiện với mỗi điểm (t1, ..., tn) trong không gian n chiều, ở đây i=1,..., n, ti là giá trị Tid duy nhất kết hợp với một bộ trong quan hệ rdi. Ngược lại, với mỗi bản ghi (ti, , chúng ta nói rằng là bộ Xi đã trình bày bởi ti.
Rõ ràng rằng, Các quan hệ truyền thống tương ứng với tất cả các bảng 0 chiều của các thuộc tính của chúng về cơ bản là các thuộc tính dữ kiện.
Chúng ta đồng ý khung nhìn khái niệm của bảng đa chiều là hoàn toàn độc lập với cấu trúc lưu trữ hoặc chỉ đạo thực thi sử dụng cho các bảng này.
Ví dụ 1.2.1 xem lược đồ bảng hai chiều Sales = ( {Category, Time}, {Part,
City, Year, Month, Cost, Sale}, par), ở đây par(Category) = {Part, City} và par( Time) = {Year, Month}. Một thể hiện của lược đồ này bao gồm 3 quan hệ
rCategory(Tid, Part, City),
rTime(Tid, Year, Month), và
rm((r)C(ategory).Tid, (r)T(ime).Tid, Cost, Sale) là biểu diễn trong hình 1.2. được hiển thị trong hình 1.2. Thể hiện này thực sự thoả mãn các ràng buộc trong định nghĩa 1.2.1. Bảng thể hiện này thực sự tương ứng với bảng được chỉ ra trong hình 1.2.1.
Chúng ta biểu diễn Tiếp theo rằng mọi bảng MDD có thể biểu diễn chính xác bởi quan hệ truyền thống và ngược lại trong trực giác đó chúng ta hẳn làm chính xác ở mức dưới. Chúng ta cần kết quả kết quả trong đoạn 1.3 để phát triển ngữ nghĩa đơn giản cho mỗi phép toán đại số cổ điển.
Trước khi chúng ta có thể biểu kết quả trên, chúng tôi phải giới thiệu khái niệm đầy đủ của quan hệ với lược đồ bảng.
Định nghĩa 1.2.2(Đầy đủ-Completion)
Cho r(A1, ..., Am) là một quan hệ và S = là một lược đồ bảng. Như thường lệ, chúng ta ký hiệu Xi=par (di). Thì sự đầy đủ(completion) của r với mối liên hệ S, ký hiệu , được định nghĩa là quan hệ nhỏ nhất thoả mãn.
(i) và
(ii) Với tất cả các sự kết hợp của bộ , với mọi i =1, ..., n, ở trong (r), nhưng () không ở trong (r), chúng ta thấy rằng (,) ở trong . Ở đây là một bộ gồm |M| ký hiệu tương ứng với các thuộc tính dữ kiện.
Bằng trực giác, quan hệ r ở trên là tương đương với đầy đủ (completion) của nó: Các ký hiệu thêm vào ở đó chỉ đơn thuần là do các giá trị rỗng không thích hợp trong việc biểu diễn dữ liệu đa chiều.
Cho R là lược đồ quan hệ, và S = là một lược đồ bảng. Cho (R) là lớp của tất cả các quan hệ hữu hạn trên R và T(S) là lớp của tất cả của các thể hiện của bảng lược đồ S. Cuối cùng, cho = {| r (R) }. Chúng ta nói rằng lược đồ bảng S biểu diễn chính xác lược đồ quan hệ R (và ngược lại)đã cho và có sự tương ứng 1 – 1 từ lớp của các bảng T(S) đến lớp của các quan hệ .
Định lý 1.2.1 Cho R là lược đồ quan hệ, và cho S = là lược đồ bảng. Thì R biểu diễn chính xác S (và ngược lại).
Từ chứng minh của định lý 1.2.1, chúng ta duy trì sử dụng lần sau tồn tại 1-1 hàm f từ T(S) đến, điều đó có thể được tính toán có hiệu quả. Vì vậy, hàm ngược của nó là g cũng có thể tính toán được.
Theo định lí trên thì tất cả các toán tử truyền thống từ đại số quan hệ có thể có quan hệ trực tiếp đến cấu trúc của các bảng đa chiều, xét cho cùng thì kết quả của các toán tử được biểu diễn thành bảng là thích hợp với việc các quan hệ đã biểu diễn bằng cơ sở dữ liệu được xếp thành bảng ban đầu. Ý tưởng này sẽ được phát triển trong phần sau.
1.3.Toán tử đại số(Algebra)
Trong đoạn này, chúng tôi phát triển một phép toán đại số cho dữ liệu đa chiều.
Trước khi tiến hành với trình bày toán tử đại số thực sự, đầu tiên chúng ta minh họa bằng một ví dụ đó tiếp cận trực tiếp với định nghĩa các toán tử đại số sẽ dẫn đến sự phức tạp không cần thiết.
Ví dụ 1.3.1 Xét bảng hiển thị trong hình 1.1. Giả sử chúng ta gán sự phân chia bảng tương ứng tới sự thực hiện của PC trong năm 1996. Thao tác ảnh hưởng như số lượng của thao tác trong OLAP là được tham chiếu như lát cắt hình vuông. Bảng kết quả là được hiển thị trong hình 1.3.
Một định nghĩa trực tiếp của sự lựa chọn này bao gồm phép lựa chọn tọa độ Category của form (PC, _C) cho giá trị thành phố -C và phép chọn tọa độ Time của form (1996, _M) cho giá trị tháng _M và nữa nối cả hai cho quan hệ rm. Một sự chọn quan hệ trở nên phức tạp nếu chuyển trực tiếp tới các bảng MDD. Hơn nửa nếu sự lựa chọn bao gồm các thuộc tính dữ kiện, định nghĩa của nó hơi khác và bất đối xứng ở trên. Một định nghĩa trực tiếp sự lựa chọn bao gồm các tham biến và dữ kiện thậm chí phức tạp hơn. Người đọc có thể dễ dàng hình dung sự phức tạp trong trường hợp nối giữa hai bảng MDD.
Hình 1.3 kết quả của một toán tử lát cắt hình vuông trên bảng ở hình 1.1. Lát cắt hình vuông chỉ là một trường hợp đặc biệt của phép chọn quan hệ đã mở rộng cho các bảng MDD.
Vì một tiếp cận trực tiếp định nghĩa các phép toán đại số cổ điển sẽ kết quả phức tạp. Mục tiêu của chúng ta là đạt được sự đơn giản và ngôn ngữ thanh lịch gần gũi với view khái niệm của các bảng MDD hơn là định nghĩa hình thức của chúng. Chúng ta sẽ thu được định nghĩa đơn giản của các phép toán đại số bởi việc bùn nổ tương ứng 1-1 giữa các bảng quan hệ thiết lập trong định lý 1.2.1, tức là các hàm f và g, bằng cách tách nội dung từ sự liên quan cấu trúc. Cho S= là lược đồ bảng. Nếu T là một biểu hiện bảng với lược đồ S, chúng ta biểu diễn sự miêu tả quan hệ f(T), một lược đồ quan hệ với lược đồ R bởi rep(T). Ngược lại, nếu r là một quan hệ với lược đồ R thì sự biểu diễn dưới dạng bảng của nó là một bảng thể hiện của lược đồ S chính là g(r) và được kí hiệu là tabs(r).
Định nghĩa 1.3.1 (Classical Algebraic Operators)
1. Các toán tử một ngôi: Cho T là một thể hiện với lược đồ S = , và op là phép chọn , phép chiếu , hoặc phép đổi tên, ở đây C là điều kiện của phép chọn và X là tập các thuộc tính còn A, B là tên các thuộc tính. Chúng ta định nghĩa op(T) = tabs(op(rep(T)).
2. Phép hợp, phép giao và phép hiệu: Cho T1 và T2 là các thể hiện dạng bảng, cả hai cùng lược đồ S và cho op là phép hợp , phép giao , hoặc phép hiệu \. Chúng ta định nghĩa
T1 op T2 = tabs(rep(T1) op rep(T2)), ở đây S=S1=S2.
3. Tích Đề Các: Cho T1và T2 là hai bảng với các lược đồ S1= và S2=, và giả sử D1 D2 = và R1 R2 = . Chúng ta định nghĩa lược đồ của tích đề các T1 T2 là S = và thể hiện là tabs(rep(T1) rep(T2)).
Chú ý
(i) Tính đơn giản so sánh định nghĩa các phép toán với tiếp cận trực tiếp và
(ii) Xử lý đối xứng của tham biến và dữ kiện.
Thêm vào đó các phép toán ở trên biến đổi chủ yếu nội dung của bảng, chúng tôi giới thiệu hai phép toán cấu trúc lại (restructuring) nó chỉ ảnh hưởng đến cấu trúc của bảng. Sử dụng này có thể giảm hoặc tăng vào các tham biến từ một chiều hoặc thay đổi trạng thái của thuộc tính từ tham biến đến dữ kiện hoặc ngược lại trong khi lưu trữ nội dung thông tin.
Định nghĩa 1.3.2 (Restructuring Operators)
1. Unfold: Cho T là một bảng với lược đồ S = , cho d là tên mới N không xuất hiện ở đâu ngoài T , là tập thuộc tính dữ kiện. Chúng ta định nghĩa unfolddx(T) như một bảng với lược đồ S’ = , ở đây tất cả di trong D, par’(di) = par(di), par’(d) = X, và với trường hợp(with instance) tabs’(rep(T)).
2. Fold: Cho T là một bảng với lược đồ S = , và cho d là một chiều của D. Chúng ta định nghĩa foldd(T) như một bảng với lược đồ S’=, ở đây với mọi di trong D\{d}, par’(di) = par(di), và với trường hợp (with instance) tabs’(rep(T)).
Chú ý tính đơn giản của các định nghĩa toán tử và sự giải quyết giống nhau của các tham số và các dữ kiện. Ví dụ sau là minh hoạ cho định nghĩa các toán tử trên.
Ví dụ 1.3.2. Hình 1.4 minh họa một ứng dụng của phép toán fold và unfold
Hình 1.4. Đầu ra của biểu thức
áp dụng cho bảng Sales đầu vào ở hình 1.1. Bảng kết quả hiển thị Year, Month, Cost, và Sale như một dữ kiện của Part và City. Nó có hai chiều Location và Component, với các tham số City và Part riêng biệt.
Sự phân loại liên quan phép toán. Sự phân loại là sự tổng quát hóa của nhóm SQL quen thuộc bởi phép toán. Ví dụ theo sau trình bày thực hành tiêu biểu sự phân loại bao gồm truy vấn xuất hiện.
Ví dụ 1.3.3 Xét một quan hệ cổ phần(Stocks) với lược đồ {Ticker, Day, Price, Vol}, chứa giá đóng và volume của giao dịch(trading) cổ phần khác nhau trong trao đổi cổ phần ở New York. Truy vấn đưa lên thực hành tiêu biểu là được tìm thấy giá đóng trung bình thay đổi 3 ngày cho mỗi cổ phần. Dù là truy vấn này bao gồm sự kết tập, chú ý rằng nó cũng bao gồm phân loại dữ liệu vào trong các nhóm thay đổi theo điều kiện chắc chắn trứơc khi sự kết tập là được áp dụng. Cụ thể truy vấn ở trên bao gồm sự phân loại việc sử dụng một cửa sổ ba ngày.
Một trường hợp khác của cửa sổ phân loại của bề rộng thay đổi (ví dụ trung bình tích lũy) hoặc cửa sổ của bề rộng dữ liệu phụ thuộc (ví dụ giá cổ phần trung bình tương ứng đến thời kỳ cổ phần tăng(bullish)) là cũng được phủ bởi sàn(framework).
Chúng tôi chính thức hóa kế tiếp biểu diễn sự phân loại, địa chỉ đầu trong ngữ cảnh của quan hệ
Định nghĩa 1.3.3 (phân loại quan hệ-Classification on Relations)
Cho R={A1, …, Am} là lược đồ quan hệ và X = {Al,..., Ak} là tập con tùy ý của R. Hàm phân loại trên X cho quan hệ R là hàm
Cho r là một quan hệ với lược đồ R, và f là hàm phân loại trên X cho quan hệ R. Chúng ta định nghĩa phép toán phân loại K(r, f) khi quan hệ với lược đồ.
(f.A1, …, f.Ak, A1, …, Ak, Ak+1, ...Am)
Và trường hợp cụ thể(instance)
{(al,...,ak, a’1,...,a’k, a’k+l,..., a’m) |
(a’1,.., a’k) f (r, al,. . . , ak)
(a’1,...,a’k, a’k+1,..., a’m) r}.
Phân loại ánh xạ thiết yếu các bộ của quan hệ một hoặc nhiều (vì vậy, rời rạc là không cần thiết) nhóm. Trực quan, chúng ta nghỉ các thuộc tính f.A1 , . . . , f.Ak tương ứng ”nhóm id”. Vì vậy một bộ (al,...,ak, a’1,...,a’k, ak+l,..., a’m) trong quan hệ đã phân lớp cho rằng bộ (al,...,ak, a’1,...,a’k, ak+l,..., a’m) của r thuộc nhóm ”id” là (a1, ..., ak).
Ví dụ 1.3.4: Bên cạnh phần sự phân loại truy vấn của ví dụ 1.3.3 có thể biểu diễn như sau. Định nghĩa một hàm phân loại
theo
f1(r,_Day) = {(_Day’) | (_Day’ = Day)
(_Day’ = succ(_Day)) (_Day = succ(succ(_Day)))}.
Thì áp dụng sử dụng phân loại f1 đến Cổ phần(Stocks). Trong quan hệ kết quả đổi tên f1.Day đến Bắt đầu.
Cho phép thực thi hiệu quả, chúng ta chỉ nên xét các hàm phân loại