Components of database systems: DBMS functions. Database architecture and data integrity. Data modeling: conceptual models, relational data model, conceptual schema, relational schema, relational algebra and relational calculus. Database query languages: SQL functional dependency, decomposition, normal forms. Higher normal forms. Transaction processing: Transactions; Failure and recovery systems; Physical database design: Storage and file structure; Indexed files; Hashed files; Signature files; B-trees. Query processing. Query optimization. Pre-req.: COMP 232.