500 likes | 844 Views
Basisdata Relasional. Adalah basisdata yang dirancang sedemikian rupa yang terdiri dari tabel-tabel yang saling berhubungan satu sama lain. Tabel-tabel biasanya dibangun dalam bentuk dua dimensi, yang terdiri dari baris dan kolom untuk memberi gambaran sebuah berkas data. Basisdata Relasional.
E N D
Basisdata Relasional • Adalah basisdata yang dirancang sedemikian rupa yang terdiri dari tabel-tabel yang saling berhubungan satu sama lain. • Tabel-tabel biasanya dibangun dalam bentuk dua dimensi, yang terdiri dari baris dan kolom untuk memberi gambaran sebuah berkas data.
Basisdata Relasional • Bagaimana ciri dari basisdata relasional: • Terdiri dari tabel-tabel yang terpisah • Table dalam bentuk 2 dimensi • Terjadinya hubungan antar file • Setiap table mempunyai key sebagai kunci relasi • Setiap key mewakili semua field yang ketergantungan kepadanya.
Basisdata Relasional • Bagaimana ciri dari basisdata relasional: • mempunyai struktur basisdata yang lebih kompak (terdiri dari table-tabel yang saling berhubungan) • mempunyai struktur dari masing-masing table yang lebih efisien dan sistematis • operasi basisdata yang lebih cepat (karena dlm perancangan basisdata ukuran table diaharapkan semakin kecil) • Tingkat redundansi yang lebih kecil.
Basisdata Relasional Contoh Tabel dan keterhubungannya : Foreign Key Primary Key
Basisdata Relasional • Keuntungan Basis Data Relasional • Bentuk tabel lebih sederhana • Mudah melakukan berbagai operasi data • Mempunyai struktur basisdata yang lebih kompak (terdiri dari table-tabel yang saling berhubungan)
Basisdata Relasional • Keuntungan Basis Data Relasional: • Dalam perancangan tabel-tabel database mempunyai struktur dari masing-masing table yang lebih efisien dan sistematis • Operasi basisdata yang lebih cepat (karena dlm perancangan basisdata ukuran table diaharapkan semakin kecil) • Tingkat redundansi yang lebih kecil.
Basisdata Relasional • Istilah dalam Basis Data Relasional • Relasi: Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. • Atribut: Kolom pada sebuah relasi • Tupel: Baris pada sebuah relasi • Domain: Kumpulan nilai yang valid untuk satu atau lebih atribut • Derajat (degree):Jumlah atribut dalam sebuah relasi • Cardinality: Jumlah tupel dalam sebuah relasi
Basisdata Relasional Jenis kunci yang ada dalam basisdata: • Candidate key : Atribut di dalam relasi yang biasanya mempunyai nilai unik • Primary key: Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi • Alternate key: Candidate key yang tidak dipilih sebagai primary key • Foreign key: Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa
NORMALISASI • Normalisasi merupakan proses pengelompokan data elemen menjadi table-tabel yang menunjukkan entity dan relasinya. • Normalisasi juga merupakan pemilah-milahan satu table yang besar dan kompleks menjadi beberapa table, dimana tabel yang dipilah tersebut saling berhubungan satu dengan yang lainnya.
NORMALISASI • Alasan mengapa perlu dilakukan normaisasi terhadap tabel: • Untuk memperoleh tabel yang lebih sederhana yang terdiri dari tabel-tabel yang terpisah namun saling berhungan • Mengurangi redundansi data • Membuat field yang bukan key bergantung fungsi sepenuhnya pada primary key-nya
NORMALISASI • Alasan mengapa perlu dilakukan proses normaisasi terhadap sebuah tabel: • Agar kesulitan dalam proses penyisipan/ penambahan, pengupdate-an dan penhapusan data tidak sulit dilakukan
NORMALISASI Kebergantungan Fungsi • Dalam merancang suatu database yang baik, harus memperhatikan kebergan-tungan fungsi. • Kebergantungan fungsi yaitu dimana pada sebuah table tidak ada satu field yang bukan key bergantung fungsi pada field lain yang bukan merupakan primary key
NORMALISASI • Atau dengan kata lain kebergantungan fungsi memastikan sebuah tabel menjadi normal • Jika dalam proses normalisasi table masih dijumpai attribut yang bukan key bergantung fungsi kepada attribut yang bukan merupakan keynya, maka harus dilakukan normalisasi kembali.
NORMALISASI • Contoh pada sebuah tabel pegawai dapat dilihat field no_induk, nama, tpt_lhr, tgl_lhr, alamat dengan primary key nya field no_induk. Ini berarti dengan mengetahui no_induk seorang pegawai sudah dapat dipastikan nama, tpt_lhr, tgl_lahir dari pegwai tersebut”. • Atau dengan kata lain field nama, tpt_lhr, tgl_lahir dan alamat bergantung fungsi sepeneuhnya pada no_induk
NORMALISASI • Notasi penulisan kebergantungan fungsi ditulis sbb: A B • Artinya bahwa A secara fungsional menentukan B, atau B secara fungsional tergantung pada A.
NORMALISASI Perhatikan contoh tabel berikut ini:
NORMALISASI • Nim nm_mhs, artinya attribut nm_mhs hanya bergantung pada nim. Hal ini bisa dilihat jika nim nya sama pasti nm_mhs nya juga sama. • Nim -/ nm_mk, artinya attribut nm_mk tidak bergantung pada nim. Hal ini dapat dibuktikan bahwa pada rec. 1 dan rec. 2 nilai dari nm_mk nya sama tapi nim nya berbeda.
NORMALISASI Bentuk-bentuk normalisasi • bentuk tidak normal • bentuk normal pertama • bentuk normal kedua • bentuk normal ketiga • Dan seterusnya sampai dengan normal yang ke N
NORMALISASI • Bentuk tidak normal,pada bentuk ini biasanya data yang direkam tidak megikuti suatu format yang tertentu, bisa saja data terduplikasi atau data tidak lengkap. • Bentuk Normal Pertama,pada bentuk ini data dibuat dalam table 2 dimensi dan tidak ada attribut yang berniali ganda atau berulang ulang.
NORMALISASI • Contoh sebuah tabel dalam bentuk tidak normal, dimana pengisian tabel berdasarkan transaksi yang dilakukan oleh siswa dalam penentuan kelasnya (terdapat field yg kosong)
NORMALISASI Contoh tabel hasil proses normalisasi pertama
NORMALISASI • Tabel diatas berada dalam bentuk normal pertama, dimana tidak terdapat lagi kekosongan field dalam tabel • Namun tabel normal pertama belum normal karena masih terdapat data yang sama disimpan secara berulang • Langkah selanjutnya melakukan normasilasi ke dua
NORMALISASI • Bentuk Normal Kedua,untuk membentuk normal kedua, table harus sudah dalam bentuk normal pertama. Kemudian periksa apakah masih terjadi kesulitan dalam hal penambahan, penghapusan dan update data. • Periksa apakah masih ada attribut yang bukan key masih bergantung fungsi terhadap attribut yang bukan merpakan key nya.
NORMALISASI • Dari contoh table sebelumnya bahwa nm_siswa dan wali, bergantung fungsi pada nim. Tapi kelas bukan merupakan fungsi dari table mahasiswa. • Dimana dengan nim yang sama tetapi tidak memiliki kelas yang sama • Dengan demikian maka table dinormalisasi kembali. Sehingga menjadi tiga table sebagai berikut:
NORMALISASI • Dari table diatas dapat ditentukan yang menjadi calon untuk primary key, yakni: • Nim, karena sifatnya unik dan mewakil atribut lain yang bergantung padanya • Kelas, karena kelas bukan merupakan fungsi dari table mahasiswa
NORMALISASI Tabel siswa Tabel transaksikelas Tabel kelas
NORMALISASI • Periksa apakah masih terjadi kesulitan dalam hal penambahan data, pengupdate-an dan penghapusan? • Kemudian periksa kembali apakah masih ada terdapat field yang bukan key masih bergantung fungsi pada field lain ? • Jika masih terdapat kesulitan diatas maka harus dilakukan normalisasi yang ketiga, sampai tabel benar-benar normal.
Penerapan Bentuk Normalisasi • Perancangan database dengan model konseptual ini bisa dirancang dengan menggunakan dokumen dasar dari system yang dipakai. Sebagai contoh dari sebuah bon faktur pembelian barang berikut ini:
Penerapan Bentuk Normalisasi • Langkah pertama yang dilakukan yakni membentuk informasi diatas kedalam bentuk tabel transaksi. • Dari contoh faktur-faktur yang ada kemudian dimasukkan dalam tabel tersebut, sehingga diperoleh bentuk tabel sebagi berikut:
Penerapan Bentuk Normalisasi Tabel berikut adalah bentuk tidak normal yang diperoleh dari faktur yang ada
Penerapan Bentuk Normalisasi • Langkah selanjutnya adalah menjadikan bentuk tidak normal kedalam bentuk normal yang pertama. • Yaitu dengan melengkapi kekosongan data untuk kolom/field yang ada. Sehingga diperoleh tabel sebagai berikut:
Penerapan Bentuk Normalisasi • Dari tabel diatas dapat dilihat : • Terjadi redundansi data • Jika dilakukan penghapusan satu record berdasarkan kriteria tertentu akan mengakibatkan terhapusnya record lain
Penerapan Bentuk Normalisasi • Penambahan data susah dilakukan jika tidak terjadi transaksi. Misalnya penambahan sebuah data suplier, namun suplier tersebut belum pernah melakukan transakasi. • Dari penjelasa diatas dapat disimpulkan bahwa tabel tidak normal dan harus dilakukan normal yang kedua
Penerapan Bentuk Normalisasi • Untuk mendapatkan bentuk normal kedua, maka table harus sudah dalam bentuk normal pertama. Dan dalam hal ini harus sudah ditentukan mana saja field yang menjadi kunci calon (kandidat key). • Sebagai kandidat key dari table diperoleh sebanyak 3 kandidat key : • no factur • kode supplier • kode barang
Penerapan Bentuk Normalisasi • Dari ketiga kunci kandidat dapat dibentuk table yang mana field yang bukan key harus bergantung fungsi terhadap field yang merupakan key nya.
Tabel supliers Tabel Barang Kdsup Nmsup Kdbrg Nmbr Tabel Transaksi No fac Tglfac Tgljtp Quantity Harga Jumlah Total Kdsup Kdbrg Penerapan Bentuk Normalisasi
Penerapan Bentuk Normalisasi Tabel Barang Tabel Suplier Tabel Transaksi
Penerapan Bentuk Normalisasi • Dari hasil normal kedua dapat dilihat bahwa tidak tejadi lagi kesulitan dalam hal penyisipan, penghapusan dan update. Hal ini dapat dilihat untuk menyisipkan satu supplier baru dapat dilakukan tanpa supplier tersebut harus melakukan transaksi pada table nota. Demikian juga untuk penghapusan dan penyisipan.
Penerapan Bentuk Normalisasi • Tetapi dari table masih terlihat adanya permasalahan yaitu bahwa dalam table nota masih ada field yang bergantung fungsi kepada field yang bukan key nya, yaitu : • Field quantity tidak bergantung penuh pada key no factur. • Masih terdapat redundansi data yaitu : setiap satu no factur yang tediri dari 5 jenis barang, maka 5 kali pula dituliskan no facturnya, tanggal factur, tanggal jatuh tempo dan total.
Penerapan Bentuk Normalisasi • Karena tabel belum normal maka harus dilanjutkan dengan melakukan normalisasi tabel yang ketiga • Untuk membentuk normal ketiga, table harus sudah dalam bentuk normal kedua. Dan semua filed yang bukan keynya harus bergantung fungsi sepenuhnya pada field yang merupakan key nya. • Sehingga hasil dari normal ketiga diperoleh table berikut:
Tabel suplier Tabel Barang Kdsup Nmsup Kdbrg Nmbrg Tabel Transaksi Nofac Tglfac Tgljtp Total Kdsup Tabel Detail Nofac Kdbrg Qty Harga jumlah Penerapan Bentuk Normalisasi
Penerapan Bentuk Normalisasi • Dari hasil normal ketiga ini dapat dilihat bahwa tidak ada terjadi kesulitan peyisipan, penghapusan dan update. • Dan juga terlihat bahwa setiap field yang bukan key sudah bergantung fungsi sepenuhnya terhadap field yang merupakan key nya. • Redundansi yang terjadi pada tahap normal kedua sudah dapat di optimalkan.
Penerapan Bentuk Normalisasi Tabel Suplier Tabel Barang Tabel Transaksi Tabel Detail
Penerapan Bentuk Normalisasi • Dari hasil rancangan di atas kemudian kita dapat menentukan /mendisain struktur dari setiap tabel hasil rancangan kita, sebagai berikut:
Penerapan Bentuk Normalisasi Struktur Tabel Suplier
Penerapan Bentuk Normalisasi Struktur Tabel Barang
Penerapan Bentuk Normalisasi Struktur Tabel Transaksi
Penerapan Bentuk Normalisasi Struktur Tabel Detail Transaksi