Minggu, 25 Maret 2012

Normalisasi Basis Data


Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).

Urutan atau macam teknik normalisasi terdiri atas :

Normalisasi Pertama
Aturan :
Mendefinisikan atribut kunci
Tidak adanya group berulang
Semua atribut bukan kunci tergantung pada atribut kunci

Normalisasi Kedua

Aturan :
Sudah memenuhi dalam bentuk normal kesatu
Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.

Normalisasi Ketiga
Aturan :

Sudah berada dalam bentuk normal kedu.
Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).

Bentuk Normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Keseluruhannya cuma ada lima bentuk normal. Tiga bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus Multi Valued Dependencies.

Contoh Kasus Normalisasi



Contoh Teknik Normalisasi

Permasalah tau basis data yang salah :

table nilai


Normalisasi Pertama

Pada normalisasi pertama yang harus dilakukan adalah menghilangkan duplikasi dan menentukan primary key untuk setiap field pada table, supaya setiap data atau field field lainya tergantung hanya pada satu field yang dijadikan primary key .
Dalam kasus ini yang dijadikan sebagai primary key adalah field nim dan idpelajaran.




Normalisasi Kedua

Pada normalisasi kedua yang harus dilakukan adalah memisahkan field-field yang tergantung pada satu field dengan tepat.

table nilai



table siswa


table pelajaran


Normalisasi Ketiga

Hal yang harus dilakukan pada normalisasi yang ketiga adalah menyempurnakan normalisasi yang kedua, apakah masih ada keganjilan atau redudansi yang tidak seharusnya pada setiap table. Pada normalisasi kedua table siswa dan table pelajaran masih redudansi, sehingga pada normalisasi ketiga struktur data adalah sebagai berikut :

table nilai


table siswa


table pelajaran

Minggu, 11 Maret 2012

Atribut


ATRIBUT

v  Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut.
v  Nilai Atribut  merupakan suatu data aktual atau informasi yang disimpan  pada suatu  atribut di dalam suatu entity atau relationship.

Jenis-jenis atribut :
Ø  Key
Atribut yang digunakan untuk menentukan suatu entity secara unik.
Ø  Atribut Simple
Atribut yang bernilai tunggal.
Ø  Atribut Multivalue
Atribut yang memiliki sekelompok nilai untuk setiap instan entity.


Atribut Composite 

Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
Ø  Atribut Derivatif
      Suatu atribut yang dihasilkan dari atribut yang lain.

Simbol Utama dari Diagram E-R


Entity
Entitas digunakan untuk menerapkan integritas pada tingkat Entity (Tabel), agar setiap Instances (Record/Baris) pada suatu Entity bersifat Unique yang disebut sebagai Primary Key sehingga dapat dibedakan antara yang satu dengan yang lainnya.
Contohnya :
-          Semua Pelanggan, atau Pelanggan saja dengan entitas Ani, Budi, Amin dst
-          Semua Mobil, atau Mobil apa saja, dengan entitas mobil Kijang, Starlet dan lain-lain
-          Semua Mahasiswa, atau Mahasiswa saja dengan entitas Eti,  Andi dan lain-lain.
Relasi
Relasi digunakan utk menghubungkan beberapa tabel, sehingga data–data yang disimpan dalam tabel tetap normal.
Dalam mySQL relasi antar tabel dapat dibuat jika tipe tabel tersebut innoDB. Secara otomatis saat membuat tabel baru, tipe tabel adalah MyISAM sehingga perlu merubah ke tipe innoDB terlebih dahulu.

Atribut
Setiap Entitas pasti memiliki Atribut yang mendeskripsikan karakteristik dari Entitas tersebut.
Penentuan/pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model data.
Penetapan atribut bagi sebuah entitas umumnya memang didasarkan pada fakta yang ada, tetapi tidak selalu seperti itu. Istilah atribut sebenarnya identik dengan pemakaian kolom data.
Garis
Merepresentasikan hubungan atribut ke set entitas & set entitas ke relasi.
Contoh :
    Diagram E-R dibawah terdiri dari 2 entitas, customer dan loan, dan satu relasi borrower. Atribut dari customer adalah nama, ktp, jalan, kota. Atribut untuk loan adalah no_pinjaman, jml_pinjaman. Hubungan entity customer ke loan adalah banyak ke banyak.

Contoh masing masing Kardinalitas dari Diagram E-R


Kardinalitas pemetaan atau rasio kardinalitas menunjukkan jumlah entitas yang dapat dihubungkan ke satu entity lain dengan suatu relasi. Contoh masing masing kardinalitas dari Diagram E-R meliputi :

1.      Hubungan satu ke satu (one to one).
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B.

2.      Hubungan satu ke banyak (one to many)
Yaitu satu entity dalam A dihubungkan dengan sejumlah entity dalam B. Satu entity dalam B dihubungkan dengan maksimum satu entity dalam A.
3.      Hubungan banyak ke satu (many to one)
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B. Satu entity dalam B dapat dihubungkan dengan sejumlah entity dalam A.
4.      Hubungan banyak ke banyak (many to many).
Satu entity dalam A dihubungkan dengan sejumlah entity dalam B, & satu entity dalam B dihubungkan dengan sejumlah entity dalam A



Diagram ER (ERD)


