ฉันจะหาคู่มือโดยละเอียดเกี่ยวกับแบบแผนการตั้งชื่อของ PostgreSQL ได้ที่ไหน (ชื่อตารางเทียบกับกรณีของอูฐลำดับคีย์หลักข้อ จำกัด ดัชนี ฯลฯ ... )
ฉันจะหาคู่มือโดยละเอียดเกี่ยวกับแบบแผนการตั้งชื่อของ PostgreSQL ได้ที่ไหน (ชื่อตารางเทียบกับกรณีของอูฐลำดับคีย์หลักข้อ จำกัด ดัชนี ฯลฯ ... )
คำตอบ:
เกี่ยวกับชื่อตารางตัวพิมพ์และอื่น ๆ การประชุมที่แพร่หลายคือ:
UPPER CASE
lower_case_with_underscores
UPDATE my_table SET name = 5;
สิ่งนี้ไม่ได้เขียนด้วยหิน แต่แนะนำให้ใช้บิตเกี่ยวกับตัวระบุเป็นตัวพิมพ์เล็ก IMO Postgresql ปฏิบัติต่อตัวระบุกรณีอย่างไม่รู้สึกตัวเมื่อไม่มีการอ้างอิง หลายคนไม่ได้ตระหนักถึงความแปลกประหลาดนี้ การใช้ตัวพิมพ์เล็กเสมอคุณจะปลอดภัย อย่างไรก็ตามเป็นที่ยอมรับที่จะใช้camelCase
หรือPascalCase
(หรือUPPER_CASE
) ตราบใดที่คุณมีความสอดคล้อง: ตัวระบุคำพูดเสมอหรือไม่เคย (และรวมถึงการสร้างสคีมา!)
ฉันไม่ทราบถึงแนวทางหรือแนวทางเพิ่มเติมอีกมากมาย โดยปกติแล้วปุ่มตัวแทนจะทำจากลำดับ (โดยปกติจะมีserial
มาโคร) จะสะดวกในการติดตั้งชื่อนั้นสำหรับลำดับเหล่านั้นหากคุณสร้างด้วยมือ ( tablename_colname_seq
)
ดูเพิ่มเติมอภิปรายที่นี่ , ที่นี่และ (สำหรับ SQL ทั่วไป) ที่นี่ทั้งหมดที่มีการเชื่อมโยงที่เกี่ยวข้องหลาย
หมายเหตุ: PostgreSQL 10 แนะนำidentity
คอลัมน์เป็นทดแทนที่สอดคล้องกับ SQL สำหรับอนุกรม
ไม่มีคู่มืออย่างเป็นทางการจริงๆเพราะไม่มีรูปแบบหรือมาตรฐานเดียว
ตราบใดที่คุณเข้าใจกฎการตั้งชื่อตัวระบุคุณสามารถใช้สิ่งที่คุณต้องการ
ในทางปฏิบัติแล้วฉันพบว่ามันใช้งานง่ายกว่าlower_case_underscore_separated_identifiers
เพราะไม่จำเป็นสำหรับ"Double Quote"
พวกเขาทุกที่ในการรักษาตัวเรือนพื้นที่
หากคุณต้องการตั้งชื่อตารางและฟังก์ชั่นของ"@MyAṕṕ! ""betty"" Shard$42"
คุณคุณมีอิสระที่จะทำเช่นนั้นแม้ว่าจะเป็นเรื่องยากที่จะพิมพ์ทุกที่
สิ่งสำคัญที่ต้องเข้าใจคือ:
ยกเว้นกรณีที่ยกมาสองครั้งตัวระบุเป็นกรณีพับได้เพื่อกรณีที่ต่ำกว่าดังนั้นMyTable
, MYTABLE
และmytable
มีทุกสิ่งเดียวกัน แต่"MYTABLE"
และ"MyTable"
มีความแตกต่างกัน
เว้นแต่จะยกมาเป็นสองเท่า:
ตัวระบุ SQL และคำสำคัญต้องเริ่มต้นด้วยตัวอักษร (az แต่ตัวอักษรที่มีเครื่องหมายกำกับเสียงและตัวอักษรที่ไม่ใช่ละติน) หรือขีดล่าง (_) อักขระที่ตามมาในตัวระบุหรือคำสำคัญอาจเป็นตัวอักษรขีดล่างตัวเลข (0-9) หรือเครื่องหมายดอลลาร์ ($)
คุณต้องอ้างคำหลักสองครั้งหากคุณต้องการใช้เป็นตัวระบุ
ในทางปฏิบัติฉันแนะนำอย่างยิ่งว่าคุณไม่ได้ใช้คำหลักเป็นตัวระบุ อย่างน้อยก็ควรหลีกเลี่ยงคำสงวน เพียงเพราะคุณสามารถตั้งชื่อตาราง"with"
ไม่ได้หมายความว่าคุณควร
lower_case_underscore_separated_identifiers
" ... เมื่อเร็ว ๆ นี้ผมได้ยินนี้อธิบายว่า "กรณีงู"