Introduc


Course Outline


Topic 1: Introduction to Database Systems

Upon successful completion of this unit, the student will be able to:

  • Explain the difference between data and information.

  • Contrast file processing systems to database systems.

  • Describe what a database management system is and how it functions.

  • Compare the various database models.



Topic 2: Database Architecture and Date Languages

Upon successful completion of this unit, the student will be able to:

  • Explain the three-schema database architecture.

  • Describe tables, views, and indexes as well as their differences.


Topic 3: Database History

Upon successful completion of this unit, the student will be able to:

  • Explain how database technology has evolved.

  • Compare and contrast the four common data models.


Topic 4: The Entity Relationship Model

Upon successful completion of this unit, the student will be able to:


  • Discuss the need for an entity-relationship model.

  • Explain the entity-relationship model and all associated symbols.


  • Describe relationship constraints.


Topic 5: The Relational Database Model

Upon successful completion of this unit, the student will be able to:


  • Explain the various types of relationships in the relational model.

  • Discuss how to map an entity-relationship diagram to a relational model.

  • Explain the various types of integrity constraints.


Topic 6: Relational Algebra

Upon successful completion of this unit, the student will be able to:


  • Explain the basic relational algebra operations.

  • Discuss relational algebra set operations.

  • Explain what a derived operation is.

  • Describe how relational algebra is used to build queries.


Topic 7: Intro to Data Normalization

Upon successful completion of this unit, the student will be able to:


  • Describe normalization.

  • Discuss and contrast the different types of dependencies.

  • Construct a dependency diagram.

  • Normalize a relation to at least third normal form.


Topic 8: Introduction to SQL

Upon successful completion of this unit, the student will be able to:


  • Compare DDL commands to DML commands.

  • Discuss when to use the appropriate SQL commands.

  • Create a set of database tables using DDL.

  • Describe the various types of integrity constraints and how they are used.


Topic 9: Basic Select Statements

Upon successful completion of this unit, the student will be able to:


  • Construct basic queries using SQL.


Topic 10: The Join Statement

Upon successful completion of this unit, the student will be able to:


  • Explain the different methods for joining tables.

  • Construct advanced queries of two or more tables using join operations.


Topic 11: Advanced topics

Appreciate emerging topics and technologies.




Introduction to Database Systems

Different databases serve different purposes; each one is dependent upon both deployment environment and different types of user interactions.  In this Topic, we will ask a number of questions pertaining to databases: What are some database environments and user types?  How can the database management system ensure control over data integrity, avoid data redundancy, and secure data, while at the same allowing interactions with different user types?  In answering these questions, we will identify and determine the characteristics of databases, their many deployment environments, and the different categories of users that interact with it.

1.1 Databases: Definition and Characteristics

1.1.1 File Processing vs. Database Approach

1.1.2 What Is a Database?

1.1.3 Data vs. Information

1.1.4 Properties of a Database

1.1.5 Centralized vs. Distributed

Resources

  • Professors Giora Baram and Frank Friedman, Temple University: CIS109—Lecture Notes— “Part One” (HTML)
    • Read sections 1–3.  You do not need to download the MSAccess sample database and you can ignore the Access tutorials since we will use MySQL in this course.  Please note that this reading applies to all of the sections listed under 1.1, including 1.1.1 –1.1.4.
  • Adrienne Watt & Nelson Eng's Database Design, 2nd ed.: "Chapter 2: Fundamental Concepts" (HTML)
    • Read Chapter 2: Fundamental Concepts on pages 6-8. Complete the short exercises at the end of the chapter on page 8.
  • James F. Courtney & David B. Paradice's Database Systems for Management, 3rd ed.: "Chapter 1: Introduction to Database Systems" (PDF)
    • Please read Chapter 1 of this textbook on pages 1-19. The text references figures and images that can be found in an appendix in the pages following the chapter text.

1.2 Database Usage and Environment

1.2.1 Data and Databases

1.2.2 The Integrated Database Environment

Resources

1.3 Classification of Database Management Systems

Resources



Database Architecture and Date Languages

In order to properly create and then manage a database, we need to have a thorough understanding of the data it holds.  Because data can be seen from different levels, we will introduce different data models and learn how to apply them in order to describe the structure of the database, thereby providing a “view” of the database for the different types of users introduced in the previous section.

2.1 Database Architecture

2.1.1 The Three-Schema Architecture

2.1.2 The Concept of Data Independence

