ABSTRACT

If God were romantic, He would have created other gods. As He is classic, He created the world.

—Lucian Blaga

4.1 The Algorithm for Translating Relational Schemas into SQL DDL ANSI-92 Scripts (A8) .................................................. 347

4.2 Relevant Differences Between IBM DB2, Oracle Database and MySQL, Microsoft SQL Server and Access ........................... 348

4.3 Case Study: Implementing the Public Library rdb into DB2, Oracle, MySQL, SQL Server, and Access ........................... 425

4.4 The Reverse Engineering Algorithm for Translating Access 2013 rdb Schemas into SQL ANSI DDL Scripts (REA2013A0), A Member of REAF0’ .......................................... 473

4.5 The Algorithms for Translating E-R Data Models into rdbs and Associated Non-Relational Constraint Sets (AF1-8) ............. 488

4.6 The Reverse Engineering Family of Algorithms for Translating rdb Schemas into E-R Data Models (REAF0-2) ....... 490

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 ............................................................... 497

4.8 Best Practice Rules ...................................................................... 529 4.9 The Math Behind the Algorithms Presented In This Chapter ...... 534

4.10 Conclusion ................................................................................. 534 4.11 Exercises .................................................................................... 535 4.12 Past and Present ......................................................................... 577 Keywords .............................................................................................. 578 References ............................................................................................. 579

After studying this chapter you should be able to: Ø Concisely and precisely define, and exemplify the following key

terms: database (creation, reverse engineering), relational scheme, tablespace, table (fundamental, temporary –both local and global), column (prime, non-prime, computed, virtual), key (uniqueness, primary, foreign, superkey), constraint ((co-)domain, not null, referential integrity, minimal uniqueness, check, tuple, relational, nonrelational), index file (unique, not unique), E-R data model, trigger, data (event, compulsory, range, instance), data type (SQL ANSI standard, DB2 10.5, Oracle 12c, MySQL 5.7, SQL Server 2014, Access 2013, built-in, extended, user defined, strongly/weakly typed, geospatial), identifier (ordinary, delimited), type hierarchies (root, super, sub, target, and recursive –direct and indirect), number (infinity, NaN –both quiet and signaling-, subnormal, sequence), array (ordinary, associative), view (materialized, query), identifier (ordinary, delimited, global transaction –GTID).