Jumat, 10 November 2023

Tugas 6 - Entity Relationship Diagram

 Denormalisasi pada ERD


Denormalisasi adalah kebalikan dari proses normalisasi. Denormalisasi merupakan proses yang dilakukan pada database yang sudah dinormalisasi, dengan cara memodifikasi struktur tabel dan mengabaikan kerangkapan data (yang terkontrol) untuk meningkatkan kinerja database. Pada satu sisi denormalisasi menyebabkan adanya data redundansi yang lebih besar, bahkan dapat mengurangi fleksibilitas basis data untuk perkembangan penggunan dimasa depan. Di sisi lain, denormalisasi dapat mempercepat pemanggilan (retrieval) data, meskipun dapat memperlambat proses update data. Perbedaan normalisasi dan denormalisasi adalah terletak pada data redundansi dan kompleksitas query. Pada data redundansi, data normalisasi harus dihilangkan semaksimal mungkin sehingga apabila kita akan mengakses data dalam suatu database membutuhkan query yang kompleks. Berbeda dengan denormalisasi, denormalisasi disini tidak terlalu memikirkan tentang data redundancy sehingga dalam mengakses data lebih cepat. Secara prinsip, tidak ada metode khusus untuk melakukan denormalisasi.
Denormalisasi dapat dilakukan apabila terdapat:
- Atribut yang terderivasi (atribut turunan), yaitu atribut yang nilainya bisa diperoleh dari nilai-nilai yang sudah ada pada atribut lain.
- Atribut yang berlebihan, yaitu atribut yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya, seperti: Atribut terkodekan (encoded attribute), Atribut gabungan (concatenated attribute), Atribut tumpang-tindih (overlapping attribute), Atribut bermakna ganda (alternate attribute)
- Tabel rekapitulasi (summary table), yaitu hasil pengolahan dari semua tabel yang ada. Pengolahan tersebut melibatkan banyak tabel sehingga akan membutuhkan waktu yang lama. Jika hal tersebut sering diakses dan diperlukan, maka perlu dibuat tabel khusus untuk menyimpan data hasil rekapitulasi tersebut.
Denormalisasi diperlukan untuk menjaga kestabilan performa sistem. Untuk menentukan apakah perlu sistem dilakukan denormalisasi atau tidak untuk mengoptimalkan kinerja sistem diperlukan beberapa pertimbangan.

Kunjungi UBP Karawang & Pak Adi

Selasa, 31 Oktober 2023

Tugas 4 - Entity Relationship Diagram

 Normalisasi pada ERD

    Normalisasi adalah proses perancangan basis data yang bertujuan untuk mengurangi redundansi data, meminimalkan anomali data, dan meningkatkan integritas data. Normalisasi digunakan dalam perancangan Entity-Relationship Diagram (ERD) dan database untuk memastikan bahwa struktur database memenuhi standar desain yang baik. Normalisasi membantu dalam menghindari masalah seperti penyimpanan data berlebihan, inkonsistensi data, dan ketidaksempurnaan desain basis data. Ada beberapa bentuk normalisasi, yang dinyatakan dalam bentuk “normal forms,” yang paling umum adalah Normal Form Pertama (1NF), Normal Form Kedua (2NF), dan seterusnya hingga bentuk normal yang lebih tinggi.

    Normalisasi biasanya menghasilkan skema basis data yang terdiri dari beberapa tabel yang terkait melalui hubungan, seperti yang digambarkan dalam ERD. Ada beberapa tingkatan normalisasi yang biasa digunakan, yaitu:

  •  Normal Form Pertama (1NF): Untuk mencapai 1NF, setiap sel dalam tabel harus berisi satu nilai atomik (tidak ada data berulang). Selain itu, setiap baris dalam tabel harus memiliki kunci primer yang unik.
  • Normal Form Kedua (2NF): Untuk mencapai 2NF, tabel harus sudah dalam 1NF, dan setiap kolom non-kunci harus sepenuhnya bergantung pada seluruh kunci utama, bukan hanya sebagian. Ini menghindari adanya atribut yang tergantung secara sebagian pada kunci utama.
  •  Normal Form Ketiga (3NF): Untuk mencapai 3NF, tabel harus sudah dalam 2NF, dan setiap kolom non-kunci harus tidak bergantung pada kolom non-kunci lainnya. Ini menghindari adanya ketergantungan transitif.
  •  Normal Form Boyce-Codd (BCNF): BCNF adalah bentuk yang lebih ketat dari 3NF dan memastikan bahwa setiap atribut non-kunci bergantung sepenuhnya pada kunci utama.
  •  Normal Form Keempat (4NF) dan Selanjutnya: Bentuk-bentuk normalisasi yang lebih tinggi seperti 4NF dan 5NF (atau Normal Form Kelima) bertujuan untuk mengatasi masalah ketergantungan multi-nilai dan menghindari beberapa anomali lainnya.

    Normalisasi adalah proses yang penting dalam perancangan basis data karena membantu memastikan bahwa basis data adalah efisien, konsisten, dan dapat dikelola dengan baik. Namun, perlu diingat bahwa terlalu banyak normalisasi juga dapat membuat basis data menjadi rumit dan sulit dipahami.

    Tetapi biasanya tingkatan normalisasi hingga tingkat ketiga sudah cukup untuk sebagian besar kasus. Menerapkan normalisasi dapat menghasilkan struktur basis data yang lebih efisien, lebih mudah dipahami, dan lebih mudah dikelola, meskipun bisa meningkatkan kompleksitas dalam hal hubungan antar tabel dalam skema basis data.


Kunjungi UBP Karawang & Pak Adi


Tugas 3 - Entity Relationship Diagram

 Relasi

Dalam konteks Entity Relationship Diagram (ERD), “relasi” mengacu pada hubungan antara dua entitas atau tabel dalam database.

Hubungan ini menggambarkan bagaimana entitas berinteraksi satu sama lain dalam konteks sistem database. Dalam ERD, relasi diwakili oleh garis-garis yang menghubungkan entitas atau tabel, dan garis-garis ini memiliki atribut yang menggambarkan sifat hubungan antara entitas atau tabel tersebut.

 Ada beberapa tipe relasi yang umum digunakan dalam ERD:

1. One-to-one (1: 1): Dalam relasi satu-ke-satu, setiap entitas berada pada satu sisi relasi secara langsung terhubung ke entitas di sisi lain.

 Misalnya, entitas "Orang" dapat memiliki hubungan satu-ke-satu dengan entitas "Telepon", artinya setiap orang memiliki telepon dan setiap telelpon dimiliki oleh seseorang.

2. One-to-Many (1: N):  Dalam hubungan satu-ke-banyak, setiap entitas di satu sisi hubungan terhubung ke beberapa entitas di sisi lain.

 Misalnya, entitas "Kampus" dapat memiliki hubungan one-to-many dengan entitas "Mahasiswa", yang berarti suatu kampus dapat memiliki banyak mahasiswa, namun seorang mahasiswa hanya dapat bekerja di satu kampus.

3. Many-to-One (N: 1): Hal ini berbeda dengan hubungan one-to-many, di mana beberapa entitas di satu sisi hubungan terhubung ke satu entitas di sisi lain.

 Misalnya, entitas "Mahasiswa" dapat memiliki hubungan many-to-one dengan entitas "Kampus", artinya beberapa mahasiswa dikaitkan dengan kampus yang sama.

 4. Many-to-Many (N: N): Ini adalah jenis hubungan yang sering dihindari orang, seperti yang saya sebutkan sebelumnya di pertanyaan sebelumnya.

 Dalam relasi many-to-many, beberapa entitas di satu sisi relasi dapat dihubungkan ke beberapa entitas di sisi lainnya.

 Untuk menggambarkan hubungan ini di ERD,  tabel perantara atau tabel tautan digunakan. Hubungan dalam ERD membantu  merancang dan memahami bagaimana data berinteraksi dan terkait dalam sistem database.

 Mereka juga membantu  mengidentifikasi kunci asing(foreign key)  yang digunakan untuk menjaga integritas referensial antara tabel yang terhubung.


Many-to-Many tidak baik di ERD(?)

    Model “many-to-many” biasanya tidak diimplementasikan secara langsung dalam diagram hubungan entitas (ERD) karena dapat menimbulkan kompleksitas dan masalah ketika data disebarkan dalam sistem basis data.

    Ada beberapa alasan mengapa  hubungan banyak-ke-banyak tidak diinginkan dalam ERD: Sulit untuk diterapkan: Hubungan many-to-many memerlukan tabel perantara atau tabel gabungan untuk menghubungkan antara dua entitas.


  • Kesulitan dalam implementasi : Hal ini dapat mempersulit pengambilan dan manipulasi data, terutama jika beberapa tabel perantara diperlukan dalam ERD yang lebih kompleks.
  • Kinerja buruk:  Hubungan many-to-many dapat membuat query yang rumit dan lambat karena sering kali melibatkan banyak gabungan kompleks antar tabel perantara. Hal ini dapat mempengaruhi kinerja sistem database, terutama ketika menangani  data dalam jumlah besar.
  • Ambiguitas dalam analisis: Hubungan many-to-many di ERD juga dapat menyebabkan ambiguitas dalam analisis bisnis.
  • Kesulitan dalam menyimpan data: Memasukkan data ke dalam tabel perantara dalam  hubungan many-to-many memerlukan pemahaman  cara memasukkan data dengan benar, yang bisa jadi rumit. Hal ini dapat menyebabkan kesalahan dan ketidakkonsistenan data  jika tidak dikelola dengan hati-hati.

    Dalam banyak kasus, untuk mengatasi masalah many-to-many hubungan, entitas tambahan atau atribut dapat diperkenalkan ke dalam ERD untuk menggambarkan hubungan yang lebih jelas dan sederhana antara entitas. Contohnya, menggunakan hubungan "one-to-many" atau "many-to-one" dengan tabel penengah yang mengandung atribut tambahan untuk menjelaskan lebih baik hubungan antara entitas. Kesederhanaan  model ERD sering diapresiasi karena memudahkan pemeliharaan dan pengembangan sistem basis data. 


Kunjungi UBP Karawang & Pak Adi

 

Jumat, 06 Oktober 2023

Tugas 2 - Entity Relationship Diagram

 

PRIMARY KEY

Primary Key adalah kolom atau kombinasi kolom dalam sebuah tabel database yang digunakan untuk mengidentifikasi setiap baris atau record secara unik. Primary key berfungsi untuk memastikan bahwa tidak ada duplikat data dalam tabel.

Setiap tabel hanya bisa memiliki satu primary key dan harus terdiri dari kolom atau kombinasi kolom yang memenuhi syarat sebagai berikut:

§  Memiliki nilai unik untuk setiap record di dalam tabel.

§  Tidak boleh memiliki nilai null atau kosong.

§  Setiap tabel hanya boleh memiliki satu primary key

Primary key memiliki beberapa fungsi penting dalam sebuah database, di antaranya adalah:

1.    Mengidentifikasi setiap baris atau record secara unik.

2.    Menjamin keakuratan data dalam tabel.

3.    Meningkatkan kecepatan query dan pengolahan data.

4.    Memudahkan penggunaan foreign key.


FOREIGN KEY

Foreign key adalah suatu grup atau kolom pada tabel yang dapat menghubungkan 2 atau lebih database yang berbeda. manfaat dari foreign key adalah memastikan keberadaan kolom yang dirujuk pada tabel utama. Karena jika kolom yang dirujuk tidak ada pada tabel utama, kolom tersebut juga tidak akan ada pada tabel kedua.

Lalu manfaat lain dari foreign key adalah memastikan ketepatan kolom yang dirujuk meskipun nilai pada tabel utamanya sudah diedit atau dihapus.


CANDIDATE KEY

Candidate key adalah kunci potensial yang dapat digunakan untuk mengidentifikasi secara unik entitas dalam sebuah tabel. Kunci kandidat harus memiliki dua sifat utama:

1.    Unik: Setiap nilai pada kunci kandidat harus unik, tidak ada duplikat yang diperbolehkan.

2.    Minimal: Kunci kandidat harus minimal, artinya tidak ada atribut tambahan yang dapat dihilangkan dari kunci tanpa menghilangkan sifat uniknya.

Ketika mendesain basis data, penting untuk mengidentifikasi kunci kandidat yang tepat untuk setiap entitas dalam tabel. Dengan demikian, kita dapat memastikan bahwa data yang disimpan dalam tabel memiliki integritas dan konsistensi yang baik.

Contoh Penggunaan Primary Key, Foreign Key, Candidate Key pada ERD :






Tugas 1 - Entity Relationship Diagram (ERD)

Entity-relationship diagram (ERD) merupakan sebuah model untuk menyusun database agar dapat menggambarkan data yang mempunyai relasi dengan database yang akan didesain.

Entity Relational Diagram (ERD) adalah suatu model untuk menjelaskan hubungan antar data dalam database berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. ERD adalah suatu pemodelan 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. ERD merupakan suatu diagram perencanaan yang digunakan untuk membantu dan memudahkan dalam membaca, dan merancang database.

Tugas 6 - Entity Relationship Diagram

 Denormalisasi pada ERD Denormalisasi adalah kebalikan dari proses normalisasi. Denormalisasi merupakan proses yang dilakukan pada database ...