Normalisasi database

10 November 2012 13:25:00 Dibaca : 159

NORMALISASI DATABASE

 

       Normalisasi merupakan teknik untuk mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik(tanpa adanya redudansi). Normalisasi dalam suatu database biasanya hanya mencapai N3(Normalisasi Ketiga), dibawah ini merupakan urutan Normalisasi :

 

1.      N1 (Normalisasi Pertama) Mempunyai aturan

    -  Mendefinisikan primary key
    - Tidak ada grup yang berulang
    - Semua non-primary key bergantung pada primary key

2.      N2 (Normalisasi Kedua) Mempunyai aturan
    - Memenuhi aturan N1
    - Tidak ada ketergantungan parsial

3.      N3 (Normalisasi Ketiga) Mempunyai aturan
           - Memenuhi aturan N2
           - Tidak ada ketergantungan transitif

 

       Sebagai tambahan normal dalam suatu database sejatinya mencapai bentuk normal tertinggi dan bergerak dari bentuk normal 1 dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Jumlah normalisasi seluruhnya ada 5(Lima) dimana 3 bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan N4 dan N5 menekankan redudansi yang muncul dari kasus Multi Valued Dependencies.

 

Berikut adalah cara singkat melakukan normalisasi

 

Normalisasi Pertama a.k.a N1, Hilangkan duplikasi dengan mencari ketergantungan parsial

 

Normalisasi Kedua a.k.a N2, Field-field yang tergantung pada satu field harus dipisah dengan tepat

 

 Normalisasi Ketiga a.k.a N3, Cari hubungan transitif(transitive relation) dimana field non key tergantung pada field non key lainnya

 

Tabel yang sudah mencapai N3 sudah siap untuk diimplementasikan dalam sebuah proyek, sebenarnya masih ada bentuk normalisasi yang lain yaitu Normalisasi  Boyce-Codd dan N4. Jadi sebelum membuat suatu project

 

 Tujuan dari normalisasi

·         Untuk menghilangkan kerangkapan data

 

·         Untuk mengurangi kompleksitas

 

·          Untuk mempermudah pemodifikasian data

Proses Normalisasi

·         Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.

 

·         Apabila tabel yang diuji belum memenuhi persyaratan tertentu,maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

Tahapan Normalisasi

  • Bentuk Tidak Normal Menghilangkan perulangan group
  •  Bentuk Normal Pertama (1NF)Menghilangkan ketergantungan sebagian
  • Bentuk Normal Kedua (2NF) Menghilangkan ketergantungan transitif
  • Bentuk Normal Ketiga (3NF)Menghilangkan anomali-anomali hasil dari ketergantungan fungsional.
  • Bentuk Normal Boyce-Codd (BCNF)Menghilangkan Ketergantungan Multivalue
  •  Bentuk Normal Keempat (4NF)Menghilangkan anomali-anomali yang tersisa
  • Bentuk Normal Kelima normalisasikanlah database anda.

 

 

 

 

 

 

 

studi kasus entity relationship

03 November 2012 10:43:38 Dibaca : 1519

 

  contoh studi kasus:

Sebuah perusahaan PU mempunyai beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai ditugaskan paling tidak di satu bagian (dapat pula dibeberapa bagian). Paling tidak satu pegawai mendapat tugas di satu proyek. Tetapi seorang pegawai dapat libur dan tidak dapat tugas di proyek.
        Identifikasi entitas dan atribut key untuk masing-masing entitas

Bagian : nama bagian.
Pegawai: no. pegawai,nama ,alamat
Pengawas : no.pengawas,nama,alamat
Proyek : kode prroyek,nama proyek

 Identifikasi seluruh relasi
      Bagian dengan pengawas relasinya dijalankan
      Pegawai dengan  bagian relasinya ditugaskn ke
      Proyek dengan pegawai relasinya bekerja pada

 Matrix relasi entitas

 Hubungkan entitas sesuai dengan matrik relasi yang dibuat

