Intro to Database Design
MS300.11
(October 10 - November 22, 2005)
E-mail our teacher: Katharine
Osborne
or visit her at her Website -- DigitalKaos
E-mail this student: Jon
Slate
Instructor: Katharine
Osborne

Katharine Osborne has been a web developer since 1996, and a Unix administrator since 1995. She has been building database backed web applications since 1998 using MySQL, Perl, and PHP. Her teaching experience encompasses ecommerce, web development, programming, and database subjects at the University level. She now owns a web development consultancy helping small businesses establish and improve their web presence.
Database design is a critical part in designing a dynamic
WEB site.
This course will give you practice in using the steps to design a database.
The steps that you learn in this course can be applied to designing any other
relational database, such as (MySql, Oracle or Microsoft SQL Server, etc.).
In this class you will design a database of your choosing or you can duplicate
the one in the class lecture.
Outline
Week 1:
Objectives
- The role of the Database Model in database development
- The business requirements of designing the database model
- Business entities
- Business attributes
Readings
- Chapter 1: pp. 8 to 18
- Chapter 3: pp. 46 to 50
Week 2:
Objectives
- Logical and Physical Data Models
- Entities versus Tables
- Attributes verses Columns
- Table and column naming standards
- Data formatting and how to size each column
Week 3:
Objectives
- Primary Keys
- Foreign Keys
Readings
- Chapter 1: pp. 13
- Chapter 3: pp. 46 to 50
- Chapter 4: pp. 75 to 76
- Chapter 5: pp. 107
Week 4:
Objectives
- Relationships and Cardinality (1:N and N:N)
- First Normal Form rules
- Second Normal Form rules
- Third Normal Form rules
- Normalization and De-normalization
Readings
- Chapter 4: pp. 70 to 94
- Chapter 5: pp. 99 to 116
Week 5:
Objectives
- Basic SQL statements
- DDL (Data Definition Language)
- DML (Data Manipulation Language)
Readings
- Chapter 8: pp. 160 to 186 (Beginning SQL)
Week 6:
Objectives
- Order of loading data into the database
- CASE tools
- How does JSP, ASP, PHP and ColdFusion relate to the database?
- How does MySQL, SQL Server, Access relate to the database model?