Senin, 29 Desember 2008

TUGAS OOP2 LAPORAN 5

LINK TUGAS OOP2 LAPORAN5

http://www.geocities.com/nurafni44646/laporan5k.zip
PROGRAM :SISTEM INFORMASI AKADEMIK MADRASAH
PEMBUAT :NURAFNI (NURAFNI446@GMAIL.COM)

Rabu, 24 Desember 2008

TUGAS OOP 2 LAPORAN 5

LINK TUGAS OOP 2 LAPORAN 5

http://www.geocities.com/nurafni44646/laporan5.zip
PROGRAM :SISTEM INFORMASI AKDEMIK
PEMBUAT :NURAFNI (NURAFNI446@GMAIL.COM)

Rabu, 17 Desember 2008

LINK [TUGAS OOP2] LAPORAN4

LINK [TUGAS OOP2] LAPORAN 4

http://www.geocities.com/nurafni44646/laporan4.zip

SISTEM INFORMASI AKADEMIK MAN 1 BATUSANGKAR
PEMBUAT:NURAFNI(NURAFNI446@GMAIL.COM)

Rabu, 10 Desember 2008

link tugas oop2 laporan3
program : sistem informasi akademik
dibuat oleh : nurafni(nurafni446@gmail.com)
http://www.geocities.com/nurafni44646/laporan3.zip

Kamis, 06 November 2008

tugas

Modul Pemrograman Berorentiasi Objek

Microsoft SQL Server

  1. Service Manager
  2. Enterprise Manager
  3. Query Analyzer

1. Service manager

Digunakan untuk mengaktifkan Service SQL Server pada Windows

2. Enterprise Manager

l Merupakan alat administrasi utama database pada SQL Server 2000

l Memungkinkan pengguna untuk:

l Mengkonfigurasi semua opsi SQL Server, Object, Login, User, dll

l Membuat dan menjalankan perintah-perintah SQL

l Dan lain sebagainya.

Layar Enterprise Manager

l Untuk membuat database baru masuk ke root database, dengan cara mengklik pada Tree View Database disebelah kanan

l Klik kanan pada list view dan pilih new database

l Misalnya barang

l Click Ok untuk membuat database

Membuat Table Baru

- Buat Table barang dengan nama tbbarang

- Set Primary Key pada kode

· Simpan dengan nama tbbarang

· Menambahkan login

4. Sql Query Analizer

Mengunakan vb enterprise edition control

Nama project

· Nama project:= project inventori

· Nama form =form tbbarang

Tambahkan ADODC ke dalam form tbbarang

Property ADODC

  • Simpan connection stringnya

Listing program

Dim constring As String

Private Sub bersih()

TXTKODE.Text = ""

TXTNAMA.Text = ""

TXTSATUAN.Text = ""

TXTHARGA.Text = ""

TXTSTOK.Text = ""

End Sub

Private Sub CMDBERSIH_Click()

bersih

End Sub

Private Sub CMDHAPUS_Click()

Dim dbinventori As New ADODB.Connection

Dim rsinventori As ADODB.Recordset

dbinventori.Open constring, "nurafni", "afni"

dbinventori.Execute "Delete from tbbarang where kodebrg ='" & TXTKODE.Text & "'"

bersih

End Sub

Private Sub CMDSIMPAN_Click()

Dim dbinventori As New ADODB.Connection

Dim rsinventori As ADODB.Recordset

dbinventori.Open constring, "nurafni", "afni"

Set rsinventori = dbinventori.Execute("select * from tbbarang where kodebrg ='" & TXTKODE.Text & "'")

If rsinventori.EOF Then

dbinventori.Execute "insert into tbbarang(kodebrg,nama,satuan,harga,stok) values ('" & TXTKODE.Text & "','" & TXTNAMA.Text & "','" & TXTSATUAN.Text & "','" & TXTHARGA.Text & "', '" & TXTSTOK.Text & "')"

Else

If MsgBox("data ini sudah ada dalam database," & " perbaiki?", vbQuestion + vbYesNo, "konfirmasi") Then

dbinventori.Execute "update barang set nama ='" & TXTNAMA.Text & ""

End If

End If

End Sub

Private Sub CMDTUTUP_Click()

Unload Me

End Sub

Private Sub Form_Load()

bersih

constring = "Provider=SQLOLEDB.1;Password=afni;Persist Security Info=True;User ID=nurafni;Initial Catalog=INVENTORI;Data Source=IBM-FA741BA59D5"

End Sub

Private Sub TXTKODE_Change()

Dim dbinventori As New ADODB.Connection

Dim rsinventori As ADODB.Recordset

dbinventori.Open "Provider=SQLOLEDB.1;Password=afni;Persist Security Info=True;User ID=nurafni;Initial Catalog=INVENTORI;Data Source=IBM-FA741BA59D5", "nurafni", "afni"

Set rsinventori = dbinventori.Execute("select *from tbbarang where kodebrg = '" & TXTKODE.Text & "'")

If Not rsinventori.EOF Then

TXTKODE.Text = rsinventori!kodebrg

TXTNAMA.Text = rsinventori!nama

TXTSATUAN.Text = rsinventori!satuan

TXTHARGA.Text = rsinventori!harga

TXTSTOK.Text = rsinventori!stok

End If

If TXTKODE.Text = "" Then

bersih

End If

End Sub

Kamis, 25 September 2008

1. PENGERTIAN DARI TRIGGERS

· Triger merupakan nama object database yang berhubungan dengan sebuah tabel dan aktif ketika suatu kejadian muncul untuk tabel tersebut.

· Trigger adalah :

- Sebuah blok PL/SQL atau prosedur PL/SQL yang berhubungan dengan table, view, schema atau database.

- Akan dieksekusi secara implicit pada saat sebuah kejadian tertentu terjadi.

