Setiap database mempunyai satu atau lebih tabel yang berdiri sendiri atau saling berhubungan. Pada tutorial ini akan dipelajari perintah SQL yang digunakan untuk membuat tabel, mendefinisikan kolom-kolom pada tabel dan menghubungkan satu tabel ke tabel yang lain. Perintah dasar untuk membuat tabel adalah CREATE TABLE.
Perintah CREATE TABLE
Perintah CREATE TABLE mempunyai format seperti contoh di bawah ini.
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);
Nama tabel yang akan didefinisikan melalui table_name. Nama-nama kolom di dalam tabel didefinisikan melalui column1, column2 dan column3. Sedangkan tipe data dari kolom tersebut didefinisikan melalui datatype. Terdapat banyak sekali tipe data kolom, mulai dari int (angka), varchar (text), bigint (angka yang besar) dan lain sebagainya. Nama tipe data kolom bisa berbeda-beda untuk masing-masing jenis database.
Silahkan membaca artikel di bawah ini sebagai referensi tipe-tipe data kolom.
Referensi Tipe Data Kolom Tabel
Perintah SQL di bawah ini bertujuan untuk membuat tabel baru dengan nama Persons. Tabel Persons mempunyai lima kolom. Kolom pertama dengan nama PersonID dengan tipe data int (angka). Kolom kedua dengan nama LastName dengan tipe data varchar (text). Kolom lainnya dengan nama FirstName, Address dan City. Ketiga kolom ini juga dibuat dengan tipe data varchar.
CREATE TABLE Persons (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
Tabel Persons akan terbentuk dengan struktur seperti terlihat di bawah ini.
PersonID | LastName | FirstName | Address | City |
---|---|---|---|---|
Primary Key
Primary key adalah kolom pada tabel yang menjadi identifikasi unik dari satu baris data pada tabel tersebut. Dua atau lebih baris data di dalam tabel tidak boleh mempunyai nilai primary key yang sama. Satu tabel bisa mempunyai satu atau lebih kolom yang merupakan primary key. Pada umumnya hanya satu kolom saja yang dijadikan primary key. Format penulisan primary key berbeda-beda untuk masing-masing tipe database.
Contoh di bawah ini membuat kolom ID sebagai primary key dengan menggunakan database MySql.
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
Contoh di bawah ini membuat kolom ID sebagai primary key dengan menggunakan database SQL Server atau Oracle.
CREATE TABLE Persons (
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Primary key bisa terdiri dari beberapa kolom sekaligus. Contoh perintah di bawah ini akan membuat kolom ID dan LastName sebagai primary key pada tabel Persons.
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
Foreign Key
Foreign key adalah kolom pada tabel yang berfungsi untuk menghubungkan tabel tersebut dengan tabel yang lain. Biasanya kolom foreign key pada suatu tabel akan dihubungkan melalui kolom primary key tabel yang lain. Perhatikan dua tabel di bawah ini.
PersonID | LastName | FirstName | Age |
---|---|---|---|
1 | Hansen | Ola | 30 |
2 | Svendson | Tove | 23 |
3 | Pettersen | Kari | 20 |
Tabel di atas adalah tabel Persons yang menyimpan informasi orang-orang lengkap dengan kolom PersonID, LastName, FirstName dan Age. Primary key tabel Persons adalah kolom PersonID. Misalkan kita mengambil contoh kasus orang melakukan pembelian barang. Setiap orang bisa mempunyai satu atau lebih transaksi pembelian. Karena satu orang bisa mempunyai beberapa transaksi pembelian maka informasi pembelian tidak dapat disimpan di dalam tabel Persons. Informasi pembelian harus disimpan pada tabel yang terpisah. Untuk itu kita perlu membuat tabel Orders seperti di bawah ini.
OrderID | OrderNumber | PersonID |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 2 |
4 | 24562 | 1 |
Tabel Orders digunakan untuk menyimpan transaksi pembelian setiap orang yang ada di dalam tabel Persons. Kolom PersonID menyimpan informasi orang yang melakukan transaksi. Kolom PersonID dihubungkan dengan tabel Persons melalui primary key PersonID. Kolom PersonID inilah yang disebut dengan Foreign Key pada tabel Orders.
Contoh di bawah ini membuat tabel Orders dengan foreign key PersonID dengan menggunakan database MySql.
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
Contoh di bawah ini membuat tabel Orders dengan foreign key PersonID dengan menggunakan database SQL Server atau Oracle.
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Contoh di bawah ini juga dapat digunakan untuk membuat tabel Orders dengan foreign key PersonID dengan menggunakan database MySql, SQL Server atau Oracle.
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
Tutorial sebelumnya : Apa Yang Dimaksud Database
Tutorial setelahnya : Perintah SQL Menampilkan Data Tertentu
Semua Tutorial SQL : Tutorial SQL