5 ms·
I would imagine questions that are good to start with: how you as a developer usually start a design of a database? How do you plan it? I got this question once
by LekkoscPiwa 13y ago
I would imagine questions that are good to start with: how you as a developer usually start a design of a database? How do you plan it? I got this question once, I thought it was really good. On the spot I could tell the engineer who asked me that is experienced. Can't answer that after reading sql book two days earlier. In contrast to the questions from the post.
- jacques_chester 13y agoIn a business setting, the conceptual/relational, logical and physical design of a database happens far less often than querying such databases. Indeed, one of the reasons normalisation is such a Big Deal to relational bigots like me is that it makes SQL's querying tools much more useful and versatile.
- k__ 13y agoTrue story, but such questions are just senseless. If someone knows about set-theory and the ideas behind query-languages, knowing SQL isn't a deal breaker, it's just a nice to have.
- jacques_chester 13y agoFolk generally don't study relational algebra, on its own, for fun.
- chris_wot 13y agoThey really should.
- jfb 13y agoSQL is one of those technologies that caps how much enjoyment you can derive from understanding the related theory. Scheme, for instance, never stops giving, but you can hit a point with SQL where you start to wonder: where's my Tutorial D?
- jacques_chester 13y agoAnd where are my proper temporal primitives? It sucks, but it's what we have for now.
- jfb 13y agoIf someone knows set theory, they're likely not interviewing for a LOB CRUD job banging out Rails models.
- pessimizer 13y agoWhat if you're not looking for an experienced data modeller, but someone who can write SQL? Also: If you can read the SQL book two days earlier and answer these questions in a reasonable amount of time - sounds like an insta-hire to me. There's certainly nothing so hard about SQL that you couldn't do that - but some people who spend a lot of time working with databases seem to find the climb insurmountable.
- jacques_chester 13y agoWhen I learnt SQL, the part that took me the longest to square away was the distinction between WHERE and HAVING. It was thoroughly confusing at the time. Once you grasp that conceptually, SQL generally executes left-to-right, it's easier.
- siddboots 13y agoI avoid `having` wherever possible these days. There are data analysts in my team that I know would have to think twice about it if they encountered it in my code, and to be honest, it's a bit of an wart in the SQL grammar anyway. In (almost) all cases, a subquery with an extra `where` clause will have equal performance to a `having` clause in the main query. See the final example in: http://en.wikipedia.org/wiki/Having_(SQL) http://en.wikipedia.org/wiki/Having_(SQL)
- jfb 13y agoIf my datastore is a SQL database, I don't want you modeling anything if you can't answer these questions.