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

Programmer Humor

32558 readers
870 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
[–] xmunk@sh.itjust.works 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.

[–] eek2121@lemmy.world 10 points 1 year ago (1 children)

no underscores either? What are we, apes?

[–] xmunk@sh.itjust.works 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.

[–] Faresh@lemmy.ml 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.

[–] xmunk@sh.itjust.works 3 points 1 year ago

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