· Triger merupakan bentuk khusus suatu Store Procedure yang akan dilaksanakan secara otomatis jika terjadi perubahan (UPDATE, INSERT, DELETE) pada sebuah tabel database. Ini yang disebut dengan Database Trigger.

· Ada 2 jenis trigger yaitu :

- Application trigger: Terjadi pada saat sebuah kejadian terjadi dengan aplikasi tertentu.

- Database trigger : Terjadi pada saat sebuah data terjadi seperti DML pada table (INSERT, UPDATE atau DELETE) atau pada saat system terjadi (seperti logon atau shutdown) yg terjadi pada schema atau database.

2. KEUNTUNGAN TRIGGER

Dalam sebuah tabel dapt mempunyai beberapa trigger. Trigger sangat berguna karena dapat secara otomatis dilaksanakan dalam server, sehingga menyederhanakan pemorgraman, sekaligus menjaga konsistensi informasi dalam database. Keuntungan penggunaan Trigger antara lain :

a. Standarisasi (penyeragaman) proses. Trigger dibuat satu kali dan tersimpan dalam database, sehingga semua client yang menggunakan database tersebut sekaligus adalah pengguna Trigger. Dengan demikian seluruh client akan menggunakan operasi yang sama terhadap suatu proses dalam database, karena Trigger yang dipakai sama.

b. Menyederhanakan pemrograman. Apabila Trigger sudah dibuat dalam database server, seluruh program dalam bahasa apapun, yang mengakses database tersebut akan secara otomatis menggunakan Triger yang ada tanpa harus dibuat perintahnya dalam program aplikasi.

c. Mudah diperbaharui. Apabila Trigger pernah di-update dalam database server, semua client akan menggunakan perbaruan yang terakhir.

d. Kecepatan dan efisiensi proses. Oleh karena Trigger disimpan dalam server dalam kode yang sudah terkompilasi, dan dilaksanakan dalam server sehingga lalu-lintas jaringan menjadi berkurang.

e. Memudahkan tim kerja. Apabila Trigger dan Stored Procedure sudah dibuat, anggota tim kerja dapat menggunakan bahasa pemrograman yang berbeda dalam mengaksesnya, karena Triger disimpan dan dilaksanakan oleh server, tanpa melihat bahasa pemrograman apa yang dipakai pengguna database.

3. PETUNJUK UNTUK DISAIN TRIGGER

- Gunakan trigger untuk memastikan pada saat sebuah operasi tertentu terbentuk, aksi yang berhubungan dengannya juga terbentuk.

- Gunakan database trigger hanya untuk operasi yang global.

- Tidak mendisain trigger untuk fungsi-fungsi yang yang telah dibuat oleh server database dan tidak boleh membuat duplikasi trigger.

- Buatlah store procedur dan invoke prosedur dalam sebuah trigger jika kode PL/SQL terlalu panjang.

- Gunakan trigger untuk menghasilkan hasil dengan tingkat interdepensi yang tinggi, yang sulit untuk dimaintain dalam aplikasi yang besar.

- Database trigger akan terjadi untuk setiap user pada saat sebuah kejadian yang mentrigger dibuat.

4. MEMBUAT TRIGGER

Syntaks

Text Box: CREATE     [DEFINER = { user | CURRENT_USER }]     TRIGGER trigger_name trigger_time trigger_event     ON tbl_name FOR EACH ROW trigger_stmt

Sebelum membuat coding untuk trigger, tentukan terlebih dahulu nilai-nilai dari komponen trigger yaitu: trigger timing, trigger event dan trigger type.

Part

Keterangan

Nilai yang mungkin

Trigger timing (TRIGGER_TIME)

Kapan triger terjadi sesuai dengan trigger event.

BEFORE

AFTER

Trigger_event

Operasi manipulasi data tertentu pada tabel atau view yang menyebabkan trigger terjadi

INSERT

UPDATE

DELETE

Trigger_stmt

Aksi yang terjadi pada saat trigger terjadi

Block PL/SQL

· Trigger timing à kapan trigger terjadi ?

o BEFORE à Mengeksekusi body trigger sebelum mentrigger event DML pada sebuah table.

o AFTER à Mengeksekusi body trigger setelah mentrigger event DML pada sebuah table

· Triggering user event (Trigger_event) à DML statement yang menyebabkan trigger dieksekusi. Peristiwa atau kejadian yang memicu terjadinya Trigger. Kita dapat menggunakan statement INSERT, UPDATE, DELETE.

o Saat menggunakan UPDATE maka perlu memasukan list column untuk mengidentifikasikan kolom mana yang berubah,.

o Tidak perlu menspesifikasikan list kolom untuk statement INSERT atau untuk DELETE karena perintah tersebut akan berpengaruh pada suatu row.

o Trigger dapat berisi satu, dua atau ketiganya dari operasi DML.

INSERT or UPDATE or DELETE ……

· Trigger body (trigger_statement) à aksi apa yang trigger buat ? Trigger body merupakan pernyataan atau perintah yang dilaksanakan Trigger. Jika pernyataan yang dilaksanakan lebih dari satu perintah, beberapa perintah dapat dimasukan ke dalam block BEGIN .. END .

Contoh :

Perhatikan tabel Barang berikut ini :

Misalkan stock pada tabel barang masih kosong. Kemudian akan dibuat Trigger yang otomatis akan mengupdate stock pada tabel barang jika terdapat proses pembelian.

Adapun tabel DetailPembelian mempunyai struktur sebagai berikut:

Table Create Table

--------------- --------------------------------------------------

detailpembelian CREATE TABLE `detailpembelian` (

`NoReference` varchar(10) NOT NULL default '',

`KodeBarang` varchar(12) NOT NULL default '',

`HargaBeli` double NOT NULL default '0',

`JumlahBarang` int(8) NOT NULL default '0',

`Operator` varchar(8) NOT NULL default ''

) ENGINE=MyISAM DEFAULT CHARSET=latin1

