Relational Database Design

Understanding how to design a relational database is essential if you expect to harvest the potential promised by relational technology. This three-day seminar teaches the foundations of relational design techniques and issues. It includes in depth consideration of distributed applications, concurrency, security, and other issues of concern in many current database applications. The seminar consists of a number of modules. Labs illustrate the modules and allow practice with the concepts.

The Entity Relationship Model You will learn how to go about the fundamental process of designing a new database. Simple graphical tools are presented as well as methods for determining the objects of interest to the database designer. Design alternatives are explored through a case study that focuses and hones skills. Additional graphical representations are also reviewed.

Implementing the Entity Relationship Model You will learn how the entity relationship model is reflected in relational databases. You will apply this knowledge to an expansion of the case study lab already begun.

Normalization You will learn how to structure data to avoid unnecessary side effects of data updates. Using normalization to eliminate update anomalies will allow you to eliminate the cause of much application complexity and error. You will also learn when not to normalize your database. You will practice these skills on data layouts from an inventory control application.

Models for Distributed Databases You will learn design concepts for applications as they relate to distributed relational databases. You will learn the theoretical analyses of distributed databases, design analyses which will allow you to design databases for distribution, and the difficulties or opportunities for different types of distribution with current tool support. You will practice and enhance your understanding of the trade­offs with an expansion of the case study lab already begun.

Access Definitions You will learn how to design and structure an appropriate security model for your database. You will also learn how this relates to the proposed ANSI standards. You will practice with simple examples from the case study lab.

Transaction Design You will learn how to design your application in conjunction with the database and the importance of doing so. Transactions are viewed with respect to their functions, users, frequency, and significance, as well as the data which they access. With this view of transactions, data access and tuning requirements can be predicted.  Your lab for this module will further develop your skills for designing a high performance database.

Developing a Data Architecture You will learn how to take a logical data model and transform it into a fully functional relational data model. You will learn how and why to introduce additional performance and requirements oriented information into the logical data model. You will consider a variety of design "rules of thumb" derived from extensive experience. As you complete your lab for this module, you will understand more of the structures and considerations of successful applications.

Related Tools and Design Considerations In this module, you will learn some of the design decisions that dictate or limit the choice of other tools. Topics include when you should use a transaction processing monitor for high concurrency OLTP with your database application; using a 4GL with your database application; and the importance of software engineering methodologies for your database application.

Case Study The case study will allow all students to design a database which responds to limited requirements. At each stage of expansion, the student generated design will be compared to that prepared by JCC and the merits of differing approaches will be discussed. The case study is employed throughout the seminar to illustrate issues and clarify the theory.

Additional Labs The seminar is studded with additional labs to emphasize points, encourage discussion of alternatives, and give practice with the analysis tools and concepts.

Copyright 1993-2002, JCC Consulting, Inc.   JCC and the JCC logo are trademarks of JCC Consulting, Inc.