Konvensi penamaan penting, dan kunci primer dan kunci asing telah umum digunakan dan konvensi yang jelas ( PK_Table
dan FK_Table_ReferencedTable
, masing-masing). The IX_Table_Column
penamaan untuk indeks juga cukup standar.
Bagaimana dengan kendala UNIK? Apakah ada konvensi penamaan yang diterima secara umum untuk batasan ini? Saya telah melihat UK_TableName_Column
,, UQ_TableName_Column
dan seseorang merekomendasikan AX_TableName_Column
- Saya tidak tahu dari mana asalnya.
Saya biasanya telah menggunakan UQ
tetapi saya tidak terlalu menyukainya, dan saya tidak menikmati harus mempertahankan pilihan saya untuk menggunakannya terhadap UK
advokat.
Saya hanya ingin melihat apakah ada konsensus tentang penamaan yang paling umum, atau alasan yang baik tentang mengapa salah satu lebih masuk akal daripada yang lain.
sumber
U
. Untuk apaQ
berdiri?FK_TargetTable_SourceTable
? Bisakah Anda menjelaskan lebih lanjut.Jawaban:
Pemikiran saya bukanlah kunci: ini kendala.
Ini bisa digunakan sebagai kunci tentunya, dan secara unik mengidentifikasi baris, tapi itu bukan kuncinya.
Contohnya adalah kuncinya adalah "ThingID", kunci pengganti yang digunakan sebagai pengganti ThingName, kunci alami. Anda masih perlu membatasi ThingName: itu tidak akan digunakan sebagai kunci.
Saya juga akan menggunakan UQ dan UQC (jika dikelompokkan).
Anda bisa menggunakan indeks unik dan memilih "IXU". Dengan logika yang digunakan, indeks juga merupakan kunci tetapi hanya jika unik. Jika tidak, itu adalah indeks. Jadi kita akan mulai dengan
IK_columnname
untuk indeks unik danIX_columnname
untuk indeks non-unik. Menakjubkan.Dan satu-satunya perbedaan antara batasan unik dan indeks unik adalah kolom TERMASUK.
Sunting: Feb 2013. Sejak SQL Server 2008, indeks dapat memiliki filter juga. Kendala tidak bisa
Jadi, itu bermuara pada salah satu
sumber
Konvensi penamaan saya untuk indeks dan batasan:
Di mana {xx} adalah nomor urut 2 digit, dimulai dari 01 untuk setiap jenis batasan per tabel. Kunci utama tidak mendapatkan nomor urut karena hanya ada satu. Arti sufiks alfa 2 karakter adalah:
Saya biasanya ingin mengelompokkan metadata / data katalog sistem dengan objek pengendali daripada berdasarkan tipe objek.
sumber
Saya menggunakan UQ. Huruf K di Inggris membuat saya berpikir tentang K seperti yang digunakan di PK dan FK. Nah, setelah saya memikirkan tentang Inggris Raya; ironis bahwa ini harus menjadi awalan untuk UNIK ketika Inggris menampilkan begitu banyak asosiasi lainnya =)
sumber