Archive for July 23rd, 2007

SubQuery

Monday, July 23rd, 2007

SubQuery
Subquery adalah perintah SELECT di dalam perintah lain. Mulai dari MySQL 4.1, semua bentuk subquery dan operasinya dalam SQL standar sudah didukung.
Berikut adalah contoh subquery:

SELECT * FROM tabalA WHERE kolom1=(SELECT kolom1 FROM tabelB);

Contoh di atas, SELECT * FROM tabalA merupakan query di luar (perintah outer), sedangkan SELECT kolom1 FROM tabelB merupakan subquery. Dapat dikatakan bahwa subquery adalah bersarang di dalam query luar (outer query).
Kegunaan dari subquery adalah:
1. Mengijinkan query-query yang terstruktur sehingga memungkinkan permisahan setiap bagian dari perintah
2. Menyediakan cara alternatif untuk membentuk operasi yang di sisi lain memerlukan join dan union yang rumit
3. Mudah dibaca

(more…)

Refactoring Database

Monday, July 23rd, 2007

Ikhtisar
Code Refactoring merupakan hal yang sudah developer perangkat lunak. Namun, tidak demikian halnya dengan Database Refactoring. Baik Code maupun Database refactoring, keduanya memiliki konsep yang sama, yakni melakukan perbaikan terhadap sebuah desain yang sudah ada dengan mempertahankan semantik behaviournya. Internal sharing yang penulis rencanakan bertujuan untuk memperkenalkan konsep database refactoring. Untuk lebih mempermudah peserta internal sharing dalam memahami konsep Database Refactoring, selain menyampaikan materi (teori) yang penulis peroleh, penulis juga berencana untuk menyajikan beberapa contoh kasus pada database refactoring.

(more…)

Indexing

Monday, July 23rd, 2007

index di sebuah tabel dalam database berfungsi untuk mempercepat proses searching data. ada berberapa jenis index, di antaranya adalah:1. avl-tree
2.b-tree
dan lain-lain.

di mysql, index yang digunakan secara default adalah b-tree. untuk type tabel innoDB, index disimpan di ibdata sedangkan untuk type tabel myISAM, index disimpan dalam file tersendiri dalam format .myd. index di tabel suatu database menyerupai tabel. hanya saja kalau tabel berisi kolom, tipe data dan sebagainya sedangkan index berisi kunci dan alamat dari kunci tersebut.

kapan index dipakai? (more…)

Temporary Tabel di MySQL

Monday, July 23rd, 2007

Menangani database Sistem Informasi Akademik kepunyaan UAD
(Universitas Ahmad Dahlan). Jumlah tabel dalam SIA tersebut adalah 198 tabel. Banyak sih.

Nah, saya punya pengalaman nih, ketika di suruh membuat query untuk menampilkan daftar profil mahasiswa berdasarkan periode yudisium.

Nah, di query tersebut, saya harus menampilkan lama (dalam satuan
semester) mahasiswa mengambil Tugas akhir. Nah, ketika itu saya bingung karena tidak ada field yang benar2 bisa dipakai dalam perhitungan itu. yang ada cuma field idSemesterMulai dan
IdSemesterSelesai. Dengan asumsi Id tersebut tidak pasti.

akhirnya saya buat tabel temporary untuk tujuan tersebut. querynya seperti ini:

(more…)

Menampilkan Data Dalam Format HoriZontal

Monday, July 23rd, 2007

misalnya kita punya tabel alumni dengan kolom

AlumniNiu,
AlumniJenisKelamin.

untuk
menampilkan jumlah laki-laki dan jumlah perempuan, kita menggunakan query :

select AlumniJenisKelamin as Gender, count(alumniNiu) as JML
from Alumni
group by AlumniJenisKelamin

Tampilannya:
Gender JML
=============
L     5
P     3

Nah,apakah bisa ditampilkan dalam format horizontal?seperti berikut?

Laki  Perempuan
==================
5     3

BISA. gunakan subQuery seperti berikut:
(more…)

Tip dan Trik Query SQL

Monday, July 23rd, 2007

sekedar berbagi pengalaman.saya pernah melakukan konversi database alumni universitas sumatra utara. jumlah datanya 47426 data.nah, permasalahannya di sini, ternyata dari data tersebut, ada data sebanyak 2248 yang isinya adalah data yang double, maksudnya, setiap 1 data dari 2248 data tersebut memiliki 2 data. jadi data yang diperlukan dari 2248 data tersebut adalah setengah dari data itu yaitu sebanyak 1124.

untuk keperluan tersebut, saya harus mengambil 1 data dari 2 data yang double, yang datanya diambil dari 2248 data tersebut. untuk keperluan tersebut saya mencoba menggunakan query seperti ini:
1. menampilkan nim yang datanya double

(more…)

Konversi Database

Monday, July 23rd, 2007

Konversi database merupakan tantangan bagi seorang database engineer. Inti dari konversi database adalah mengambil data lama dari client yang kemudian memasukkan datanya ke database baru yang kita buat. Tidak ada standarisasi untuk konversi database. Pada dasarnya, ketika kita membangun aplikasi baru untuk client kita, perubahan-perubahan fitur dan entitas-entitas merupakan hal yang sering terjadi. Jika client kita sudah ada aplikasi, otomatis mereka mempunyai data lama . Sehingga data lama inilah yang akan tetap kita pakai di aplikasi baru yang akan kita bangun.
Misalnya
aplikasi lama yang dipakai client kita menggunakan database .dbf atau .mdb atau yang lainnya,
sedangkan yang aplikasi baru yang akan kita bangun menggunakan database MySQL. Masalah akan muncul karena format database lama dengan format database baru berbeda sedangkan data lama tetap diperlukan.
U
(more…)

Storage Engine Baru di MySQL

Monday, July 23rd, 2007

menyusul diakuisisinya innodb oleh oracle beberapa waktu lalu, mysql menggandeng pihak2 lain untuk
menelurkan storage engine yang baru.

silakan browsing sendiri2
- falcon (muncul di mysql5.1.x
dengan versi
beta)
http://www.google.co.id/search?hl=id&client=firefox-a&rls=org.mozilla%3Aen-US%3Aoffic
ial&hs=WFK&q=falcon+mysql&btnG=Telusuri&meta=

- soliddb (muncul dengan versi
beta, bisa dipakai
mysql5.0.x)
http://www.google.co.id/search?hl=id&client=firefox-a&rls=org.mozilla%3Aen-US%3
Aofficial&hs=oaz&q=soliddb+mysql&btnG=Telusuri&meta=

yang menarik untuk dicoba
lebih lanjut adalah keduanya sudah support transaksi dan multi versioning, kandidat kuat untuk
mengganti innodb

Storage Engine di MySQL

Monday, July 23rd, 2007

MySQL merupakan salah satu Database Management System (DBMS). Pada materi ini, MySQL yang digunakan adalah MySQL versi 5 atau 5 ke atas. MySQL 5 mendukung beberapa engine penyimpanan yang berfungsi untuk menangani tipe-tipe tabel yang berbeda. Mysql menyimpan engine penyimpanan yang menangani tabel transaction-safe dan meng-handle tabel non-transaction-safe. (more…)