Apa Itu Database — Bedanya dengan File, Tabel, dan SQL

Artikel ini adalah bagian dari kursus Dasar-Dasar Teknologi Informasi, yang membangun dari nol pengetahuan TI praktis yang minimal kamu butuhkan untuk memprogram dan melakukan vibe coding.
Database mengambil alih tiga pekerjaan: mencari, menangani penulisan yang datang bersamaan, dan menetapkan bentuk catatan. Diagramnya membahas tabel yang terdiri dari baris dan kolom, serta SQL yang memberi instruksi baca dan tulis.

Artikel ini membahas lapisan DB, yaitu database.

Database adalah software yang menyimpan data dalam bentuk yang bisa dicari dan diperbarui.

Yang membedakannya dari file bukan tempat catatan itu berada, melainkan bahwa database juga mengambil alih proses pencarian dan penataan penulisan.

Istilah yang muncul di panduan pemula, dan posisi database, tabel, serta SQL
===Menyimpan kedatabaseMembuattabelMenulis SQLDatabaseTabelSQLSoftware dilapisan DBTabel di dalamdatabaseInstruksi darilapisan App
Baris atas adalah istilah yang muncul di panduan, baris tengah adalah tiga istilah yang dibahas artikel ini, dan baris bawah adalah posisinya dalam model tiga lapisan. Dua hal yang dihubungkan garis ganda hanya berbeda sebutan, keduanya sama.

Bedanya database dan file — mencari, menulis bersamaan, dan menetapkan bentuk

Database bukan sekadar wadah yang menyimpan catatan.

Database mengambil alih tiga pekerjaan: mencari baris yang cocok dengan syarat, memproses penulisan yang datang bersamaan satu per satu, dan menjaga bentuk catatan tetap seragam.

Meski tiba pada saat yang sama, penulisan diproses satu per satu secara berurutan.

Kalau kamu menulis langsung ke file, programmu sendiri yang harus menentukan urutan itu.

Siapa yang memegang tiap peran, pada file dan pada database
===Mencari catatansesuai syaratMenata penulisanyang bersamaanMenyeragamkanbentuk catatanProgrammu membacasemua lalu memilihKamu sendiri yangmenentukan urutanYang menulisharus berhati-hatiDatabase mengirimbaris yang cocokDatabase memprosessecara berurutanMenolak barisyang tidak sesuaiMakin lambat saatbaris menumpukMenulis bersamaanmenghapus satuCatatan bedabentuk tercampur
Kolom kiri adalah perannya, dan dua kolom di tengah adalah kasus file dan kasus database. Kolom paling kanan adalah hal yang mudah terjadi kalau kamu memegang peran itu sendiri.

Database yang umum dipakai adalah PostgreSQL, MySQL, dan SQLite.

Catatan yang hanya diubah satu orang, seperti pengaturan, tidak masalah dibiarkan sebagai file.

Catatan yang dibaca dan ditulis banyak orang pada saat yang sama dan dicari berdasarkan syarat itulah yang ditaruh di database.

Database mengambil alih tiga pekerjaan

Baik pada file maupun database, catatannya sama-sama tersimpan di penyimpanan, dan yang berbeda adalah siapa yang melakukan pencarian, siapa yang menentukan urutan ketika penulisan tiba bersamaan, dan siapa yang menjaga bentuk catatan tetap seragam.

Dengan file, programmu sendiri yang melakukan semuanya, sedangkan dengan database kamu cukup menyampaikan catatan seperti apa yang kamu inginkan, dan database sendiri yang menolak baris yang bentuknya tidak sesuai.

Tabel menyimpan catatan dalam bentuk baris dan kolom

Satuan yang menyimpan catatan di dalam database adalah tabel (table, bentuk baris dan kolom yang mengumpulkan catatan sejenis).

ID pemesananID anggotaTanggalJumlah orang
1122026-10-032
272026-10-034
3122026-10-103

Setiap judul di bagian atas adalah kolom (column, satu item dari sebuah catatan), dan satu garis mendatar di bawahnya adalah baris (row, satu catatan utuh, disebut juga record).

Kolom yang dipakai untuk menunjuk tepat satu baris adalah primary key (kolom yang tidak boleh memuat dua baris dengan nilai sama).

Kolomnya ditentukan lebih dulu, dan satu baris bertambah setiap kali ada satu catatan baru.

Isi database aplikasi pemesanan
Database aplikasi pemesanan
Tabel pemesanan
  • Kolom: ID pemesanan, ID anggota, tanggal, jumlah orang
  • 1 baris = 1 pemesanan
  • Satu baris bertambah untuk setiap pemesanan
Tabel anggota
  • Kolom: ID anggota, nama, alamat email
  • 1 baris = 1 anggota
  • Satu baris bertambah untuk setiap pendaftaran
Bingkai luar adalah satu database. Dua yang di dalamnya adalah tabel, dan setiap butir daftarnya menyebutkan nama kolom serta apa yang diwakili satu baris.

Tabel pemesanan tidak memuat nama anggota, hanya ID anggota.

