Nama Jadual dan Lajur: Penamaan Konvensyen dalam PostgreSQL
Dalam PostgreSQL, nama jadual dan lajur tertakluk kepada konvensyen penamaan tertentu. Satu konvensyen sedemikian ialah nama-nama ini tidak boleh bermula dengan aksara angka. Sekatan ini ditakrifkan oleh standard SQL-92 (boleh diakses di http://en.wikipedia.org/wiki/SQL-92), yang menyatakan bahawa permulaan pengecam hendaklah huruf Latin yang ringkas.
Sementara penamaan ini konvensyen mungkin berbeza daripada amalan biasa dalam pengaturcaraan, terdapat beberapa sebab untuk pilihan reka bentuk ini.
Pengecam Mula Ciri
Dalam SQL, pengecam (termasuk nama jadual dan lajur) ditakrifkan sebagai rentetan sehingga 63 aksara. Rentetan ini mesti bermula dengan huruf Latin atau garis bawah, dengan aksara seterusnya ialah huruf, digit atau garis bawah.
Kekaburan Sintaksis
Jika nama jadual dan lajur dibenarkan bermula dengan aksara angka, akan ada potensi kekaburan semasa menghurai. Pertimbangkan contoh berikut:
PILIH 2e2 3.4 DARI ...
Dalam pertanyaan ini, penghurai tidak pasti sama ada 2e2 dan 3.4 mewakili nama lajur atau ungkapan berangka. Apabila pengecam bermula dengan huruf, kekaburan dihapuskan dan penghurai boleh mengenal pasti ungkapan dengan cepat dengan betul.
Ketekalan Reka Bentuk
Dengan menguatkuasakan konvensyen bahawa pengecam bermula dengan huruf , standard SQL memastikan konsistensi dalam penghuraian dan pelaksanaan. Jika aksara utama berangka dibenarkan, peraturan tambahan diperlukan untuk membezakan antara pengecam dan ungkapan berangka, yang berpotensi membawa kepada algoritma penghuraian yang kompleks dan mengurangkan kebolehbacaan.
Nama Petikan Dua Kali
Walaupun aksara utama angka tidak dibenarkan secara lalai, ia boleh digunakan dengan melampirkan nama dalam petikan berganda. Ini mencipta pengecam disebut yang mengatasi konvensyen penamaan standard. Sebagai contoh, nama jadual 15909434_user boleh dibuat menggunakan petikan berganda:
BUAT JADUAL "15909434_user" ( ... )
Menggunakan petikan berganda memberikan kefleksibelan dan membolehkan penciptaan nama yang melakukan tidak mematuhi konvensyen standard. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pengecam yang dipetik tidak begitu mudah dibaca dan mungkin lebih terdedah kepada ralat.
Atas ialah kandungan terperinci Bagaimanakah Konvensyen Penamaan Jadual dan Lajur PostgreSQL Mengelakkan Menghurai Kekaburan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!