Introduction To Databases
  • Data Is A Big Deal
  • Why Do We Need A Database?
  • MySQL - Installed and Introduced (Mac OS X)
  • Setting up MySQL and the Workbench (Mac OS X)
  • MySQL Server and Workbench installed (Windows)
  • Entities And Attributes - Things And Stuff Which Describe Them
  • Identifying Entities Using Keys
  • The Entity Relationship (E-R) Model - Entities And Attributes
  • Relationships - What Connects Entities
  • Cardinality Of Relationships
  • The Entity Relationship (E-R) Model - Relationships
  • Mapping E-R Theory to the world of databases
Going From Relations To Database Tables
  • Introducing The SELECT Statement
  • Introducing The SELECT Statement
  • Quotes and NULLS - Avoid The Gotchas
  • Simple Examples
  • More Simple Examples
  • Using the Like Operator
  • Between, In and Not In
  • A Multi-Column Select
  • Working with Dates (MySQL As Example)
Creating Tables And Inserting Data Into Them
  • Creating Database, Use Database and Create Table
  • Column Subtleties: Null, Primary Key and Auto-Increment
  • An Example - Sales Data
  • Insert Table - Examples
  • More Insert Table Examples
  • Referential Integrity Introduced
  • Creating a Database and Using It
  • An Involved Bulk Loading Example
Back To Retrieving Data - More Advanced Queries Using Group By
  • Aggregation Operators Introduced
  • The Group By Clause
  • More Group By Examples
  • Order By
  • Having
  • Limit
  • Count and Count Distinct
Joins - Don't Let Them Intimidate You! They're All Fuzzy And Nice
  • Introduction To SQL Joins
  • Cross Joins aka Cartesian Joins
  • Inner Joins
  • Left Outer Joins
  • Right, Full Outer Joins, Natural Joins, Self Joins
Subqueries: Layering The Cake
  • Subqueries Introduced
  • Union, Union All, Intersect and Except.
  • Query-In-A-Query
  • Inserting Via Subqueries
  • Use A Subquery To Populate A Table
  • Outer Join And Inner Join: A Little Test
Constraints
  • Not NULL constraints
  • Primary Keys
  • Foreign Key Constraints
  • Deletes and Updates With Foreign Key Constraints
  • Check Constraints
Somewhat More Advanced Concepts
  • Indices
  • Stored Procedures
  • Triggers
  • Transactions
  • Handle with Care: Update and Delete
  • Handle with Care: Alter and Drop
  • Views, Temporary Tables, and User Priviliges
Table Design: Theory And Practice
  • Practical Tips for Table Designs that you won't regret!
  • More Practical Design Tips
  • Normal Forms - Friends Once You Know Them
Putting It Together: Database Programming In Python
  • Interfacing with Databases from Python
  • SQLite works right out of the box
  • Build a database of Stock Movements - I
  • Build a database of Stock Movements - II
  • Build a database of Stock Movements - III
Appendix
  • [For Linux/Mac OS Shell Newbies] Path and other Environment Variables