CS270T. Databases
Introduces the concepts and techniques of database systems.
Prerequisites: introduction to computer science (any implementation of CS103 or CS112), discrete structures (CS106 or CS115)
Syllabus:
- Information models and systems: History and motivation for information systems; information storage and retrieval; information management applications; information capture and representation; analysis and indexing; search, retrieval, linking, navigation; information privacy, integrity, security, and preservation; scalability, efficiency, and effectiveness
- Database systems: History and motivation for database systems; components of database systems; DBMS functions; database architecture and data independence
- Data modeling: Data modeling; conceptual models; object-oriented model; relational data model
- Relational databases: Mapping conceptual schema to a relational schema; entity and referential integrity; relational algebra and relational calculus
- Database query languages: Overview of database languages; SQL; query optimization; 4th-generation environments; embedding non-procedural queries in a procedural language; introduction to Object Query Language
- Relational database design: Database design; functional dependency; normal forms; multivalued dependency; join dependency; representation theory
- Transaction processing: Transactions; failure and recovery; concurrency control
- Distributed databases: Distributed data storage; distributed query processing; distributed transaction model; concurrency control; homogeneous and heterogeneous solutions; client-server
- Physical database design: Storage and file structure; indexed files; hashed files; signature files; b-trees; files with dense index; files with variable length records; database efficiency and tuning
Units covered:
| HC1 | Foundations of human-computer interaction | 2 | core hours (of 6) |
| IM1 | Information models and systems | 3 | core hours |
| IM2 | Database systems | 3 | core hours |
| IM3 | Data modeling | 4 | core hours |
| IM4 | Relational databases | 5 | hours |
| IM5 | Database query languages | 4 | hours |
| IM6 | Relational database design | 4 | hours |
| IM7 | Transaction processing | 3 | hours |
| IM8 | Distributed databases | 3 | hours |
| IM9 | Physical database design | 3 | hours |
| SP6 | Intellectual property | 3 | core hours |
| SP7 | Privacy and civil liberties | 2 | core hours |
| | Elective topics | 1 | hour |
Notes:
[to be supplied]
Online resources for CS270T