Resources

  • Dr. Gordon Russell’s Database Resources:Chapter 1: Introduction” (HTML)
    • Please read the entire chapter.  Please note that this reading applies to all sections listed under 2.1.  Database Resources is the culmination of many years of developing online database resources.  It includes notes as well as quizzes and an interactive SQL practice environment.  
  • Learn Software Development’s “DBMS Architecture and Three Schema Architecture” (HTML)
    • Read this brief article.  Learnsoftwareprocess.com is a collection of articles on software and software processes.
  • RelationalDBDesign.com's “Schema Architecture” (HTML)
    • Read the entire page.

2.2 Tables, Views, and Indexes

Resources

  • Learn Software Development’s “Introduction to Relational Databases” (HTML)
    • Please read the entire article.  Learnsoftwareprocess.com is a collection of articles on software and software processes.
  • YouTube: Alexander Halavais’s “Relational Databases” (YouTube)
    • This short video gives a very concise, brief but clear explanation of the concepts of a relational database using Microsoft Excel. Note that a “primary key” is a special type of index - one that is unique and the main or primary value used to locate an entry in a database.
  • YouTube: Mark Zellers’s “Introduction to Relational Databases” (YouTube)
    • This lecture gives a thorough introductory explanation of the basic concepts of relational databases including tables, columns, primary key, foreign key, and referential integrity, and illustrates them using a customer order database. In the latter part of the lecture, Zellers introduces Microsoft Access for implementing a relational database.


Database History

Databases have existed for centuries: the maintenance of records and data has evolved from engravings to cards to digital storage.  In this Topic, we will present the four different models of representing data, discussing the different limits of each.

3.1 Once Upon a Time, before Computers Existed

3.1.1 Paper, Note Card, etc.

3.1.2 Limitations

Resources

  • Quin Street Inc.’s Database Journal: Selena Sol’s “Introduction to Databases for the Web: What Is a Database?” (HTML)
    • Read the entire webpage for introductory information on the history of databases.  Database Journal provides articles and resources for database professionals.  Please note this applies to all of section 3.1.

3.2 The Four Revelations

3.2.1 The Network Model

3.2.2 The Hierarchical Model

3.2.3 Relational DBMS

3.2.4 Object-Oriented and Object-Relational DBMS

Resources

  • World Academy Online: “Data Models (Relational, Hierarchal, and Network)” (HTML)
    • Read the entire webpage.  This reading also applies to all of the subunits listed under 3.2.  Worldacademy.com provides courses designed to provide managers with a means to upgrade and improve their skills.
  • Patrick Rogers-Ostema: Kansas State University: “The History of Databases” (PowerPoint)
    • Please follow the above link, and then scroll down to 11/01.  Select the link titled “history” to download the PowerPoint presentation.  Please read all of the slides.


The Entity Relationship Model

Databases often hold a great amount of data.  In order to build a database, we need to understand which entities should hold data and identify the connections that may exist between entities.  In this Topic, we will learn about the Entity-Relationship model, which will allow us to create a graphical view of the different elements of a database as well as the relationships between them.  We will also learn the drawing conventions of the E-R model using a part-to-whole approach, beginning with those conventions used to represent a single entity, and concluding with conventions used to represent all relations in a database.

4.1 Why Use an E-R Model

Resources

4.2 Elements in the Model and Respective Symbols

4.2.1 Entity, Represented by a Rectangle

4.2.2 Attribute—Represented by an Oval

4.2.3 Multi-Valued Attributes—Represented by a Double Oval

4.2.4 Composite and Derived Attributes

4.2.5 Keys

4.2.6 Relationships

Resources

4.3 The Enhanced ER Model

Resources

Assesment

  • Dr. Gordon Russell’s Database Resources: Quiz on ER Diagrams” (HTML)
    • Read the question, and choose the best answer choice at the top of the webpage.  Then, click on “Next,” answering all four questions in the “ER Diagrams” quiz section.  Note that Database Resources is the culmination of many years of developing online database resources.  It includes notes as well as quizzes and an interactive SQLpractice environment.      


The Relational Database Model

The relational database model provides us with a way to understand how data can be perceived.  While the E-R model represents the relations between elements of a database, it does not provide a conceptual view of its data.  We will use the relational model to solve that problem.  The relational model looks at entities as tables and allows operations to be performed on them.  In this Topic, we will learn how to map ER models into relations.

5.1 The Relational Model at a Glance

5.1.1 Properties of a Relation

5.1.2 Foreign Keys

Resources

  • Dr. Gordon Russell’s Database Resources:Chapter 2: Database Analysis” (HTML)
    • Please read the “Mapping ER Models into Relations” and “Advanced ER Mapping” sections in their entirety.  Note: this reading applies to sections 5.1 through 5.2.5 of this course.  Note that Database Resources is the culmination of many years of developing online database resources.  It includes notes as well as quizzes and an interactive SQL practice environment. 

