Selasa, 23 Maret 2010

Penggunaan Perintah DDL dan DML

Saya sempat bingung pertama kali saya dapat tugas untuk membuat database http://www.smileycodes.info .
Apa yang pertama2 harus dilakukan, lalu apa selanjutnya, bagaimana menggunakan DDL dan DML??? http://www.smileycodes.info http://www.smileycodes.info.
Untungnya ada seorang teman yg baek hati http://www.smileycodes.info yg mau membantu saya.

Nah kali ini saya akan coba menjelaskan sedikit tentang perintah DDL dan DML itu buat temen2 semua http://www.smileycodes.info.
Nahh akan lebih mudah kalau dijelasin langsung pake contoh..



Waktu itu tugasnya adalah membuat sebuah database Penjualan dengan table MsBarang, MsPelanggan, MsPegawai, Transaksi dan DetilTransaksi. Dengan rincian:


nhhhh...
pertama2 yg harus kita lakukan adalah tentukan primary key dari tiap tabel (tapi gga harus semua tabel ada primary key http://www.smileycodes.info ). Field yang menjadi primary key adalah Field yang bersifat unik. Untuk database Penjualan diatas, yang memiliki primary key hanya tabel msbarang,mspelanggan,mspegawai, dan transaksi. Untuk tabel msbarang adalah KdBarang, tabel mspelanggan adalah KdPelanggan, tabel mspegawai adalah KdPegawai dan tabel transaksi adalah KdTrans.

Langkah selanjutnya adalah menentukan foreign key (sama seperti primary key tidak harus semua tabel memiliki forign key http://www.smileycodes.info ). Field yang menjadi foreign key adalah field yang merupakan primary key pada tabel sebelumnya (supaya jangan bingung pada pembuatan table nantinya, ada baiknya dituliskan di selembar kertas).Nhhhh...(berdasarkan soal) tabel msbarang, mspelanggan, dan mspegawai tidak memiliki foreign key (bisa dibilang ne merupakan tabel induk/master. http://www.smileycodes.info ).Untuk tabel mstransaksi field KdPelanggan dan KdPegawai merupakan foreign key. Sedangkan untuk tabel detiltransaksi KdTrans an KdBrg yang menjadi foreign key.

Nhhhh....baru laahhh selanjutnya mulai membuat database, bisa menggunakan mysql, xampp, dll.
Tapi kali ini saya menggunakan xampp.

Mari kita mulaiiii... http://www.smileycodes.info
Perintah DDL untuk membuat sebuah database adalah 'create database Penjualan;'


Kemudian untuk dapat menggunakan database penjualan kita harus menuliskan perintah 'use penjualan;'.
Yang kita lakukan setelah itu adalah membuat tabel msbarang, mspelanggan, mspegawai, transaksi dan detiltransaksi.
Untuk membuat tabel perintaha yang dituliskan adalah
'CREATE TABLE  nama_tabel ( nama_field [UNIQUE] [NOT NUL] [PRIMARY KEY] [DEFAULT] [referential_constraint_defenition>] [CHECK], nama_field [UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT] [referential_constraint_defenition>] [CHECK],. . . );'
Untuk membuat tabel msbarang:
'create table msbrg (KdBrg char(5) primary key,Nmbrg varchar(30) not null,HgSatuan int(12) not null,JmStok int default 0);'(Lakukan hal yang sama untuk membuat tabel mspelanggan,mspegawai)
Untuk tabel transaksi:
'create table transaksi (TglTrans date not null,KdTrans char(5) primary key,KdPel char(5) not null,KdPeg char(5) not null);' (pada tabel transaksi dan detil transaksi field yang menjadi foreign key tidak langsung dituliskan karena ada langkah tersendiri, yang akan dijelaskan nanti, untuk mengubahnya menjadi foreign key)


Setelah semua tabel dibuat yang harus dilakuakn sekarang adalah membuat foreign key.
untuk membuat sebuah field menjadi foreign key, pertama2 kita harus mengubah tabel kita dari MyISAM menjadi InnoDB. Caranya adalah dengan mengetikan 'alter table nama_tabel engine=innodb'
mis untuk tbel msbrg: 'alter tabel msbrg engine=innodb;'(dan lakukan pada setiap tabel)

Kemudian untuk membuat foreign key kita hanya perlu menuliskan perintah 

'alter tabel transaksi add constraint foreign key (KdPel) references mspelanggan (KdPel) on delete cascade on update cascade;' (lakukan untuk tabel transaksi memforeign key KdPeg tabel mspegawai, tabel detiltrans memforeign key KdTran tabel transaksi dan KdBrg tabel msbrg)

sehingga akn terlihat perubahan


Kemudian lakukan perintah insert seperti
'insert into msbrg values (‘AR001’,’Monitor Samsung 14’,1000000, 12); '(Lakukan untuk memasukkan semua data).


Hhmmmm.. http://www.smileycodes.info
Sekarang menggunakan perintah DML untuk mengubah nama pegawai menjadi Yeni dengan kode Pg003 'update mspegawai set NmPeg=’Yeni’ where KdPeg=’PG003’;'
Menghapus data pelanggan dengan kode CS003 'delete from mspelanggan where KdPel=’CS003’;'

dan untuk
1.    tampilkan data semua barang
2.    tampilkan data barang yang memiliki stok > 10
3.    tampilkan data pelanggan yang tinggal di kota Malang
4.    tammpilkan data transaksi dengan menampilkan data TglTrans, KdTrans, KdPelanggan, NmPelanggan
5.    tampilkan data yang menampilkan KdTrans, KdBarang, JumJual, KdPegawai, NmPegawai

1. Select * from msbrg;
2. Select * from msbrg where JmStok>10;
3. Select * from mspelanggan where Kt=’Malang’;
4.Select transaksi.TglTrans,transaksi.KdTrans,mspelanggan.KdPel,mspelanggan.NmPel
from transaksi,mspelanggan where mspelanggan.KdPel=transaksi.KdPel;
5.Select transaksi.TglTrans,transaksi.KdTrans,mspelanggan.KdPel,mspelanggan.NmPel
from transaksi,mspelanggan where mspelanggan.KdPel=transaksi.KdPel;

Maka hasilnya adalah

Tidak ada komentar:

Posting Komentar