views:

194

answers:

3

How do I create a database management system from scratch? Are there any books, sites and tutorials with great quality?

With great quality I mean that it should be simple to use and straight forward in explaining the concepts.

Here are examples of caliber quality resources that I'm looking for:

  1. If I were to create an operating system from scratch, I would consider studying MINIX 3.

  2. If I were to create a compiler from scratch, the famous dragon book Compilers: Principles, Techniques, and Tools is a good one.

It would be great if there are working sample of source code available in C or any programming language close to C that would to justice to the task.

A: 

The academic textbooks on relational database design are:

  • An Introduction to Database Systems - C J Date
  • Database Systems: A Practical Approach to Design, Implementation and Management - Thomas Connolly

Either of these are a good place to start regarding the theory.

Jon
+1  A: 

"Database Management Systems" by Ramakrishnan and Gehrke. http://pages.cs.wisc.edu/~dbbook/

The first part is an intro to data modeling, SQL, etc, but it goes very deep into the design of internals in the second half (including transaction control, locking, logging, storage management, ACID guarantees, and so on).

In terms of studying internals, there is educational software called MiniBase, also from Wisconsin, but I'd just start looking at Postgres internals instead. Very clean, does a lot, does a lot right.

SquareCog
A: 

I would also add C J Date's other book - Date on Database

globetrotter