6 ms·
> I didn't know creating a 3rd table to track Reputation/Likes between a user and a Story is a database concept called 'Joint Table'. That's a major problem. T
by geezerjay 8y ago
> I didn't know creating a 3rd table to track Reputation/Likes between a user and a Story is a database concept called 'Joint Table'.
That's a major problem. Table joins are the most basic concept in relational databases. A so called developer who puts together a database but isn't even aware of table joins is someone who didn't even browsed through a basic SQL tutorial and is completely oblivious to concepts such as database normalization.
To put it in perspective, it's like claiming you are a proficient developer but are oblivious to the use of if statements.
If you're really interested in software development and web services I'd suggest you invest a couple of hours learning the basics of relational databases, including a brief intro to normalization. That is mandatory if you want to avoid more accusations of incompetence.
- username90 8y ago"Joint Table", not "Table Join", they are very different things. You can use joint tables a lot without even knowing that they are called joint tables.
- AznHisoka 8y agoTo be fair, I think the OP knows what are joins, but doesnt know what are “Joint Tables”. I literally never heard the term “Joint Tables” myself until now.
- Alterlife 8y ago> I literally never heard the term “Joint Tables” myself until now. I don't think this is an SQL concept. The only people I've heard use this word (phrase?) are people who work with Java ORMs.
- sethammons 8y agoDitto. And a Google search shows a full page of "table joins" for "joint table." Still not sure what a joint table is.
- ratsimihah 8y agoIt's a table that tracks the people who smoke.
- sokoloff 8y agoAlso never heard of that phrase. I also haven't called them "join tables", but that at least seems a more sensible phrase and is a close homonym to "joint tables".
- nik736 8y agoNever heard of the term even though I am using them all the time.
- TravelAndFood 8y agoUh, "joint table" was the term used, not "table join". Pretty sure "joint table" in this context is referring to something like the intermediary table in a many-many relationship, which I can see being quite intuitive to create without knowing this weird term that I've never heard of before, either.
- qwertay 8y agoI have always referred to it as a joining table
- TravelAndFood 8y agoPotayto potahto https://stackoverflow.com/questions/3045034/whats-the-correct-name-for-a-association-table-many-to-many-relationship https://stackoverflow.com/questions/3045034/whats-the-correc... I call BS if they "take points off" for not knowing the exact term "joint table", and if so that's not the kind of company I'd want to work for.
- dorfsmay 8y agoYou call BS on OP or the interviewer? Have you interviewed for a "unicorn" and other "cool" companies? Sadly, looking for excuses to rationalised that the interviewer doesn't like you is still a thing.
- TravelAndFood 8y agoI call BS on the interviewer because as this thread and that question I linked on Stack Overflow demonstrates, "joint table" is not "the" term for the concept in question, and in fact there is no accepted one term. So, "marking down" for not knowing that term doesn't seem right. Edit: On the other hand, asking the question in a way that gets at the concept, not the term, seems very reasonable. I don't think it's relevant, but yes, I have interviewed at such companies.
- geezerjay 8y ago
- namanyayg 8y agoAny resources for learning rdb concepts? I'm not particularly skilled in the theory yet I'm sure I've (poorly?) reinvented many common patterns...
- planetmcd 8y agohttps://lagunita.stanford.edu/courses/DB/2014/SelfPaced/about https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/abou...
- Scea91 8y agoSince most of my sibling comments are sharing anecdotes I therefore admit that I have heard the term. Maybe if everyone replies if they have heard it or not we can reach a conclusion if it is a known term in Hacker News community. Or we can decide that such anecdotes are of little value to the discussion and stop posting them since it is unrealistic to reach the above mentioned conclusion just by reading them and it can mislead some readers.
- tylerjwilk00 8y agoSee Associative entity [1] for list of common names for "join table" [1] https://en.m.wikipedia.org/wiki/Associative_entity https://en.m.wikipedia.org/wiki/Associative_entity
- biscottigelato 8y agoYeah, as I said, did a hundred things. I designed database schema without picking up a single book on database. First implementation was 100 DB accesses per Story fetch, and it blew the cap on my BaaS in days of development. LOL. Quickly figured out what's wrong via API documentation, redesigned the schema (I didn't even know what the word schema is, I thought it's just Excel table rows & columns). Shrunk it down to 0 accesses for query actions (query also fetch basic metadata for 50 Stories at the same time). Probably got all these done in 2/3 weeks, a quarter of the time someone goes thru a DB design course? It's really hard to even recall dozens of these experience and shrink them into stories and putting words to these. In the startup world, it's called 'Get Shit Done'. In the monolithic FAANG & FAANG wannabe world, I dunno what it's called...