Pengenalan Data Definition Language (DDL)

DDL merupakan kepanjangan dari Data Definition Language, yaitu kumpulan perintah untuk menggambarkan desain database secara menyeluruh pada SQL (Structure Query Language). Perintah-perintah utama dalam DDL meliputi:

  • CREATE: Digunakan untuk membuat objek baru.
  • ALTER: Digunakan untuk mengubah struktur objek yang sudah ada.
  • DROP: Digunakan untuk menghapus objek.

Penggunaan Perintah CREATE, ALTER, dan DROP pada MySQL

a. CREATE

Perintah CREATE digunakan untuk membuat database baru, tabel baru, maupun view baru.

  • Contoh: CREATE DATABASE toko_buku;
  • Penjelasan: Perintah tersebut berfungsi untuk membuat sebuah database baru dengan nama toko_buku.

b. ALTER

Perintah ALTER digunakan untuk mengubah struktur tabel yang telah dibuat sebelumnya. Operasi ini dapat dilakukan untuk menambah, menghapus, mengubah kolom, memodifikasi tabel, hingga memberikan atribut baru pada kolom.

  • Contoh: ALTER TABLE buku ADD judul_buku varchar(20);
  • Penjelasan: Perintah tersebut berfungsi untuk menambah field (kolom) baru dengan nama judul_buku yang bertipe data varchar dengan panjang karakter maksimal 20 pada tabel buku.

c. DROP

Perintah DROP berfungsi untuk menghapus objek pada database secara permanen. Objek tersebut dapat berupa database itu sendiri, tabel, function, index, procedure, trigger, atau view.

  • Contoh: DROP DATABASE toko_buku;
  • Penjelasan: Perintah tersebut berfungsi untuk menghapus database yang bernama toko_buku.

Tipe-Tipe Data pada MySQL

Pemilihan tipe data yang tepat sangat penting untuk efisiensi penyimpanan database. Berikut adalah kategori tipe data pada MySQL:

A. Tipe Data Numerik (Angka)

Digunakan untuk menyimpan data bertipe angka.

  • TINYINT: Menyimpan bilangan bulat (positif/negatif). Jangkauan: -128 s/d 127. Ukuran: 1 byte (8 bit).
  • SMALLINT: Menyimpan bilangan bulat. Jangkauan: -32768 s/d 32767. Ukuran: 2 byte (16 bit).
  • MEDIUMINT: Menyimpan bilangan bulat. Jangkauan: -8388608 s/d 8388607. Ukuran: 3 byte (24 bit).
  • INT: Menyimpan bilangan bulat. Jangkauan: -2147483648 s/d 2147483647. Ukuran: 4 byte (32 bit).
  • BIGINT: Menyimpan bilangan bulat dalam skala besar. Jangkauan: -9223372036854775808 s/d 9223372036854775807. Ukuran: 8 byte (64 bit).
  • FLOAT: Menyimpan bilangan pecahan presisi tunggal. Ukuran: 4 byte (32 bit).
  • DOUBLE / REAL: Menyimpan bilangan pecahan presisi ganda. Ukuran: 8 byte (64 bit).
  • DECIMAL / NUMERIC: Menyimpan bilangan pecahan dengan presisi yang sangat tinggi. Ukuran: 8 byte (64 bit).

B. Tipe Data String (Teks)

Digunakan untuk menyimpan data berupa karakter atau teks.

  • CHAR: Menyimpan data string dengan ukuran tetap (contoh: ID barang, NIK KTP). Jangkauan: 0 s/d 255 karakter.
  • VARCHAR: Menyimpan data string dengan ukuran dinamis/berubah-ubah. Jangkauan: 0 s/d 65.535 karakter (pada versi terbaru).
  • TINYTEXT: Menyimpan data teks pendek. Jangkauan: 0 s/d 255 karakter.
  • TEXT: Menyimpan data teks standar. Jangkauan: 0 s/d 65.535 karakter.
  • MEDIUMTEXT: Menyimpan data teks menengah. Jangkauan: 0 s/d 16.777.215 karakter.
  • LONGTEXT: Menyimpan data teks sangat panjang. Jangkauan: 0 s/d 4.294.967.295 karakter.

