Normalisasi dan Dependency



1.      Normalisasi

Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF). Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.

Urutan: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF


  •       Tujuan Normalisasi

  1. Untuk menghilang kerangkapan data
  2. Untuk mengurangi kompleksitas
  3. Untuk mempermudah pemodifikasian data

Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:

  1. 1.   Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya  harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
  2.      Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
  3. Tidak melanggar Boyce-Codd Normal Form (BCNF)

QUERY LANGUAGE


Hai sahabat blogger, udah lama nih ngga share ilmu lagi. Kali ini kita akan belajar tentang query language dalam Database. Let's learn!!!

·         Bahasa Query formal basis data relasional Merupakan bahasa untuk meminta informasi dari basis data. Sebelum basis data relational, query terhadap basis data merupakan tugas yang sangat sukar. Pemograman harus berurusan dengan skema fisik internal dari basis data. Contoh bahasa query relasional adalah SQL (Structured Query Language).
·         Terdapat dua jenis bahasa query relasional yang utama, yaitu :
1.       Aljabar Relasional
2.       Kalkulus Relasional
·         Aljabar Relasional merupakan kumpulan operasi terhadap relasi dimana operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
·         Terdapat beberapa operasi dasar dalam aljabar relasional, yaitu :
1.       Operasi Selection (s)
Selection / Select (σ ), adalah operasi untuk menyeleksi tupel – tupel yang memenuhi suatupredikat, kita dapat menggunakan operator perbandingan (<,>,>=,<=,=,#) pada predikat. Beberapa predikat dapat dikombinasikan menjadi predikat manjemuk menggunakan penghubung AND (  ) dan
OR (  ).
Contoh  :
Query                           : Tampilkan daftar dosen yang tempat lahirnya di ‘Bekasi’
Aljabar relasional          : stempat_lhr=’Bekasi’(Dosen)

Transformasi Model Data

Model Data Relational Lanjut

Terdapat 2 varian entitas yakni :
  • Entitas kuat:
  • Himpunan entitas yang dilibatkan dalam ERD merupakan entitas kuat. Tidak memiliki ketergantungan dengan himpunan entitas lainnya.
  • Entitas lemah:
  • Suatu entity yang aman keberadaannya tergantung dari keberadaan enitity. Tidak memiliki atribut yang dapat berfungsi sebagai key attribute.

Agregasi
Merupakan Sebuah himpunan relasi yang menghubungkan sebuah himpunan entitas dengan himpunan relasi dalam ERD. Relasi yang terbentuk juga dapat mengandung unsur relasi lain.

Transformasi Model Data Ke Basis Data Fisik

ERD di representasikan menjadi sebuah basis data secara fisik
Komponen ERD ditransformasikan menjadi tabel yang merupakan komponen utpembentuk basis data
Atribut yang melekat pada masing-masing himpunan entitas dan relasi akan dinyatakan sebagai field dari tabel yang sesuai.

Model Data Relasional

Hai sahabat blogger, pada pertemuan minggu kelima ini kita akan belajar tentang Model Data Relasional. Sebenarnya apa sih Model Data Relasional ini?
Model Data Relasional kumpulan tabel berdimensi dua dengan masing-masing relasi tersusun atas tuple (baris) dan atribut (kolom) pada suatu basis data. Suatu model data yang meletakkan data dalam bentuk relasi biasanya disebut dengan tabel.



  • Relasi adalah sebuat tabel yang terdiri dari beberapa kolom dan beberapa baris. Relasi menunjukakn adanya hubungan diantara sejumlah entitas yang berasal dari  himpunan entitas yang berbeda.

  • Attribute merupakan kolom pada sebuah relasi.
  • Tuple adalah baris pada sebuah relasi, atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap.

  • Tuple adalah baris pada sebuah relasi, atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap.

  • Domain adalah seluruh kemingkinan nilai yang dapat diberikan ke suatu attribute.
  • Degree adalah jumlah atribut dalam sebuah relasi.
  • Cardinality adalah jumlah tuple dalam sebuah relasi.

Kunci Atribut dari Relasi

Candidate Key
Atribut yang digunakan untuk membedakan antara satu baris dan dengan baris yang lain.

Primary Key
Candidate Key yang digunakan untuk mengidentifikasikan tuple yang unik pada suatu relasi.

Alternate Key
Candidate key yang tidak menjadi Primary key.

Foreign Key
Sebuah atribut dalam suatu relasi yang merujuk ke primary key relasi lain.


Tugas Minggu ke-4

Hai sahabat blogger, kali ini aku mau share/berbagi tentang tugas yang diberikan oleh pak Dosen. Masih tentang Diagram Relasi Entity atau ERD.

1.

Dari gambar di atas, kita akan mengidentifikasi manakah yang termasuk relations key. Ayo kita bahas bersama. Relation key pada gambar di atas adalah:
  1. account-branch
  2. loan-branch
  3. borrower
  4. depositor
2. Kita akan membuat tabel-tabel dan keterhubungannya tentang Guru, Siswa, dan Pelajaran.
Tahap pertama yang akan kita buat adalah penentuan entitas yang terdapat dalam tabel-tabel tersebut.
  • siswa: menyimpan semua informasi tentang semua siswa.
  • guru: menyimpan semua informasi tentang semua dewan guru.
  • pelajaran: menyimpan semua informasi tentang mata pelajaran yang ditawarkan

Entity Relationship Diagram (ERD)

               Hai sahabat blogger, kali ini kita akan belajar tentang ERD, atau bahasa gampangnya diagram relasi entity. Pada tahu ngga ERD itu apa? Sekarang kita pelajari dengan lebih mendalam ya.

ERD merupakan representasi logika dari data pda suatu organisasi atau area bisnis tertentu dengan menggunakan Entity dan Relationship. ERD dapat mengekspresikan struktur logis sebuah Basis Data dengan simpel dan jelas, sehingga kita akan lebih mudah memahami struktur dari database tersebut.

Nah, pada tambah bingung kan...... ayo kita pelajari satu persatu. Jangan lupa baca doa sebelum belajar (^_^)
  1. Entity/Entitas
    • Merupakan suatu objek di dunia nyata yang berbeda dengan objek lain karena memiliki suatu atribut, sehingga dapat kita bedakan
    • Entiti Set/Kumpulan Entity merupakan kumpulan dari entitas yang sejenis
    • Entiti Set dapat berupa: Objek fisik dan objek abstrak.
    • Simbol yang digunakan untuk menggambarkan Entity adalah persegi panjang.

    • Tipe Entitas
      • Entitas Kuat
      • Entitas Lemas/Weak Entity
      • Entitas Asosiatif
  1. Relationship
    • Merupakan hubungan antara suatu himpunan dengan himpunan entitas lainnya.
    • Simbol yang digunakan untuk menggambarkan Relationship adalah bentuk belah ketupan/diamond
    • Contoh
    • Derajat Relationship: Menjelaskan jumlah entity yang terlibat dalam suatu relationship
    • Cardinality Ratio Constraint: Menjelaskan tentang batasan jumlah relasi suatu entity dengan entity lainnya. Jenis-jenis rasio kardinalitas adalah: one to one, one to many/many to one, dan many to many
    • Batasan kardinalitas
      • Kardinalitas minimum: Merupakan jumlah minimum instansiasi relasi B yang berasosiasi dengan setiap instanti entitas A.
      • Kardinalitas Maksimum: Merupakan jumlah maksimum instansiasi relasi B yang berasosiasi dengan setiap instansiasi entitas A
    • Participation Constraint
      • Total participation, yaitu keberadaan suatu entity tergantung pada hubungannya dengan entity lain. Di dalam diagram ER digambarkan dengan dua garis penghubung antara entity dengan relationship.
      • Partial participations, yaitu keberadaan suatu entity tidak tergantung pada hubungan dengan entity lain. Di dalam diagram ER digambarkan dengan satu garis penghubung antara entity dengan relationship.

DBMS (Data Base Management System)

Hai sahabat, kita mulai lagi ya belajarnya....
Sebelumnya kita kan udah belajar sedikit tentang DBMS, tapi pasti banyak dari sahabat blogger yang masih belum paham dan bertanya-tanya apa sih yang dimaksud dengan DBMS. Ayo sekarang kita pelajari bareng...

Apa sih yang dimaksud dengan DBMS?
Sebenarnya arti dari DBMS itu adalah suatu program komputer yang digunakan untuk memasukkan (input), mengubah (update), menghapus (delete), memodifikasi dan memperoleh data/informasi secara efisien dan praktis.
Kelebihan dari penggunaan DBMS:
  • Kecepatan. Komputer dapat mencari dan menampilkan informasi yang kita butuhkan dengan cepat dan praktis dibandingkan dengan kita harus mencari suatu data dalam tumpukan fie-file yang menggunung.
  • Kepraktisan. DBMS menyediakan media penyimpanan yang permanen yang berukuran keci, tetapi banyak menyimpan data jika dibandingkan dengan menggunakan kertas/buku.
  • Update to date. Informasi yang disediakan selalu berubah dan akurat setiap saat.
  • Mengurangi kejemuan. Pekrjaan yang kita lakukan secara berulang-ulang dapat menimbulkan rasa bosan bagi kita, sedangkan mesin tidak merasakannya.

Perbedaan Data & Informasi

Hai sahabat blogger, kali ini kita akan sedikit membahas tentang garis besar basis data (Data Base) dari perkuliahanku minggu kedua kemaren. Kalo di postingan sebelumnya kita membahas tentang seluk beluk basis data serta kekurangan dan kelebihannya, kali ini kita akan merangkumnya. Jadi sahabat bisa dengan lebih mudah memahami tentang basis data ini..... Cekidot....

Basis Data (Data Base)

Sahabat blogger, untuk pembelajaran pertama kita akan belajar mengenai basis data atau yang sering kita dengar dengan istilah "data base". Tapi sahabat blogger tahu ngga apa sebenarnya basis data itu??
Nah, mari kita belajar bareng mengenai seluk beluk basis data dalam kehidupan kita saat ini yang sangat sering kita dengar dan jumpai, baik di dunia maya, aplikasi-aplikasi, game, dan masih banyak lagi.