5.2 Mapping an ER Diagram to a Relation

5.2.1 One to One Relationships

5.2.2 One to Many Relationships

5.2.3 Many to Many Relationships

5.2.4 Parallel Relationships

5.2.5 Unary Relationships

5.2.6 Superclass/Subclass

5.2.7 Integrity Constraints

Resources

  • Indian Institute of Technology, Dr. S. Srinath’s Database Management Systems: “Lecture 7: ER Model to Relational Mapping” (YouTube)
    • Please watch the entire video.  Please note that this video applies to topics outlined in sections 5.2.1–5.2.6.
  • Scribd.com: Hiiranya Bastakoti’s “Lecture Notes on Integrity Constraints” (HTML)
    • Read through section 5.4 (pages 1 and 2).  Note: this reading applies to all of 5.2.3.  Scribd is the world’s largest social reading and publishing company.

Assesment

  • Kennesaw State’s Animated Database Courseware: “ER Diagrams to Tables” (Adobe Flash)
    • Please click on each box to go through each scenario.  After following the prompts to read the scenario, click on the “Proceed to Exercise” link on the bottom right side of the webpage.  Please complete the associated exercises.  Note: this quiz applies to the material covered in sections 5.1 through 5.2.5 of this course.  ADbC is a set of interactive software modules designed to support theteaching of database concepts.


Relational Algebra

We have seen that database entities can be viewed as logical tables. While this is useful in its own way, we can learn more from the data if we can perform operations on the tables within a database, as data from one table may not be meaningful without the data from another table.  In this Topic, we will introduce relation algebra, the mathematical notation used to represent how data retrievals and updates are performed on tables in a database.  Understanding relational algebra will serve as a prelude to using the Structure Query Language (SQL).

6.1 Basic Operations

6.1.1 Select and Select Properties

6.1.2 Projection and Projection Properties

Resources

  • Dr. Gordon Russell’s Database Resources: Chapter 5: Relational Algebra (HTML)
    • This resource has two sections: “Introduction to Relational Algebra” and “Algebraic Format Relational Algebra.” Read both sections as these concepts apply to all subunits in Unit 6.
  • Dr. Charles Corliss’s “Chapter 6: Relational Algebra and the Relational Calculus” (HTML)
    • Read the sections on select and project.  You may also read the entire document if you want more background for later units.

6.2 Derived Operations

6.2.1 Join

6.2.2 Outer Join

Resources

6.3 Set Operations

6.3.1 Union and Union Properties

6.3.2 Difference and Difference Properties

6.3.3 Intersection and Intersection Properties

6.3.4 Product and Product Properties

6.3.5 Rename and Rename Properties

Resources

6.4 Aggregate Functions

Resources

Assessment


Intro to Data Normalization

In this course, we have learned that entities in a database can be thought of as logical tables.  We will now learn that data in a table must be stored in a normalized way.  We will first identify the properties of a normalized table, learning about the process of normalization and its importance to the structure of a database.  We will then study the four major steps of normalization and discuss the database anomalies that can result in the absence of normalization.

7.1 Normalization Defined

7.1.1 Advantages

7.1.2 Disadvantages

Resources

7.2 Anomalies

7.2.1 Insertion Anomalies

7.2.2 Deletion Anomalies

7.2.3 Update Anomalies

Resources

  • Kennesaw State’s Animated Database Courseware: “Anomalies” (Adobe Flash)
    • Please read the introduction, and then click on the “Scenarios” link in the table of contents on the left side of the webpage.  This will redirect you to a page with six scenarios.  Click on the box to open up each scenario, and read through the tutorial (you will be asked to complete the questions in an upcoming unit).  Note: this material also applies to subunits 7.2.1–7.2.3.
  • Wikia.Com: Database Management: “Data Anomalies” (PDF)
    • Please read the whole page.

7.3 Functional Dependencies

7.3.1 Trivial Functional Dependencies

7.3.2 Full Functional Dependencies

7.3.3 Partial Functional Dependencies

7.3.4 Transitive Functional Dependencies

Resources

  • Stanford University’s Introduction to Databases: Lecture 23: “Functional Dependencies (YouTube)
    • Please watch the entire video. 
  • Kennesaw State’s Animated Database Courseware “Dependencies” (Adobe Flash)
    • Please read this page and then click on the link to read the introduction.  Note this applies to all of section 7.3.

7.4 From 1NF to BCNF

7.4.1 First Normal Form (1NF) and Resolution Mechanisms

7.4.2 Second Normal Form and Resolution Mechanisms