Dari gambaran permasalahan dapat diketahui bahwa :

 

      masing-masing bagian hanya punya satu pengawas

 

      seorang pengawas bertugas di satu bagian

 

      masing-masing bagian ada minimal satu pegawai

 

      masing-masing pegawai bekerja paling tidak di satu bagian

 

      masing-masing proyek dikerjakan paling tidak oleh satu pegawai

 

 

 Menentukan kunci utama

Kunci utamanya: Nomor Pengawas, Nama Bagian, Nomor Pegawai, Nomor Proyek

Entity relationship

Sedikit pengetahuan saya dari membaca, yang namanya Entity-Relationship itu merupakan salah satu pemodelan basis data yang menggambarkan hubungan antara data dalam basis data. Entity-Relationship Diagram(ERD) merupakan diagram yang dipergunakan untuk menggambarkan Entity-Relationship tersebut.

Dari pemahaman di atas, ERD adalah diagram yang dipergunakan untuk menggambarkan suatu konsep basis data seperti objek-objek yang memiliki hubungan antar relasi sehingga memudahkan kita untuk membangun suatu sistem basis data nantinya.

 

Dalam ERD terdapat komponen-komponen yang digunakan, yaitu :

      1. Entity

Entity adalah orang, tempat, kejadian atau konsep yang informasinya dapat dicatat. Misalnya pada sekolah terdapat entity mahasiswa, matakuliah, dosen, nilai test dan lain-lain. Terdapat dua entiti, yaitu entitas lemah dan kuat. Entitas kuat merupakan entitas yang dapat berdiri sendiri tidak terpengaruh akan adanya entitas lain sedangkan entitas lemah adalah entitas yang keberadaanya bergantung akan adanya entitas lain sehingga menghasilkan entitas lemah tersebut

2. Atribut

Atribut merupakan suatu elemen yang menjabarkan dari karakter suatu entitas. Atribut berisikan sesuatu yang dapat menerangkan elemen satu dengan yang lain atau bisa disebut juga sebutan untuk mewakili suatu entitas.

     3. Relasi atau hubungan

Relasi adalah hubungan antara satu entitas dengan entitas yang lain yang mempunyai keterkaitan.

     4. Kardinalitas :

      menunjukan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain, dapat berupa :

    Ø Satu ke Satu (One to One)

          Mempunyai pengertian "Setiap baris data pada tabel pertama dihubungkan hanya ke satu baris data pada tabel ke dua". Contohnya : relasi antara tabel mahasiswa dan tabel orang tua. Satu baris mahasiswa hanya berhubungan dengan satu baris orang tua begitu juga sebaliknya.

    Ø Satu ke Banyak (One to Many)  atau Banyak  ke Satu (Many to One)

            Mempunyai pengertian "Setiap baris data dari tabel pertama dapat dihubungkan ke satu baris atau lebih data pada tabel ke dua". Contohnya : relasi perwalian antara tabel dosen dan tabel mahasiswa. Satu baris dosen atau satu dosen bisa berhubungan dengan satu baris atau lebih mahasiswa.

  

    Ø Banyak ke Banyak (Many to Many)

               Mempunyai pengertian "Satu baris atau lebih data pada tabel pertama bisa dihubugkan ke satu atau lebih baris data pada tabel ke dua". Artinya ada banyak baris di tabel satu dan tabel dua yang saling berhubungan satu sama lain. Contohnya : relasi antar tabel mahasiswa dan tabel mata kuliah. Satu baris mahasiswa bisa berhubungan dengan banyak baris mata kuliah begitu juga sebaliknya.

 

 

 

model - model database

04 October 2012 11:07:16 Dibaca : 445

Model-Model Database

 

Database Management System (DBMS) atau sistem manajemen database dibagi menjadi lima model. Model yang lebih lama diperkenalkan pada tahun 1960-an,yang bersifat hierarkis dan jaringan. Model yang lebih baru bersifat relasional, berorientasiobjek, dan multidimensional.

