DDL


Apa itu Data Definition Language?

Dalam database, data definition adalah proses mendefinisikan struktur data dan cara penyusunannya. Hal ini meliputi pembuatan tabel, mendefinisikan kolom, dan menetapkan hubungan antara tabel.


Create Table

Untuk membuat tabel baru di dalam database, Anda dapat menggunakan pernyataan "CREATE TABLE". Pernyataan ini menentukan nama tabel dan kolom yang akan dimasukkan dalam tabel. Berikut adalah contoh cara membuat tabel:

CREATE TABLE Customers (
  CustomerID int,
  CustomerName varchar(255),
  Contact varchar(255),
  Country varchar(255)
);

Pernyataan ini membuat tabel yang disebut "Customers" dengan empat kolom: "CustomerID", "CustomerName", "ContactName", dan "Country".


Alter Table

Untuk menambahkan kolom baru ke tabel yang sudah ada, Anda dapat menggunakan pernyataan "ALTER TABLE". Berikut adalah contoh cara menambahkan kolom baru ke tabel "Customers":

ALTER TABLE Customers
ADD Email varchar(255);

Pernyataan ini menambahkan kolom baru bernama "Email" ke tabel "Customers".


Delete Table

Untuk menghapus sebuah tabel dari database, Anda dapat menggunakan pernyataan "DROP TABLE". Berikut adalah contoh cara menghapus tabel "Customers":

DROP TABLE Customers;

Indexing

Index pada database adalah struktur data yang meningkatkan kecepatan operasi pengambilan data pada sebuah tabel. Index dibuat pada satu atau beberapa kolom sebuah tabel. Untuk membuat sebuah index pada sebuah tabel, Anda dapat menggunakan pernyataan "CREATE INDEX". Berikut adalah contoh cara membuat index pada kolom "CustomerName" dari tabel "Customers":

CREATE INDEX idx_customers_customername
ON Customers (CustomerName);

Pernyataan ini membuat index yang disebut "idx_customers_customername" pada kolom "CustomerName" dari tabel "Customers". Jadi setiap kali query atau pengambilan data berdasarkan nama customer, itu akan menjadi jauh lebih cepat dikarenakan indexing.

kekurangan:

  • memakan space banyak untuk membuat data structure
  • jika salah mendefinisikan sesuai kegunaan (contoh di website kita tidak ada pengambilan data berdasarkan customer name, maka akan percuma), hanya akan memakan space tanpa menambah kecepatan pengambilan data

Untuk menghapus sebuah index dari tabel, Anda dapat menggunakan pernyataan "DROP INDEX". Berikut adalah contoh cara menghapus index "idx_customers_customername":

DROP INDEX idx_customers_customername;

Pernyataan ini menghapus index "idx_customers_customername" dari tabel.


Keys


Primary Keys

Primary key adalah sebuah kolom pada sebuah tabel yang secara unik mengidentifikasi setiap baris pada tabel tersebut. Untuk membuat primary key pada sebuah tabel, Anda dapat menggunakan constraint "PRIMARY KEY". Berikut adalah contoh cara membuat primary key pada kolom "CustomerID" dari tabel "Customers":

CREATE TABLE Customers (
  CustomerID int PRIMARY KEY,
  CustomerName varchar(255),
  ContactName varchar(255),
  Country varchar(255)
);

Pernyataan ini membuat tabel yang disebut "Customers" dengan empat kolom, dimana kolom "CustomerID" ditandai sebagai primary key.


Foreign Keys

Foreign key adalah sebuah kolom atau sekumpulan kolom pada sebuah tabel yang merujuk ke primary key dari tabel lain. Ini membentuk hubungan antara kedua tabel. Untuk membuat foreign key pada sebuah tabel, Anda dapat menggunakan constraint "FOREIGN KEY". Berikut adalah contoh cara membuat foreign key pada kolom "CustomerID" dari tabel "Orders", yang merujuk ke kolom "CustomerID" pada tabel "Customers":

CREATE TABLE Orders (
  OrderID int PRIMARY KEY,
  CustomerID int,
  OrderDate date,
  FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

Pernyataan ini membuat tabel yang disebut "Orders" dengan tiga kolom, dimana kolom "CustomerID" adalah foreign key yang merujuk ke kolom "CustomerID" pada tabel "Customers".