7.4.3 Third Normal For and Resolution Mechanisms

7.4.4 Boyce-Codd Normal Form (BCNF)

Resources

Assessment

  • Kennesaw State’s Animated Database Courseware: “Anomalies Scenarios” (Adobe Flash)
    • Please complete all scenarios.  ADbC is a set of interactive software modules designed to support the teaching of database concepts.
  • Kennesaw State’s Animated Database Courseware: Dependencies Scenarios (Adobe Flash)
    • Please complete all three scenarios.  Note that ADbC is a set of interactive software modules designed to support the teaching of database concepts.
  • Dr. Gordon Russell’s Database Resources: Quiz on Normalization” (HTML)
    • Please complete questions 1–14 for this quiz on normalization.  Please note that this quiz tests what you have learned from Unit 7.  Database Resources is the culmination of many years of developing online database resources.  It includes notes as well as quizzes and an interactive SQLpractice environment.          


Introduction to SQL

Structured Query Language (SQL) is the main data definition language used for the creation and maintenance of databases.  In this Topic, we will look at basic SQL syntax, including some data definition and data manipulation language commands.

8.1 Overview

8.1.1 What Is SQL?

8.1.2 SQL Syntax

Resources

  • Stanford University’s Introduction to Databases: Lecture 6: “Introduction to SQL” (YouTube)
    • Please watch the entire video.  Note: this applies to all of section 8.1.
  • W3Schools.com’s “Introduction to SQL” (HTML)
    • Please read the entire webpage for a brief introduction to the definition and function of Structured Query Language (SQL).  W3Schools.com is a website with tutorials on many Internet programming topics.
  • Beat Signer’s Lecture 5: Introduction to Databases (Adobe Flash)
    • Please read through all slides.
  • W3Schools.com’s “SQL Syntax” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.

8.2 Data Definition Language (DDL) Commands

8.2.1 Create Table

8.2.2 Drop Table

8.2.3 Alter Table

Resources

  • ProgrammingVideos.Com: SQL Tutorial 03–Create–Database, Table, Index  (YouTube)
    • Watch the entire video.
  • SQLTutorial.org’s “SQL CREATE TABLE” (HTML)
    • Read through the entire tutorial to learn how to use SQL to create a database table.  The SQL Tutorial website was created to provide you clear, concise and easy to understand SQL Tutorial.
  • SQLTutorial.org’s “SQL DROP TABLE” (HTML)
    • Read through the entire tutorial to learn how to use SQL to delete data from a table and to remove the structure of the table.  The SQL Tutorial website was created to provide you clear, concise and easy to understand SQL Tutorial
  • ProgrammingVideos.Com: SQL Tutorial 04–Alter Drop (YouTube)
    • Watch the entire video.  Note: This applies to material presented in 8.2.2 and 8.2.3.
  • SQLTutorial.org’s “SQL ALTER TABLE” (HTML)
    • Read through the entire tutorial to learn how to use SQL to modify a database table.  Note: this reading also applies to subunits 8.2.3.1 and 8.2.3.3.  The SQL Tutorial website was created to provide you clear, concise and easy to understand SQL Tutorial

8.3 Column and Table Level Constraints

8.3.1 Not Null

8.3.2 Unique

8.3.3 Primary Key

8.3.4 Foreign Key

8.3.5 Default

8.3.6 Check

Resources

  • W3Schools.com’s “SQL NOT NULL Constraint” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL UNIQUE Constraint” (HTML)
    • Please read the entire page.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL PRIMARY KEY Constraint” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL FOREIGN KEY Constraint” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL DEFAULT Constraint” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL CHECK Constraint” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.

8.4 Data Manipulation Language (DML) Commands

8.4.1 Insert Operator and Command Syntax

8.4.2 Update Operator and Command Syntax

8.4.3 Delete Operator and Command Syntax

8.4.4 Select Operator and Command Syntax

Resources

  • W3Schools.com’s “SQL INSERT INTO Statement” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • Stanford University’s Introduction to Databases: Lecture 13: “Data Modification Statements (YouTube)
    • Watch the entire video.  Note: this applies to all of 8.4.
  • ProgrammingVideos.Com: “SQL Tutorial 05–Insert, Update, Delete” (YouTube)
    • Watch the entire video.  Note: This applies to material presented in 8.4.
  • W3Schools.com’s “SQL UPDATE Statement” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL DELETE Statement” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL SELECT Statement” (HTML)
    • Read the entire page.  W3Schools.com is a website with tutorials on many Internet programming topics.


Basic Select Statements

In the previous topic, we introduced the select statement.  In this Topic, we will learn to build queries using one table.  We will take a look at the basic syntax of the select statement along with some basic expressions and the where clause.