Text Box: DELIMITER $$  create trigger `trigerbeli` BEFORE INSERT on `detailpembelian`  for each row BEGIN  UPDATE barang SET Stock=IF(ISNULL(Stock),0,Stock)+new.JumlahBarang  WHERE KodeBarang = new.kodeBarang; END; $$  DELIMITER ;Kemudian dibuat Trigger dengan nama trigerbeli

Contoh diatas berarti perintah untuk membuat Trigger bernama trigerbeli yang akan otomatis dilaksanakan sebelum tabel detailpembelian diisi dengan suatu record. Pada setiap sebelum satu baris (record) ditambahkan ke dalam tabel DetailPembelian, tabel Barang akan di-update, yaitu isi kolom Stock di-update dengan isi sebelumnya ditambah banyak barang yang akan ditambahkan ke dalam tabel detailpembelian, untuk barang dalam tabel barang yang kode barangnya sama dengan kode barang dari baris yang akan disisipkan ke dalam tabel detailpembelian.

Perhatikan bahwa Trigger di atas digunakan pernyataan new.JumlahBarang dan new.kodeBarang. Perlu diketahui pada saat proses menambahkan data, MySQL akan membuat semacam tabel temporer dengan struktur yang sama dengan tabel yang akan diisi. Tabel temporer diberi nama new. Pada saat proses pemasukan data (INSERT), nilai-nilai yang akan dimasukan ke dalam tabel disalin ke dalam tabel NEW.

Perlu diketahui juga hal yang hampir sama juga berlaku pada proses penghapusan data (DELETE). Pada perintah menghapus data akan dibuat tabel temporer OLD dengan struktur yang sama dengan tabel yang record-nya akan dihapus. Untuk proese updating data (UPDATE) kedua tabel temporer yaitu OLD dan NEW dibuat. Old akan menyimpan data yang dihapus (sebelum di-update) dan New berisi data pengganti (data baru).

Sebelum sebuah trigger dibuat dan belum dihapus, Trigger akan selalu siap dan akan bekerja sesuai dengan tugasnya, sehingga siapapun dan dari program apapun menambahkan data ke dalam tabel detailpembelian, berarti pula akan mengupdate jumlah stok dalam tabel Barang.

Isikan tabel detailpembelian dengan data :

