จากประสบการณ์ของฉันสิ่งสำคัญที่ฉันต้องการคือ:
การตั้งชื่อตารางและคอลัมน์ - ดูว่าคุณใช้ ID, การอ้างอิงหรือหมายเลขสำหรับคอลัมน์ประเภท ID, เอกพจน์หรือคำพหูพจน์สำหรับชื่อ (คำพหูพจน์เป็นเรื่องธรรมดาสำหรับชื่อตาราง - เช่น THINGS, เอกพจน์สำหรับชื่อคอลัมน์ - เช่น THING_ID) สำหรับฉันสิ่งที่สำคัญที่สุดที่นี่คือความมั่นคงซึ่งหลีกเลี่ยงผู้คนที่เสียเวลา (ตัวอย่างเช่นคุณไม่ได้พิมพ์ผิดที่มีคนใส่ชื่อ THING เป็นชื่อตารางเพราะคุณเพิ่งรู้โดยสัญชาตญาณว่าชื่อตารางไม่เคยเอกพจน์)
การสร้างทั้งหมดควรมีการดรอป (เงื่อนไขบนวัตถุที่มีอยู่) เป็นส่วนหนึ่งของไฟล์ คุณอาจต้องการรวมสิทธิ์การอนุญาตตามที่คุณต้องการ
เลือกอัปเดตแทรกและลบควรวางชื่อคอลัมน์หนึ่งชื่อตารางหนึ่งชื่อและหนึ่งตำแหน่งที่ส่วนคำสั่ง / คำสั่งตามข้อต่อบรรทัดเพื่อให้พวกเขาสามารถแสดงความคิดเห็นได้อย่างง่ายดายในแต่ละครั้งในระหว่างการแก้จุดบกพร่อง
คำนำหน้าสำหรับประเภทวัตถุโดยเฉพาะอย่างยิ่งที่พวกเขาอาจจะสับสน (ดังนั้น v สำหรับการดูเป็นสิ่งที่สำคัญที่สุด) ไม่แน่ใจว่ายังใช้อยู่หรือไม่ แต่จะไม่มีประสิทธิภาพสำหรับโพรซีเดอร์ที่เก็บไว้นอกเหนือจากโพรซีเดอร์ระบบเพื่อเริ่ม sp_ น่าจะเป็นแนวทางปฏิบัติที่ดีที่สุดในการสร้างความแตกต่างให้กับพวกเขาต่อไป usp_ เป็นสิ่งที่ฉันใช้ล่าสุด
มาตรฐานที่ระบุว่าชื่อของทริกเกอร์ควรระบุว่าเป็นชื่อสำหรับ update / insert / delete และตารางที่ใช้ ฉันไม่มีมาตรฐานที่ต้องการ แต่นี่เป็นข้อมูลที่สำคัญและต้องค้นหาได้ง่าย
มาตรฐานการเป็นเจ้าของวัตถุใน SQL Server รุ่นก่อนหน้าหรือ schema ที่ควรมีอยู่ในปี 2005 และใหม่กว่า มันคือการเรียกของคุณมันคืออะไร แต่คุณไม่ควรคาดเดาว่าใครเป็นเจ้าของ / ที่ที่มันอาศัยอยู่) และถ้าเป็นไปได้ควรรวมสคีมา / เจ้าของไว้ในสคริปต์ CREATE เพื่อลดโอกาสที่จะเกิดความผิดพลาด
ตัวบ่งชี้ว่าทุกคนที่ใช้ SELECT * จะถูกสร้างขึ้นเพื่อดื่มไพน์จากปัสสาวะของพวกเขาเอง
เหตุผลที่ดีจริงๆ (ซึ่งไม่รวมถึงความเกียจคร้านในส่วนของคุณ) มีบังคับและรักษาความสัมพันธ์กับคีย์หลัก / คีย์ต่างประเทศตั้งแต่ต้น นี่คือหลังจากที่ฐานข้อมูลเชิงสัมพันธ์ทั้งหมดไม่ได้เป็นไฟล์แบนและบันทึกกำพร้าจะทำให้การสนับสนุนชีวิตของคุณในบางจุด นอกจากนี้โปรดทราบว่าถ้าคุณไม่ทำตอนนี้ฉันสามารถสัญญากับคุณได้ว่าคุณจะไม่สามารถนำไปใช้งานได้หลังจากเหตุการณ์เพราะมันเป็น 10 เท่าของการทำงานเมื่อคุณมีข้อมูล (ซึ่งจะเมาเล็กน้อยเพราะคุณไม่เคยบังคับใช้ ความสัมพันธ์ที่เหมาะสม)
ฉันแน่ใจว่าฉันพลาดอะไรบางอย่างไป แต่สำหรับฉันแล้วพวกเขาเป็นคนที่ให้ผลประโยชน์ที่แท้จริงในสถานการณ์ที่เหมาะสม
แต่เช่นเดียวกับมาตรฐานทั้งหมดมีน้อยมาก ยิ่งมาตรฐานการเข้ารหัสของคุณยาวขึ้นคนที่มีโอกาสน้อยกว่าก็คือการอ่านและใช้งาน เมื่อคุณผ่านหน้าเว็บที่มีระยะห่างสองหน้าเริ่มมองหาสิ่งที่ไม่ได้สร้างความแตกต่างอย่างแท้จริงในโลกแห่งความเป็นจริงเพราะคุณเพียงแค่ลดโอกาสที่ผู้คนจะทำสิ่งนั้น
แก้ไข: การแก้ไขสองรายการ - รวมถึงสกีมาในส่วนการเป็นเจ้าของลบเคล็ดลับที่ผิดพลาดเกี่ยวกับการนับ (*) - ดูความคิดเห็นด้านล่าง