Konsep RDBMS - SQL

Hai sana, para penggemar basis data yang bersemangat! Saya sangat senang menjadi panduan Anda dalam perjalanan menarik ini ke dunia SQL dan Sistem Manajemen Basis Data Relasional (RDBMS). Sebagai seseorang yang telah mengajar ilmu komputer selama bertahun-tahun ( mari katakan saja saya ingat saat cakram lunak benar-benar lunak), saya di sini untuk memecahkan konsep ini dalam cara yang mudah dipahami, bahkan jika Anda belum pernah menulis baris kode sebelumnya. Jadi, ambil minuman kesukaan Anda, duduk nyaman, dan mari kita masuk ke dalam!

SQL - RDBMS Concepts

Apa Itu RDBMS?

RDBMS adalah singkatan dari Sistem Manajemen Basis Data Relasional. Saya tahu itu terdengar seperti banyak kata, tapi pikirkan itu seperti lemari filing digital untuk data Anda. Seperti bagaimana Anda mengatur dokumen fisik Anda di folder dan lemari, RDBMS membantu Anda mengatur dan mengelola jumlah besar informasi dalam cara yang terstruktur.

Bagian "relasional" berasal dari fakt bahwa data di RDBMS disimpan dalam tabel yang dapat terhubung satu sama lain. Bayangkan Anda sedang merencanakan pesta besar (siapa yang tidak menyukai pesta yang bagus?). Anda mungkin memiliki satu tabel untuk tamu, satu untuk item menu, dan lainnya untuk susunan duduk. Tabel ini semua terhubung dengan pesta Anda, dan RDBMS membantu Anda mengelola dan menghubungkan informasi ini secara efisien.

Beberapa contoh RDBMS populer termasuk:

  • MySQL
  • PostgreSQL
  • Oracle
  • Microsoft SQL Server

Setiap yang ini memiliki rasa dan fitur tersendiri, tapi mereka semua mengikuti prinsip dasar yang sama yang kita akan diskusikan.

Apa Itu Tabel?

Dalam dunia RDBMS, tabel adalah tempat dimana magik terjadi. Itu adalah blok dasar basis data Anda. Pikirkan tabel seperti spreadsheet atau grid tempat Anda menyimpan jenis informasi tertentu.

mari buat tabel sederhana untuk rencana pesta khayal kita:

CREATE TABLE Guests (
GuestID INT,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Email VARCHAR(100),
AttendingStatus VARCHAR(20)
);

Kode SQL ini membuat tabel bernama "Guests" dengan lima kolom. Jangan khawatir tentang sintaks untuk saat ini; kita akan membahas itu nanti. Yang penting adalah untuk mengerti bahwa tabel ini akan menyimpan informasi tentang setiap tamu yang diundang ke pesta kita.

Apa Itu Field?

Field adalah kolom dalam tabel Anda yang menyimpan piece informasi tertentu. Dalam tabel Guests, kita memiliki lima field:

  1. GuestID
  2. FirstName
  3. LastName
  4. Email
  5. AttendingStatus

Setiap field memiliki nama dan tipe data. Tipe data mengatakan kepada basis data jenis informasi yang dapat disimpan dalam field itu. Misalnya, "GuestID" adalah INT (integer) karena kita akan menggunakan nomor untuk mengidentifikasi tamu, sedangkan "FirstName" adalah VARCHAR (string panjang variabel) karena nama terdiri dari huruf.

Apa Itu Record atau Row?

Record, juga dikenal sebagai baris, adalah entri tunggal dalam tabel Anda. Itu mengandung semua informasi untuk satu item di seluruh field. Dalam tabel Guests, record tunggal mungkin terlihat seperti ini:

INSERT INTO Guests (GuestID, FirstName, LastName, Email, AttendingStatus)
VALUES (1, 'John', 'Doe', '[email protected]', 'Confirmed');

Perintah SQL ini menambahkan record baru ke tabel Guests. Mari kitauraikan ini:

  • GuestID: 1
  • FirstName: John
  • LastName: Doe
  • Email: [email protected]
  • AttendingStatus: Confirmed

Setiap record mewakili satu tamu dalam basis data perencanaan pesta kita.

Apa Itu Kolom?

Kolom adalah set vertikal nilai data, semua nilai yang sama jenis. Itu sebenarnya adalah cara lain untuk melihat field. Sementara field menentukan struktur data Anda, kolom adalah set nilai data untuk field tertentu di seluruh record.

Misalnya, jika kita memiliki 100 tamu dalam tabel kita, kolom "FirstName" akan mengandung semua 100 nama depan, satu untuk setiap tamu.

Apa Itu NULL Value?

Ah, NULL - musuh besar bagi banyak pemula! NULL bukan nol, bukan string kosong, itu... well, itu adalah nothing. Itu mewakili keabsenan nilai.

