SQL Guide #5: Cara membuat dan modifikasi database, tabel, dan atribut

Raden Jiwa Bumi Prajasantana
4 min readOct 26, 2023

--

Halo semuanya. Sudah lama berlalu, hari ini saya kembali dengan panduan lain tentang SQL. Kali ini saya akan membuat tabel di database.

Jika Anda pernah melihat guide-guide saya sebelumnya, jelas saya telah menggunakan tabel yang sudah ada sebelumnya. Artinya, meja dibuat oleh orang lain.

Namun dalam panduan ini, saya akan mulai membuat meja sendiri. Atau setidaknya tunjukkan cara melakukannya.

Foto oleh PillFall dari Figma

Membuat Tabel

Pertama, buka editor SQL atau sistem manajemen basis data apa pun. Jika tidak tahu, berarti Anda belum punya database ya?

Coba buat dengan:

CREATE DATABASE sekolah;

‘sekolah’ bisa diganti ke nama yang diinginkan.

Jika di Beekeeper Studio, bisa juga membuat database dengan tombol ‘+’ di pojok kiri atas

Tombol + untuk buat database

Kemudian, buat, dan/atau gunakan database. Ini adalah langkah penting. Bayangkan sebuah analogi seperti ini: database adalah sebuah rak, sedangkan tabel adalah hard drive. Seperti foto dibawah

Foto dari Trenton Systems

Setelah itu, kita bisa mulai.

Untuk contoh ini, saya akan gunakan database ‘sekolah’

use sekolah;

Command untuk membuat tabel adalah:

CREATE TABLE mahasiswa (
nama VARCHAR(255),
NIM INT
);

Command di atas akan membuat tabel bernama mahasiswa dengan 2 atribut yang menyimpan karakter dan integer. VARCHAR dan INT adalah salah satu datatype di SQL, bisa diganti dengan datatype lain.

Referensi

Menambah constraint

Constraint adalah kondisi untuk atribut. Untuk lebih jelas, lihat contoh berikut:

CREATE TABLE mahasiswa (
nama VARCHAR(255) NOT NULL UNIQUE,
NIM INT PRIMARY KEY,
tanggal_lahir DATE
);

Contoh constraint di atas yaitu:

  • NOT NULL: Value di attribute ini tidak boleh kosong!
  • UNIQUE: Tidak boleh ada value di attribute ini yang sama dengan lain. Misalnya value “1” berarti tidak boleh ada value “1” lagi.
  • PRIMARY KEY: Di gunakan sebagai identifikasi; yaitu berarti ini attribute paling penting di tabelnya. Setiap tabel hanya memiliki 1 PRIMARY KEY. PRIMARY KEY itu tidak wajib. PRIMARY KEY juga sudah NOT NULL dan UNIQUE

Jadi, ini tabel adalah bernama ‘mahasiswa’ yang mempunyai 3 attribute. 1 attribute untuk menyimpan karakter (nama), dan tidak boleh kosong atau sama. 1 attribute untuk menyimpan integer, dan ini adalah PRIMARY KEY. 1 attribute untuk menyimpan tanggal (DATE) .

Mengganti atau updating table

Setelah tabel dibuat, hanya ada satu cara untuk mengganti tabel, yaitu dengan command ALTER TABLE

Contoh 1: menambah attribute atau kolom

Contoh dibawah untuk menambah attribute baru ke tabel table_name, attribute baru akan menyimpan decimal, maximum valuenya 12 digit: 999,999,999,999

ALTER TABLE mahasiswa ADD attribute4 DECIMAL(12, 0);

Contoh 2: hapus attribute

Contoh dibawah untuk menghapus attribute atau kolom. Di contoh ini, saya akan menghapus attribute 4 karena tidak berguna untuk kemauan saya.

ALTER TABLE mahasiswa DROP attribute4;

Contoh 3: hapus constraint

Contoh dibawah untuk mengapus constraint dari attribute. Untuk contoh ini, saya akan hapus UNIQUE dari ‘nama’, supaya bisa menyimpan data mahasiswa yang mempunyai nama sama dari mahasiswa lain yang sudah termasuk.

ALTER TABLE mahasiswa DROP CONSTRAINT UC_nama'

UC berarti “UNIQUE CONSTRAINT”. Ini berbeda untuk lain. Misalnya mau hapus PRIMARY KEY, maka akan menggunakan ‘PK’ atau ‘CHK’ untuk CHECK…dll

Contoh 4: ganti nama

Contoh dibawah untuk ganti nama attribute. Di contoh ini, saya akan ganti ‘NIM” menjadi ‘ID_mahasiswa’

ALTER TABLE mahasiswa
RENAME COLUMN NIM TO ID_mahasiswa;

Contoh 5: ganti nama tabel

Mengganti nama tabel itu mirip seperti contoh 4. Dibawah akan mengganti nama tabel ‘mahasiswa’ menjadi ‘data_mahasiswa’

ALTER TABLE mahasiswa 
RENAME TO data_mahasiswa;

Foreign Key

Foreign Key akan membuat attribute di tabel mempunyai ‘relationship’ atau ‘hubungan’ dengan tabel lain

Contoh:

Asumsikan saya membuat tabel bernama ‘nilai_mahasiswa’ untuk menyimpan nilai-nilai mahasiswa.

Tabel nilai_mahasiswa juga mempunyai attribute ‘nama’ yaitu menyimpan nama mahasiswa.

Tanpa Foreign Key, attribute ‘nama’ di nilai_mahasiswa akan tidak ada hubungan dengan ‘nama’ di tabel data_mahasiswa. Berarti, itu akan menjadi attribute mandiri.

Untuk menyamakan supaya menjadi efisien, ada 2 cara, yaitu:

Cara 1:

Pada saat membuat tabel

CREATE TABLE nilai_mahasiswa(
nama VARCHAR(255) PRIMARY KEY,
nilai_final_2022 INT NOT NULL,
nilai_final_2023 INT NOT NULL,

FOREIGN KEY (nama) REFERENCES data_mahasiswa(nama)
);

Cara 2:

Setelah tabel sudah dibuat

Referensi

ALTER TABLE nilai_mahasiswa
ADD FOREIGN KEY (nama) REFERENCES data_mahasiswa(nama);

Sekian hari ini dari saya. Terima kasih telah membaca. Saya harap guide ini membantu kamu membuat dan modifikasi tabelmu :)

--

--