PostgreSQL - CREATE Table: A Panduan Pemula
Hai sana, para ahli pangkalan data masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia PostgreSQL, khususnya fokus pada bagaimana membuat tabel. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan melakukan ini langkah demi langkah. Pada akhir panduan ini, Anda akan membuat tabel seperti seorang profesional!
Apa Itu Tabel di PostgreSQL?
Sebelum kita masuk ke detail membuat tabel, mari kita pahami apa sebenarnya tabel. Bayangkan sebuah spreadsheet - Anda tahu, itu yang berbentuk grid dengan baris dan kolom? Tabel database sangat mirip. Ini adalah kumpulan data yang terkait diatur dalam baris (juga disebut rekord) dan kolom (juga disebut field).
Misalnya, jika Anda menjalankan sebuah perpustakaan kecil, Anda mungkin memiliki tabel yang disebut "Books" dengan kolom seperti "Title", "Author", "ISBN", dan "Publication Date". Setiap baris dalam tabel ini mewakili satu buku di perpustakaan Anda.
Sintaks CREATE TABLE
Sekarang, mari kita lihat sintaks dasar untuk membuat tabel di PostgreSQL:
CREATE TABLE nama_tabel (
kolom1 jenis_data constraints,
kolom2 jenis_data constraints,
kolom3 jenis_data constraints,
....
);
Jangan biarkan ini menakutkan Anda! Itu lebih mudah daripada yang Anda pikirkan. Mari kitauraikan ini:
-
CREATE TABLE
: Ini adalah perintah yang memberitahu PostgreSQL Anda ingin membuat tabel baru. -
nama_tabel
: Ini adalah tempat Anda menentukan nama tabel Anda. - Dalam kurung, Anda daftar semua kolom yang Anda ingin dalam tabel Anda.
- Untuk setiap kolom, Anda menentukan:
- Nama kolom
- Jenis data (seperti INTEGER untuk bilangan bulat, TEXT untuk string, dll.)
- Apakah ada constraints (seperti NOT NULL jika kolom harus selalu memiliki nilai)
Contoh: Mari Buat Beberapa Tabel!
Contoh 1: Tabel Books Sederhana
Mari kita mulai dengan contoh sederhana. Kita akan membuat tabel untuk perpustakaan khayal kita:
CREATE TABLE books (
book_id SERIAL PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_date DATE,
isbn VARCHAR(13) UNIQUE
);
Mari kitauraikan ini:
-
book_id
: Ini adalah pengidentifikasi unik untuk setiap buku. SERIAL berarti itu akan otomatis dinaikkan untuk setiap buku baru yang ditambahkan. -
title
: Ini dapat mencapai panjang 100 karakter dan tidak boleh kosong (NOT NULL). -
author
: Hingga 50 karakter, juga tidak boleh kosong. -
publication_date
: Ini adalah opsional (kita tidak menentukan NOT NULL). -
isbn
: Ini unik untuk setiap buku.
Contoh 2: Tabel Customers Lebih Kompleks
Sekarang, mari kita buat tabel yang sedikit lebih kompleks untuk pelanggan:
CREATE TABLE customers (
customer_id SERIAL PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
phone VARCHAR(20),
registration_date DATE DEFAULT CURRENT_DATE,
loyalty_points INTEGER DEFAULT 0 CHECK (loyalty_points >= 0)
);
Tabel ini memperkenalkan beberapa konsep baru:
-
DEFAULT
: Kita gunakan ini untukregistration_date
untuk secara otomatis menetapkan tanggal hari ini saat pelanggan baru ditambahkan. -
CHECK
: Ini memastikanloyalty_points
tidak bisa negatif.
Jenis Data di PostgreSQL
PostgreSQL menawarkan berbagai jenis data. Berikut adalah beberapa yang umum:
Jenis Data | Deskripsi | Contoh |
---|---|---|
INTEGER | Bilangan bulat | 42 |
SERIAL | Integer auto-increment | Secara otomatis ditentukan |
VARCHAR(n) | String variabel panjang hingga n karakter | 'Hello, World!' |
TEXT | String variabel panjang tanpa batas | 'A very long text...' |
DATE | Tanggal (tanpa waktu) | '2023-06-15' |
TIMESTAMP | Tanggal dan waktu | '2023-06-15 14:30:00' |
BOOLEAN | Nilai benar/salah | TRUE atau FALSE |
NUMERIC(p,s) | Numeric eksak dengan p digit (s setelah titik desimal) | 123.45 |
Constraints di PostgreSQL
Constraints adalah aturan yang kita tetapkan pada kolom. Berikut adalah beberapa yang umum:
Constraint | Deskripsi |
---|---|
NOT NULL | Kolom tidak boleh mengandung nilai null |
UNIQUE | Semua nilai dalam kolom harus berbeda |
PRIMARY KEY | Mengidentifikasi unik setiap baris dalam tabel |
FOREIGN KEY | Memastikan integritas referensi antara dua tabel |
CHECK | Memastikan semua nilai dalam kolom memenuhi syarat tertentu |
DEFAULT | Mengatur nilai default untuk kolom |
Beberapa Contoh Lain
Contoh 3: Tabel Dengan Foreign Key
Mari kita buat tabel 'orders' yang mengacu ke tabel 'customers' kita:
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
customer_id INTEGER REFERENCES customers(customer_id),
order_date DATE DEFAULT CURRENT_DATE,
total_amount NUMERIC(10,2) CHECK (total_amount > 0)
);
Tabel ini memiliki foreign key (customer_id
) yang mengacu ke tabel customers
, memastikan bahwa setiap order terhubung dengan pelanggan yang valid.
Contoh 4: Tabel Dengan Primary Key Komposit
kadang-kadang, Anda mungkin ingin memiliki primary key yang terdiri dari beberapa kolom:
CREATE TABLE book_authors (
book_id INTEGER REFERENCES books(book_id),
author_id INTEGER REFERENCES authors(author_id),
PRIMARY KEY (book_id, author_id)
);
Tabel ini mungkin digunakan untuk menangani buku dengan beberapa penulis, atau penulis yang menulis beberapa buku.
Kesimpulan
Selamat! Anda baru saja mengambil langkah pertama ke dunia pembuatan tabel PostgreSQL. Ingat, latihan membuat sempurna. Cobalah membuat tabel untuk berbagai konteks - mungkin sebuah pustaka musik, buku resep, atau bahkan pangkalan data untuk permainan video kesukaan Anda.
Jangan takut untuk mencoba dan membuat kesalahan - itu adalah bagaimana kita belajar! Dan selalu ingat: di dunia database, Anda memiliki kekuatan untuk CREATE, ALTER, dan bahkan DROP dunia data secara keseluruhan. Gunakan kekuatan ini bijaksana, young Padawan!
Selamat coding, dan may the PostgreSQL be with you!
Credits: Image by storyset