MENGABAIKAN NORMALISASI
Desain 1 |
Desain 2 |
desain kedua ini memerlukan lebih sedikit kode di dalam pemrosesan dan hal ini jauh lebih mungkin, bahwa Anda akan dapat mengetahui apa yang sedang terjadi dalam sistem tanpa harus memburu programmer asli.
STANDAR PENAMAAN YANG BURUK
Nama yang kita pilih tidak hanya untuk memungkinkan kita untuk mengidentifikasi tujuan objek, tetapi untuk mengizinkan semua programmer masa depan, pengguna, dan sebagainya dengan cepat dan mudah memahami bagaimana bagian komponen dari database yang telah kita buat itu.
Pertimbangkan, sebagai contoh, sebuah kolom yang bernama, X304_DSCR. Apa sih artinya? kita mungkin memutuskan, setelah pusing memikirkannya, bahwa itu berarti "deskripsi X304". Mungkin itu, tapi mungkin DSCR berarti diskriminator, atau discretizator? Kecuali kita telah membuat DSCR sebagai singkatan standar perusahaan untuk deskripsi, maka X304_DESCRIPTION adalah nama yang jauh lebih baik, sehingga kita tidak sulit untuk memikirkannya.
“Penamaan yang Tidak Konsisten” Kita harus menghindari nama seperti "Part Number" atau, dalam gaya Microsoft, [Part Number], sehingga memerlukan pengguna untuk memasukkan data-data dan pengenal dalam kode mereka. Hal ini menjengkelkan dan sesuatu yang tidak perlu.
alternatif lainnyapada penamaan part_number, partNumber atau PartNumber. Sekali lagi, konsistensi adalah kunci. Jika Anda memilih PartNumber maka tidak apa-apa - asalkan kolom berisi nomor faktur disebut InvoiceNumber, dan bukan salah satu variasi lain yang mungkin sehingga menjadi lebih membingungkan.
MENGGUNAKAN IDENTITAS / KOLOM SEBAGAI SATU-SATUNYA KUNCI PADA TABEL
Bentuk Normal Pertama menyatakan bahwa semua baris dalam tabel harus secara unik diidentifikasi. Oleh karena itu, setiap tabel harus memiliki primary key.
Desain 5
|
Sekarang, anggap tabel berikut (Desain 5), dimana PartID adalah kolom IDENTITAS dan merupakan kunci utama untuk table.
Berapa banyak baris yang ada di tabel ini? Nah, tampaknya ada tiga, namun baris dengan PartIDs 1 dan 2 sebenarnya baris yang sama, namun digandakan? Atau apakah mereka dua baris yang berbeda yang harus unik tetapi salah mengetik? Aturan praktis yang saya gunakan adalah sederhana. Jika manusia tidak bisa memilih mana baris yang mereka inginkan dari table tanpa pengetahuan tentang kunci pengganti, maka Anda perlu untuk mempertimbangkan kembali desain Anda. Hal ini mengapa harus ada kunci pengganti untuk menjamin keunikan, dalam hal ini mungkin pada PartNumber.
Desain 3
|
Sebagai contoh, perhatikan potongan model berikut (Desain 3) di mana saya membutuhkan nilai domain untuk:
- Pelanggan CreditStatus
- Jenis Pelanggan
- Status Faktur
- Faktur Item Baris backorder Status
- Faktur Item Baris Via Kapal Carrier
Desain 4
|
Diawal terdapat lima domain table, tapi mengapa hanya menggunakan satu tabel domain generic (GenericDomainId) ?
Kesalahan terjadi karena Semua Keterangan key disimpan pada table GenericDomainID. Sebaiknya masing masing domain terdapat pada table yang berbeda (Desain 4).
Sumber :
Diakses pada tanggal 22/12/2010 Pukul 10.18 WIB
No comments:
Post a Comment