Relational Database Design covers practical and theoretical aspects of database and systems design. Interrelated topics are presented, including a review of basic systems and database concepts, design methodologies, the relational data model and relational database management, normalization, entity relationship modelling, considerations for collecting information during a design study, physical design issues, distributed systems, and the elements of a database design methodology. The book provides plenty of examples, including an entire chapter that acts as an extended example. The author has taken care to deal with standard SQL and avoids ties to specific releases of specific products.
Relational Database Design is an excellent volume for database programmers and designers, MIS managers, and anyone interested in a solid introduction to relational database design.
Table of Contents:
CONCEPTS. What is a Database? What is a Database Management System? What are Data Models? What are the Basic Data Building Blocks? A METHODOLOGY? Why Have a Method? Systems Analysis Methods. Now, What About Database Design? Do the Two Cycles Fit Together? Is Anything Missing? An Annotated Example. Additional Comments-Does One Size Fit All? RELATIONAL DATABASE. Why the Relational Model? The Relational Model. Domains. Keys. Relational Data Manipulations. Structured Query Language. SQL Data Definition. SQL Data Manipulation. Some Additional Data Manipulations. Update Commands. Embedded SQL. Views. Data Security. Other SQL Facilities. Criticisms of SQL. Is it Really Relational? Does it Matter? NORMALIZATION. What is Normalization? Mathematical Functions. Functional Dependencies. First Normal Form. Second Normal Form. Third Normal Form. Boyce/Codd Normal Form. Multivalued Facts. Fourth Normal Form. Fifth Normal Form. One, Two, Three, Four, Five Normal Forms. Is That All There is to It? ENTITY RELATIONSHIP MODELS. What is an Entity Relationship Model? Why Introduce This? Definitions. The Technique We Will Use. Why Entities and Relationships? How Can We Tell Them Apart? Entities vs. Attributes. What Are We Really Doing Here? Examples. Let's Review. Alternative Techniques. ADVANCED MODELLING CONCEPTS. Why Do We Have Problems with Data Models? What is Really Going on Here? OK, Now What? Examples. Relating Two Entities of the Same Type-(Bill of Materials). Structured Methodology Revisited. Global Models, Integration, Disparate Views, and All That. View Integration. Concluding Remarks. DEFINITIONS AND CONSTRAINTS. Definitions. Entity Definitions. Relationship Definitions. Data Element Definitions-Domains. Data Element Definitions-Attributes of Entities and Relationships. Now, What's in a Name? Keys and Identifiers. Data Encoding. Referential and Entity Integrity. Other Constraints. Security. What's Next. PHYSICAL DESIGN. The Media. Hashing Functions. Indexed Access. Significance of Hardware Related Issues. Access Map. To Normalize or Not (With a Digression Regarding Optimizers). File Size and Placement. Calculating Space Required. Backup, Journaling, Recovery, Concurrency. Structure Changes, Change Management. Extracts. DISTRIBUTED SYSTEMS. What is a Distributed System? What are the Physical Design Issues for Distributed Systems? How Can We Decide? What About Clients and Servers? DESIGN METHODOLOGY. On Methods in General. The Recommended Approach. Identify a Problem and Propose a Solution. Research Existing Situation. Identify Entities, Relationships, and Data Elements. Identify User Views and Elements Contained in User Views. Revaluate and Redefine If Necessary. Develop Details of Proposed Solution. Normalize. Determine Volumes, Access Patterns. Final Database Design. Technical Design, Programming. Test, Document, Convert, Train, Implement. Final Comments. EXAMPLE. The Business Situation. Context Diagram. Domains. Entities and Relationships Version 1. Data Flow Diagram. Entities and Relationships Version 2. Normalization. Determine Volumes, Access Patterns. Final Database Design. Parting Thoughts. Bibliography.