Standarisasi SQL oleh Simon Holywell – Bagian 1

Penulisan kode SQL yang memiliki standar sangatlah penting. Dalam sebuah tim, standarisasi SQL akan membantu anggota tim kita agar cepat memahami kode yang kita buat. Standar ini tidaklah kaku, artinya kita bisa membuat standar kita sendiri. Yang terpenting adalah standar yang kita buat tersebut mudah dimengerti, mudah diterapkan, dan tidak mudah berubah. Punya standar yang berubah setiap tahun akan membuat pengembangan aplikasi menjadi lambat hanya karena penulisan yang berubah-ubah.

SQL (Structured Query Language) - Standarisasi SQL

SQL (Structured Query Language) – gambar dari google

Pada kesempatan kali ini aku akan menjelaskan tentang standarisasi SQL yang dibuat oleh Simon Holywell. Bagi yang ingin melihat versi aslinya bisa dilihat di sini dan di github. Simon mengatakan bahwa standar ini kompetibel dengan Joe Celko’s SQL Programming Style. Menurutku standar ini mungkin kurang cocok jika kita menggunakan bahasa Indonesia. Yuk, langsung saja kita simak, seperti apa standar yang telah dibuat oleh Simon Holywell.

Apa yang harus dilakukan?

  1. Gunakan penamaan yang konsisten dan deskriptif untuk variable dan identifier.
  2. Gunakan white space dan indentation dengan bijak agar kode lebiih mudah dibaca.
  3. Gunakan standar ISO-8601 untuk jam dan informasi tanggal.
  4. Cobalah untuk menggunakan hanya fungsi SQL yang standar.
  5. Jagalah agar kode tetap ringkas dan tanpa pemborosan SQL.
  6. Gunakan komentar pada kode SQL hanya jika itu diperlukan.

Apa yang harus dihindari?

  1. Jangan menggunakan CamelCase karena sulit untuk dibaca. Contoh yang harus dihindari: DataMahasiswa, DataPegawai, DaftarBuku, dan lain-lain.
  2. Jangan menggunakan prefix yang deskriptif atau notasi Hungaria seperti sp_ atau tbl_. Prefix itu awalan. Contohnya tbl_pegawai menggunakan prefix tbl_.
  3. Jika memungkinkan, jangan menggunakan bentuk plurals (jamak). Kalau dalam bahasa inggris kan ada tuh bentuk jamak. Contohnya employees (para pegawai) dan fruits (buah-buahan). Lebih baik menggunakan bentuk kolektif.
  4. Jangan menggunakan Quoted Identifiers
  5. Prinsip OOP seharusnya tidak digunakan pada SQL maupun struktur database.

Aturan Penamaan

Aturan penamaan ini memuat Standarisasi SQL tentang penamaan secara umum, penamaan table, penamaan kolom dan penggunaan Alias.

Secara Umum

  • Pastikan nama yang diberikan unik dan tidak memuat keyword SQL. Contohnya keyword SQL itu WHERE, IS, AS, dll.
  • Pastikan nama yang diberikan tidak lebih dari 30 bytes atau gampangnya, tidak lebih dari 30 karakter.
  • Nama harus dimulai dengan huruf dan tidak diakhiri dengan garis bawah.
  • Hanya gunakan huruf, angka dan garis bawah.
  • Hindari penggunaan garis bawah secara berurutan. Contohnya data__pegawai.
  • Gunakan garis bawah sebagai pengganti spasi. Contohnya nama instansi menjadi nama_instansi.
  • Hindari penggunaan singkatan dan jika kamu harus menggunakan singkatan, pastikan team kita mengerti singkatan tersebut.

Penamaan untuk Table

  • Gunakan nama kolekfif atau kalau tidak bisa menemukan nama kolektif, gunakan bentuk jamak.
  • Jangan menggunakan prefix tbl atau prefix deskriptif yang lain. Jangan gunakan notasi Hungarian.
  • Jangan gunakan nama dari salah satu kolom untuk table dan sebaliknya, jangan gunakan nama table untuk kolom.
  • Hindari (jika mungkin) menggabungkan 2 nama table menjadi 1. Misalkan adalah 2 buah table, yaitu: mahasiswa dan dosen. Jangan gunakan mahasiswa_dosen untuk table yang memuat dosen pembimbing. Lebih baik menggunakan nama pembimbing.

Penamaan untuk Kolom

  • Selalu gunakan nama singular (tunggal / tidak jamak).
  • Jika mungkin, hindari menggunakan “id” sebagai nama kolom yang digunakan sebagai primary.
  • Jangan menggunakan nama table sebagai nama kolom dan sebaliknya.
  • Selalu gunakan lowercase.

Menggunakan Alias atau Relasi

  • Selalu gunakan alias sebelum merelasikan table.
  • Untuk menyederhanakan nama alias gunakan huruf pertama dari masing-masing kata. Misalkan alias untuk nama_mahasiswa adalah nm, alias untuk nama_instansi adalah ni, alias untuk total_utang adalah tu dll.
  • Jika sudah ada nama alias, gunakan angka untuk membedakan. Contohnya nama_mahasiswa dan negara_mahasiswa sama-sama punya alias nm. Gunakan nm1 untuk nama_mahasiswa dan nm2 untuk negara_mahasiswa.
  • Untuk data yang dihitung (SUM() atau AVG) gunakan nama yang mendeskripsikan isi.

Penamaan Stored Procedures

  • Nama untuk stored procedure harus memuat kata kerja.
  • Jangan menggunakan prefix seperti sp_ atau prefix deskriptif yang lain dan jangan gunakan Notasi Hungarian.

Penyeragaman Suffixes (Akhiran)

Akhiran-akhiran berikut ini memiliki makna universal yang membuat penamaan kolom dapat dipahami dengan mudah. Gunakan akhiran yang sesuai dengan keadaan kolom. Nah, inilah yang aku sebuh kurang sesuai jika menggunakan bahasa indonesia. Ambil contoh saja nama mahasiswa. Jika kita menggunakan suffix jadinya mahasiswa_nama. Kurang enak aja diucapkan.

  • _id — digunakan pada identifier seperti kolom yang berfungsi sebagai primary key.
  • _status — nilai flag atau status dari sesuatu. Contohnya surat_keluar, bisa menggunakan surat_keluar_status.
  • _total — total atau jumlah dari beberapa nilai.
  • _num — menandakan bahwa kolom tersebut membuat angka
  • _name — menandakan nama.
  • _seq — memuat barisan nilai
  • _date — menandakan kolom membuat tanggal
  • _tally — jumlah
  • _size — ukuran dari sesuatu, misal: ukuran baju
  • _addr — menandakan alamat sesuatu

Penutup Standarisasi SQL

Nah, untuk sementara standarisasi SQL bagian 1 yang dibuat oleh Simon Holywell aku akhiri. Ini masih ada bagian 2 nya loh. Ditunggu saja ya. Selamat belajar, selamat mencoba.