Database Hierarkis

Pada database Hierarkis, field atau record diatur dalam kelompok-kelompok yang berhubungan, menyerupai diagram pohon, dengan record child (level lebih rendah) berada di bawah record parent (level yang lebih tinggi).

Database hierarkis merupakan model tertua dan paling sederhana dari kelima model database. Dalam model database ini mengakses atau mengupdate data bisa berlangsung sangat cepat karena hubungan-hubungan sudah ditentukan. Tetapi, karena struktur harus didefinisikan lebih dahulu, maka hal ini cukup riskan. Lagipula menambahkan field baru ke sebuah record database membuat semua database harus didefinisikan kembali. Karena itulah diperlukan model database yang baru untuk menunjukkan masalah pengulangan data dan hubungan data yang kompleks.

Database Jaringan

Konsep database jaringan mirip dengan database hierarkis tetapi setiap record child dapat memiliki lebih dari satu record parent. Selanjutnya setiap record child dapat dimiliki oleh lebih dari satu record parent.

Database jaringan pada dasarnya digunakan dengan mainframe, lebih fleksibel disbanding database hierarkis karena ada hubungan yang berbeda antarcabang data. Akan tetapi strukturnya masih harus didefinisikan lebih dahulu. Pengguna harus sudah terbiasa dengan struktur database. Lagipula jumlah hubungan antar-record juga terbatas, dan untuk menguji sebuah field seseorang harus mendapatkan kembali semua record.

 

 

Database Relasional

Database Relasional bekerja dengan menghubungkan data pada file-file yang berbeda dengan menggunakan sebuah kunci atau elemen data yang umum.

Cara kerja database relasional:

Elemen-elemen data disimpan dalam tabel lain yang membentuk baris dan kolom. Dalam model database ini data diatur secara logis, yakni berdasarkan isi. Masing-masing record dalam tabel diidentifikasi oleh sebuah field – kunci primer – yang berisi sebuah nilai unik. Karena itulah data dalam database relasional dapat muncul dengan cara yang berbeda dari cara ia disimpan secara fisik pada komputer. Pengguna tidak boleh mengetahui lokasi fisik sebuah record untuk mendapatkan kembali datanya.

 

 

 

DDL and DML

27 September 2012 11:51:16 Dibaca : 72

Pengertian DDL & DML

1.      DDL (Data Definition Language)

DDL (Data Definition Language) yaitu bahasa yang memiliki kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek seperti tabel, indeks, bahkan basis datanya sendiri. Misalnya, CREATE, DROP, dan ALTER. Struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan didefinisikan dengan bahasa khusus yang disebut DDL. Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel dan sebagainya. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data

 

Perintah - Keterangan :

  • CREATE TABLE - Membuat tabel 
  • CREATE INDEX - Membuat index 
  • ALTER TABLE - Mengubah struktur tabel 
  • DROP TABLE - Menghapus tabel 
  • DROP INDEX - Menghapus index 
  • GRANT - Memberikan hak akses 
  • REVOKE - Menghapus hak akses 

 

2.      DML (Data Manipulation Language)

DML (Data Manupulation Language) yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel, record. Misalnya, INSERT, UPDATE, SELECT, dan DELETE. DML Merupakan bentuk bahasa basis data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data.

 

Manipulasi data dapat berupa: 

a. Penyisipan/Penambahan data baru ke suatu basis data 

b. Penghapusan data dari suatu basis data 

c. Pengubahan data dari satu basis data 

 Perintah – Keterangan : 

  • SELECT - Menampilkan record dari tabel atau view 
  • INSERT - Menyisipkan record ke dalam tabel 
  • UPDATE - Menghapus record dari tabel 
  • DELETE - Menghapus record dari tabel 
  • COMMIT - Menuliskan perubahan ke dalam disk 
  • ROLLBACK - Membatalkan perubahan yang dilakukan setelah perintah COMMIT terakhir