This textbook reveals the workings of numerous database systems, enabling readers to develop complex database applications. Students will gain hands-on experience by following the exercises. The theory is complemented by detailed examination of specific applications from a broad range of areas. The text assumes only basic discrete mathematics, linear algebra, and programming knowledge. Features: Provides descriptions of 11 types of databases, and 2 database systems; Concludes each chapter with bibliographic notes and exercises; Examines database design, including issues of database interoperability, data integration, interpolation and approximation, and prediction and data mining; Presents course aids at a supporting website; Covers topics on indexing methods, data visualization, the safety of queries, general evaluation algorithms, the efficient implementation of evaluation algorithms, and the complexity of the evaluation of different types of queries; Structured to allow for flexible course design.