У мене було те саме питання, і прочитавши всі відповіді тут, я обов'язково залишаюся з СІНГУЛЯРНИМ, причинами:
Причина 1 (концепція). Ви можете подумати про мішок, що містить яблука типу "AppleBag", неважливо, чи містить 0, 1 або мільйон яблук, це завжди той самий мішок. Таблиці - це саме те, контейнери, назва таблиці має описувати, що він містить, а не скільки даних він містить. Крім того, поняття множини більше стосується розмовної мови (насправді для визначення наявності одного чи декількох).
Причина 2 . (Зручність). легше вийти з однинами імен, ніж із множинними. Об'єкти можуть мати неправильну множину або взагалі не множину, але завжди матимуть однину (за кількома винятками, як Новини).
- Замовник
- Замовлення
- Користувач
- Статус
- Новини
Причина 3 . (Естетика і порядок). Спеціально для сценаріїв деталізації, це краще читається, краще вирівнюється за назвою та має більш логічний порядок (Основний перший, Детально другий):
У порівнянні з:
- 1.OrderDetails
- 2.Власники
Причина 4 (простота). Складіть всі разом, назви таблиць, основні ключі, відносини, класи уроків ... краще знати лише одне ім’я (однина) замість двох (клас однини, таблиця множини, однина поля, однина-множина множини-деталі .. .)
Customer
Customer.CustomerID
CustomerAddress
public Class Customer {...}
SELECT FROM Customer WHERE CustomerID = 100
Коли ви дізнаєтесь, що маєте справу з "Клієнтом", ви можете бути впевнені, що будете використовувати одне і те ж слово для всіх потреб взаємодії з вашою базою даних.
Причина 5 . (Глобалізація). Світ стає все менше, у вас може бути команда різних національностей, не всі володіють англійською мовою як рідною мовою. Неграмовому програмісту з англійської мови було б простіше думати про "сховище", ніж про "сховища" або "статус" замість "статуси". Окремі імена можуть призвести до меншої кількості помилок, спричинених помилками друку, заощадити час, не замислюючись над тим, "чи це дитина чи діти?", А отже, підвищити продуктивність.
Причина 6 . (Чому ні?). Це навіть може заощадити час на письмовій формі, заощадити місце на диску та навіть змусити клавіатуру комп'ютера тривати довше!
SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 100
Ви зберегли 3 літери, 3 байти, 3 додаткові хіти клавіатури :)
І нарешті, ви можете назвати тих, хто псується із зарезервованими іменами, як-от:
- Користувач> LoginUser, AppUser, SystemUser, CMSUser, ...
Або використовувати сумнозвісні квадратні дужки [Користувач]