Kali ini saya akan menerangkan tahap-tahap penerapan normalisasi hingga menjadi sebuah ERD pada SQL server. Sering kali mahasiswa bertanya "bagaimana awal mulanya pembuatan sistem informasi" salah satu cara terbaik awal pembuatan sistem informasi adalah menanyakan kebutuhan user / pengguna terhadap sebuah sistem yang akan dibangun, biasanya kebutuhan ini awalnya dari sebuah "MASALAH" yang harus dicarikan solusi.
Bermodalkan interview kepada pengguna kebutuhan apa yang harus dibuat, biasanya kita mencari informasi proses bisnis dari perusahaan tersebut, sehingga akhirnya kita mengetahui format manual sistem yang berjalan contohnya disini BON PEMBELIAN.
dari manual bon pembelian diatas kita dapat menjadi bentuk normal pertama dengan memisah-misahkan data pada atribut-atribut yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya.
3. Bentuk Normal Ketiga (3NF)
Bentuk normal ketiga mempunyai syarat, setiap relasi tidak mempunyai atribut yang bergantung transitif, harus bergantung penuh pada kunci utama dan harus memenuhi bentuk normal kedua (2 NF).
Implementasi ERD (entity relationship diagram) pada contoh diatas, bisa dituangkan kedalam database MS SQL Server 2005, seperti terlihat pada gambar beikut ini :
Record Fisik database :
berikutnya saya akan menjelaskan pemakaian script sql server dalam membuat tabel-tabel diatas dan relasi yang terbentuk.
Membuat database Pembelian
Membuat table
Mengisi data pada table
Menampilkan data dari table yang telah kita isi
Terima kasih semoga bermanfaat
2. Bentuk Normal Kedua (2NF).
Bentuk normal kedua dengan melakukan dekomposisi tabel diatas menjadi beberapa tabel dan mencari kunci primer dari tiap-tiap tabel tersebut dan atribut kunci haruslah unik.3. Bentuk Normal Ketiga (3NF)
Bentuk normal ketiga mempunyai syarat, setiap relasi tidak mempunyai atribut yang bergantung transitif, harus bergantung penuh pada kunci utama dan harus memenuhi bentuk normal kedua (2 NF).
Implementasi ERD (entity relationship diagram) pada contoh diatas, bisa dituangkan kedalam database MS SQL Server 2005, seperti terlihat pada gambar beikut ini :
Record Fisik database :
berikutnya saya akan menjelaskan pemakaian script sql server dalam membuat tabel-tabel diatas dan relasi yang terbentuk.
Membuat database Pembelian
1 | create database pembelian |
2 | use pembelian |
01 | create table kendaraan ( |
02 | no_polisi char(10), |
03 | warna char(20), |
04 | merek char(30), |
05 | tahun char(5), |
06 | primary key (no_polisi) |
07 | ) |
08 | sp_help kendaraan |
09 |
10 | create table mekanik ( |
11 | mekanik_id char(5), |
12 | nama_mekanik varchar(50), |
13 | primary key (mekanik_id) |
14 | ) |
15 | sp_help mekanik |
16 |
17 | create table parts ( |
18 | kode_parts char(20), |
19 | nama_parts varchar(50), |
20 | harga int, |
21 | primary key (kode_parts) |
22 | ) |
23 | sp_help parts |
24 |
25 | create table bon_pembelian ( |
26 | no_faktur char(10), |
27 | tanggal datetime, |
28 | no_polisi char(10), |
29 | mekanik_id char(5), |
30 | potongan int, |
31 | primary key (no_faktur), |
32 | constraint FK_nopolisi foreign key (no_polisi) references kendaraan(no_polisi), |
33 | constraint FK_mekanik foreign key (mekanik_id) references mekanik(mekanik_id) |
34 | ) |
35 | sp_help bon_pembelian |
36 |
37 | create table transaksi_parts ( |
38 | no_faktur char(10), |
39 | kode_parts char(20), |
40 | qty int, |
41 | harga int, |
42 | discount int, |
43 | primary key (no_faktur,kode_parts), |
44 | constraint FK_nofaktur foreign key (no_faktur) references bon_pembelian(no_faktur), |
45 | constraint FK_kodeparts foreign key (kode_parts) references parts(kode_parts) |
46 | ) |
47 | sp_help transaksi_parts |
Mengisi data pada table
01 | /*jawaban no.3 */ |
02 | /** Isi data table kendaraan **/ |
03 | INSERT INTO kendaraan VALUES( 'B3117LB' , 'Biru' , 'Supra X' , '2005' ) |
04 | INSERT INTO kendaraan VALUES( 'B2121AA' , 'Merah' , 'Supra X' , '2005' ) |
05 | /** isi data table mekanik **/ |
06 | INSERT INTO mekanik VALUES( 'DDE' , 'Djoko Dewanto' ) |
07 | /** isi data table parts **/ |
08 | INSERT INTO parts VALUES( '20W501000CC' , 'Oli Top 1 000cc' ,27000) |
09 | INSERT INTO parts VALUES( 'SERV001' , 'Engine Tune Up' ,25000) |
10 | /** isi data table bon_pembelian **/ |
11 | INSERT INTO bon_pembelian VALUES( '05103214' ,GETDATE(), 'B3117LB' , 'DDE' ,2000) |
12 | INSERT INTO bon_pembelian VALUES( '05103215' ,GETDATE(), 'B2121AA' , 'DDE' ,0) |
13 | /** isi data table transkasi_parts **/ |
14 | INSERT INTO transaksi_parts (no_faktur,kode_parts,qty,harga,discount) |
15 | select '05103214' , '20W501000CC' ,2,harga,1000 FROM parts where kode_parts= '20W501000CC' |
16 | INSERT INTO transaksi_parts (no_faktur,kode_parts,qty,harga,discount) |
17 | select '05103214' , 'SERV001' ,1,harga,2000 FROM parts where kode_parts= 'SERV001' |
18 | INSERT INTO transaksi_parts (no_faktur,kode_parts,qty,harga,discount) |
19 | select '05103215' , 'SERV001' ,1,harga,2000 FROM parts where kode_parts= 'SERV001' |
Menampilkan data dari table yang telah kita isi
01 | /*jawaban no.3 */ |
02 | select * from kendaraan |
03 | select * from mekanik |
04 | select * from parts |
05 | select * from bon_pembelian |
06 | select * from transaksi_parts |
07 |
08 | /** Relasi antar table hingga terbentuk 1NF **/ |
09 | select a.no_faktur, a.tanggal,a.no_polisi,e.warna,e.merek,e.tahun,a.mekanik_id,d.nama_mekanik, |
10 | b.kode_parts,c.nama_parts,b.qty,b.harga,b.discount,(b.qty*b.harga)-(b.qty*b.discount) as jumlah,a.potongan, |
11 | (select sum((qty*harga)-(qty*discount))-a.potongan from transaksi_parts where no_faktur=a.no_faktur) as total |
12 | from bon_pembelian as a |
13 | join transaksi_parts as b ON a.no_faktur=b.no_faktur |
14 | join parts as c ON b.kode_parts=c.kode_parts |
15 | join mekanik as d ON a.mekanik_id=d.mekanik_id |
16 | join kendaraan as e ON a.no_polisi=e.no_polisi |
sumber : Deddy Rusdiansyah
0 komentar:
Post a Comment