Kamis, 03 April 2014

Aljabar Relasional - Dosen



  • Pengertian Aljabar Relasional




Aljabar relasional adalah sekumpulan operasi yang digunakan untuk melakukan proses manipulasi data dalam rangka untuk mendapatkan informasi yang diperlukan dari database.
  • Operasi Aljabar Relasional
1. Select dan Project
Contoh:

Aljabar relasional: σsemester<8(mhs)
Query: select * from mhs where semester<8
Hasil:





Aljabar relasional: πnama(σipk>2.50  semester<10(mhs))
Query: select nama from mhs where ipk>2.50 or semester<10
Hasil:


2. Operasi dengan dua tabel (Union, Intersection, Set Difference, Cross Join, Natural Join)
Contoh:
Tabel mhs
NIM
NAMA
SEMESTER
IPK
2008-31-003
Clara
6
2,83
2007-31-002
Budi
8
2,76
2006-31-001
Amir
10
2,54

Tabel mhs2
NIM
NAMA
SEMESTER
IPK
2008-31-003
Clara
6
2,83
2007-31-002
Budi
8
2,76
2008-31-004
Didi
8
3
2007-31-005
Fahira
8
3,2

Tabel nilai
NIM
KDMTKUL
NILAI
2006-31-001
ICA626
A
2007-31-002
ICA323
B

- Union
Aljabar relasiona: mhs ∪ mhs2
Query: select * from mhs union select * from mhs2
Hasil:
NIM
NAMA
SEMESTER
IPK
2006-31-001
Amir
10
2,54
2007-31-002
Budi
8
2,76
2007-31-005
Fahira
8
3,2
2008-31-003
Clara
6
2,83
2008-31-004
Didi
8
3

- Intersection
Aljabar relasional: mhs ∩ mhs2
Query: select * from mhs intersect select * from mhs2
Hasil:
NIM
NAMA
SEMESTER
IPK
2007-31-002
Budi
8
2,76
2008-31-003
Clara
6
2,83

- Set Difference
Aljabar relasional: mhs - mhs2
Query: select * from mhs minus select * from mhs2
Hasil:
NIM
NAMA
SEMESTER
IPK
2006-31-001
Amir
10
2,54
- Cross Join
Aljabar relasional: mhs X nilai
Query: select * from mhs cross join nilai
Hasil:
NIM
NAMA
SEMESTER
IPK
NIM
KDMTKUL
NILAI
2008-31-003
Clara
6
2,83
2006-31-001
ICA626
A
2007-31-002
Budi
8
2,76
2006-31-001
ICA626
A
2006-31-001
Amir
10
2,54
2006-31-001
ICA626
A
2008-31-003
Clara
6
2,83
2007-31-002
ICA323
B
2007-31-002
Budi
8
2,76
2007-31-002
ICA323
B
2006-31-001
Amir
10
2,54
2007-31-002
ICA323
B

- Natural Join
Aljabar relasional: mhs ∞ nilai
Query: select * from mhs natural join nilai
Hasil:
NIM
NAMA
SEMESTER
IPK
KDMTKUL
NILAI
2007-31-002
Budi
8
2,76
ICA323
B
2006-31-001
Amir
10
2,54
ICA626
A

  • Query Decomposition
Pada Lapis Pertama ini input adalah query dirubah menjadi Aljabar query.
Query Decomposition dibagi menjadi 4 bagian:
1. Normalisasi yaitu manipulasi query
Aturan untuk operasi logika
- p1 p2 <=> p2 ^ p1
- p1 V p2 <=> p2 V p1
- p1 ^ ( p2 ^p3) <=> (p1 ^ p2) ^p3
- p1 V (p2 Vp3) <=>( p1 V p2) Vp3
- p1 ^ (p2 Vp3)<=>(p1 ^ p2) V (p1 ^ p3)
- p1 V (p2 ^ p3) <=> (p1 V p2) ^ (p1 V p3)
- ( p1 ^ p2)<=> p1 V p2
- ( p1 V p2) <=> p1 ^ p2
- (p) <=> p
Contoh:
Mencari nama pelanggan dengan ap ‘lenteng agung ‘ dengan daya 1300 atau 900 watt
Query: select nmpel from pelanggan p , daya_terpasang d where p.idpel = d.idpel and ap = “lenteng agung” and (daya = 1300 Or daya = 900)
Normalisasi: p.idpel = d.idpel ap=“lenteng agung” (daya = 1300 V Daya =900)
Atau
Query: select nmpel from pelanggan p , daya_terpasang d where (p.idpel = d.idpel And ap = 'lenteng
agung‘ and daya = 1300 ) or (p.idpel = d.idpel and ap = 'lenteng agung' and daya = 900 )
(p.idpel = d.idpel ap=“lenteng agung” Daya = 1300) V
(p.idpel = d.idpel ap=“lenteng agung” Daya = 900)
(p.idpel = d.idpel ap=“lenteng agung” Daya = 1300) V
(p.idpel = d.idpel ap=“lenteng agung” Daya = 900)


2. Analisa semantik yaitu mendeteksi query yang salah
Tipe yang tidak benar:
1. Jika ada atribut atau nama relasi tidak didefenisi dalam skema global
2. Ada operasi yang diaplikasikan ke atribut dengan tipe yang salah
contoh: select alamat from pelanggan where ap > 1900
Query tidak benar: Atribut alamat tidak dideklarasikan dalam struktur tabel Operator > 1900 tidak compatible dengan type text dari ap

3. Memperbaiki Query yaitu mengeliminasi predicate yang berulang
1. Ada komponen yang tidak memberikan konstribusi dalam hasil akhir
2. Hanya sebagian dari relational queris yang dapat di tes untuk koreksi
3. Untuk mendektesi : query graph dan Join Graph
Contoh: Cari nama pelanggan dan daya dengan tarif kurang dari 1100
Query: select nmpel, daya from pelanggan p, daya_terpasang d, harga h where p.idpel = d.idpel and d.gol = h.gol and tarif <1100

4. Menata ulang struktur dari query (restruktured) yaitu menggunakan aturan transformasi
Query: select nmpel, daya from pelanggan p, daya_terpasang d, harga h where p.idpel = d.idpel and d.gol = h.gol and tarif<110



Tidak ada komentar:

Posting Komentar