Kamis, 17 Maret 2011

Membatasi Data pada Database MySQL

Pada sebuah database, terkadang karena suatu hal, kita perlu melakukan pembatasan mengenai data yang boleh dimasukkan ke dalam database. Pada MySQL, kita dapat melakukan pembatasan data (constraint) pada saat database tersebut di buat atau dengan mengedit database setelah database dibuat. (dengan perintah ALTER). pada saat database tersebut dibuat, dapat dilakukan dengan beberapa macam pembatasan, yaitu :
  • Data tidak boleh kosong, batasan ini akan menyebabkan kolom tidak menerima nilai kosong atau NULL. Misal :
    CREATE TABLE Mahasiswa
    (
    ID int NOT NULL,
    Nama varchar(255) NOT NULL,
    Alamat varchar(255),
    Kota varchar(255),
    Propinsi varchar(255)
    )
    Dengan begitu, maka ID dan nama tidak akan “menerima” apabila nilai yang dimasukkan kosong.
  • Data menjadi unik, batasan ini akan memberikan pengenal yang unik atau berbeda dengan data yang lain. Misal :
    CREATE TABLE Mahasiswa
    (
    ID int NOT NULL,
    Nama varchar(255) NOT NULL,
    Alamat varchar(255),
    Kota varchar(255),
    Propinsi varchar(255),
    UNIQUE (ID)
    )
    Dengan begitu, maka ID akan mendapatkan nilai yang unik.
  • Data menjadi primary key, batasan ini akan memberikan kunci primer pada tabel tersebut. kunci primer harus memiliki nilai yang unik dan tidak dapat kosong (NOT NULL). Semua tabel harus memiliki kunci primer dan hanya memiliki 1 kunci primer. Misal :
    CREATE TABLE Mahasiswa
    (
    ID int NOT NULL,
    Nama varchar(255) NOT NULL,
    Alamat varchar(255),
    Kota varchar(255),
    Propinsi varchar(255),
    PRIMARY KEY (ID)
    )
    Dengan begitu, maka ID akan menjadi kunci primer.
  • Data menjadi foreign key, foreign key adalah primary key di sebuah tabel dan akan menjadi foreign key bagi tabel lain yang terhubung, seperti contoh pada perintah join pada MySQL. Misal:
    CREATE TABLE Nilaitertinggi
    (
    Idpelajaran int NOT NULL,
    Pelajaran int NOT NULL,
    ID int,
    PRIMARY KEY (Idpelajaran),
    FOREIGN KEY (ID) REFERENCES Mahasiswa(ID)
    )
  • Data memiliki nilai dengan batas tertentu, kita dapat membatasi nilai pada sebuah kolom atau keseluruhan kolom pada sebuah tabel. Misal:
    CREATE TABLE Mahasiswa
    (
    ID int NOT NULL,
    Nama varchar(255) NOT NULL,
    Alamat varchar(255),
    Kota varchar(255),
    Propinsi varchar(255),
    CHECK (ID>0)
    )
  • Data memiliki nilai default, kita akan memberikan nilai default pada sebuah kolom. Misal:
    CREATE TABLE Mahasiswa
    (
    ID int NOT NULL,
    Nama varchar(255) NOT NULL,
    Alamat varchar(255),
    Kota varchar(255),
    Propinsi varchar(255) DEFAULT ‘Jawa Tengah’
    )

2 komentar:

min kok fungdi check gak berfungsi

Betul, ternyata constraint CHECK di MYSQL disediakan tapi diabaikan (parsed but ignored) terkait dengan kompabilitas dgn teknologi database yg lain. Lihat MYSQL Manual.

Posting Komentar

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites