Apple Academic Press
698 pages | 184 B/W Illus.
This new book aims to provide to both beginners and experts with a completely algorithmic approach to data analysis and conceptual modeling, database design, implementation, and tuning, starting from vague and incomplete customer requests and ending with IBM DB/2, Oracle, MySQL, MS SQL Server, or Access based software applications. A rich panoply of solutions to actual useful data sub-universes (e.g. business, university, public and home library, geography, history, etc.) is provided, constituting a powerful library of examples.
Four data models are presented and used: the graphical Entity-Relationship, the mathematical EMDM, the physical Relational, and the logical deterministic deductive Datalogones. For each one of them, best practice rules, algorithms, and the theory beneath are clearly separated. Four case studies, from a simple public library example, to a complex geographical study are fully presented, on all needed levels.
Several dozens of real life exercises are proposed, out of which at least one per chapter is completely solved. Both major historical and up-to-date references are provided for each of the four data models considered.
The book provides a library of useful solutions to real-life problems and provides valuable knowledge on data analysis and modeling, database design, implementation, and fine tuning.
"What Christian Mancas wanted to do is to write the best possible book on real, pragmatic database design available, bar none. He suceeded. . . This book will find its way into the literature on database design and development. It has a good number of ideas that must be considered in any design task. It uses a sample-based approach and is thus easy to understand. It supports digestion due to nice exercises. And, finally it discusses in details also the result of a design in different DBMS languages. So, a reader can be sure that the book guides to the right track."
—Bernhard Thalheim, Department of Computer Science, Christian-Albrechts-University Kiel, Germany (from the Foreword)
"Covers the classical data management topics that any computer professional should master. . . . This volume is a gentle yet rigorous and extensive introduction to the main topics in data management, with concrete examples on several popular database systems. There are lots of detailed examples, and each concept is covered in detail, and from several perspectives, using alternative definitions or notations where needed. The book ensures that no reader is left behind, and all potential questions are answered. . . . Best suited for the practitioner who wants to achieve a thorough understanding of the fundamental concepts in data management. . . . This volume is an important first step in understanding the complexities of data today."
—Dan Suciu, Professor, University of Washington, Seattle, USA (from the Foreword)
"One of the biggest problems in nowadays applications is the management of data. Analyzing and structuring large amounts of data relies on understanding and being able to describe its properties and constraints. Professor Christian Mancas's exceptionally well-documented work, A Conceptual Data Modeling and Database Design, gives the basic insights of the database models and their importance as a foundation for the complex applications. This book guides the reader throughout real-life scenarios, providing essential software engineering advice. Indeed, by addressing some of the problems people usually encounter when designing a database, Professor Mancas pedagogically connects the end user's requirements to the notions of entities and relations between them. Meanwhile, the mathematical analysis and proofs sustain the theoretical background of the statements and provide a complete view of the possible algorithmic optimizations. The first volume, A Fully Algorithmic Approach: The Shortest Advisable Path, represents an important contribution in the learning process as it advocates best practice rules in database designs with clear explanations and practical exercises.
"This first volume mainly presents Professor Mancas's point of view of the database design state of the art (enriched with his main original contributions to the E-RDM and RDM). I am looking forward for the second volume of this book that will mainly present his most important contribution to the conceptual data modeling and database design: his (Elementary) Mathematical Data Model [(E)MDM], as well as MatBase, his KDBMS prototype based on both (E)MDM, E-RDM, RDM, and Datalog."
—Andra Hugo, PhD, University of Bordeaux, France
"Modern scientific and business challenges, the proliferation of personal computers and intelligent gadgets, the Internet and industries' large amounts of data, all fuel a huge need of database management systems. The book by C. Mancas is an excellent introduction to pragmatic database design and development. Presented in a gentle manner, with many examples, the book is suited to a large category of readers, from computer science and engineering students to the practitioners of the domain."
—Cristian S. Calude, Chair Professor, Department of Computer Science, University of Auckland, New Zealand
Foreword by Professor Bernhard Thalheim
Foreword by Professor Dan Suciu
Chapter 1. Data, Information and Knowledge in the Computer Era
1.1 Data, information, knowledge
1.2 Data analysis and conceptual modeling
1.3 Data and knowledge bases
1.4 Constraints (business rules)
1.5 Data and knowledge base management systems (DBMS, KBMS)
1.6 Static and dynamic aspects of databases
Chapter 2. The Quest for Data Adequacy and Simplicity: The Entity-Relationship Data Model (E-RDM)
2.1 Entity and relationship type object sets
2.2 Attributes and surrogate keys
2.3 Entity-Relationship Diagrams (E-RDs)
2.4 Functional relationships and the Key Propagation Principle (KPP)
2.5 Relationship hierarchies
2.6 Higher arity non-functional relationships
2.7 Restriction sets
2.8 Case study: a public library (do we know exactly what a book is?)
2.9 The algorithm for assisting the data analysis and modeling process (A0). An E-R data model of the E-RDM
2.10 Best practice rules
2.11 The math behind E-RDs and restriction sets. The danger of “many-to-many relationships” and the correct E-RD of E-RDM
Chapter 3. The Quest for Data Independence, Minimal Plausibility, and Formalization: The Relational Data Model (RDM)
3.1 First normal form tables, columns, constraints, rows, instances
3.2 The five basic relational constraint types
3.3 The algorithm for translating E-R data models into relational schemas and non-relational constraint sets (A1-7). An RDM model of the E-RDM
3.4 Case study: the relational scheme of the public library data model
3.5 The reverse engineering algorithm for translating relational schemas into E-R data models (REA1-2)
3.6 The algorithm for assisting keys discovery (A7/8-3)
3.7 RDBMS metacatalogs. Relational and E-R data models of the RDM
3.8 Relational schemas definition. SQL DDL
3.9 Relational instances manipulation. SQL DML. Relational calculi and algebra
3.10 Higher and the highest RDM normal forms
3.11 Best practice rules
3.12 The math behind RDM
Chapter 4: Relational Schemas Implementation and Reverse Engineering
4.1 The algorithm for translating relational schemas into SQL DDL ANSI-92 scripts (A8)
4.2 Relevant differences between IBM DB2, Oracle Database and MySQL, Microsoft SQL Server and Access
4.3 Case study: implementing the public library RDB into DB2, Oracle, MySQL, SQL Server, and Access
4.4 The reverse engineering algorithm for translating Access 2013 RDB schemas into SQL ANSI DDL scripts (REA2013A0), a member of REAF0’
4.5 The algorithms for translating E-R data models into RDBs and associated non-relational constraint sets (AF1-8)
4.6 The reverse engineering family of algorithms for translating RDB schemas into E-R data models (REAF0-2)
4.7 Case study: reverse engineering of an Access Stocks DB scheme into both an ANSI standard SQL DDL script and an E-R data model
4.8 Best practice rules
4.9 The math behind the algorithms presented in this chapter
Chapter 5: Conclusion
5.1 Database axioms
5.2 Why do we need another conceptual level for expert DB design?
5.3 What are the most important things that we should be aware of in DBs?
Appendix: Mathematic prerequisites for the math behind