Memahami Selection, Projecting, Joining, dan Grouping Data
Memahami Selection, Projecting, Joining, dan Grouping Data - Aljabar Relasional adalah suatu bahasa teoritis dengan operasi yang bekerja pada satu atau lebih hubungan untuk menggambarkan hubungan lain tanpa mengubah yang asli relation(s). Seperti itu, kedua-duanya operand dan hasil adalah hubungan, dan demikian keluaran dari satu operasi dapat menjadi masukan ke operasi lain. Ini mengijinkan ungkapan untuk tersarang relational aljabar, sama halnya kita dapat bersarang operasi perhitungan. Properti ini disebut penutup: hubungan tertutup di bawah aljabar, sama halnya angka-angka tertutup di bawah operasi perhitungan.
Algebra/Aljabar Relasional adalah suatu relation-at-a-time ( atau menetapkan) bahasa di mana semua tuples, mungkin dari beberapa hubungan, digerakkan satu statemen tanpa pengulangan. Ada beberapa variasi atau sintaksis untuk relational aljabar memerintahkan dan kita menggunakan suatu notasi yang simbolis umum untuk perintah dan menyajikannya secara informal.Pembaca yang tertarik disebut Ullman (1988) untuk suatu perawatan yang lebih formal.
Pemilihan (atau Pembatasan) [Selection (or Restriction)]
Latihan 1. Operasi Pemilihan(Selection operation)
Daftar semua staff dengan suatu gaji lebih besar dari£10,000
σsalary> 10000 (Staff)
Di sini, relasi masukan adalah Staff dan predikat adalah gaji (salary)> 10000. Operasi Pemilihan menggambarkan suatu relasi hanya berisi Staff itu tuples dengan suatu gaji lebih besar dari £ 10,000. Hasil dari operasi ini ditunjukkan pada Gambar 12.2 Predikat yang lebih kompleks dapat dihasilkan menggunakan operator logika Ù (AND), Ú (OR) dan ~ (NOT).
Projection
Latihan 2. Projection operation (Operasi proyeksi)
Hasilkan daftar gaji untuk semua staff, yang diperlihatkan hanya staffNo, fName, lName, dan salary (gaji) details.
ΠstaffNo, fName, 1Name, salary,(Staff)
Di dalam contoh ini, Operasi Proyeksi menggambarkan suatu relasi yang berisi hanya Atribut Staff yang ditunjuk staffNo, fName, 1Name, and salary di dalam order yang ditetapkan itu.
Gambar 2. Projecting the Staff relation over the StaffNo, fName,1Name, and salary attributes.
Menetapkan Operasi(SetOperations)
Operasi Seleksi dan Operasi Proyeksi meng-extract informasi dari hanya pada satu relasi.Ada sungguh-sungguh kasus di mana kita bermaksud mengkombinasikan informasi dari beberapa relasi.Di dalam sisa dari bagian ini, kita menguji operasi binary relasi algebra/aljabar, mulai dengan operasi Union yang didtetapkan, Menetapkan perbedaan, intersection, dan produk Cartesian.
Union
Jika R dan S punya tuple-tuple I dan J, berturut-turut, union mereka diperoleh dengan rangkaiannya ke dalam satu relasi dengan maksimum ( I+ J) tuples. Union adalah mungkin jika hanya bagan dua relasi yang metching, itu adalah, jika mereka mempunyai jumlah atrubt yang sama dengan pasangan masing-masing atributnya sesuai mempunyai domain yang sama. Dengan kata lain, relasi harus union-compatible. Catat nama atribut itu yang tidak digunakan melukiskan union-compatibility. Dalam beberapa kasus, Operasi Proyeksi mungkin adalah digunakan untuk membuat dua relasi union-compatible.
Latihan 3. Operasi Union (Union operation)
List all cities where there is either a branch office or property for rent.
Daftar semua kota besar dimana jika adalah juga suatu kantor cabang maupun properti untuk sewa.
Πcity(Branch) È Πcity(PropertyForRent)
Untuk menghasilkan relasi union-compatible, kita pertama penggunaan Operasi Proyeksi untuk merancang (Branch) Cabang dan relasi Propertyforrent atas atribut City (kota besar), mengeliminir salinan jika perlu. Ketika kemudian menggunakan Operasi Union untuk mengkombinasikan relasi yang baru ini menghasilkan hasil seperti ditunjukkan pada Gambar berikut :
Gambar 3. Union based on the city attribute from the Branch and PropertyForRent relations.
Menetapkan perbedaan (Set difference)
Latihan 4. Set difference operation
List all cities where there is a branch office no properties for rent. Daftar semua kota besar [di mana/jika] ada suatu kantor cabang tidak (ada) properti untuk sewa.
Πcity(Branch)- Πcity(PropertyForRent)
Seperti di contoh yang sebelumnya, kita menghasilkan relasi union-compatible dengan pemroyeksian Cabang dan Relasi Propertyforrent relasi atas atribut kota besar atribut. Kita kemudian menggunakan Operasi Perbedaan di-set (deference operation) untuk mengkombinasikan relasi yang baru ini untuk menghasilkan hasil yang ditunjukkan Gambar berikut :
Gambar 4. Set difference based on the city attribute from the Branch and PropertyForRent relations.
Intersection
Latihan 5. Operasi Intersection (Intersection operation)
Daftar semua kota besar di mana jika ada kedua-duanya yang kantor cabang dan sedikitnya properti untuk sewa.
Πcity(Branch)ÇΠcity(PropertyForRent)
Seperti di contoh yang sebelumnya, kita menghasilkan relasi union-compatible dengan memroyeksikan Cabang danRelasi Propertyforrent atas atribut kota besar atribut. Kita kemudian menggunakan Operasi Intersection untuk mengkombinasikan relasi yang baru ini untuk menghasilkan hasil itu seperti yang ditunjukkan pada Gambar berikut :
Gambar 5. Intersection based dalam atribut kota (city) dari Cabang (Branch) dan relasi PropertyForRent .
Catat bahwa kita dapat menyatakan Operasi Intersection dalam kaitannya dengan Operasi Perbedaan yang di-setSet difference.
R ÇS R – (R – S)
Produk Cartensian (Cartesian product)
Operasi Produk Cartesian mengalikan dua relasi untuk menggambarkan relasi lain terdiri dari semua pasangan-pasangan yang mungkin dari relasi tuple-tuple. Oleh karena itu, jika satu relasi I mempunyai tuples dan atribut N dan lainnya mempunyaiJ tuples dan atribut M, relasi produk Cartesian akan berisi (I*J) tuples dengan atribut (N+M) itu adalah mungkin bahwa kedua-kedianya relasi yang mungkin punya atribut dengan nama yang sama. Dalam hal ini, nama atribut adalah tak kaku (prefixed) dengan menyebut relasi untuk memelihara keunikan nama atribut di dalam suatu relasi.
Latihan 6. Operasi produk Cartesian (Cartesian product operation)
Daftar komentar dan nama dari semua klien siapa yang sudah memandang suatu properti untuk sewa.
Nama klien (clients) disimpan di relasi Klien(Clients) dan detil pengamatan disimpan di relasi Pengamatan. Untuk memperoleh daftar klien dan komentar pada property yang mereka sudah mengamatinya (Viewing), kita harus mengkombinasikan dua relasi ini :
(Π clientNo,fName, 1Name(Client)) X (Π clientNo, PropertyRent, comment(Viewing))
Hasil ini dari operasi ini ditunjukkan Gambar di bawah ini. Dalam mempresentasikannya membentuk, relasi ini berisi informasi yang lebih dibanding kita perlukan. Sebagai contoh, tuple yang pertama dari relasi ini berisi clientNo berbeda menilai. Untuk memperoleh daftar yang diperlukan, kita harus menyelesaikan suatu Operasi Seleksi pada relasi ini untuk menh-extract tuples di mana Client.clientNo=Viewing (Mengamati). ClientNo. Operasi yang lengkap seperti itu:
σClient.clientNo=Viewing.ClientNo(ΠclientNo,fName,1Name(Client))X(ΠclientNo,PropertyRent,comment(Viewing))
Hasil operasi ditunjukan pada Gambar berikut :
Gambar 6. Cartesian product of reduced
Client and Viewing relations.
Algebra/Aljabar Relasional adalah suatu relation-at-a-time ( atau menetapkan) bahasa di mana semua tuples, mungkin dari beberapa hubungan, digerakkan satu statemen tanpa pengulangan. Ada beberapa variasi atau sintaksis untuk relational aljabar memerintahkan dan kita menggunakan suatu notasi yang simbolis umum untuk perintah dan menyajikannya secara informal.Pembaca yang tertarik disebut Ullman (1988) untuk suatu perawatan yang lebih formal.
image source: |
baca juga: Memahami Transformasi Data dalam Data Warehouse
Pemilihan (atau Pembatasan) [Selection (or Restriction)]
σpredicate (R) | Operasi Seleksi bekerja pada [atas] relasi tunggal R dan menggambarkan suatu relasi yang berisi hanya [mereka/yang] tuples R itu mencukupi kondisi yang ditetapkan ( predicate). |
Latihan 1. Operasi Pemilihan(Selection operation)
Daftar semua staff dengan suatu gaji lebih besar dari£10,000
σsalary> 10000 (Staff)
Di sini, relasi masukan adalah Staff dan predikat adalah gaji (salary)> 10000. Operasi Pemilihan menggambarkan suatu relasi hanya berisi Staff itu tuples dengan suatu gaji lebih besar dari £ 10,000. Hasil dari operasi ini ditunjukkan pada Gambar 12.2 Predikat yang lebih kompleks dapat dihasilkan menggunakan operator logika Ù (AND), Ú (OR) dan ~ (NOT).
StaffNo | fName | LName | position | sex | DOB | salary | Branch |
SL21 | John | White | Manager | M | 1-Oct-45 | 30000 | B005 |
SG37 | Ann | Beech | Assistant | F | 10-Nov-60 | 12000 | B003 |
SG14 | David | Ford | Supervisor | M | 24-Mar-58 | 18000 | B003 |
SG5 | Susan | Brand | Manager | F | 3-Juni-40 | 24000 | B003 |
Gambar 1. Selecting salary > 10000 from the Staff relation. |
Projection
Πa1,…,an (R) | Operasi Proyeksi bekerja pada relasi tunggal R dan menggambarkan suatu relasi yang berisi suatu subset vertikal dari atribut yang ditetapkan dan mengeliminir salinan. |
Latihan 2. Projection operation (Operasi proyeksi)
Hasilkan daftar gaji untuk semua staff, yang diperlihatkan hanya staffNo, fName, lName, dan salary (gaji) details.
ΠstaffNo, fName, 1Name, salary,(Staff)
Di dalam contoh ini, Operasi Proyeksi menggambarkan suatu relasi yang berisi hanya Atribut Staff yang ditunjuk staffNo, fName, 1Name, and salary di dalam order yang ditetapkan itu.
staffNo | fName | 1Name | Salary |
SL21 | John | White | 30000 |
SG37 | Ann | Beech | 12000 |
SG14 | David | Ford | 18000 |
SA9 | Mary | Howe | 9000 |
SG5 | Susan | Brand | 24000 |
SL41 | Julie | Lee | 9000 |
Gambar 2. Projecting the Staff relation over the StaffNo, fName,1Name, and salary attributes.
Menetapkan Operasi(SetOperations)
Operasi Seleksi dan Operasi Proyeksi meng-extract informasi dari hanya pada satu relasi.Ada sungguh-sungguh kasus di mana kita bermaksud mengkombinasikan informasi dari beberapa relasi.Di dalam sisa dari bagian ini, kita menguji operasi binary relasi algebra/aljabar, mulai dengan operasi Union yang didtetapkan, Menetapkan perbedaan, intersection, dan produk Cartesian.
Union
R ÈS | Union dua relasi R dan S menggambarkan suatu relasi yang berisi semua tuples R, atau S, atau kedua-duanya R dan S, salinan tuples dieliminir. R dan S harus union-compatible. |
Latihan 3. Operasi Union (Union operation)
List all cities where there is either a branch office or property for rent.
Daftar semua kota besar dimana jika adalah juga suatu kantor cabang maupun properti untuk sewa.
Πcity(Branch) È Πcity(PropertyForRent)
Untuk menghasilkan relasi union-compatible, kita pertama penggunaan Operasi Proyeksi untuk merancang (Branch) Cabang dan relasi Propertyforrent atas atribut City (kota besar), mengeliminir salinan jika perlu. Ketika kemudian menggunakan Operasi Union untuk mengkombinasikan relasi yang baru ini menghasilkan hasil seperti ditunjukkan pada Gambar berikut :
city |
London |
Aberdeen |
Glasgow |
Bristol |
Gambar 3. Union based on the city attribute from the Branch and PropertyForRent relations.
Menetapkan perbedaan (Set difference)
R - S | Operasi Perbedaan (Set difference operation) menggambarkan suatu relasi dari tuple-tuple itu di dalam relasi R tapi bukan di dalam S. R dan S harus union-compatible |
List all cities where there is a branch office no properties for rent. Daftar semua kota besar [di mana/jika] ada suatu kantor cabang tidak (ada) properti untuk sewa.
Πcity(Branch)- Πcity(PropertyForRent)
Seperti di contoh yang sebelumnya, kita menghasilkan relasi union-compatible dengan pemroyeksian Cabang dan Relasi Propertyforrent relasi atas atribut kota besar atribut. Kita kemudian menggunakan Operasi Perbedaan di-set (deference operation) untuk mengkombinasikan relasi yang baru ini untuk menghasilkan hasil yang ditunjukkan Gambar berikut :
city |
Bristol |
Gambar 4. Set difference based on the city attribute from the Branch and PropertyForRent relations.
Intersection
R Ç S | Operasi Intersection menggambarkan relasi yang terdiri atas ketetapan semua tuple itu adalah kedua-duanya dalam R dan S. R dan S harus union-compatible. |
Latihan 5. Operasi Intersection (Intersection operation)
Daftar semua kota besar di mana jika ada kedua-duanya yang kantor cabang dan sedikitnya properti untuk sewa.
Πcity(Branch)ÇΠcity(PropertyForRent)
Seperti di contoh yang sebelumnya, kita menghasilkan relasi union-compatible dengan memroyeksikan Cabang danRelasi Propertyforrent atas atribut kota besar atribut. Kita kemudian menggunakan Operasi Intersection untuk mengkombinasikan relasi yang baru ini untuk menghasilkan hasil itu seperti yang ditunjukkan pada Gambar berikut :
city |
Aberdeen |
London |
Glasgow |
Gambar 5. Intersection based dalam atribut kota (city) dari Cabang (Branch) dan relasi PropertyForRent .
Catat bahwa kita dapat menyatakan Operasi Intersection dalam kaitannya dengan Operasi Perbedaan yang di-setSet difference.
R ÇS R – (R – S)
Produk Cartensian (Cartesian product)
R x S | Operasi Produk Cartesian adalah menggambarkan suatu relasi penggabungan dari tiap tuple relasi R dengan tiap-tiap relasi tuple S. |
Operasi Produk Cartesian mengalikan dua relasi untuk menggambarkan relasi lain terdiri dari semua pasangan-pasangan yang mungkin dari relasi tuple-tuple. Oleh karena itu, jika satu relasi I mempunyai tuples dan atribut N dan lainnya mempunyaiJ tuples dan atribut M, relasi produk Cartesian akan berisi (I*J) tuples dengan atribut (N+M) itu adalah mungkin bahwa kedua-kedianya relasi yang mungkin punya atribut dengan nama yang sama. Dalam hal ini, nama atribut adalah tak kaku (prefixed) dengan menyebut relasi untuk memelihara keunikan nama atribut di dalam suatu relasi.
Latihan 6. Operasi produk Cartesian (Cartesian product operation)
Daftar komentar dan nama dari semua klien siapa yang sudah memandang suatu properti untuk sewa.
Nama klien (clients) disimpan di relasi Klien(Clients) dan detil pengamatan disimpan di relasi Pengamatan. Untuk memperoleh daftar klien dan komentar pada property yang mereka sudah mengamatinya (Viewing), kita harus mengkombinasikan dua relasi ini :
(Π clientNo,fName, 1Name(Client)) X (Π clientNo, PropertyRent, comment(Viewing))
Hasil ini dari operasi ini ditunjukkan Gambar di bawah ini. Dalam mempresentasikannya membentuk, relasi ini berisi informasi yang lebih dibanding kita perlukan. Sebagai contoh, tuple yang pertama dari relasi ini berisi clientNo berbeda menilai. Untuk memperoleh daftar yang diperlukan, kita harus menyelesaikan suatu Operasi Seleksi pada relasi ini untuk menh-extract tuples di mana Client.clientNo=Viewing (Mengamati). ClientNo. Operasi yang lengkap seperti itu:
σClient.clientNo=Viewing.ClientNo(ΠclientNo,fName,1Name(Client))X(ΠclientNo,PropertyRent,comment(Viewing))
Hasil operasi ditunjukan pada Gambar berikut :
Client.clientNo | fName | lName | Viewing.clientNo | propertyNo | Comment |
CR76 | John | Kay | CR56 | PA14 | too small |
CR76 | John | Kay | CR76 | PG4 | too remote |
CR76 | John | Kay | CR56 | PG4 | |
CR76 | John | Kay | CR62 | PA14 | no dining room |
CR76 | John | Kay | CR56 | PG36 | |
CR56 | Aline | Stewart | CR56 | PA14 | too small |
CR56 | Aline | Stewart | CR56 | PG4 | too remote |
CR56 | Aline | Stewart | CR76 | PG4 | |
CR56 | Aline | Stewart | CR62 | PA14 | no dining room |
CR56 | Aline | Stewart | CR56 | PG36 | |
CR74 | Mike | Ritchie | CR56 | PA14 | too small |
CR74 | Mike | Ritchie | CR76 | PG4 | too remote |
CR74 | Mike | Ritchie | CR56 | PG4 | |
CR74 | Mike | Ritchie | CR62 | PA14 | no dining room |
CR74 | Mike | Ritchie | CR56 | PG36 | |
CR62 | Mary | Tregar | CR56 | PG14 | too small |
CR62 | Mary | Tregar | CR76 | PG4 | too remote |
CR62 | Mary | Tregar | CR56 | PG4 | |
CR62 | Mary | Tregar | CR62 | PA14 | no dining room |
CR62 | Mary | Tregar | CR56 | PG36 | |
Client.clientNo | fName | lName | Viewing.clientNo | propertyNo | Comment |
CR76 | John | Kay | CR76 | PG4 | too small |
CR56 | Aline | Stewart | CR56 | PA14 | too remote |
CR56 | Aline | Stewart | CR56 | PG4 | |
CR56 | Aline | Stewart | CR56 | PG36 | no dining room |
CR76 | Mary | Tregar | CR62 | PA36 | |
Client and Viewing relations.
Gambar 7. Restricted Cartesian product of reduced Client and Viewing relations.
Sekian artikel tentang Memahami Selection, Projecting, Joining, dan Grouping Data. Semoga bermanfaat.
DaftarPustaka
- Connoly, T., & Begg, c. (2005). database system; a practical approach to design, implementation and management (4th ed.). Harlow :Addison wesley
- Indrajani. (2011). Perancangan Basis Data Dalam All In 1, ISBN 978-979-27-9980-4, Jakarta: Elex Media Computindo
- Indrajani. (2011). Bedah Kilat 1 Jam – Pengantar dan Sistem Basis Data, ISBN 978-979-27-9695-7, Jakarta: Elex Media Computindo
- Inmon, W.H. (2005). Building The Data Warehouse. Third edition. John Wiley & Sons. New York
- O'Brien, J. (2003). Introduction To Information Systems (11th ed.). New York: Mc Graw Hill
Posting Komentar untuk "Memahami Selection, Projecting, Joining, dan Grouping Data"
Tata tertib berkomentar
1. Komentar harus relevan dengan konten yang dibaca
2. Gunakan bahasa yang sopan
3. Tidak mengandung unsur SARA or Bullying.
4. Dilarang SPAM.
5. Dilarang menyisipkan link aktif pada isi komentar.
Berlakulah dengan bijak dalam menggunakan sarana publik ini. Baca dan pahami isinya terlebih dahulu, barulah Berkomentar. Terimakasih.