this post was submitted on 19 Oct 2023
1726 points (98.8% liked)

Programmer Humor

32570 readers
102 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 15 points 1 year ago (2 children)

It's an English literacy thing - we have several non-native English speakers and using only singular avoids making those folks' lives harder. Besides it's really nice to autopilot that categoryid is a foreign key to the category table. It also simplifies always plural words... I haven't yet written CREATE TABLE pants but if I ever do there's zero chance of me creating a pantid.

[–] [email protected] 11 points 1 year ago (1 children)

no underscores either? What are we, apes?

[–] [email protected] 4 points 1 year ago

I tend to use underscores on join tables so table foo_bar would have a fooid and a barid. I have somewhat soured on this approach though since there are a lot of situations where you'll have two m-m relationships between the same two tables with a different meaning... and having a fixed formula for m-m tables can make things ugly.

If I get to design another greenfield database I'll probably prefer using underscores for word boundaries in long table names.

[–] [email protected] 4 points 1 year ago (1 children)

I always thought they should be singular to be closer to the names we give entities and relations in a entity-relation diagram.

[–] [email protected] 3 points 1 year ago

That too, singular table names just makes a lot of stuff more automatic.