This book covers the broad field of database design from the perspective of semantic modeling. Aimed at present and future designers of database applications, software engineers, systems analysts and programmers, it aims to offer a unified study of semantic, relational, network and hierarchical databases as seen through the semantic modeling approach. The book provides a stuctured top-down methodology of database design in all the models and presents the principal types of database languages. Readers will find explanations of concepts and examples covering the full spectrum of database design, application programming and database utilization. The book first analyzes the user's application and specifies it semantically, then converts this specification into a relational database schema.