C. Tipe Data Date and Time

Digunakan untuk menyimpan data waktu dan tanggal.

  • DATE: Menyimpan tanggal (Format: YYYY-MM-DD). Jangkauan: 1000-01-01 s/d 9999-12-31. Ukuran: 3 byte.
  • TIME: Menyimpan waktu (Format: HH:MM:SS). Jangkauan: -838:59:59 s/d +838:59:59. Ukuran: 3 byte.
  • DATETIME: Gabungan tanggal dan waktu (Format: YYYY-MM-DD HH:MM:SS). Jangkauan: 1000-01-01 00:00:00 s/d 9999-12-31 23:59:59. Ukuran: 8 byte.
  • YEAR: Menyimpan tahun (Format: YYYY). Jangkauan: 1900 s/d 2155. Ukuran: 1 byte.

D. Tipe Data BLOB (Biner)

BLOB adalah singkatan dari Binary Large Object. Digunakan untuk menyimpan data biner murni, bersifat case-sensitive, dan ideal untuk file multimedia seperti gambar, dokumen, atau suara.

  • BIT: Menyimpan data biner. Jangkauan: 64 digit biner.
  • TINYBLOB: Jangkauan ukuran maksimal 255 byte.
  • BLOB: Jangkauan ukuran maksimal 65.535 byte.
  • MEDIUMBLOB: Jangkauan ukuran maksimal 16.777.215 byte.
  • LONGBLOB: Jangkauan ukuran maksimal 4.294.967.295 byte.

Jenis-Jenis Key pada SQL

Key pada SQL adalah kombinasi dari beberapa atribut (kolom) yang berfungsi untuk membedakan baris data secara unik dalam sebuah tabel atau untuk menghubungkan (merelasikan) satu tabel dengan tabel lainnya.

  • Super Key: Kumpulan atribut yang dapat digunakan untuk mengidentifikasi setiap baris data pada tabel secara unik.
  • Candidate Key: Super key minimal yang tidak memiliki atribut berulang. Candidate key dipilih dari gabungan field yang paling sedikit untuk mengidentifikasi nilai unik.
  • Primary Key: Candidate key yang terpilih sebagai identifikasi utama sebuah record. Data pada primary key tidak boleh kosong (Not Null) dan tidak boleh duplikat. Setiap tabel hanya boleh memiliki satu Primary Key.
  • Alternate Key: Candidate key yang tidak terpilih menjadi Primary Key.
  • Foreign Key: Kunci yang digunakan untuk merelasikan tabel satu dengan tabel lainnya, membentuk hubungan parent dan child. Primary Key pada tabel utama (parent) akan dirujuk oleh Foreign Key pada tabel terkait (child).
  • Composite Key: Kunci yang terdiri dari dua atau lebih atribut untuk mengidentifikasi suatu entitas secara unik. Biasanya digunakan jika tidak ada satu pun kolom tunggal yang memenuhi syarat sebagai Primary Key.

Jenis-Jenis Constraint pada MySQL

Constraint adalah aturan pembatasan yang diterapkan pada kolom atau tabel untuk menjaga integritas dan validitas data.

  • NOT NULL: Memastikan bahwa sebuah kolom tidak boleh dibiarkan kosong pada saat pengisian record. Kolom tersebut wajib diisi dengan data.
  • UNIQUE: Memastikan bahwa setiap nilai dalam suatu kolom berbeda satu sama lain (tidak ada duplikasi record).
  • PRIMARY KEY: Kombinasi dari constraint NOT NULL dan UNIQUE. Mengidentifikasi setiap baris dalam tabel secara unik. Hanya diperbolehkan satu PRIMARY KEY dalam sebuah tabel.
  • FOREIGN KEY: Menjaga integritas referensial data antar tabel. Memastikan bahwa nilai pada kolom child harus memiliki rujukan yang valid di kolom parent (tabel lain).
  • CHECK: Melakukan validasi atau pengecekan sebelum data disimpan ke dalam database. Data akan dievaluasi dengan nilai boolean; jika memenuhi syarat bernilai true dan disimpan, namun jika false, SQL akan menolaknya dan menampilkan pesan error.
Shares:
Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *