DBMS · written course
Databases, from files to fast queries
How data stays correct when more than one person touches it.
Start reading32 pages · about 160 minutes
By the end of this course
Why a database exists at all, how to design one that does not contradict itself, how to ask it questions, and why the answer sometimes takes four seconds. By the end you can read a schema, write a join, spot a normal form violation and explain what an index actually does.
All 32 pages
- 1The spreadsheet that lost a month of work5 min read
- 2The query that survived a new disk5 min read
- 3Entities, attributes, relationships5 min read
- 4How many, and must there be one5 min read
- 5Keys: what makes a row that row5 min read
- 6From a drawing to tables4 min read
- 7The operations underneath SQL5 min read
- 8Choosing a type, and the trouble with nothing5 min read
- 9Asking questions: SELECT5 min read
- 10Narrowing down and putting in order5 min read
- 11Changing what is there5 min read
- 12Joins: putting tables back together5 min read
- 13Asking about groups, not rows5 min read
- 14Queries inside queries5 min read
- 15Naming a step of the query5 min read
- 16Aggregating without collapsing the rows6 min read
- 17Rules the database enforces itself5 min read
- 18Functional dependencies5 min read
- 191NF, 2NF, 3NF and BCNF6 min read
- 20Past third normal form5 min read
- 21When to stop normalizing4 min read
- 22Transactions and ACID5 min read
- 23Two people, one row5 min read
- 24Choosing how much to protect against5 min read
- 25Surviving the power cut5 min read
- 26Why your query is slow5 min read
- 27Asking the database what it is doing5 min read
- 28Why the database refuses to talk to you5 min read
- 29More than one copy5 min read
- 30Splitting one table across many5 min read
- 31Changing the shape while it is running5 min read
- 32When the relational model is the wrong fit5 min read
Then what
Reading is the first half. When you finish, the questions for this subject test whether it went in, and every wrong option tells you why it was wrong rather than just that it was.
See the questions for DBMS