Pages

Sabtu, 05 Januari 2013

SubQuery Lanjutan



Sesuai janji saya, saya akan memposting Materi SubQuery.
Apa itu SubQuery? SubQuery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL statement yang lain.


Pada gambar di atas terlihat bahwa sub query dijalankan sekali sebelum main query. Contoh penulisan posisi penulisan subquery dalam SQL command :
SELECT select_list
FROM table
WHERE expr operator (SELECT select_list FROM table);


*) Penggunaan SubQuery
Tabel employees
employee_id
name
address
salary
111
Dharu Wihartasih
Kudus
2500000
112
Annisa Kristi
Pemalang
2450000
113
Afifah
Kudus
3100000
114
Rizka Sweet  J.
Salatiga
2350000
115
Chintia Riadina M.
Semarang
2550000
116
Miskatun Niswah
Semarang
2400000
117
Fatati Nuriana
Banyumas
2300000
118
Darkonah
Brebes
2500000

Salah satu dari penggunaan Subquery adalah untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui (unknown values). Berikut contohnya :
SELECT name
FROM employees
WHERE salary >  (SELECT salary FROM employees WHERE employees_id=111);


Maka bisa kita lihat hasilnya,
name
Afifah
Chintia Riadina M.

Mudahkan asalkan kita bisa menerapkan logika dari query penggunaan subquery akan lebih mudah.
Contoh dari penggunaan subquery yang kedua yaitu dapat menggunakan aggregate function seperti count , sum, avg, distinct. Lihat contoh berikut ini.
Tabel Mahasiswa
nim
namaMhs
5302411108
Annisa Kristi
5302411114
Dharu Wihartasih
5302411149
Afifah
5302411111
Reni Ikawati
5302411133
Rizka Sweet J
5302411131
Chintia Riadina M

Tabel Nilai
nim
KodeMK
nilai
5302411111
101
88
5302411114
102
78
5302411114
103
84
5302411133
101
85
5302411149
102
87
5302411108
103
79
5302411131
101
82

Tabel MataKuliah
KodeMK
namaMK
Sks
101
Pemrograman Berorientasi objek
2
102
Sistem Basis Data
2
103
Pengolahan Sinyal Digital
2

Secara umum untuk menampilkan nilai maksimal pada KodeMK =’102’ adalah sebagai berikut.
Select*from Nilai where KodeMK=’102’ order by nilai desc limit 0,1;
Maka akan tampil
nim
KodeMK
Nilai
5302411149
102
87

Itu penggunaan secara umum untuk menampilkan data tertinggi yang tidak diketahui, namun bila kita menggunakan sub query syntaknya:
SELECT nim,kodeMK,nilai from nilai where nilai=max(nilai);
Secara logika sudah benar, tetapi ditemukan eror
Kita akan menggunakan aggregate function yaitu MAX, akan tetapi sayang sekali  hanya bisa digunakan setelah kata SELECT dan HAVING. Maka dari itu  kita membutuhkan subquery sebagai tambahan untuk memperjelas klausa.
Select nim,kodeMK,nilai where nilai =(select max(nilai) from nilai);
Bisa kita lihat penggunaan subquery dalam hal penggunaan aggregate function untuk tambahan clausa di WHERE

Selasa, 18 Desember 2012

Intro Sub Query

Bayangkan dalam sebuah ladang, kita menanam  buah-buahan. Dari berbagai macam buah itu kita ingin mengetahui buah-buah mana saja yang siap panen. Apa yang kita lakukan untuk memanen buah yang masak? Tentu saja menyeleksinya, memilih ciri-ciri yang buah masak lalu mengambilnya.
Mari kita terapkan bayangan di atas ke dalam sebuah basis data. Dalam basis data kita mengenal SQL (Structure Query Language). SQL adalah perintah untuk melakukan manipulasi data. Seperti menghapus, mengubah, melihat, menyeleksi, menggabungkan.
Pada pembahasan kali ini saya ingin sedikit mengulas Query tetapi hanya saya tekankan ke bagian select. Because of What??? Iya karena dari bayangan yang sudah saya tulis bagian intro, kita harus memilih buah yang masak untuk memanen buah. Kalau dalam basis data dinamakan dengan select. Yaitu menyeleksi data sesuai dengan keinginan kita.
Ah, saya rasa mudah ya menggunakan select.  Tinggal pake SELECT FROM WHERE itu aja. Udah selese, menyeleksi data yang kita inginkan. :D
Mari berpikir sejenak apa iya hanya cukup dengan itu. Coba saya kasih gambaran lagi ketika temen2 udah jadi bapak-ibu guru, punya sekumpulan data-data tentang rata-rata murid2, ada nilai IPA,IPS, Matematika, dll. Nah, lalu ada persoalan bagaimana mengetahui data siswa yang mempunyai nilai rata-rata tertinggi, terendah, data siswa dengan nilai rata-rata di atas 8, wah kalau soal begituan ya, rumit juga ya kalo Cuma pakai query aja.
Nah dari berbagai macam curhat-curhatan q ke temen2, aku mau kasih penyelesaian, pakai bantuan SubQuery.  Kenapa pakai Sub Query? Because of what, Sub Query artinya ada query tambahan dalam query itu sendiri. Nah yang saya bahas itu tentang penggunanaan SELECT. Kita kan bahasnya tentang seleksi data.  Oke cukup intro dari saya tentang Sub Query……. Aku yakin ga jelas sepenuhnya… silakan baca postingan saya selanjutnya…. LEBIH JAUH TENTANG SUBQUERY. :D
Wassalamualaiakum… ^_^

