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