Misalnya, jika kita belum yakin apakah John Doe akan hadir di pesta kita, kita mungkin memperbarui record kita seperti ini:

UPDATE Guests
SET AttendingStatus = NULL
WHERE GuestID = 1;

Ini menset status hadir John ke NULL, menandakan bahwa kita belum memiliki informasi ini.

Batasan SQL

Batasan adalah seperti petugas pengaman di pesta basis data Anda. Mereka menegakkan aturan pada data dalam tabel Anda untuk menjaga akurasi dan reliability. Mari kita lihat beberapa batasan umum:

Batasan Deskripsi Contoh
NOT NULL Memastikan kolom tidak dapat memiliki nilai NULL Email VARCHAR(100) NOT NULL
UNIQUE Memastikan semua nilai dalam kolom berbeda Email VARCHAR(100) UNIQUE
PRIMARY KEY Kombinasi NOT NULL dan UNIQUE. Mengidentifikasi setiap record dalam tabel GuestID INT PRIMARY KEY
FOREIGN KEY Memastikan integritas referensi antara dua tabel PartyID INT, FOREIGN KEY (PartyID) REFERENCES Parties(PartyID)
CHECK Memastikan semua nilai dalam kolom memenuhi syarat tertentu CHECK (AttendingStatus IN ('Confirmed', 'Declined', 'Pending'))

Mari kita modifikasi tabel Guests kita untuktermasuk beberapa batasan ini:

CREATE TABLE Guests (
GuestID INT PRIMARY KEY,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Email VARCHAR(100) UNIQUE NOT NULL,
AttendingStatus VARCHAR(20) CHECK (AttendingStatus IN ('Confirmed', 'Declined', 'Pending'))
);

Sekarang tabel kita jauh lebih kuat dan kurang rentan terhadap kesalahan input data!

Integritas Data

Integritas data tentang menjaga dan memastikan akurasi dan konsistensi data selama siklus hidupnya. Itu seperti memastikan semua bahan dalam resep Anda segar dan terukur dengan benar sebelum Anda mulai memasak.

Ada empat jenis integritas data:

  1. Integritas Entitas: Memastikan setiap baris dalam tabel dapat diidentifikasi secara unik. Ini biasanya dicapai menggunakan kunci utama.
  2. Integritas Referensi: Memastikan hubungan antara tabel tetap konsisten. Ini dikelola menggunakan kunci asing.
  3. Integritas Domain: Memastikan semua nilai dalam kolom berada dalam domain yang ditentukan (set nilai yang diterima).
  4. Integritas Definisi Pengguna: Setiap aturan atau batasan lain yang spesifik untuk bisnis atau aplikasi Anda.

Tabel Guests yang dimodifikasi kita dengan batasan adalah contoh yang bagus dari implementasi integritas data.

Normalisasi Basis Data

Normalisasi basis data seperti membersihkan kamar Anda - itu tentang mengatur data Anda secara efisien dan menghilangkan redundant. Itu adalah teknik untuk menyusun basis data relasional sesuai dengan serangkaian normal forms untuk mengurangi redundant data dan meningkatkan integritas data.

Ada beberapa normal forms, tapi yang paling umum digunakan adalah:

  1. First Normal Form (1NF): Setiap sel tabel harus berisi nilai tunggal, dan setiap record harus unik.
  2. Second Normal Form (2NF): Tabel dalam 1NF dan semua atribut non-kunci sepenuhnya tergantung pada kunci utama.
  3. Third Normal Form (3NF): Tabel dalam 2NF dan semua atribut hanya tergantung pada kunci utama.

Misalnya, daripada memiliki tabel tunggal "Parties" dengan informasi tamu yang berulang, kita mungkin membaginya menjadi dua tabel: "Parties" dan "Guests", dengan hubungan antar mereka. Ini mengurangi redundant dan membuat basis data kita lebih efisien.

Dan itu adalah nya, teman-teman! Kita telah melihat konsep dasar SQL dan RDBMS. Ingat, belajar basis data adalah perjalanan, bukan tujuan. Mungkin itu terlihat menakutkan pada awal, tapi dengan latihan dan kesabaran, Anda akan mengelola data seperti seorang pro dalam waktu singkat.

Saat kita mengakhiri, saya diingatkan oleh kutipan yang menarik oleh ilmuwan komputer yang hebat Grace Hopper: "Frasa yang paling berbahaya dalam bahasa adalah, 'Kita selalu melakukan itu dengan cara ini.'" Jadi, jangan takut untuk mencoba, membuat kesalahan, dan menemukan cara Anda sendiri untuk memahami konsep ini. Selamat coding, dan semoga query Anda selalu mengembalikan hasil yang Anda harapkan!

Credits: Image by storyset