INSERT INTO detailpembelian` (‘1’,’PS.001’,900,50,’SAYA’);

Berapakah stock untuk tabel Barang untuk barang PS.001 ???

5. MENGHAPUS DAN MEMPERBAIKI TRIGGER

MySQL tidak menyediakan fasilitas untuk memperbaiki atau mengedit Trigger. Oleh karena itu cara untuk memperbaiki Trigger adalah dengan menghapusnya, kemudian membuat yang baru.

Selasa, 23 September 2008

PERINTAH SELECT PADA DML

Mulyanto.Net
Learning by Writing
Home
• About Me
• Mail
• Photograpy Gallery
SQL ORACLE : DML, Select Statement
October 7th, 2007 by mulyanto
Select Statement
Perintah SELECT digunakan untuk melakukan query pemilihan data pada database. Perintah select biasanya mereferensi ke dalam sebuah tabel atau view, oleh karena itu hasil akhir query sama seperti halnya tabel yaitu terdapat baris dan kolom hasil.
Bentuk umum sintak SELECT :
SELECT < satu atau beberapa pilihan>
FROM < satu atau beberapa tabel>
WHERE <0, 1 atau banyak kondisi>
Sebagai contoh seleksi semua kolom pada tabel lokasi dapat dilakukan dengan cara sebagai berikut :
SQL>select * from manager;
ID_MA NAMA GAJI ALAMAT ID_LO
– ——- — ———- –
M001 Tubagus Dewantara 7000000 Jl. Buntu No. 2 K001
M002 Tania Renita 5000000 Jl. Merdeka No. 24 K001
M003 Bathara Kamajaya 6000000 Jl. Pusing Keliling No. 123 K001
M004 Date Bashe 7000000 Jl. Berlubang No. 90 K001
M005 Ratih Kumalasari 5000000 Jl. Tidak Rata No.7 K001
M006 Chintia 4000000 Jl. Tak Berujung No. 1 K006
M007 Aditya Nugraha 4500000 Jl. Mahakam No.5 K006
M008 Ahmad Sholikhin 4000000 Jl. Melati No.100 K006
M009 Dina Amelia 3500000 Jl. Khayangan No. 10a K006
M010 May 4000000 Jl. Belantara No. 90 K006
10 rows selected.
Tanda asterisk (*) digunakan untuk melakukan seleksi terhadap semua kolom yang ada pada tabel, dapat juga queri dilakukan hanya dengan menyertakan kolom tertentu saja.
SQL>select nama, gaji from manager;
NAMA GAJI
——— —
TubagusDewantara 7000000
TaniaRenita 5000000
BatharaKamajaya 6000000
DateBashe 7000000
RatihKumalasari 5000000
Chintia 4000000
AdityaNugraha 4500000
AhmadSholikhin 4000000
DinaAmelia 3500000
May 4000000
10 rows selected.
Kondisi Where
Statement SELECT biasanya digunakan untuk memilih data sesuai dengan kondisi atau kriteria tertentu, baik dengan kriteria tunggal maupun banyak kriteria. Penambahan kondisi biasanya dengan menggunakan query WHERE.
Entah bagaimana dunia tanpa WHERE
SQL> select id_manager, nama, gaji from manager where gaji >=5000000;
ID_MA NAMA GAJI
– ——— —-
M001 Tubagus Dewantara 7000000
M002 Tania Renita 5000000
M003 Bathara Kamajaya 6000000
M004 Date Bashe 7000000
M005 Ratih Kumalasari 5000000
Kondisi juga dapat ditentukan dengan nested SELECT yaitu perintah SELECT yang kondisinya diambil dari perintah SELECT yang lainnya.
Sebagai contoh : coba tampilkan semua data dari manager yang gajinya diatas gaji rata-rata seluruh manager. Query yang mingkin dilakukan adalah sebagai berikut :
SQL> select * from manager where gaji > ( select avg(gaji) from manager );
ID_MA NAMA GAJI ALAMAT ID_LO
– ——- —- ——— –
M001 Tubagus Dewantara 7000000 Jl. Buntu No. 2 K001
M003 Bathara Kamajaya 6000000 Jl. Pusing Keliling No. 123 K001
M004 Date Bashe 7000000 Jl. Berlubang No. 90 K001
Terdapat 3 hasil query dari tabel manager, perintah select yang pertama akan membandingkan kolom gaji setelah query mencari rata-rata gaji pegawai didapat hasilnya.
Fungsi agregat dan aritmatika
Perintah-perintah aritmatika dan fungsi agregat dapat juga disisipkan pada query SELECT.
Contoh : Karena mo lebaran maka semua manager akan diberi tunjangan sebesar ½ dari gaji mereka. Query yang diinginkan tampilkan nama manager, gaji sekarang dan besar tunjangan yang akan diberikan.
SQL> select nama, gaji, gaji*0.5 as tunjangan from manager;
NAMA GAJI TUNJANGAN
——— —- —-
Tubagus Dewantara 7000000 3500000
Tania Renita 5000000 2500000
…….
Ahmad Sholikhin 4000000 2000000
Dina Amelia 3500000 1750000
May 4000000 2000000
10 rows selected.
Pada contoh diatas juga digunakan nama alias dengan nama TUNJANGAN yang digunakan sebagai pengganti header kolom gaji*0.5.
Perintah diatas dapat juga diikuti dengan klausa ORDER BY yang digunakan untuk melakukan pengurutan berdasar kolom yang direferensi, ORDER BY biasanya diikuti dengan ASC[CENDING] ataupun DESC[ENDING]. Sebenarnya tanpa menyebutkan klausa tersebut maka secara otomatis pengurutan akan dilakukan secara ASCENDING.
SQL> select nama, gaji, gaji*0.5 as tunjangan from manager order by tunjangan desc;
NAMA GAJI TUNJANGAN
——— —- —-
Tubagus Dewantara 7000000 3500000
Date Bashe 7000000 3500000
….
….
May 4000000 2000000
Dina Amelia 3500000 1750000
10 rows selected.
Untuk perintah agregat sebagai contoh AVG, MIN, MAX, COUNT, SUM juga tidak jauh berbeda dengan fungsi aritmatika. Sebagai contoh, diinginkan hasil query menghitung berapa gaji keseluruhan yang dikeluarkan perusahaan untuk membayar manager.
SQL> select sum(gaji) “Total Gaji” from manager;
Total Gaji
—-
50000000
Atau query untuk mengetahui siapakah manager yang punya gaji paling gede.
SQL> select nama, gaji from manager where gaji = (select max(gaji) from manager);
NAMA GAJI
——— —-
Tubagus Dewantara 7000000
Date Bashe 7000000
Seleksi dengan DISTINCT akan melakukan grouping atau menghilangkan pengulangan terhadap baris-baris yang bersesuaian.
SQL> select distinct id_lokasi from manager;
ID_LO

K001
K006
SELECT dengan Group by.
Klausa Group by digunakan untuk melakukan pengelompokan berdasarkan baris-baris pada tabel. Sebgai contoh hitung total gaji yang dikelompokkan perdaerah operasional.
SQL> col id_lokasi format a20;
SQL> select sum(gaji) as gaji, id_lokasi from manager group by id_lokasi;
GAJI ID_LOKASI
—- ——-
30000000 K001
20000000 K006
SELECT pada lebih dari satu tabel.
Query juga dapat dilakukan lebih dari satu tabel. Hal ini dimungkinkan karena adanya relasi pada kedua tabel ( disebut juga JOIN).
Contoh : query untuk menampilkan nama manager, gaji , dan nama divisi lokasi tempat manager bekerja. Pada kasus ini nama lokasi tidak dapat diambil dari tabel manager , tetapi dapat diambil dari tabel lokasi. Akan tetapi kedua tabel berelasi dengan adanya id_lokasi.
SQL> select manager.nama, manager.gaji, lokasi.kota from manager inner join lokasi
2 on manager.id_lokasi = lokasi.id_lokasi;
NAMA GAJI KOTA
——– —– ——
Tubagus Dewantara 7000000 Jakarta
Tania Renita 5000000 Jakarta
Bathara Kamajaya 6000000 Jakarta
….
….
Ahmad Sholikhin 4000000 Pekanbaru
Dina Amelia 3500000 Pekanbaru
May 4000000 Pekanbaru
10 rows selected.
Query diatas juga sama dengan apabila melakukan query seperti dibawah ini.
SQL> select m.nama, m.gaji, l.kota from manager m, lokasi l where m.id_lokasi=l.id_lokasi;
NAMA GAJI KOTA
——— —- ———
Tubagus Dewantara 7000000 Jakarta
Tania Renita 5000000 Jakarta
Bathara Kamajaya 6000000 Jakarta
….
….
Ahmad Sholikhin 4000000 Pekanbaru
Dina Amelia 3500000 Pekanbaru
May 4000000 Pekanbaru
10 rows selected.

suatu model data. DML terbagi atas dua tipe, yaitu :
1. DML prosedural, dimana pengguna harus menspesifikasikan data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut .
2. DML deklaratif atau non-prosedural DML, dimana pengguna hanya menspesifikasikan data yang dibutuhkan tanpa menspesifikasikan bagaimana cara mendapatkan data itu. DML jenis ini adalah DML yang secara umum dikenal, contohnya adalah SQL. Data Manipulation Language digunakan untuk memanipulasi data yaitu :
Pengambilan informasi yang disimpan dalam basis data
Penyisipan informasi baru ke basis data
Penghapusan informasi dari basis data
Modifikasi informasi yang disimpan dalam basis data
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data
Bagian dari DML yang dapat digunakan untuk mengambil informasi disebut query language. Meskipun secara teknis kata query language tidak sama dengan DML tetapi pada praktiknya kedua istilah ini sama.



PENGENALAN NORMALISASI
Konsep Normalisasi
Normalisasi adalah menghilangkan redudansi data, menentukan key yang unik untuk mengakses data item dan membantu menentukan hubungan yang diperlukan data item. Tingkat normalisasi dapat disebut normal forms.
Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:
a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang.
b. Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :
a. Bentuk normal pertama (1NF) adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit).

b. Bentuk normal kedua (2NF) memiliki ketentuan harus telah berbentuk normal pertama (1NF), dan semua atribut bukan utama harus bergantung fungsional penuh pada kunci relasi. Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima.

c. Bentuk normal ketiga (3NF) memiliki ketentuan harus telah berbentuk normal kedua (2NF) dan relasi tidak boleh memuat kebergantungan fungsional di antara atribut-atribut bukan utama. menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd.

d. Bentuk normal Boyce-Codd (BCNF) BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan.

e. Bentuk normal keempat (4NF) Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing – masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.

f. Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara praktis.
Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF (Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977), kemudian Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979). Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua untuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk menghilangkan kebergantungan transitif. Bentuk normal Boyce-Codd untuk menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk normal keempat untuk menghilangkan kebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa. Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai (multi-valued dependencies).
3.2 Studi kasus Normalisasi
Step step normalisasi :

1NF ( First normal Form )
1.Menghilangkan semua pengulangan field
2 Definisikan primary keys.
3 PK nya harus Uniq
4 Setiap field selain PK harus tergantung pada PK
5 Setiap field harus terisi 1 nilai
6 Buat tabel baru untuk memindahkan pengulangan field dari table sebelumnya
Tabel:Supplier.dbf
———————————————————————————————
Supid Nama_supplier no_telp1 no_telp2 no_telp3
———– ——————————————————————————-
1 Joko 088814141 081352525 98885411
2 Wawan 088814142 081352526
3 Ahmad 088814143
——————————————————————————————-
Akan ada masalah Update/Insert apabila no_telpon nya lebih dari 3
Ketika di normalkan akan menjadi :
Tabel Supplier.dbf Tabel Supplier_telp.dbf
———————- ————————————–
Supid Nama_supplier id supid No_telp
———————- —————————————
1 Joko 1 1 088814141
2 Wawan 2 1 081352525
3 Ahmad 3 1 98885411
4 2 088814142
5 2 081352526


2NF ( Second Normal Form )
Definisi: Semua field harus tergantung pada primary key
Detail_invoice.dbf
———————————————————-
id Invoice_id Goods_id Qty Harga Cust_id
———————————————————-
1 S.01 1 10 5000 C.01
2 S.01 5 8 25000 C.01
Disini terlihat field cust_id tidak tergantung pada primary key id dan Invoice_id
maka cust_id bisa kita pindah dari tabel detail_invoice.dbf ke file invoice.dbf
3rd NF ( third Normal form )
Menghilangkan field yg sama sekali tidak berhubungan dengan PK tapi bergantung pada field lainnya
Invoice.dbf
———————————————————-
Invoice_id Tgl Cust_id Nama_customer
———————————————————-
S.01 10-10-06 C.01 Dunia ,PT
S.02 10-10-06 C.02 Septia ,PT
disini field Nama_customer dapat dihilangkan karena tidak berhubungan langsung dengan PK nya ( Invoice_id) tapi bergantung pada Cust_id. Umumnya kita akan berhenti pada Normal ke Tiga , walaupun masih ada beberapa normal berikutnya.
Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;
suatu model data. DML terbagi atas dua tipe, yaitu :
1. DML prosedural, dimana pengguna harus menspesifikasikan data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut .
2. DML deklaratif atau non-prosedural DML, dimana pengguna hanya menspesifikasikan data yang dibutuhkan tanpa menspesifikasikan bagaimana cara mendapatkan data itu. DML jenis ini adalah DML yang secara umum dikenal, contohnya adalah SQL. Data Manipulation Language digunakan untuk memanipulasi data yaitu :
Pengambilan informasi yang disimpan dalam basis data
Penyisipan informasi baru ke basis data
Penghapusan informasi dari basis data
Modifikasi informasi yang disimpan dalam basis data
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data
Bagian dari DML yang dapat digunakan untuk mengambil informasi disebut query language. Meskipun secara teknis kata query language tidak sama dengan DML tetapi pada praktiknya kedua istilah ini sama.

1NF ( First normal Form )
1.Menghilangkan semua pengulangan field
2 Definisikan primary keys.
3 PK nya harus Uniq
4 Setiap field selain PK harus tergantung pada PK
5 Setiap field harus terisi 1 nilai
6 Buat tabel baru untuk memindahkan pengulangan field dari table sebelumnya
Tabel:Supplier.dbf
———————————————————————————————
Supid Nama_supplier no_telp1 no_telp2 no_telp3
———– ——————————————————————————-
1 Joko 088814141 081352525 98885411
2 Wawan 088814142 081352526
3 Ahmad 088814143
——————————————————————————————-
Akan ada masalah Update/Insert apabila no_telpon nya lebih dari 3
Ketika di normalkan akan menjadi :
Tabel Supplier.dbf Tabel Supplier_telp.dbf
———————- ————————————–
Supid Nama_supplier id supid No_telp
———————- —————————————
1 Joko 1 1 088814141
2 Wawan 2 1 081352525
3 Ahmad 3 1 98885411
4 2 088814142
5 2 081352526


2NF ( Second Normal Form )
Definisi: Semua field harus tergantung pada primary key
Detail_invoice.dbf
———————————————————-
id Invoice_id Goods_id Qty Harga Cust_id
———————————————————-
1 S.01 1 10 5000 C.01
2 S.01 5 8 25000 C.01
Disini terlihat field cust_id tidak tergantung pada primary key id dan Invoice_id
maka cust_id bisa kita pindah dari tabel detail_invoice.dbf ke file invoice.dbf
3rd NF ( third Normal form )
Menghilangkan field yg sama sekali tidak berhubungan dengan PK tapi bergantung pada field lainnya
Invoice.dbf
———————————————————-
Invoice_id Tgl Cust_id Nama_customer
———————————————————-
S.01 10-10-06 C.01 Dunia ,PT
S.02 10-10-06 C.02 Septia ,PT
disini field Nama_customer dapat dihilangkan karena tidak berhubungan langsung dengan PK nya ( Invoice_id) tapi bergantung pada Cust_id. Umumnya kita akan berhenti pada Normal ke Tiga , walaupun masih ada beberapa normal berikutnya.
II. 4 Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;
. Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;

Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%

a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:

Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;

PERINTAH SELECT PADA DML&FUNGSI UPDATE

suatu model data. DML terbagi atas dua tipe, yaitu :
1. DML prosedural, dimana pengguna harus menspesifikasikan data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut .
2. DML deklaratif atau non-prosedural DML, dimana pengguna hanya menspesifikasikan data yang dibutuhkan tanpa menspesifikasikan bagaimana cara mendapatkan data itu. DML jenis ini adalah DML yang secara umum dikenal, contohnya adalah SQL. Data Manipulation Language digunakan untuk memanipulasi data yaitu :
•Pengambilan informasi yang disimpan dalam basis data
• Penyisipan informasi baru ke basis data
• Penghapusan informasi dari basis data
• Modifikasi informasi yang disimpan dalam basis data
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data
Bagian dari DML yang dapat digunakan untuk mengambil informasi disebut query language. Meskipun secara teknis kata query language tidak sama dengan DML tetapi pada praktiknya kedua istilah ini sama.



PENGENALAN NORMALISASI
Konsep Normalisasi
Normalisasi adalah menghilangkan redudansi data, menentukan key yang unik untuk mengakses data item dan membantu menentukan hubungan yang diperlukan data item. Tingkat normalisasi dapat disebut normal forms.
Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:
a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang.
b. Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :
a. Bentuk normal pertama (1NF) adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit).

b. Bentuk normal kedua (2NF) memiliki ketentuan harus telah berbentuk normal pertama (1NF), dan semua atribut bukan utama harus bergantung fungsional penuh pada kunci relasi. Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima.

c. Bentuk normal ketiga (3NF) memiliki ketentuan harus telah berbentuk normal kedua (2NF) dan relasi tidak boleh memuat kebergantungan fungsional di antara atribut-atribut bukan utama. menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd.

d. Bentuk normal Boyce-Codd (BCNF) BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan.

e. Bentuk normal keempat (4NF) Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing – masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.

f. Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara praktis.
Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF (Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977), kemudian Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979). Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua untuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk menghilangkan kebergantungan transitif. Bentuk normal Boyce-Codd untuk menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk normal keempat untuk menghilangkan kebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa. Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai (multi-valued dependencies).
3.2 Studi kasus Normalisasi
Step step normalisasi :

1NF ( First normal Form )
1.Menghilangkan semua pengulangan field
2 Definisikan primary keys.
3 PK nya harus Uniq
4 Setiap field selain PK harus tergantung pada PK
5 Setiap field harus terisi 1 nilai
6 Buat tabel baru untuk memindahkan pengulangan field dari table sebelumnya
Tabel:Supplier.dbf
———————————————————————————————
Supid Nama_supplier no_telp1 no_telp2 no_telp3
———– ——————————————————————————-
1 Joko 088814141 081352525 98885411
2 Wawan 088814142 081352526
3 Ahmad 088814143
——————————————————————————————-
Akan ada masalah Update/Insert apabila no_telpon nya lebih dari 3
Ketika di normalkan akan menjadi :
Tabel Supplier.dbf Tabel Supplier_telp.dbf
———————- ————————————–
Supid Nama_supplier id supid No_telp
———————- —————————————
1 Joko 1 1 088814141
2 Wawan 2 1 081352525
3 Ahmad 3 1 98885411
4 2 088814142
5 2 081352526


2NF ( Second Normal Form )
Definisi: Semua field harus tergantung pada primary key
Detail_invoice.dbf
———————————————————-
id Invoice_id Goods_id Qty Harga Cust_id
———————————————————-
1 S.01 1 10 5000 C.01
2 S.01 5 8 25000 C.01
Disini terlihat field cust_id tidak tergantung pada primary key id dan Invoice_id
maka cust_id bisa kita pindah dari tabel detail_invoice.dbf ke file invoice.dbf
3rd NF ( third Normal form )
Menghilangkan field yg sama sekali tidak berhubungan dengan PK tapi bergantung pada field lainnya
Invoice.dbf
———————————————————-
Invoice_id Tgl Cust_id Nama_customer
———————————————————-
S.01 10-10-06 C.01 Dunia ,PT
S.02 10-10-06 C.02 Septia ,PT
disini field Nama_customer dapat dihilangkan karena tidak berhubungan langsung dengan PK nya ( Invoice_id) tapi bergantung pada Cust_id. Umumnya kita akan berhenti pada Normal ke Tiga , walaupun masih ada beberapa normal berikutnya.
Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;
suatu model data. DML terbagi atas dua tipe, yaitu :
1. DML prosedural, dimana pengguna harus menspesifikasikan data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut .
2. DML deklaratif atau non-prosedural DML, dimana pengguna hanya menspesifikasikan data yang dibutuhkan tanpa menspesifikasikan bagaimana cara mendapatkan data itu. DML jenis ini adalah DML yang secara umum dikenal, contohnya adalah SQL. Data Manipulation Language digunakan untuk memanipulasi data yaitu :
•Pengambilan informasi yang disimpan dalam basis data
• Penyisipan informasi baru ke basis data
• Penghapusan informasi dari basis data
• Modifikasi informasi yang disimpan dalam basis data
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data
Bagian dari DML yang dapat digunakan untuk mengambil informasi disebut query language. Meskipun secara teknis kata query language tidak sama dengan DML tetapi pada praktiknya kedua istilah ini sama.

1NF ( First normal Form )
1.Menghilangkan semua pengulangan field
2 Definisikan primary keys.
3 PK nya harus Uniq
4 Setiap field selain PK harus tergantung pada PK
5 Setiap field harus terisi 1 nilai
6 Buat tabel baru untuk memindahkan pengulangan field dari table sebelumnya
Tabel:Supplier.dbf
———————————————————————————————
Supid Nama_supplier no_telp1 no_telp2 no_telp3
———– ——————————————————————————-
1 Joko 088814141 081352525 98885411
2 Wawan 088814142 081352526
3 Ahmad 088814143
——————————————————————————————-
Akan ada masalah Update/Insert apabila no_telpon nya lebih dari 3
Ketika di normalkan akan menjadi :
Tabel Supplier.dbf Tabel Supplier_telp.dbf
———————- ————————————–
Supid Nama_supplier id supid No_telp
———————- —————————————
1 Joko 1 1 088814141
2 Wawan 2 1 081352525
3 Ahmad 3 1 98885411
4 2 088814142
5 2 081352526


2NF ( Second Normal Form )
Definisi: Semua field harus tergantung pada primary key
Detail_invoice.dbf
———————————————————-
id Invoice_id Goods_id Qty Harga Cust_id
———————————————————-
1 S.01 1 10 5000 C.01
2 S.01 5 8 25000 C.01
Disini terlihat field cust_id tidak tergantung pada primary key id dan Invoice_id
maka cust_id bisa kita pindah dari tabel detail_invoice.dbf ke file invoice.dbf
3rd NF ( third Normal form )
Menghilangkan field yg sama sekali tidak berhubungan dengan PK tapi bergantung pada field lainnya
Invoice.dbf
———————————————————-
Invoice_id Tgl Cust_id Nama_customer
———————————————————-
S.01 10-10-06 C.01 Dunia ,PT
S.02 10-10-06 C.02 Septia ,PT
disini field Nama_customer dapat dihilangkan karena tidak berhubungan langsung dengan PK nya ( Invoice_id) tapi bergantung pada Cust_id. Umumnya kita akan berhenti pada Normal ke Tiga , walaupun masih ada beberapa normal berikutnya.
II. 4 Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;
. Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;

Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%

a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:

Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;






suatu model data. DML terbagi atas dua tipe, yaitu :
1. DML prosedural, dimana pengguna harus menspesifikasikan data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut .
2. DML deklaratif atau non-prosedural DML, dimana pengguna hanya menspesifikasikan data yang dibutuhkan tanpa menspesifikasikan bagaimana cara mendapatkan data itu. DML jenis ini adalah DML yang secara umum dikenal, contohnya adalah SQL. Data Manipulation Language digunakan untuk memanipulasi data yaitu :
•Pengambilan informasi yang disimpan dalam basis data
• Penyisipan informasi baru ke basis data
• Penghapusan informasi dari basis data
• Modifikasi informasi yang disimpan dalam basis data
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data
Bagian dari DML yang dapat digunakan untuk mengambil informasi disebut query language. Meskipun secara teknis kata query language tidak sama dengan DML tetapi pada praktiknya kedua istilah ini sama.



PENGENALAN NORMALISASI
Konsep Normalisasi
Normalisasi adalah menghilangkan redudansi data, menentukan key yang unik untuk mengakses data item dan membantu menentukan hubungan yang diperlukan data item. Tingkat normalisasi dapat disebut normal forms.
Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:
a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang.
b. Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :
a. Bentuk normal pertama (1NF) adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit).

b. Bentuk normal kedua (2NF) memiliki ketentuan harus telah berbentuk normal pertama (1NF), dan semua atribut bukan utama harus bergantung fungsional penuh pada kunci relasi. Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima.

c. Bentuk normal ketiga (3NF) memiliki ketentuan harus telah berbentuk normal kedua (2NF) dan relasi tidak boleh memuat kebergantungan fungsional di antara atribut-atribut bukan utama. menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd.

d. Bentuk normal Boyce-Codd (BCNF) BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan.

e. Bentuk normal keempat (4NF) Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing – masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.

f. Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara praktis.
Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF (Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977), kemudian Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979). Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua untuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk menghilangkan kebergantungan transitif. Bentuk normal Boyce-Codd untuk menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk normal keempat untuk menghilangkan kebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa. Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai (multi-valued dependencies).
3.2 Studi kasus Normalisasi
Step step normalisasi :

1NF ( First normal Form )
1.Menghilangkan semua pengulangan field
2 Definisikan primary keys.
3 PK nya harus Uniq
4 Setiap field selain PK harus tergantung pada PK
5 Setiap field harus terisi 1 nilai
6 Buat tabel baru untuk memindahkan pengulangan field dari table sebelumnya
Tabel:Supplier.dbf
———————————————————————————————
Supid Nama_supplier no_telp1 no_telp2 no_telp3
———– ——————————————————————————-
1 Joko 088814141 081352525 98885411
2 Wawan 088814142 081352526
3 Ahmad 088814143
——————————————————————————————-
Akan ada masalah Update/Insert apabila no_telpon nya lebih dari 3
Ketika di normalkan akan menjadi :
Tabel Supplier.dbf Tabel Supplier_telp.dbf
———————- ————————————–
Supid Nama_supplier id supid No_telp
———————- —————————————
1 Joko 1 1 088814141
2 Wawan 2 1 081352525
3 Ahmad 3 1 98885411
4 2 088814142
5 2 081352526


2NF ( Second Normal Form )
Definisi: Semua field harus tergantung pada primary key
Detail_invoice.dbf
———————————————————-
id Invoice_id Goods_id Qty Harga Cust_id
———————————————————-
1 S.01 1 10 5000 C.01
2 S.01 5 8 25000 C.01
Disini terlihat field cust_id tidak tergantung pada primary key id dan Invoice_id
maka cust_id bisa kita pindah dari tabel detail_invoice.dbf ke file invoice.dbf
3rd NF ( third Normal form )
Menghilangkan field yg sama sekali tidak berhubungan dengan PK tapi bergantung pada field lainnya
Invoice.dbf
———————————————————-
Invoice_id Tgl Cust_id Nama_customer
———————————————————-
S.01 10-10-06 C.01 Dunia ,PT
S.02 10-10-06 C.02 Septia ,PT
disini field Nama_customer dapat dihilangkan karena tidak berhubungan langsung dengan PK nya ( Invoice_id) tapi bergantung pada Cust_id. Umumnya kita akan berhenti pada Normal ke Tiga , walaupun masih ada beberapa normal berikutnya.
Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;
suatu model data. DML terbagi atas dua tipe, yaitu :
1. DML prosedural, dimana pengguna harus menspesifikasikan data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut .
2. DML deklaratif atau non-prosedural DML, dimana pengguna hanya menspesifikasikan data yang dibutuhkan tanpa menspesifikasikan bagaimana cara mendapatkan data itu. DML jenis ini adalah DML yang secara umum dikenal, contohnya adalah SQL. Data Manipulation Language digunakan untuk memanipulasi data yaitu :
•Pengambilan informasi yang disimpan dalam basis data
• Penyisipan informasi baru ke basis data
• Penghapusan informasi dari basis data
• Modifikasi informasi yang disimpan dalam basis data
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data
Bagian dari DML yang dapat digunakan untuk mengambil informasi disebut query language. Meskipun secara teknis kata query language tidak sama dengan DML tetapi pada praktiknya kedua istilah ini sama.

1NF ( First normal Form )
1.Menghilangkan semua pengulangan field
2 Definisikan primary keys.
3 PK nya harus Uniq
4 Setiap field selain PK harus tergantung pada PK
5 Setiap field harus terisi 1 nilai
6 Buat tabel baru untuk memindahkan pengulangan field dari table sebelumnya
Tabel:Supplier.dbf
———————————————————————————————
Supid Nama_supplier no_telp1 no_telp2 no_telp3
———– ——————————————————————————-
1 Joko 088814141 081352525 98885411
2 Wawan 088814142 081352526
3 Ahmad 088814143
——————————————————————————————-
Akan ada masalah Update/Insert apabila no_telpon nya lebih dari 3
Ketika di normalkan akan menjadi :
Tabel Supplier.dbf Tabel Supplier_telp.dbf
———————- ————————————–
Supid Nama_supplier id supid No_telp
———————- —————————————
1 Joko 1 1 088814141
2 Wawan 2 1 081352525
3 Ahmad 3 1 98885411
4 2 088814142
5 2 081352526


2NF ( Second Normal Form )
Definisi: Semua field harus tergantung pada primary key
Detail_invoice.dbf
———————————————————-
id Invoice_id Goods_id Qty Harga Cust_id
———————————————————-
1 S.01 1 10 5000 C.01
2 S.01 5 8 25000 C.01
Disini terlihat field cust_id tidak tergantung pada primary key id dan Invoice_id
maka cust_id bisa kita pindah dari tabel detail_invoice.dbf ke file invoice.dbf
3rd NF ( third Normal form )
Menghilangkan field yg sama sekali tidak berhubungan dengan PK tapi bergantung pada field lainnya
Invoice.dbf
———————————————————-
Invoice_id Tgl Cust_id Nama_customer
———————————————————-
S.01 10-10-06 C.01 Dunia ,PT
S.02 10-10-06 C.02 Septia ,PT
disini field Nama_customer dapat dihilangkan karena tidak berhubungan langsung dengan PK nya ( Invoice_id) tapi bergantung pada Cust_id. Umumnya kita akan berhenti pada Normal ke Tiga , walaupun masih ada beberapa normal berikutnya.
II. 4 Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;
. Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;

Perintah-perintah SQL Server
a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%

a) SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:

Contoh:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ... FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung][, nama_tabel3 [AS alias3], …][WHERE kondisi][ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], …][GROUP BY nama_field1[, nama_field2, ...][HAVING kondisi_aggregat]
b) INSERT, Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
c) UNION, Dengan menggunakan UNION kita dapat memilih lebih banyak data dalam satu statemen sql.
d) LIKE digunakan untuk menampilkan data - data yang mengandung huruf yang didefinisikan oleh fungsi LIKE.
Contoh penggunaan LIKE :
Tampilkan semua data dari tabel data_pegawai yang mengandung huruf a select * from data_mahasiswa where nama like ‘%A%’;