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%’;
Selasa, 23 September 2008
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar