Ada dua kelompok pentahapan yang biasa ditempuh dalam pembuatan Diagram E-R :
Tahap Awal Pembuatan (Pre-eliminary Design)
Untuk mendapatkan rancangan basis data minimal yang dapat mengakomodasi kebtuuhan penyimpanan data terhadap sistem yang akan dibangun. Pada umumnya mengabaikan adanya penyimpangan-penyimpangan.
Tahap Otimasi (Final Design)
Dilakukan koreksi terhadap hasil tahap awal, dengan memperhatikan aspek efisiensi, performansi, dan fleksibilitas. Bentuk-bentuk koreksi yang dilakukan :
- Dekomposisi himpunan entitas
- Penggabungan himpunan entitas
- Pengubahan derajat relasi
- Penambahan relasi baru
- Penambahan dan pengurangan atribut untuk masing-masing entitas dan relasi
Langkah-langkah menyusuan diagram awal ER :
- Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat
- Menentukan atribut-atribut kunci dari masing-masing himpunan entitas
- Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas yang ada beserta foreign key-nya
- Menentukan derajat relasi (cardinality) untuk setiap himpunan relasi
- Melengkapi himpunan entitas dan himpunan relasi dengan atribut deskriptif (yang bukan kunci)
Contoh : Kasus pada Perkuliahan
Langkah 1
Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat.
Langkah 2
Menentukan atribut-atribut kunci dari masing-masing himpunan entitas.
Langkah 3
Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas yang ada beserta foreign key-nya.
Langkah 4
Menentukan derajat relasi (cardinality) untuk setiap himpunan relasi.
Langkah 5
Melengkapi himpunan entitas dan himpunan relasi dengan atribut deskriptif (yang bukan kunci).
Diagram ER dengan Kamus Data
Pada sistem yang ruang lingkupnya lebar dan kompleks, penggambaran atribut-atribut dalam ERD seringkali malah mengganggu tujuan yang ingin dicapai. Oleh karena itu dapat dinyatakan dalam Kamus Data. Kamus data berisi daftar atribut yang diapit tanda ‘{‘ dan ‘}’. Atribut yang merupakan kunci digarisbawahi
Contoh :
Kamus Data :
- Mahasiswa = {nomhs, nama, alamat}
- Kuliah = {kdmtk, nama mtk, sks}
- Dosen = {kode dosen, nama}
- Mempelajari = {nomhs, kdmtk, nilai}
- Mengajar = {kdmtk, kode dosen, jam, ruang}