ฉันมีคำถามเดียวกันและหลังจากอ่านคำตอบทั้งหมดที่นี่ฉันอยู่กับ SINGULAR แน่นอนเหตุผล:
เหตุผลที่ 1 (แนวคิด) คุณสามารถนึกถึงกระเป๋าที่มีแอปเปิ้ลเช่น "AppleBag" มันไม่สำคัญว่าจะมีแอปเปิ้ล 0, 1 หรือล้านมันเป็นถุงเดียวกันเสมอ ตารางเป็นเพียงคอนเทนเนอร์ชื่อตารางจะต้องอธิบายสิ่งที่มีอยู่ไม่ใช่ข้อมูลที่มีอยู่ นอกจากนี้แนวความคิดพหูพจน์นั้นเกี่ยวกับภาษาพูดมากกว่าหนึ่งภาษา (ที่จริงแล้วเพื่อพิจารณาว่ามีอย่างน้อยหนึ่งภาษา)
เหตุผลที่ 2 (สะดวก) มันง่ายกว่าที่จะออกมาด้วยชื่อเอกพจน์มากกว่าชื่อพหูพจน์ วัตถุสามารถมีพหูพจน์ผิดปกติหรือไม่เป็นพหูพจน์ แต่จะมีเอกพจน์หนึ่งเสมอ (มีข้อยกเว้นเล็กน้อยเช่นข่าว)
- ลูกค้า
- ใบสั่ง
- ผู้ใช้งาน
- สถานะ
- ข่าว
เหตุผลที่ 3 ความงามและระเบียบ. พิเศษในสถานการณ์จำลองรายละเอียดหลักซึ่งจะอ่านได้ดีขึ้นจัดเรียงที่ดีขึ้นตามชื่อและมีลำดับตรรกะมากขึ้น (Master แรกรายละเอียดที่สอง):
เปรียบเทียบกับ:
เหตุผลที่ 4 (ความเรียบง่าย) รวบรวมทั้งหมดชื่อตารางคีย์หลักความสัมพันธ์คลาสเอนทิตี ... ดีกว่าที่จะทราบเพียงชื่อเดียว (เอกพจน์) แทนสอง (คลาสเอกพจน์ตารางพหูพจน์ฟิลด์เอกพจน์เอกพจน์พหูพจน์หลัก .. .)
Customer
Customer.CustomerID
CustomerAddress
public Class Customer {...}
SELECT FROM Customer WHERE CustomerID = 100
เมื่อคุณรู้ว่าคุณกำลังติดต่อกับ "ลูกค้า" คุณสามารถมั่นใจได้ว่าคุณจะใช้คำเดียวกันสำหรับความต้องการฐานข้อมูลทั้งหมดของคุณ
เหตุผล 5 (โลกาภิวัตน์). โลกกำลังเล็กลงคุณอาจมีทีมจากหลายเชื้อชาติไม่ใช่ทุกคนที่มีภาษาอังกฤษเป็นภาษาแม่ การเขียนโปรแกรมภาษาที่ไม่ใช่เจ้าของภาษาจะง่ายกว่าหากคิดว่า "Repository" มากกว่า "Repositories" หรือ "Status" แทนที่จะเป็น "Status" การมีชื่อเอกเทศสามารถนำไปสู่ข้อผิดพลาดน้อยลงที่เกิดจากการพิมพ์ผิดประหยัดเวลาโดยไม่ต้องคิดว่า "มันคือเด็กหรือเด็ก?" ดังนั้นการปรับปรุงประสิทธิภาพการทำงาน
เหตุผลที่ 6 (ทำไมจะไม่ล่ะ?). มันยังช่วยให้คุณประหยัดเวลาในการเขียนประหยัดพื้นที่ดิสก์และทำให้แป้นพิมพ์คอมพิวเตอร์ของคุณใช้งานได้นานขึ้น!
SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 100
คุณได้บันทึกจดหมาย 3 ฉบับ, 3 ไบต์, แป้นพิมพ์พิเศษอีก 3 ครั้ง :)
และในที่สุดคุณสามารถตั้งชื่อคนที่ยุ่งกับชื่อที่สงวนไว้เช่น:
- ผู้ใช้> ล็อกอินผู้ใช้, แอปผู้ใช้, ผู้ใช้ระบบ, CMSUser, ...
หรือใช้วงเล็บเหลี่ยมที่น่าอับอาย [ผู้ใช้]