Can anyone suggest resources that take a mathematical approach to relational databases? Essentially relational algebra I'd guess.
I have a mathematics background and now work a great deal with databases and would like to close the gap.
A relational database store data in a series of tables so that the data models a mathematical theory of relations. The model allows for queries based on projection, selection and join, among other operations, and connect the data in the tables by way of keys.
Traditional relational databases aren't going away anytime soon, for several reasons: Organizations have made significant investments in relational databases and underlying infrastructure. In addition, there are countless applications in production that are designed with a relational database backend.
The relational data model doesn't fit in with every domain. Difficult schema evolution due to an inflexible data model. Weak distributed availability due to poor horizontal scalability. Performance hit due to joins, ACID transactions and strict consistency constraints (especially in distributed environments).
I would suggest starting from the Wikipedia page: http://en.wikipedia.org/wiki/Relational_algebra.
Let me dig my library to see if I can find the name of the books I used when learning it....
Applied Mathematics (mentioned on other responses) is very much worth the read, but it doesn't really go into the details of relational algebra. It does not explain all the nitty gritty details, or even provides any kind of formal definition, of the relational operators. In fact, Applied Mathematics sort of takes that knowledge as prerequisite.
Codd's papers are obviously relevant, but there's two caveats : (1) Codd was a "mathematician pur sang". His writings are therefore rather difficult to grasp for lots of people. (2) His papers date back a few decades, and it's not like the insights and knowledge about the relational model have not evolved during those decades.
The wikipedia article is fairly good, but is imo flawed in two respects : (1) it pretends that outer joins and nulls can be part of the relational model / relational algebra, and (2) it seems to pretend that "the" relational algebra cannot support transitive closure (the correct state of affairs is that both a simple and a generalized transitive closure operator have indeed been defined for relations.).
Judging by what little detail you provided in the question about "what it REALLY is that you're after", I'd say "Introduction to database systems" is a good proposition, as are probably most of Date's books. The problem with that book is that it's a 1000 pages that are intended to cover EVERY aspect of the relational model in an introductory way, which is both more and less than what you seem to be after.
There is a (very) small chapter entitled "introduction to the RA" on my own website http://shark.armchair.mb.ca/~erwin. I've written that chapter from the perspective of "how would I try to explain the RA to someone who doesn't want to go through those 1000 pages, but yet wants to be given accurate information.". The info there does not, I believe, deviate from what Date says. It might be worth a cursory inspection.
You'll want to read Ed Codd's papers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With