Rabu, 28 November 2012

Dependency dan Normalisasi



Materi kali saya menerangkan tentang Dependency dan Normalisasi.
Ketergantungan kunci atau Functional Dependent merupakan keterkaitan antara atribut dalam suatu relasi.Dinotasikan dengan anak panah (->), dalam implikasinya dituliskan A->B. tanda  -> bermakna:
Isi Attribut A menentukan isi attribute B
atau
Attribut B functionally dependent A.
Kondisi tersebut akan terjadi jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama
Contoh:
NIM->Nama_Mhs
Kita lihat tabel IPK mahasiswa untu lebih jelasnya, kita melihat bahwa disitu ada nama mahasiswa yang sama yaitu Noor Hidayah tetapi memiliki NIM yang berbeda, maka terbukti bahwa Nama_Mhs bergantung pada NIM
NIM
Nama_Mhs
Jurusan
IPK
1000020
Nita Anjelina
PTIK
3.4
1000021
Akbar Tanjung
PTIK
3.45
1000022
Noor Hidayah
PTIK
3.6
1000023
Noor Hidayah
PTIK
3.33

Kamis, 15 November 2012

Query Language

Query language merupakan sebuah bahasa yang dikhususkan untuk meminta informasi dari database.
Query language terdiri dari 2 jenis:
  1. Prosedural : user menginputkan ke sistem instruksi dalam basis data untuk menentukan hasil yang diinginkan contoh  : aljabar relational
  2. Non procedural
Aljabar Relational merupakan penggabungan beberapa relasi untuk dijadikan satu relasi yang diingikan. Beberapa operator dasar dalam aljabar relational: selection,projection, union, set difference, Cartesian product, rename. Terdapat 2 jenis operasi yang sering digunakan yaitu unary dan binary.
1.  Unary
Digunakan hanya pada satu buah relasi contoh: selection, projection.
2.  Binary
Menggunakan dua buah relasi dalam melakukan operasi contoh: Union, cartesiant product. 

Jumat, 26 Oktober 2012

Transformasi Model Data



Pada pertemuan kali ini akan dibahas lebih lanjut mengenai model data relational yang meliputi
1. Varian entitas
     - Entitas kuat
     - Entitas lemah
2. Agregasi
1. Entitas Kuat dan Entitas Lemah
Entitas Kuat
Entitas lemah
Himpunan entitas yang dilibatkan dalam ERD disebut entitas kuat
Entitas yang bergantung pada entitas kuat
Tidak memiliki ketergantungan dengan himpunan entitas lainnya
Tidak memliki primary key

Contoh Entitas Kuat dan Lemah


Agregasi
-  Menggambarkan sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD.

Rabu, 03 Oktober 2012

Tugas Model Data Relational

  Mencari atribut key :

PRIMARY KEY : account-number, loan-number, branch-name, customer-name

CANDIDATE KEY : customer-name, branch-name, account number, loan-number, branch-city
ALTERNATE KEY :  branch-city
FOREIGN KEY : account-number, loan-number

Buatlah tabel-tabel dan relasinya:
Siswa, Pelajaran, Guru dengan minimal masing-masing tabel mempunyai 5 record
buat tabel baru relasinya
tunjukkan atribut kunci
ERD


Model data Relational



Model data Relational

  • Data Model terdiri dari 2:
  • ER-Model (High Level)
  • Relational-Model (Low Level)


Model Data
Tabel mempunyai 2 komponen yaitu baris dan kolom, baris dalam basis data dinamakan tuple, sedangkan kolom disebut atribut, atribut sendiri dalam hal ini merupakan tipe variabel misal int, char.
Pengertian dari Model Data Relational
Kumpulan tabel dengan masing-masing relasi yang terkait, tersusun atas tuple dan atribut pada basis data. Data-data tersebut diletakkan dalam bentuk relasi yang disebut table. Juga memiliki struktur yang mirip dengan ER database.
Istilah
Keterangan
Relasi
Mempunyai 2 komponen yang terdiri dari kolom dan baris
Attribute
Kolom pada tabel yang biasanya hanya berdiri satu tipe data misal int, char, txt
Tuple
Baris pada tabel yang berkaitan yang menginformasikan satu entitas
Domain
Semua kemungkinan nilai yang diberikan pada attribute
Degree
Jumlah atribut dalam tabel/relasi
Cardinality
Jumlah atribut dalam sebuah tabel /relasi