BINF 650 Introduction to Bioinformatics Database Design
Instructor: Jason M. Kinser
Email: jkinser@gmu.edu
Schedule: Wednesday, 4:30 – 7:10, Prince William Campus
Basic understanding of computers. Some programming experience is preferred but not required.
No textbook is required.
Some parts of the lecture will come from H. Garcia-Molina, J. D. Ullman, J. Widom, Database Systems: The Complete Book, 2nd Edition, Prentice-Hall, 2009
This course will cover an introduction to databases and some database theory. Applications of the knowledge will be applied to bioinformatics databases. By the end of the course the students will be able to construct a web page interface to a database, where anonymous users can produce queries and receive results.
Projected Syllabus
1 Course Operations
1.1 Office Hours
1.2 Blackboard
1.3 Homework and Blackboard
1.4 Life Intervention
1.5 Extra Credit
1.6 Grading
1.7 Honor Code
2 Spreadsheets
2.1 Storing Data in a Spreadsheet
2.2 Simple Queries in a Spreadsheet
2.3 Involved Queries
2.4 Queries Across Different Tables
3 Justification of Databases
3.1 Real Queries
3.2 Size of Databases
3.3 The Need for a Server
3.4 Controlled Access
4 Data for this Class
4.1 SNP Database
4.1.1 Tables
4.2 Rauko Database
5 Software
5.1 MS Access
5.2 OpenOffice Base
5.3 MySQL for Windows
5.4 MySQL Query Browser
5.5 MySQL on Unix
6 Tables
6.1 Rules
6.2 Keys
6.3 A Database
6.4 Creating a Database
6.5 Data Types
6.6 Creating a Table
6.7 Modifications
6.8 Keys
6.9 Loading Data into a Table
6.9.1 The INSERT Command
6.9.2 Fromt a Spreadsheet
6.9.3 From an ASCII File
7 Simple Queries
7.1 Basic Query
7.2 Combinations
7.3 Math
8 Efficient Tables
8.1 The Wrong Way
8.2 Duplication
8.3 Keys
8.4 Functional Dependencies
8.5 Keys and Superkeys
8.6 Rules about Functional Dependencies
8.7 Design of Relational Databases
8.8 Entity-Relationship Model
8.9 Design Principles
8.10 E/R Model
8.11 Unified Model Language
9 More Queries
9.1 Similarities
9.2 Sorting
10 Sub-Queries and Joins
10.1 Sub-Queries
10.2 Joins
11 Views
12 Constraints and Triggers
13 Python and CGI
13.1 Basic Python
13.2 MySQLdb
13.3 Web Interface – CGI
13.4 Project