Giữa các câu truy vấn (Queries) và các khung nhìn (Views), ta định nghĩa quan hệ tính toán << như sau:
Với mỗi câu hỏi Q và khung nhìn V:
Q << V nếu kết quả của Q (câu trả lời) tính toán được mà chỉ sử dụng các bộ (Tuples) có trong V. Q được trả lời trong V.
Xét ví dụ (2): Xét câu truy vấn Q1 = γcδs từ kho dữ liệu ở ví dụ (1). Câu truy vấn này có thể tính toán trong View V1 = sc và cũng có thể trong View V2 = psc. Vậy: Q1 << V1 và Q1 << V2.
Nhưng V1 sẽ không có câu trả lời trong V3 = pc. Ta định nghĩa quan hệ thứ tự bộ phận ≤đối với các View như sau:
V1 ≤ V2 khi và chỉ khi tập các thuộc tính của V1 là tập con của tập các thuộc tính của V2. V1 hẹp hơn V2.
customer), nhưng part ≤ customer và ngược lại cũng vậy.
Tập hợp các Subcube của Data Cube tạo ra các xác định trên ≤ sẽđược gọi là quan hệ phụ thuộc của các View. Ví dụ các Subcube của Data Cube đã nêu ở ví dụ (1) cùng với quan hệ≤ tạo thành các Subcube của một CSDL như
sau:
trong đó ‘non’ là tập rỗng
Chúng ta dễ dàng nhận thấy nếu V1 ≤ V2 và Q1 << V1 thì Q1 << V2, nghĩa là tồn tại quan hệ phụ thuộc giữa V1 với V2 và quan hệ tính toán giữa Q1 với các View đó. Có thể sử dụng đồ thị để mô tả cho quan hệ tính toán
được định nghĩa ở trên, trong đó tập đỉnh là tất cả các câu truy vấn và các View của một Data Cube. Nếu câu truy vấn Q tính toán được trong View V thì ta vẽ cạnh nối Q với V và bổ sung cạnh đó vào trong E. Mỗi cạnh (Q,V) lại có thể có trọng số f chính là phí tổn (thường là thời gian) để trả lời Q trong View V.
Vấn đề là ta tìm cách xây dựng cách đánh chỉ số trên khung nhìn V để
sao cho có được câu trả lời nhanh hơn khi phân tích dữ liệu trực tuyến. Chỉ số đó phải không ảnh hưởng đến kết quả tính toán trong mọi cách, nhưng nó làm tăng tốc độ tính toán để xác định câu trả lời.
Để tiện lợi cho ký hiệu và xử lý, ta có thể gộp chỉ số i vào cùng với phí tổn phải mất để trả lời câu truy vấn Q khi sử dụng V thành một cặp nhãn cho
mỗi cạnh (Q,V). Từ những phân tích trên, ta có thể tổng quát hóa công thức
đánh giá phí tổn những câu trả lời cho câu truy vấn Q khi sử dụng View V và chỉ số J.
Giả thiết Q là câu truy vấn γAδB trong đó A và B là các tập về chiều. B = ∅ khi và chỉ khi Q là câu truy vấn về Subcube và B = ∅ nghĩa là đề cập đến tất cả các chiều.
Giả thiết V là View C. Nếu Q << V thì A ∪ B ⊆ C, C = ∅ ký hiệu cho View rỗng (phần tử nhỏ nhất trong các View).
Giả thiết J là chỉ số ID(V) và D là một thứ tự của các thuộc tính. D =<> (dãy trống) ký hiệu trường hợp không sử dụng chỉ số.
Ký hiệu E là tập con lớn nhất của B sao cho các thuộc tính của E tạo thành tiền tố (Prefix) của D. Phí tổn của câu trả lời cho Q khi sử dụng V có sử
dụng chỉ số J sẽđược xác định như sau: | ( ) | ( , , ) | ( ) | C C Q V J E = (*) trong đó |(C)| và |(E)| ký hiệu số các dòng của các bảng dữ liệu tương ứng với View C và E
Công thức trên luôn tính được trong mọi trường hợp. Trường hợp E =
∅, nghĩa là không có chỉ số được đánh với V hoặc Q là câu truy vấn về
Subcube, khi đó |∅| = 1 do vậy C(Q,V,J) = |V|, nghĩa là chúng ta phải xử lý tất cả các dòng trong V mới có được câu trả lời cho Q.
Chúng ta hãy xét ví dụ về CSDL quản lý hàng bán ra với View V = (p,s,c) bao gồm 6 triệu dòng, câu hỏi Q = γcδps và chỉ số J = Iscp trên Subcube (p,s,c). Khi đó C = (p,s,c) và E = (s) bởi vì tập con lớn nhất tạo thành tiền tố của scp là s. Giả thiết bảng s có 0.01 triệu dòng. Theo công thức thì:
6 . ( , , ) 0,01 . tr C Q V J tr =