Introduction
   1.1 Databases
   1.2 Advantages of Databases
   1.3 History
   1.4 Outline of Database Systems
   1.5 Topics of Interest
   1.6 Course Conduct
The Entity-Relationship (ER) Model
   2.1 Background
   2.2 An Entity-Relationship (ER) Diagram
   2.3 Entity Types
   2.4 Relationship Types
   2.5 Attributes
   2.6 Keys and Weak Entity Types
   2.7 Structural Relationship Constraints
   2.8 Assignment #1
The Structure of the Relational Data Model
   3.1 Background
   3.2 Relations and Tables
   3.3 Relations and Attributes
   3.4 Relations and Databases
   3.5 Relational Constraints
   3.6 Notation
Relational Algebra
   4.1 Background
   4.2 Set Theory Operations
   4.3 Renaming (ρS(B1,...,Bn)(R))
   4.4 Assignments (S(B1,...,Bn) R)
   4.5 Selection σ<selection condition>(R)
   4.6 Projection (π<attribute list>(R))
   4.7 Cross Join (R × S)
   4.8 Join (R ⊳⊲ <join condition>S)
   4.9 Natural Join (R⊳⊲S)
   4.10 Outer Joins
   4.11 Division (R ÷ S)
   4.12 A Complete Set of Operations
   4.13 Global Aggregate Functions
   4.14 Assignment #2
Queries in SQL
   5.1 Background
   5.2 Basic Queries
   5.3 Renaming Attributes
   5.4 Multiple Attributes
   5.5 Multiple Tables
   5.6 Aliases for Tables
   5.7 Duplicate Tuples
   5.8 Joined Tables
   5.9 Set Operations
   5.10 Ordering
   5.11 String Comparisons
   5.12 Null Values
   5.13 Aggregate Queries
   5.14 Group Clauses
   5.15 Nested Queries
   5.16 Derived Relations
   5.17 Views
Data Definition in SQL
   6.1 Table Definition
   6.2 Data Types (Domains)
   6.3 Default Values
   6.4 Constraints on Attributes
   6.5 Foreign Keys
   6.6 Referential Triggers
   6.7 User-defined Data Types
Data and Schema Modifications in SQL
   7.1 Inserting Rows
   7.2 Deleting Rows
   7.3 Updating Attributes
   7.4 Updating Table Definitions
   7.5 Modifications through Views
   7.6 Removing Components
   7.7 Updating Domain Definitions
   7.8 Assignment #3
Graphical User Interfaces (in Microsoft Access)
   8.1 Getting Started
   8.2 Data Definition
   8.3 Referential Integrity Constraints
   8.4 Data Insertion
   8.5 Query Definitions
   8.6 Reports
   8.7 Others
   8.8 Assignment #4
ER-to-Relational Data Model
   9.1 An Entity-Relationship (ER) Diagram
   9.2 A Relational Data Schema
   9.3 The Mapping
   9.4 Assignment #5
Functional Dependencies
   10.1 Background
   10.2 Problems Due to Redundancy
   10.3 Removing Redundancy
   10.4 Road Map
   10.5 Getting Formal
   10.6 Satisfiability of FDs
   10.7 Inference and Closure of FDs
   10.8 Armstrong’s Inference Rules
   10.9 Additional Inference Rules
   10.10 An Example of a Derivation
   10.11 Proofs by Counter Examples
   10.12 Proofs through Closure of Attributes
   10.13 Domains of Dependency Functions
Normalization
   11.1 Top View
   11.2 The Approach
   11.3 Types of Normal Forms
   11.4 First Normal Form
   11.5 Second Normal Form
   11.6 Third Normal Form
   11.7 Example
   11.8 Boyce-Codd Normal Form (BCNF)
   11.9 Generalization
   11.10 Assignment #6
Requirements on Decompositions
   12.1 Preserving Dependencies
   12.2 Lossless (Nonadditive) Joins
   12.3 Life is Not Easy
Additional Dependencies and Normalizations
   13.1 Multivalued Functional Dependencies (MVDs)
   13.2 Inference Rules for MVDs
   13.3 Fourth Normal Form
   13.4 Degrees of Decompositions
   13.5 Join Dependencies (JDs)
   13.6 Fifth (Project-Join) Normal Form
   13.7 Assignment #7
Embedded SQL
   14.1 Background
   14.2 Loading Drivers
   14.3 Getting Connections
   14.4 Executing SQL’s DDL and Update Instructions
   14.5 Query Instructions
   14.6 Navigating within Returned Tables
   14.7 Java’s Field Updating Instructions
   14.8 Transactions
   14.9 Prepared Statements
   14.10 Information about Tables
   14.11 Information about Databases
   14.12 References
   14.13 Assignment #8
Relational Calculus
   15.1 The Roots of SQL
   15.2 Propositional Logic
   15.3 Predicate Logic
   15.4 Tuple Relational Calculus
   15.5 Translations to SQL
   15.6 Examples: Evaluation
   15.7 Examples: Translations
   15.8 Examples: Composing
   15.9 Assignment #9
Enhanced ER Diagrams
   16.1 Specialization and Classes
   16.2 Disjointness Constraints
   16.3 Completeness Constraints
   16.4 Membership Constraints
   16.5 Reasons for Specialization
   16.6 Structures in Specialization
   16.7 Categories
   16.8 Example
XML (Extensible Markup Language)
   17.1 Background
   17.2 Syntax
   17.3 Relations and XML
   17.4 Well Formed Files
   17.5 Rendering Semantics
   17.6 Recommended Standards
   17.7 Name Spaces
   17.8 Document Type Definitions (DTD’s)
   17.9 A Java DTD-Based Validator
   17.10 XML Schema (XML Schema Definition, XSD)
   17.11 A Java XMLSchema-Based Validator
   17.12 XML Path (XPath)
   17.13 Query Languages
   17.14 Sample Problems

[home page]