Jeg havde det samme spørgsmål, og efter at have læst alle svarene her, bliver jeg bestemt med SINGULAR, grunde:
Årsag 1 (Koncept). Du kan tænke på pose med æbler som "AppleBag", det er lige meget om det indeholder 0, 1 eller en million æbler, det er altid den samme pose. Tabeller er bare det, containere, tabelnavnet skal beskrive, hvad det indeholder, ikke hvor meget data det indeholder. Derudover handler flertalsbegrebet mere om et talt sprog (faktisk for at afgøre, om der er en eller flere).
Årsag 2 . (Bekvemmelighed). det er lettere at komme ud med entalsnavne end med flertal. Objekter kan have uregelmæssige flertalsformer eller slet ikke flertal, men vil altid have en ental (med få undtagelser som Nyheder).
- Kunde
- Bestil
- Bruger
- Status
- Nyheder
Årsag 3 . (Æstetik og orden). Specielt i master-detalje-scenarier læser dette bedre, tilpasser sig bedre efter navn og har mere logisk rækkefølge (Master først, Detail second):
- 1. Bestil
- 2.Ordredetalje
Sammenlignet med:
- 1.Ordredetaljer
- 2. Ordrer
Årsag 4 (Enkelthed). Sammenlagt er tabelnavne, primære nøgler, relationer, enhedsklasser... bedre kun at være opmærksom på ét navn (ental) i stedet for to (ental klasse, flertalstabel, ental felt, ental-flertal master-detalje.. .)
Customer
Customer.CustomerID
CustomerAddress
public Class Customer {...}
SELECT FROM Customer WHERE CustomerID = 100
Når du ved, at du har at gøre med "Kunde", kan du være sikker på, at du vil bruge det samme ord til alle dine databaseinteraktionsbehov.
Årsag 5 . (Globalisering). Verden bliver mindre, du kan have et hold af forskellige nationaliteter, ikke alle har engelsk som modersmål. Det ville være lettere for en programmør, der ikke har engelsk som modersmål, at tænke på "Repository" end på "Repositories" eller "Status" i stedet for "Status". At have entalsnavne kan føre til færre fejl forårsaget af tastefejl, spare tid ved ikke at skulle tænke "er det barn eller børn?", og dermed forbedre produktiviteten.
Årsag 6 . (Hvorfor ikke?). Det kan endda spare dig skrivetid, spare dig diskplads og endda få dit computertastatur til at holde længere!
SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 103
Du har gemt 3 bogstaver, 3 bytes, 3 ekstra tastaturhits :)
Og endelig kan du navngive dem, der roder med reserverede navne som:
- Bruger> LoginUser, AppUser, SystemUser, CMSUser,...
Eller brug de berygtede firkantede parenteser [Bruger]