Pengenalan kepada Data Definition Language (DDL)

DDL merupakan singkatan bagi Data Definition Language, iaitu set arahan untuk menerangkan reka bentuk pangkalan data secara menyeluruh dalam SQL (Structured Query Language). Arahan utama dalam DDL merangkumi:

  • CREATE: Digunakan untuk mencipta objek baharu.
  • ALTER: Digunakan untuk mengubah struktur objek sedia ada.
  • DROP: Digunakan untuk menghapuskan objek.

Penggunaan Arahan CREATE, ALTER, dan DROP dalam MySQL

a. CREATE

Arahan CREATE digunakan untuk mencipta pangkalan data baharu, jadual baharu, mahupun paparan baharu.

  • Contoh: CREATE DATABASE toko_buku;
  • Penjelasan: Arahan tersebut berfungsi untuk mencipta sebuah pangkalan data baharu dengan nama toko_buku.

b. ALTER

Arahan ALTER digunakan untuk mengubah struktur jadual yang telah dicipta sebelum ini. Operasi ini boleh dilakukan untuk menambah, menghapus, mengubah lajur, mengubah suai jadual, hingga memberikan atribut baharu pada lajur.

  • Contoh: ALTER TABLE buku ADD judul_buku varchar(20);
  • Penjelasan: Arahan tersebut berfungsi untuk menambah medan (lajur) baharu dengan nama judul_buku yang bertipe data varchar dengan panjang aksara maksimum 20 pada jadual buku.

c. DROP

Arahan DROP berfungsi untuk menghapuskan objek pada pangkalan data secara kekal. Objek tersebut boleh berupa pangkalan data itu sendiri, jadual, fungsiindeksprosedurpencetus, atau paparan.

  • Contoh: DROP DATABASE toko_buku;
  • Penjelasan: Arahan tersebut berfungsi untuk menghapuskan pangkalan data yang bernama toko_buku.

Jenis-Jenis Data dalam MySQL

Pemilihan jenis data yang tepat sangat penting untuk kecekapan penyimpanan pangkalan data. Berikut adalah kategori jenis data dalam MySQL:

A. Jenis Data Numerik (Angka)

Digunakan untuk menyimpan data bertipe angka.

  • TINYINT: Menyimpan nombor bulat (positif/negatif). Julat: -128 hingga 127. Saiz: 1 bait (8 bit).
  • SMALLINT: Menyimpan nombor bulat. Julat: -32768 hingga 32767. Saiz: 2 bait (16 bit).
  • MEDIUMINT: Menyimpan nombor bulat. Julat: -8388608 hingga 8388607. Saiz: 3 bait (24 bit).
  • INT: Menyimpan nombor bulat. Julat: -2147483648 hingga 2147483647. Saiz: 4 bait (32 bit).
  • BIGINT: Menyimpan nombor bulat dalam skala besar. Julat: -9223372036854775808 hingga 9223372036854775807. Saiz: 8 bait (64 bit).
  • FLOAT: Menyimpan nombor pecahan berketepatan tunggal. Saiz: 4 bait (32 bit).
  • DOUBLE / REAL: Menyimpan nombor pecahan berketepatan ganda. Saiz: 8 bait (64 bit).
  • DECIMAL / NUMERIC: Menyimpan nombor pecahan dengan ketepatan yang sangat tinggi. Saiz: 8 bait (64 bit).

B. Jenis Data Rentetan (Teks)

Digunakan untuk menyimpan data berupa aksara atau teks.

  • CHAR: Menyimpan data rentetan dengan saiz tetap (contoh: ID barang, Nombor K/P). Julat: 0 hingga 255 aksara.
  • VARCHAR: Menyimpan data rentetan dengan saiz dinamik/berubah-ubah. Julat: 0 hingga 65,535 aksara (pada versi terkini).
  • TINYTEXT: Menyimpan data teks pendek. Julat: 0 hingga 255 aksara.
  • TEXT: Menyimpan data teks piawai. Julat: 0 hingga 65,535 aksara.
  • MEDIUMTEXT: Menyimpan data teks sederhana. Julat: 0 hingga 16,777,215 aksara.
  • LONGTEXT: Menyimpan data teks sangat panjang. Julat: 0 hingga 4,294,967,295 aksara.

C. Jenis Data Tarikh dan Masa