Namanya hanya ada di satu tempat, yaitu tabel anggota, jadi ketika berubah cuma ada satu baris yang perlu diperbaiki.

Satu pendaftaran terbagi ke dalam dua tabel
Pendaftaran Budi10/03 · 2 orangNama dan email ketabel anggotaTanggal dan orangke tabel pemesananTabel anggotaID 12 · BudiTabel pemesananID 1 · anggota 12ID anggota sama
Satu entri di sebelah kiri terbagi ke atas dan ke bawah, masing-masing menjadi baris di tabel yang berbeda. Dua yang di sebelah kanan memuat nilai yang sama, yaitu ID anggota 12, jadi dari baris pemesanan kamu bisa menelusuri namanya.

Database yang menyimpan data dalam bentuk baris dan kolom adalah relational database (ditulis juga RDB), dan tabelnya bisa saling dihubungkan lewat kolom yang sama.

Yang kamu tentukan sebelum membuat tabel adalah skema (schema, penetapan nama tabel, nama kolom, dan jenis nilai yang masuk ke tiap kolom), dan jenis nilai berarti pembedaan seperti angka, teks, atau tanggal, yang ditulis juga sebagai tipe (type).

Tabel adalah bentuk yang kolomnya ditentukan lebih dulu lalu bertambah baris demi baris

Tabel adalah bentuk yang terdiri dari kolom tegak dan baris mendatar.

Nama kolomnya ditentukan lebih dulu, satu baris bertambah setiap ada satu catatan baru, dan ketika nilai primary key yang menandai satu catatan juga ditaruh di tabel lain, keduanya menjadi terhubung.

SQL adalah cara lapisan application server menulis instruksi baca dan tulis yang dikirimkannya ke database

Cara menulis instruksi baca dan tulis ke tabel adalah SQL (Structured Query Language, bahasa untuk menginstruksikan pembacaan, penambahan, pengubahan, dan penghapusan baris), dan satu instruksi disebut query.

Panduan pemula menampilkannya dalam bentuk berikut.

SELECT date, guests
FROM reservations
WHERE member_id = 12;

Setelah SELECT adalah kolom yang diambil, setelah FROM adalah tabelnya, dan setelah WHERE adalah syaratnya.

Tiga baris ini menginstruksikan database untuk mengambil tanggal dan jumlah orang dari baris di tabel pemesanan yang ID anggotanya 12.

Kata pertamanya menunjukkan yang mana di antara membaca, menambah, mengubah, atau menghapus.

Kata pertama menentukan apa yang dilakukan database
SELECT ...WHERE member_id= 12INSERT INTOreservations ...UPDATE ...SET guests = 4DELETE FROMreservations ...Pilih baris denganID anggota 12Tambah satu bariske tabel pemesananUbah jumlah orangpada baris cocokHapus baris cocokTanggal dan orangkembali, 2 barisBaris bertambah 12 menjadi 4Baris berkurang 1
Sebelah kiri adalah awal query yang kamu kirim, bagian tengah adalah yang dilakukan database, dan sebelah kanan adalah yang kembali serta yang tersisa. Tiga yang di bawah mengubah jumlah baris, dan hanya yang paling atas yang berupa pembacaan.

Mencari baris adalah pekerjaan database, dan lapisan application server hanya menyampaikan baris mana yang diinginkannya.

Pada pengubahan dan penghapusan, yang berubah bukan baris yang dikembalikan, melainkan baris yang tersisa di tabel.

Komponen yang membuatmu bisa menangani tabel dengan gaya penulisan bahasanya sendiri tanpa menulis SQL adalah ORM (Object-Relational Mapping, komponen yang menangani baris tabel dengan gaya penulisan bahasa itu, mengubahnya menjadi SQL, lalu mengirimkannya).

Baik ditulis langsung dengan SQL maupun lewat ORM, yang tiba tetap sama
Tulis SQL langsungDikirim apa adanyaTulis gaya ORMORM mengubahnyamenjadi SQLSatu query SQLtiba di database
Baris yang kamu tulis di bagian atas dan bawah berbeda, tetapi keduanya menyatu di sebelah kanan. Yang diterima database sama-sama berupa query SQL.

Meski kamu memakai ORM, yang tiba tetap berupa query SQL.

Menulis dan menjalankan SQL sendiri dibahas di artikel SELECT pada kursus dasar SQL.

SQL adalah cara menyampaikan baris yang kamu inginkan

SQL adalah cara menuliskan permintaan baca atau tulis ke database.

Kata pertamanya menentukan apakah kamu membaca, menambah, mengubah, atau menghapus; baris mana yang menjadi sasarannya kamu sampaikan lewat syarat, dan pencariannya dikerjakan database.

QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Perbedaan mana yang disebut artikel ini sebagai alasan menaruh catatan pemesanan di database, bukan di file?

Soal 2Query SELECT date, guests FROM reservations WHERE member_id = 12; menginstruksikan apa?

Soal 3Mengapa tabel pemesanan memuat ID anggota, bukan nama anggotanya?