Di mana saya dapat menemukan manual terperinci tentang konvensi penamaan PostgreSQL? (nama tabel vs. peti unta, urutan, kunci primer, batasan, indeks, dll ...)
Di mana saya dapat menemukan manual terperinci tentang konvensi penamaan PostgreSQL? (nama tabel vs. peti unta, urutan, kunci primer, batasan, indeks, dll ...)
Jawaban:
Mengenai nama tabel, kasus, dll, konvensi yang lazim adalah:
UPPER CASE
lower_case_with_underscores
UPDATE my_table SET name = 5;
Ini tidak ditulis dalam batu, tetapi sedikit tentang pengidentifikasi dalam huruf kecil sangat dianjurkan, IMO. Postgresql memperlakukan case identifiers dengan tidak sensitif ketika tidak dikutip (sebenarnya melipatnya menjadi huruf kecil secara internal), dan case sensitif ketika dikutip; banyak orang tidak menyadari keanehan ini. Menggunakan selalu huruf kecil Anda aman. Bagaimanapun, itu dapat diterima untuk menggunakan camelCase
atau PascalCase
(atau UPPER_CASE
), selama Anda konsisten: baik pengidentifikasi kutipan selalu atau tidak pernah (dan ini termasuk pembuatan skema!).
Saya tidak mengetahui banyak konvensi atau panduan gaya lainnya. Kunci pengganti biasanya dibuat dari urutan (biasanya dengan serial
makro), akan lebih mudah untuk tetap menggunakan penamaan itu untuk urutan tersebut jika Anda membuatnya dengan tangan ( tablename_colname_seq
).
Lihat juga beberapa diskusi di sini , di sini dan (untuk SQL umum) di sini , semua dengan beberapa tautan terkait.
Catatan: Postgresql 10 memperkenalkan identity
kolom sebagai pengganti SQL untuk serial .
Sebenarnya tidak ada manual formal, karena tidak ada gaya atau standar tunggal.
Selama Anda memahami aturan penamaan pengenal Anda dapat menggunakan apa pun yang Anda suka.
Dalam praktiknya, saya merasa lebih mudah digunakan lower_case_underscore_separated_identifiers
karena tidak perlu bagi "Double Quote"
mereka di mana-mana untuk melindungi kasing, ruang, dll.
Jika Anda ingin memberi nama tabel dan fungsi "@MyAṕṕ! ""betty"" Shard$42"
Anda, Anda akan bebas untuk melakukan itu, meskipun akan sulit untuk mengetik di mana-mana.
Hal utama yang harus dipahami adalah:
Kecuali dikutip ganda, pengidentifikasi adalah case-dilipat untuk menurunkan kasus, sehingga MyTable
, MYTABLE
dan mytable
semua hal yang sama, namun "MYTABLE"
dan "MyTable"
berbeda;
Kecuali dikutip ganda:
Pengidentifikasi SQL dan kata-kata kunci harus dimulai dengan huruf (az, tetapi juga huruf dengan tanda diakritik dan huruf non-Latin) atau garis bawah (_). Karakter berikutnya dalam pengidentifikasi atau kata kunci dapat berupa huruf, garis bawah, digit (0-9), atau tanda dolar ($).
Anda harus mengutip kata kunci ganda jika Anda ingin menggunakannya sebagai pengidentifikasi.
Dalam praktiknya saya sangat menyarankan agar Anda tidak menggunakan kata kunci sebagai pengidentifikasi. Setidaknya hindari kata-kata yang dipesan. Hanya karena Anda dapat memberi nama tabel "with"
tidak berarti Anda harus.
lower_case_underscore_separated_identifiers
" ... baru-baru ini, saya mendengar ini digambarkan sebagai "kasus ular"