DAFTAR REFERENSI
[BOH06]
Böhlen, M, J. Gamper, dan C.S. Jensen. (2006) Multi-Dimensional Aggregation for Temporal Data. LCNS 3896, pp. 257-275.
[GOV03]
Govindarajan, S., P.K. Agarwal, dan L. Arge. (2003) CRB-Tree: An Efficient Indexing Scheme for Range-Aggregate Queries. Duke University, Durham.
[HAN05]
Hananto, M.A.R. (2005) Relasi Bitemporal dengan Model Representasi 1NF: Operasi Data Retrieval. Institut Teknologi Bandung, Bandung.
[JEN94]
Jensen, C.S., M.D. Soo, dan R.T. Snodgrass. (1994) Unifying Temporal Data Models Via a Conceptual Model. Information Systems Vol 19, 7: 513-547.
[JEN96]
Jensen, C.S, dan R.T. Snodgrass. (1996) Semantics of Time-Varying Information. Information Systems Vol 21, 4: 311-352.
[JEN98]
Jensen, C.S., et al. (1998) The Consensus Glossary of Temporal Database Concepts – February 1998 Version. Temporal Databases: Research and Practice, ISBN3-54064519-5, pp. 367-405.
[KIM99]
Kim, J.S., S.T. Kang, dan M.H. Kim. (1999) Effective Temporal Aggregation Using Point-based Trees. Korea Advanced Institute of Science and Technology, Taejeon.
[KLI95]
Kline, N., dan R.T. Snodgrass. (1995) Computing Temporal Aggregates. Proceedings of the 11th ICDE.
[MOO00] Moon, B., I.F.V. López, dan V. Immanuel. (2000) Scalable Algorithms for Large Temporal Aggregation. Proceedings of the 16th ICDE. [MOT97]
Motakis, I., dan C. Zaniolo. (1997) Temporal Aggregation in Active Database Rules. Proceedings of SIGMOD.
[SIL02]
Silberschatz, A., H.F. Korth dan S. Sudarshan. (2002) Database System Concepts 4th Edition. McGraw Hill, New York.
[SNO85]
Snodgrass, R.T., dan Ilsoo Ahn. (1985) A Taxonomy of Time in Databases. University of North Carolina, Chapel Hill.
[SNO96]
Snodgrass, R.T., et al. (1996) Adding Valid Time to SQL/Temporal. ANSI Expert’s Contribution, ANSI X3H2–96–501r1, ISO/IEC TC1/SC21/ WG3 DBL MAD–146r2, International Organization for Standardization.
[TAO04]
Tao, Y., D. Papadias, C. Faloutsos. (2004) Approximate Temporal Aggregation. City University of Hong Kong, Hong Kong.
[WID03]
Widagdo, T.E. (2003) Slide Kuliah IF5011 Basis Data Non-Relasional. Institut Teknologi Bandung, Bandung.
xiii
DAFTAR PUSTAKA Jensen, C.S., M.D. Soo, dan R.T. Snodgrass. (1994) Unifying Temporal Data Models Via a Conceptual Model. Information Systems Vol 19, 7: 513-547. Jensen, C.S., et al. (1998) The Consensus Glossary of Temporal Database Concepts – February 1998 Version. Temporal Databases: Research and Practice, ISBN3-540-64519-5, pp. 367405. Kim, J.S., S.T. Kang, dan M.H. Kim. (1999) Effective Temporal Aggregation Using Point-based Trees. Korea Advanced Institute of Science and Technology, Taejeon. Kline, N., dan R.T. Snodgrass. (1995) Computing Temporal Aggregates. Proceedings of the 11th ICDE. Silberschatz, A., H.F. Korth dan S. Sudarshan. (2002) Database System Concepts 4th Edition. McGraw Hill, New York. Snodgrass, R. T., et al. (1995) Language Syntax. The TSQL2 Temporal Query Language chapters 28–38, pp. 549–631, Kluwer Academic Publishers. Snodgrass, R.T., et al. (1996) Adding Valid Time to SQL/Temporal. ANSI Expert’s Contribution, ANSI X3H2–96–501r1, ISO/IEC TC1/SC21/WG3 DBL MAD–146r2, International Organization for Standardization. Snodgrass, R. T., et al. (1996) Adding Transaction Time to SQL/Temporal. ANSI Expert’s Contribution, ANSI X3H2–96–502r2, ISO/IEC JTC1/SC21/WG3 DBL MCI–147r2, International Organization for Standardization. Widagdo, T.E. (2003) Slide Kuliah IF5011 Basis Data Non-Relasional. Institut Teknologi Bandung, Bandung.
xiv
Lampiran A AVL Tree Sebuah AVL-Tree adalah suatu himpunan yang terdiri dari simpul-simpul (nodes) atau elemen (elements). Masing-masing simpul memiliki sebuah nilai key yang unik. Nilai key ini dapat diurutkan dari yang terkecil sampai terbesar. Setiap simpul pada pohon (AVL-Tree) dapat memiliki sebuah less child dan/atau sebuah greater child, atau tidak sama sekali. Jika simpul A adalah simpul child dari simpul B, maka B adalah simpul parent dari A. Jika A adalah less child dari B, maka nilai key dari A harus lebih kecil dari nilai key B. Demikian pula jika A adalah greater child dari B, maka nilai key A harus lebih besar dari nilai key B. Bila diasosiasikan dengan binary search tree, maka less child adalah left child dari sebuah simpul dan greater child adalah right child. Semua simpul pada pohon memiliki tepat sebuah parent, kecuali simpul akar (root) yang tidak memiliki parent. Simpul A adalah descendant dari simpul C jika C adalah parent dari A, atau parent dari A merupakan descendant dari C. Sebuah simpul yang bukan akar dari keseluruhan pohon, merupakan akar dari sebuah subtree yang terdiri dari simpul itu sendiri dan semua descendant-nya. Less subtree dari sebuah simpul adalah subtree yang akarnya merupakan less child dari simpul tersebut, begitu pula dengan greater subtree yang merupakan subtree dengan akar greater child.
Gambar A-1 Rotasi pohon AVL-Tree
Depth dari sebuah simpul sama dengan depth dari parent-nya ditambahkan 1. Depth dari akar adalah 1. Depth dari sebuah pohon adalah depth maksimum dari simpul-simpulnya. Balance factor dari sebuah simpul sama dengan depth dari greater subtree dikurangi dengan depth dari less subtree, dengan subtree yang tidak exist dianggap memiliki depth 0. Pada AVL-Tree, balance
A-1
A-2
factor dari setiap simpul harus bernilai -1, 0 atau 1. Setiap terjadi proses insert atau delete simpul yang menyebabkan pohon menjadi tidak seimbang (balance factor pohon bukan bernilai -1, 0, atau 1), maka harus dilakukan proses rotasi pohon. Gambar A-1 memperlihatkan contoh proses rotasi pohon yang dapat dilakukan dengan single rotation maupun double rotation.
Lampiran B Skyline Problem Skyline problem merupakan persoalan dalam merancang sebuah program yang dapat membantu seorang arsitek dalam menggambar skyline dari sebuah kota jika diberikan lokasi dan ketinggian gedung-gedung (buildings) di kota tersebut. Skyline adalah sebuah poligon yang menghubungkan ketinggian maksimum gedung pada lokasi tertentu dari kota. Untuk menyederhanakan persoalan, semua gedung dianggap berbentuk persegi panjang dan berdiri di atas dasar kota yang berbentuk datar. Kota digambarkan dalam bentuk dua dimensi. Sebuah gedung dispesifikkan dengan himpunan pasangan tiga angka (Li, Hi, Ri) di mana Li dan Ri adalah koordinat left (kiri) dan right (kanan) secara berurut dari gedung i dan Hi adalah tinggi gedung. Gambar B- 1 memperlihatkan representasi grafis skyline problem untuk himpunan gedung (1,11,5), (2,6,7), (3,13,9), (12,7,16), (14,3,25), (19,18,22), (23,13,29), (24,4,28).
Gambar B- 1 Contoh skyline problem
Dari input tersebut, akan diproses untuk mendapatkan skyline. Salah satu algoritma penyelesaian skyline problem adalah dengan pertama-tama melakukan proses merge sudut-sudut gedung satu per satu menjadi sebuah poligon. Sudut kiri atas dan kanan atas dari sebuah gedung dihubungkan dengan sudut-sudut gedung disampingnya mulai dari sudut kiri sudut paling kiri sampai sudut paling kanan. Setelah didapatkan poligon tersebut, maka proses selanjutnya adalah skylining poligon. Dalam proses ini setiap titik akan dievaluasi apakah akan disimpan ketinggiannya atau dibuang karena ada gedung yang lebih tinggi darinya pada lokasi tempatnya berdiri. Untuk itu diperlukan flag yang menandakan apakah sebuah titik memenuhi batas flag atau tidak. Gambar B2 memperlihatkan hasil dari proses merge building (tengah) dari dua gedung pertama dari contoh di atas dan hasil dari proses skylining (kanan) poligon yang telah didapatkan.
B-1
B-2
Gambar B- 2 Hasil proses merge building
Skyline yang dihasilkan ini dinotasikan dengan urutan angka (1, 11, 5, 6). Angka pertama menunjukkan posisi dimulainya ketinggian angka kedua dan berlaku sampai angka ketiga, begitu seterusnya. Misalnya pada contoh ini angka pertama yaitu 1 menunjukkan bahwa pada lokasi 1 ketinggian maksimum adalah sebesar angka kedua yang 11. Ketinggian 11 ini berlaku sampai lokasi yang ditunjukkan angka ketiga yaitu 5 di mana pada lokasi itu ketinggian sebesar 6 (angka keempat). Selanjutnya adalah memproses gedung selanjutnya, yaitu dengan melakukan proses merge skyline yang didapatkan dari dua gedung pertama dengan gedung ketiga. Setelah didapatkan poligon hasil merge kemudian dilakukan proses skylining seperti pada langkah sebelumnya. Gambar B- 2 memperlihatkan hasil dari kedua proses tersebut. Langkah ini kemudian diikuti dengan memproses gedung selanjutnya sampai gedung terakhir.
Lampiran C Kasus Uji
Tabel C- 1 Tabel uji kebenaran hasil analisis
No Jenis query 1 Snapshot query
Fungsi a. COUNT b. MAX c. MIN d. SUM e. AVG
2
Valid time-travel query
a. COUNT b. MAX c. MIN d. SUM e. AVG
3
Time-travel query
a. COUNT b. MAX c. MIN d. SUM e. AVG
4
Valid sequenced query
a. COUNT
GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY
b. MAX
i. Tanpa GROUP BY ii. Dengan GROUP BY
c. MIN
i. Tanpa GROUP BY
C-1
WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED
C-2
No
Jenis query
Fungsi
d. SUM
GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY
e. AVG
i. Tanpa GROUP BY ii. Dengan GROUP BY
5
Valid sequenced timetravel query
a. COUNT
i. Tanpa GROUP BY ii. Dengan GROUP BY
b. MAX
i. Tanpa GROUP BY ii. Dengan GROUP BY
c. MIN
i. Tanpa GROUP BY ii. Dengan GROUP BY
d. SUM
i. Tanpa GROUP BY ii. Dengan GROUP BY
e. AVG
i. Tanpa GROUP BY ii. Dengan GROUP BY
6
Valid non-sequenced query
a. COUNT b. MAX c. MIN d. SUM e. AVG f. RISING
i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY
7
Valid non-sequenced time-travel query
a. COUNT b. MAX
i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY
WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED -
C-3
No
Jenis query
Fungsi c. MIN d. SUM e. AVG f. RISING
GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY i. Tanpa GROUP BY ii. Dengan GROUP BY
WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED (1) Tanpa WEIGHTED (2) Dengan WEIGHTED
Tabel C- 2 Tabel kasus uji pesan kesalahan
No 1 2 3
Jenis kesalahan Modify Select Snapshot
4
Sequenced
5
Non-sequenced
Keterangan Query mengandung INSERT, UPDATE dan DELETE Query tidak mengandung SELECT … FROM Query yang mengandung SNAPSHOT namun mengandung VALIDTIME, RISING dan WEIGHTED Query yang mengandung VALIDTIME dan tidak mengandung NONSEQUENCED namun mengandung SNAPSHOT dan RISING Query yang mengandung VALIDTIME NONSEQUENCED namun mengandung SNAPSHOT, dan mengandung WEIGHTED namun tidak mengandung RISING
Lampiran D Hasil Pengujian
Tabel D- 1 Hasil pengujian kebenaran hasil analisis
No Kasus Uji 1.a.i 1.a.ii 1.b.i 1.b.ii 1.c.i 1.c.ii 1.d.i 1.d.ii 1.e.i 1.e.ii 2.a.i 2.a.ii
2.b.i 2.b.ii
2.c.i 2.c.ii
2.d.i
Query temporal SELECT SNAPSHOT COUNT(*) FROM Salary SELECT SNAPSHOT Department, COUNT(*) FROM Salary GROUP BY Department SELECT SNAPSHOT MAX(Salary) FROM Salary SELECT SNAPSHOT Department, MAX(Salary) FROM Salary GROUP BY Department SELECT SNAPSHOT MIN(Salary) FROM Salary SELECT SNAPSHOT Department, MIN(Salary) FROM Salary GROUP BY Department SELECT SNAPSHOT SUM(Salary) FROM Salary SELECT SNAPSHOT Department, SUM(Salary) FROM Salary GROUP BY Department SELECT SNAPSHOT AVG(Salary) FROM Salary SELECT SNAPSHOT Department, AVG(Salary) FROM Salary GROUP BY Department SELECT SNAPSHOT COUNT(*) FROM Salary WHERE VALID OVERLAPS DATE '2007-8-16' SELECT SNAPSHOT Department, COUNT(*) FROM Salary WHERE VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department SELECT SNAPSHOT MAX(Salary) FROM Salary WHERE VALID OVERLAPS DATE ‘2007-8-16’ SELECT SNAPSHOT Department, MAX(Salary) FROM Salary WHERE VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department SELECT SNAPSHOT MIN(Salary) FROM Salary WHERE VALID OVERLAPS DATE ‘2007-8-16’ SELECT SNAPSHOT Department, MIN(Salary) FROM Salary WHERE VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department SELECT SNAPSHOT SUM(Salary) FROM Salary WHERE VALID OVERLAPS DATE ‘2007-8-16’
D-1
Hasil
Query rel. Sesuai
Agg. tree -
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
D-2
No Kasus Uji 2.d.ii
2.e.i 2.e.ii
3.a.i
3.a.ii
3.b.i
3.b.ii
3.c.i
3.c.ii
3.d.i
3.d.ii
Query temporal SELECT SNAPSHOT Department, SUM(Salary) FROM Salary WHERE VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department SELECT SNAPSHOT AVG(Salary) FROM Salary WHERE VALID OVERLAPS DATE ‘2007-8-16’ SELECT SNAPSHOT Department, AVG(Salary) FROM Salary WHERE VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department SELECT SNAPSHOT COUNT(*) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ SELECT SNAPSHOT Department, COUNT(*) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department SELECT SNAPSHOT MAX(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ SELECT SNAPSHOT Department, MAX(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department SELECT SNAPSHOT MIN(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ SELECT SNAPSHOT Department, MIN(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department SELECT SNAPSHOT SUM(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ SELECT SNAPSHOT Department, SUM(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department
Hasil
Query rel. Sesuai
Agg. tree -
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
D-3
No Kasus Uji 3.e.i
3.e.ii
4.a.i.(1) 4.a.i.(2) 4.a.ii.(1)
4.a.ii.(2)
4.b.i.(1) 4.b.i.(2) 4.b.ii.(1)
4.b.ii.(2)
4.c.i.(1) 4.c.i.(2) 4.c.ii.(1)
4.c.ii.(2)
4.d.i.(1)
Query temporal SELECT SNAPSHOT AVG(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ SELECT SNAPSHOT Department, AVG(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ AND VALID OVERLAPS DATE ‘2007-8-16’ GROUP BY Department VALIDTIME SELECT COUNT(*) FROM Salary VALIDTIME SELECT COUNT(WEIGHTED Name) FROM Salary VALIDTIME SELECT Department, COUNT(*) FROM Salary GROUP BY Department VALIDTIME SELECT Department, COUNT(WEIGHTED Name) FROM Salary GROUP BY Department VALIDTIME SELECT MAX(Salary) FROM Salary VALIDTIME SELECT MAX(WEIGHTED Salary) FROM Salary VALIDTIME SELECT Department, MAX(Salary) FROM Salary GROUP BY Department VALIDTIME SELECT Department, MAX(WEIGHTED Salary) FROM Salary GROUP BY Department VALIDTIME SELECT MIN(Salary) FROM Salary VALIDTIME SELECT Department, MIN(WEIGHTED Salary) FROM Salary VALIDTIME SELECT Department, MIN(Salary) FROM Salary GROUP BY Department VALIDTIME SELECT Department, MIN(WEIGHTED Salary) FROM Salary GROUP BY Department VALIDTIME SELECT SUM(Salary) FROM Salary
Hasil
Query rel. Sesuai
Agg. tree -
Sesuai
-
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
D-4
No Kasus Uji 4.d.i.(2) 4.d.ii.(1)
4.d.ii.(2)
4.e.i.(1) 4.e.i.(2) 4.e.ii.(1)
4.e.ii.(2)
5.a.i.(1)
5.a.i.(2)
5.a.ii.(1)
5.a.ii.(2)
5.b.i.(1)
5.b.i.(2)
Query temporal VALIDTIME SELECT SUM(WEIGHTED Salary) FROM Salary VALIDTIME SELECT Department, SUM(Salary) FROM Salary GROUP BY Department VALIDTIME SELECT Department, SUM(WEIGHTED Salary) FROM Salary GROUP BY Department VALIDTIME SELECT AVG(Salary) FROM Salary VALIDTIME SELECT Department, AVG(WEIGHTED Salary) FROM Salary VALIDTIME SELECT Department, AVG(Salary) FROM Salary GROUP BY Department VALIDTIME SELECT Department, AVG(WEIGHTED Salary) FROM Salary GROUP BY Department VALIDTIME SELECT COUNT(*) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ VALIDTIME SELECT Department, COUNT(WEIGHTED Name) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ VALIDTIME SELECT Department, COUNT(*) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department VALIDTIME SELECT Department, COUNT(WEIGHTED Name) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department VALIDTIME SELECT MAX(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ VALIDTIME SELECT Department, MAX(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’
Hasil
Query rel. Sesuai
Agg. tree Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
D-5
No Kasus Uji 5.b.ii.(1)
5.b.ii.(2)
5.c.i.(1)
5.c.i.(2)
5.c.ii.(1)
5.c.ii.(2)
5.d.i.(1)
5.d.i.(2)
5.d.ii.(1)
5.d.ii.(2)
Query temporal VALIDTIME SELECT Department, MAX(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department VALIDTIME SELECT Department, MAX(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department VALIDTIME SELECT MIN(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ VALIDTIME SELECT Department, MIN(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ VALIDTIME SELECT Department, MIN(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department VALIDTIME SELECT Department, MIN(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department VALIDTIME SELECT SUM(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ VALIDTIME SELECT Department, SUM(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ VALIDTIME SELECT Department, SUM(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department VALIDTIME SELECT Department, SUM(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department
Hasil
Query rel. Sesuai
Agg. tree Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
D-6
No Kasus Uji 5.e.i.(1)
5.e.i.(2)
5.e.ii.(1)
5.e.ii.(2)
6.a.i 6.a.ii
6.b.i 6.b.ii
6.c.i 6.c.ii
6.d.i 6.d.ii
6.e.i 6.e.ii
Query temporal VALIDTIME SELECT AVG(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ VALIDTIME SELECT Department, AVG(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ VALIDTIME SELECT Department, AVG(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department VALIDTIME SELECT Department, AVG(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department NONSEQUENCED VALIDTIME SELECT COUNT(*) FROM Salary NONSEQUENCED VALIDTIME SELECT Department, COUNT(*) FROM Salary GROUP BY Department NONSEQUENCED VALIDTIME SELECT MAX(Salary) FROM Salary NONSEQUENCED VALIDTIME SELECT Department, MAX(Salary) FROM Salary GROUP BY Department NONSEQUENCED VALIDTIME SELECT MIN(Salary) FROM Salary NONSEQUENCED VALIDTIME SELECT Department, MIN(Salary) FROM Salary GROUP BY Department NONSEQUENCED VALIDTIME SELECT SUM(Salary) FROM Salary NONSEQUENCED VALIDTIME SELECT Department, SUM(Salary) FROM Salary GROUP BY Department NONSEQUENCED VALIDTIME SELECT AVG(Salary) FROM Salary NONSEQUENCED VALIDTIME SELECT Department, AVG(Salary) FROM Salary GROUP BY Department
Hasil
Query rel. Sesuai
Agg. tree Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
D-7
No Kasus Uji 6.f.i.(1) 6.f.i.(2)
6.f.ii.(1)
6.f.ii.(2)
7.a.i
7.a.ii
7.b.i
7.b.ii
7.c.i
7.c.ii
7.d.i
Query temporal NONSEQUENCED VALIDTIME SELECT RISING(Salary) FROM Salary NONSEQUENCED VALIDTIME SELECT Department, RISING(WEIGHTED Salary) FROM Salary NONSEQUENCED VALIDTIME SELECT Department, RISING(Salary) FROM Salary GROUP BY Department NONSEQUENCED VALIDTIME SELECT Department, RISING(WEIGHTED Salary) FROM Salary GROUP BY Department NONSEQUENCED VALIDTIME SELECT COUNT(*) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ NONSEQUENCED VALIDTIME SELECT Department, COUNT(*) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department NONSEQUENCED VALIDTIME SELECT MAX(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ NONSEQUENCED VALIDTIME SELECT Department, MAX(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department NONSEQUENCED VALIDTIME SELECT MIN(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ NONSEQUENCED VALIDTIME SELECT Department, MIN(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department NONSEQUENCED VALIDTIME SELECT SUM(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’
Hasil
Query rel. Sesuai
Agg. tree Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
D-8
No Kasus Uji 7.d.ii
7.e.i
7.e.ii
7.f.i.(1)
7.f.i.(2)
7.f.ii.(1)
7.f.ii.(2)
Query temporal NONSEQUENCED VALIDTIME SELECT Department, SUM(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department NONSEQUENCED VALIDTIME SELECT AVG(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ NONSEQUENCED VALIDTIME SELECT Department, AVG(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department NONSEQUENCED VALIDTIME SELECT RISING(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ NONSEQUENCED VALIDTIME SELECT Department, RISING(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ NONSEQUENCED VALIDTIME SELECT Department, RISING(Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department NONSEQUENCED VALIDTIME SELECT Department, RISING(WEIGHTED Salary) FROM Salary WHERE TRANSACTION OVERLAPS DATE ‘2007-8-17’ GROUP BY Department
Hasil
Query rel. Sesuai
Agg. tree -
Sesuai
-
Sesuai
Sesuai
-
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Tabel D- 2 Hasil pengujian pesan kesalahan
Jenis kesalahan Modify
Query INSERT INTO Salary VALUES(‘a’, ‘load’, ‘50’, ‘2007-8-15’, ‘2007-9-15’)
Hasil Muncul pesan kesalahan
UPDATE Salary SET name = 'jack' WHERE name = 'jake'
Muncul pesan kesalahan
DELETE FROM Salary WHERE name = 'jake'
Muncul pesan kesalahan
D-9
Jenis kesalahan Select
Snapshot
Sequenced
Non-sequenced
Query VALIDTIME FROM Salary VALIDTIME SELECT Name VALIDTIME Name AVG(Salary) GROUP BY Name VALIDTIME SELECT SNAPSHOT Sum(Salary) FROM Salary SELECT SNAPSHOT RISING(Salary) FROM Salary SELECT SNAPSHOT Sum(WEIGHTED Salary) FROM Salary VALIDTIME SELECT SNAPSHOT COUNT(*) FROM Salary VALIDTIME SELECT RISING(Salary) FROM Salary NONSEQUENCED VALIDTIME SELECT SNAPSHOT MIN(Salary) FROM Salary NONSEQUENCED VALIDTIME SELECT MAX(WEIGHTED Salary) FROM Salary
Hasil Muncul pesan kesalahan Muncul pesan kesalahan Muncul pesan kesalahan Muncul pesan kesalahan Muncul pesan kesalahan Muncul pesan kesalahan Muncul pesan kesalahan Muncul pesan kesalahan Muncul pesan kesalahan Muncul pesan kesalahan