Lompat ke konten Lompat ke sidebar Lompat ke footer

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.

Memahami Selection, Projecting, Joining, dan Grouping Data_
image source: www.promptcloud.com
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 1Selecting 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 2Projecting 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.

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  :

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

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 :

city
Bristol

Gambar 4Set difference based on the city attribute from the Branch and PropertyForRent relations.

Intersection

Ç  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 5Intersection 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 6Operasi 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

Gambar  6. Cartesian product of reduced

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
Nikita Dini
Nikita Dini Blogger, Internet Marketer, Web Designer

Posting Komentar untuk "Memahami Selection, Projecting, Joining, dan Grouping Data"