Dalam rekayasa perangkat lunak, sebuah Entity-Relationship Model (ERM) merupakan abstrak dan konseptual representasi data. Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem  seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Diagram untuk menggambarkan model Entitiy-Relationship ini disebutEntitiy-Relationship diagram, ER diagram, atau ERD.
Basisdata Relasional adalah kumpulan dari relasi-relasi yang mengandung seluruh informasi berkenaan suatu entitas/ objek yang akan disimpan di dalam database. Tiap relasi disimpan sebagai sebuah file tersendiri. Perancangan basisdata merupakan suatu kegiaatan yang setidaknya bertujuan sebagai berikut:
  Ø  Menghilangkan redundansi data
  Ø  Meminimumkan jumlah relasi di dalam basis data
  Ø Membuat relasi berada dalam bentuk normal, sehingga dapat meminimumkan permasalahan berkenaan dengan penambahan, pembaharuan dan penghapusan.

ERD adalah suatu pemodelan dari basisdata relasional yang didasarkan atas persepsi di dalam dunia nyata, dunia ini senantiasa terdiri dari sekumpulan objek yang saling berhubungan antara satu dengan yang lainnya. Suatu objek disebut entity dan hubungan yang dimilikinya disebut relationship. Suatu entity bersifat unik dan memiliki atribut sebagai pembeda dengan entity lainnya.
Contoh : entity Mahasiswa, mempunyai atribut nama, umur, alamat, dan nim.Diagram E-R terdiri dari:
·         Kotak persegi panjang, menggambarkan himpunan entitas
·         Elip, menggambarkan atribut-atribut entitas
·         Diamon, menggambarkan hubungan antara himpunan entitas
·         Garis, yang menghubungkan antar objek dalam Diagram E-R
E-R Diagram merupakan suatu bahasa pemodelan yang dimana posisinya dapat dianalogikan dengan stroy board dalam industri film, blu print arsitektur suatu bangunan, miniatur, dan lain-lain. Dalam praktiknya, membangun suatu sistem terlebih dahulu dilakukannya suatu perencaan. Pemodelan merupakan suatu sub bagian dari perencanaan secara keseluruhan sebagai salah satu upaya feedback evaluasi perampungan suatu perencanaan. E-R Diagramsebagai suatu pemodelan setidaknya memiliki beberapa karakteristik dan manfaat sebagai berikut:
1.   Memudahkan untuk dilakukannya analisis dan perubahan sistem sejak dini, bersifat murah dan cepat.
2. Memberikan gambaran umum akan sistem yang akan di buat sehingga memudahkan developer.
3.    Menghasilkan dokumentasi yang baik untuk client sebagai bahan diskusi dengan bentuk E-R Diagram itu sendiri, dan
4.      Kamus data bagi bagi para pengembang database.

Pengertian dan Perbedaan Spesialisasi dan Generalisasi


Spesialisasi
Proses mendesain subgrup di dalam suatu entity disebut dengan spesialisasi. Suatu himpunan entitas bisa memiliki suatu subgrup yang berbeda diantara entitas-entitas lain dalam himpunan tersebut. Misalnya suatu sub himpunan entitasd alam suatu himpunan entity bisa memiliki atribut yang berbeda dari entity-entiti lain. Model E-R memiliki fasilitas untuk perbedaan ini.
Contoh : himpunan entitas account memiliki atribut account-number dan balance. Suatu account dapat diklasifikasikan lagi menjadi salah satu dari
                        - savings-account
                        - checking-account

Setiap tipe account ini diterangkan dengan himpunan atribut yang termasuk dalam atribut-atribut dari entitas account ditambah dengan atribut tambahan. Contoh entity saving-account diterangkan dengan atribut interest-rate, dan checking-account diterangkan dengan overdraft-amount. Proses spesialisasi mengijinkan pembedaan account berdasarkan tipe account. Account juga dapat dibedakan dengan cara lain, misalkan berdasarkan tipe kepemilikkan menjadi commercial-account dan personal-account. Ketika dalam suatu entitas dibentuk lebih dari satu proses spesialisasi, maka suatu entitas menjadi milik dua spesialisasi tersebut. Misal suatu account bisa merupakan suatu personal account dan suatu checking account. Dalam diagram E-R, spesialisasi dilambangkan dengan komponen segitiga bertuliskan ISA. ISA juga melambangkan hubungan antara superclass-subclass. Entity yang dengan kedudukkan lebih rendah/tinggi memiliki lambang sama.

Generalisasi
Disamping proses desain top-down (dari inisial entitas ke level lebih rendah (subgrup)), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entitas disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya.
Desainer basis data mungkin mengidentifikasi terlebih dulu entitas checking-account dengan atribut account-number, balance dan overdraftamount. Ditemukan juga entity set saving-account dengan atribut account-number, balance dan interest-rate. Terdapat kesamaan antara entitas checking-account dengan entitas saving-account, yaitu keduanya memiliki beberapa atribut yang sama. Persamaan ini dapat diekspresikan dengan generalisasi.   





Kamis, 01 Maret 2012

Apa yang di maksud dengan Transaction throughput ??

Transaction throughput :
Ialah rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem basis data dan merupakan parameter kritis dari sistem transaksi (misal : digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentual awal dari struktur penyimpanan dan jalur akses untuk file-file basis data.