SQL: Database Relasional, Primary dan Foreign Key
SQL adalah singkatan dari Structured Query Language. Bahasa ini merupakan bahasa universal yang digunakan untuk mengakses segala sesuatu yang berkaitan dengan database, mulai dari membuat database, table dan column, menginputkan data, memanipulasi data yang ada di dalam table, dan hal lainnya yang berkaitan dengan database. Sebagai bahasa universal, SQL bisa dijalankan di berbagai DBMS, seperti MySQL, PostgreSQL, SQL Server, Oracle, dll.
Dalam pengelolaan data, database relasional merupakan salah satu tipe database yang banyak digunakan oleh praktisi data. Ciri yang mendasar dari database relasional adalah database ini bisa mengorganisir data ke dalam tabel-tabel yang memiliki hubungan satu sama lain dengan memanfaatkan dua konsep kunci dalam database relasional, yaitu primary key dan foreign key.
Kedua konsep ini digunakan untuk memastikan integritas dan konektivitas antar-tabel. Dalam artikel ini kita akan membahas lebih banyak mengenai database relasional, primary key, dan foreign key. Yuk, simak pembahasannya!
1. Database Relasional
Database relasional merupakan Database Management System (DBMS) yang mampu menyimpan data dalam bentuk tabel (disebut relation), dimana table ini terdiri dari baris (row) dan kolom (column). Setiap tabel akan mewakili suatu entitas, dan kolom-kolom dalam tabel tersebut berisi atribut atau bagian dari entitas itu. SQL dapat digunakan untuk berinteraksi dengan database relasional, seperti mengelola, mengquery, dan memanipulasi data.
Misalnya, sebuah tabel Pelanggan bisa berisi data pelanggan dengan kolom-kolom seperti CustomerID, Nama, dan Email. Hubungan antar-tabel ini akan dibuat melalui primary key dan foreign key.
Baca juga : Bootcamp Data Analyst with SQL and Python
2. Primary Key
Primary Key adalah kolom atau sekumpulan kolom dalam tabel yang nilainya harus unik untuk setiap baris di tabel tersebut, tidak boleh ada dua baris dengan nilai yang sama. Kolom primary key juga tidak boleh berisi nilai NULL. Tujuannya adalah untuk memastikan bahwa setiap baris dapat diidentifikasi dengan jelas.
Biasanya, ID atau nomor unik digunakan sebagai primary key, seperti CustomerID dalam tabel pelanggan. Setiap tabel dalam database relasional harus memiliki primary key yang berfungsi sebagai pengenal unik untuk setiap entri di tabel. Berikut merupakan contoh query untuk membuat table dengan primary key:
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
Name VARCHAR(255),
Email VARCHAR(255)
);
Di query ini, CustomerID adalah primary key yang secara unik mengidentifikasi setiap pelanggan.
3. Foreign Key
Foreign Key merupakan istilah untuk kolom atau sekumpulan kolom dalam suatu tabel yang berfungsi untuk menghubungkan tabel ke tabel lain dengan referensi ke primary key dari tabel yang terkait. Foreign key memastikan bahwa data yang dimasukkan ke dalam kolom foreign key harus sudah ada di tabel yang dirujuk (tabel induk).
Dengan begitu, kita bisa memastikan bahwa ada referential integrity atau integritas referensial dalam database, yang artinya data di kedua tabel konsisten satu sama lain. Biasanya digunakan untuk merepresentasikan relasi one-to-many, seperti relasi antara tabel Orders (pesanan) dan tabel Customers (pelanggan).
Berikut contoh penggunaan Foreign Key dalam query:
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
OrderDate DATE,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
Pada script di atas, CustomerID di tabel Orders adalah foreign key yang merujuk ke CustomerID di tabel Customers. Sehingga setiap pesanan dalam tabel Orders harus terkait dengan pelanggan yang ada di tabel Customers.
4. Hubungan Antar-Tabel dengan Primary Key dan Foreign Key
Dalam database relasional, primary key dan foreign key digunakan untuk membuat hubungan antar-tabel. Beberapa jenis hubungan yang dapat dibangun seperti:
One-to-One. Hubungan jenis ini memungkinkan satu baris di satu tabel hanya dapat dihubungkan dengan satu baris di tabel lain.
One-to-Many, artinya satu baris di satu tabel dapat dihubungkan dengan beberapa baris di tabel lain. Contoh, satu pelanggan bisa memiliki beberapa pesanan, tetapi setiap pesanan hanya terkait dengan satu pelanggan.
Many-to-Many, maksudnya adalah banyak baris di satu tabel dapat dihubungkan dengan banyak baris di tabel lain. Hubungan ini biasanya dihubungkan dengan menggunakan tabel perantara yang berisi foreign key dari kedua tabel utama.
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
Database relasional adalah struktur penyimpanan data yang efisien dan terorganisir, yang memungkinkan pengelolaan data yang kompleks melalui tabel yang saling berhubungan. Hal ini menjadikannya pilihan utama dalam berbagai aplikasi bisnis dan teknologi.
Tertarik belajar SQL? DQLab menyediakan modul SQL yang sangat cocok bagi pemula. DQLab merupakan platform belajar online yang berfokus pada pengenalan Data Science & Artificial Intelligence (AI) dengan menggunakan bahasa pemrograman populer, serta platform edukasi pertama yang mengintegrasi fitur Chat GPT. Selain itu DQLab juga menggunakan metode HERO yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula.
Selain itu, Bootcamp Data Analyst with SQL and Python juga termasuk kelas yang direkomendasikan bagi pemula yang ingin melakukan pembelajaran data untuk menjadi seorang Data Analyst. Tentunya nanti kita akan dihadapkan dengan study case yang bisa menambah portfolio data.
Untuk mendapatkan pengalaman belajar menarik, buruan sign up di DQLab. Daftar sekarang dan kejar impianmu untuk menjadi Data Analyst!
Penulis : Gifa Delyani Nursyafitri