Beginning Database Design- P10:This book focuses on the relational database model from a beginning perspective. The title is, therefore, Beginning Database Design. A database is a repository for data. In other words, you can store lots of information in a database. A relational database is a special type of database using structures called tables. Tables are linked together using what are called relationships. You can build tables with relationships between those tables, not only to organize your data, but also to allow later retrieval of information from the database | Advanced Relational Database Modeling It makes perfect sense to begin by demonstrating denormalization from the highest Normal Form downward. Denormalizing Beyond 3NF Figure 6-1 shows reversal of the normalization processing applied in Figure 4-28 Figure 4-29 and Figure 4-30. Removing nullable fields to separate tables is a common method of saving space particularly in databases with fixed record lengths. Many modern databases allow variable record lengths. If variable length records are allowed removal of NULL valued fields is pointless because the space saved is either none or completely negligible. J Customer customer id customer_name address phone fax J email exchange ticker balance outstanding 1 last_date_activity days_c redit Potentially NULL values were separated out Edition Rank ISBN ISBN FK Denormalize beyond 3rd NF Transform rank ingram_units Rank Multiple NULL values can be separated into multiple tables Edition ISBN publisher_id FK publication_id FK print_date pages ISBN FK rank Ingram ISBN FK publisher_id publication_id print_date pages list_price format ingram_units Figure 6-1 Denormalizing null valued table fields. 153 Chapter 6 A fixed-length record is where each record always occupies the same number of characters. In other words all string and number values are a fixed length. For example a string value of 30 characters can never be NULL but will contain 30 space characters. It follows that a 30-character string with a 10-character name contains the name followed by 20 trailing space characters. Figure 6-2 shows reversal of normalization processing applied in Figure 4-31. Figure 6-2 shows a particularly upsetting application of BCNF where all candidate keys are separated into separate tables. A candidate key is any field that potentially can be used as a primary key unique identifier for the original entity in this case a customer the CUSTOMER table . Applying this type of normalization in a commercial environment would result in incredibly poor .