Transact SQL ; nd DDL 2
S1 TI - AMIKOM Yogyakarta
2009
MODUL PRAKTIKUM SISTEM BASIS DATA
MODUL PRAKTIKUM SISTEM BASIS DATA
Transact ‐ SQL : Data Definition Language 2nd
Akhmad Dahlan © Laboratorium Basis Data Jurusan Teknik Informatika ‐ STMIK AMIKOM Yogyakarta 2009
Modul
4 Transact ‐ SQL : Data Definition Language 2nd Kompetensi Dasar : • Implementasi database dengan perintah SQL: DDL‐2 Indikator : • Memahami macam‐macam perintah SQL:DDL‐2 • Mampu menerapkan SQL‐DDL‐2 dalam membuat constraint table • Mampu menerapkan SQL‐DDL‐2 dalam membuat table relasi Pada modul sebelumnya kita sudah memepelajari bagaimana membuat sebuah table sederhana termasuk memberikan constraint primary key di dalamnya. Dalam modul ini kita akan lanjutkan bagaimana membuat table yang saling berelasi dengan beberapa batasan/constraint. Practice 4.1 : CREATE TABLE penyewa ( id_anggota int identity (1,1), nama varchar(30) not null, alamat varchar(50), jk char(1) default 'L', agama varchar(10) constraint cek_keimanan check(agama in('Islam','Kristen','khatolik','budha','hindu','lainya'), primary key (id_anggota))
Keterangan: Pada perintah SQL di atas, ada beberapa constraint, yaitu: NULL: mendefinisikan bahwa kolom tersebut diperkenankan bernialai NULL, NULL adalah tidak adanya data yang dimasukan. NOT NULL: kebalikan dari NULL, yaitu mendefinisikan bahwa kolom tersebut tidak diperkenankan bernialai NULL, kolom tersebut harus diisi data.
Default Value: Defaults menentukan nilai/data apa yang dimasukkan dalam kolom jika kita tidak menentukan nilai untuk kolom ketika memasukkan data. Auto increment: pendefinisian input data secara otomatis dengan berurutan sesuai dengan property identity. Check constraint: penambahan constraint untuk mengecek / memvalidasi nilai yang dimasukan apakah sesuai dengan yang ditentukan. NEXT Selanjutnya kita akan coba membuat table yang berelasi dengan table yang lain. Yang perlu diingat kembali dalam relasi tabela adalah diperlukannya foreign key sebagai penghubung antar tabel yang berelasi tersebut. Sebagai acuan praktikum perhatikan gambar model relational berikut ini:
Terjadi relasi antara table data_penyewa dengan table jenispenyewa. Kardinalitas relasi yang terjadi dari kedua table tersebut adalah many – to – one. Implementasi dalam pembuatan table tersebut adalah sebagai berikut: (Semoga Error!) ☺ Practice 4.3 : create table DATA_PENYEWA ( id_anggota int identity (1,1) primary key, nama varchar(30) not null, alamat varchar(40), jk char(1) default 'L', agama varchar(10) constraint cek_keimanan check(agama in('Islam','Kristen','khatolik','budha','hindu','lainya')), jenis_penyewa char(3) references jenispenyewa(kode_jenis))
3
Practice 4.2 : create table jenis penyewa( kodejenis char(2) primary keynot null, namajenis varchar(10) default 'Regular')
Catat! Dalam membuat table relasi yang mengandung foreign key, yang perlu diperhatikan adalah: • Kolom yang menjadi foreign key harus selalu mengikuti aturan (type data dan nilai datanya) dari kolom referensinya. • Karena menjadi referensi, tabel induk harus dibuat terlebih dahulu. Beberapa perintah untuk menambahkan constraint foreign key dapat dilakukan dengan beberapa cara, contohnya: Menambahkan constraint foreign key setelah tabel dibuat, dengan perintah ALTER: Syntax 4.1 : ALTER TABLE nama_tabel ADD CONSTRAINT nama_constraint FOREIGN KEY (nama_kolom) REFERENCES nama_tabel_induk(kolom_referensi)
Memberikan constraint foreign key saat pembuatan tabel: Syntax 4.2 : CREATE TABLE nama_tabel ( nama_kolom1 VARCHAR(20) not null, nama_kolom2 VARCHAR(30), nama_kolom3 INT, CONSTRAINT nama_konstraint FOREIGN KEY (nama_kolom) REFERENCES nama_tabel_induk(kolom_referensi) )
4
Let’s Play: Untuk mencoba syntax 4.1 dan 4.2 silakan buat tabel‐tabel yang dimaksud pada relasi dibawah ini:
Help: Untuk mengimplementasikan relational model di atas dengan mudah, kita harus jeli dan bisa menentukan tabel induk mana yang pertama dibuat!.
happy coding;
[email protected]
end of ddl chapter, congratulation…
5