Digunakan untuk menyimpan data masa dan tarikh.

  • DATE: Menyimpan tarikh (Format: YYYY-MM-DD). Julat: ‘1000-01-01’ hingga ‘9999-12-31’. Saiz: 3 bait.
  • TIME: Menyimpan masa (Format: HH:MM:SS). Julat: ‘-838:59:59’ hingga ‘+838:59:59’. Saiz: 3 bait.
  • DATETIME: Gabungan tarikh dan masa (Format: YYYY-MM-DD HH:MM:SS). Julat: ‘1000-01-01 00:00:00’ hingga ‘9999-12-31 23:59:59’. Saiz: 8 bait.
  • YEAR: Menyimpan tahun (Format: YYYY). Julat: 1900 hingga 2155. Saiz: 1 bait.

D. Jenis Data BLOB (Perduaan)

BLOB adalah singkatan bagi Binary Large Object. Digunakan untuk menyimpan data perduaan tulen, bersifat peka huruf besar-kecil, dan ideal untuk fail multimedia seperti imej, dokumen, atau suara.

  • BIT: Menyimpan data perduaan. Julat: 64 digit perduaan.
  • TINYBLOB: Julat saiz maksimum 255 bait.
  • BLOB: Julat saiz maksimum 65,535 bait.
  • MEDIUMBLOB: Julat saiz maksimum 16,777,215 bait.
  • LONGBLOB: Julat saiz maksimum 4,294,967,295 bait.

Jenis-Jenis Kunci dalam SQL

Kunci dalam SQL adalah gabungan beberapa atribut (lajur) yang berfungsi untuk membezakan baris data secara unik dalam sesebuah jadual atau untuk menghubungkan (merelasikan) satu jadual dengan jadual yang lain.

  • Kunci Super: Kumpulan atribut yang boleh digunakan untuk mengenal pasti setiap baris data pada jadual secara unik.
  • Kunci Calon: Kunci super minimum yang tidak mempunyai atribut berulang. Kunci calon dipilih daripada gabungan medan yang paling sedikit untuk mengenal pasti nilai unik.
  • Kunci Utama: Kunci calon yang terpilih sebagai identifikasi utama sesuatu rekod. Data pada kunci utama tidak boleh kosong (Not Null) dan tidak boleh pendua. Setiap jadual hanya boleh memiliki satu Kunci Utama.
  • Kunci Gantian: Kunci calon yang tidak terpilih menjadi Kunci Utama.
  • Kunci Asing: Kunci yang digunakan untuk merelasikan jadual satu dengan jadual lainnya, membentuk hubungan induk dan anak. Kunci Utama pada jadual utama (induk) akan dirujuk oleh Kunci Asing pada jadual berkaitan (anak).
  • Kunci Komposit: Kunci yang terdiri daripada dua atau lebih atribut untuk mengenal pasti sesuatu entiti secara unik. Biasanya digunakan jika tiada satu pun lajur tunggal yang memenuhi syarat sebagai Kunci Utama.

Jenis-Jenis Kekangan dalam MySQL

Kekangan adalah peraturan pembatasan yang diterapkan pada lajur atau jadual untuk menjaga integriti dan kesahihan data.

  • NOT NULL: Memastikan bahawa sesebuah lajur tidak boleh dibiarkan kosong semasa pengisian rekod. Lajur tersebut wajib diisi dengan data.
  • UNIQUE: Memastikan bahawa setiap nilai dalam sesuatu lajur berbeza antara satu sama lain (tiada penduaan rekod).
  • PRIMARY KEY: Gabungan daripada kekangan NOT NULL dan UNIQUE. Mengenal pasti setiap baris dalam jadual secara unik. Hanya dibenarkan satu PRIMARY KEY dalam sesebuah jadual.
  • FOREIGN KEY: Menjaga integriti rujukan data antara jadual. Memastikan bahawa nilai pada lajur anak mesti mempunyai rujukan yang sah di lajur induk (jadual lain).
  • CHECK: Melakukan validasi atau pemeriksaan sebelum data disimpan ke dalam pangkalan data. Data akan dinilai dengan nilai boolean; jika memenuhi syarat bernilai true dan disimpan, namun jika false, SQL akan menolaknya dan memaparkan mesej ralat.

Shares:
Tinggalkan Balasan

Alamat e-mel anda tidak akan disiarkan. Medan diperlukan ditanda dengan *