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!

PostgreSQL - Create Table

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:

  1. CREATE TABLE: Ini adalah perintah yang memberitahu PostgreSQL Anda ingin membuat tabel baru.
  2. nama_tabel: Ini adalah tempat Anda menentukan nama tabel Anda.
  3. Dalam kurung, Anda daftar semua kolom yang Anda ingin dalam tabel Anda.
  4. 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 untuk registration_date untuk secara otomatis menetapkan tanggal hari ini saat pelanggan baru ditambahkan.
  • CHECK: Ini memastikan loyalty_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