Fundamental concepts and techniques in the design, implementation, and use of databases. Architecture and evolution of database management systems and database administration are introduced. Conceptual data modeling and relational, network, and hierarchical data models are examined. Students learn abstract query languages, such as relational algebra, relational calculus, and 4GL languages such as SQL. Database design and normalization are examined in detail. Security and recovery of databases and ethical issues are also discussed. Students implement a small-scale business application utilizing a database in a term project.