The text assumes a background equivalent to a first course on computers and information systems. It seeks to cover the traditional material on database systems at the senior undergraduate level supplemented by aspects of deductive database systems and object-oriented systems. It aims to emphasize the concepts involved, steering a middle course between a formal abstract presentation and one detailed at the programming level.