9.1 The Distinct Clause

Resources

  • Kennesaw State’s Animated Database Courseware: “Interactive SQL: Queries Basic” (Java)
    • Please click on basic queries and then click on each box to review each scenario for Projection, Restriction, and Function.  Note: This material applies to all of section 9.  ADbC is a set of interactive software modules designed to support the teaching of database concepts.
  • Stanford University’s Introduction to Databases: Lecture 7: “SQL: Basic Select Statement (YouTube)
    • Watch the entire video.  Note: This material applies to all of Unit 9.
  • W3Schools.com’s “SQL SELECT DISTINCT Statement” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.

9.2 The Where Clause

Resources

  • W3Schools.com’s “SQL WHERE Clause” (HTML)
    • Read the entire page.  W3Schools.com is a website with tutorials on many Internet programming topics.

9.3 And/Or Operators

Resources

  • W3Schools.com’s “SQL AND & OR Operators” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.  Please note that this covers topics in sections 9.3 and 9.5.

9.4 SQL Aggregate Functions

9.4.1 Count

9.4.2 Avg

9.4.3 Min

9.4.4 Max

9.4.5 Sum

9.4.6 Last

9.4.7 First

Resources

  • W3Schools.com’s “SQL Functions” (HTML)
    • Please read all the pages on aggregate functions.  Note: This reading material also applies to the topics listed under subunits 9.4.1–9.4.7.  W3Schools.com is a website with tutorials on many Internet programming topics.

9.5 Special Operators

9.5.1 Like

9.5.2 Between

9.5.3 In

9.5.4 Wildcards

9.5.5 Top

Resources

  • W3Schools.com’s “SQL LIKE Operator” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics. 
  • W3Schools.com’s “SQL BETWEEN Operator” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics. 
  • W3Schools.com’s “SQL IN Operator” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL Wildcards
    • Please read the entire webpage. W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL TOP Clause” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.

9.6 The Order by Clause

Resources

  • W3Schools.com’s “SQL ORDER BY Keyword” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.


The Join Statement

Programmers frequently join data from a number of different tables in order to obtain more information.  They also—perhaps even more frequently—build queries to obtain information from more than one table in order to generate better information.  In this section, we will learn about SQL Joins, which allow us to create complex queries, combine data from different tables, and obtain a new result set that can provide us with a better understanding of the data and maximize database flexibility.

10.1 Introduction

Resources

10.2 Inner Joins

Resources

  • Kennesaw State’s Animated Database Courseware: “Interactive SQL: Queries Advanced” (Java)
    • Please click on the advanced queries link and then the join tab. Please complete the scenario for Join.  ADbC is a set of interactive software modules designed tosupport the teaching of database concepts.
  • W3Schools.com’s “SQL INNER JOIN Keyword” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.

10.3 Outer Joins

10.3.1 Left Outer Joins

10.3.2 Right Outer Joins

10.3.3 Full Outer Joins

Resources

  • Kennesaw State’s Animated Database Courseware: “Interactive SQL: Queries Advanced” (Java)
    • Please click on the advanced queries box and then click on the outer join tab.  Complete the scenario for Outer Join.  ADbC is a set of interactive software modules designed to support the teaching of database concepts.
  • W3Schools.com’s “SQL LEFT JOIN Keyword” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL RIGHT JOIN Keyword” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • W3Schools.com’s “SQL FULL JOIN Keyword” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.

10.4 The Group By Clause

Resources

  • W3Schools.com’s “SQL GROUP BY Statement” (HTML)
    • Please read the entire webpage.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • Kennesaw State’s Animated Database Courseware: “Interactive SQL: Queries Basic” (Java)
    • Please click on the basic queries box and then the group by tab.  Complete the scenario for Group By.  ADbC is a set of interactive software modules designed tosupport the teaching of database concepts.
  • W3Schools.com’s “SQL Quiz” (HTML)
    • Please take the entire 20 question quiz to assess what you have learned in Unit 10.  W3Schools.com is a website with tutorials on many Internet programming topics.
  • Stanford University’s Introduction to Databases: Lecture 11: “Aggregation (YouTube)
    • Watch the entire video. 


Reference(s)

  1. The Saylor Foundation, Introduction to Modern Database Systems
  2. The Saylor Foundation, Advanced Databases
  3. Prof. P.Sreenivasa Kumar's, Introduction to Database Systems and Design
  4. Curino, Carlo, Madden, Samuel, Morris, Robert, Stonebraker, Michael, MIT OpenCourseWare, Database Systems, Fall 2010


Return to top