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
(
B
1
,...,B
n
)
(
R
))
4.4
Assignments (
S
(
B
1
,...,B
n
)
←
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
]