Appendix N: Data Dictionary
The Data Dictionary does not contain any application data, it contains information which describes how that application data is stored, and optionally how that data is to be processed by the application. This information may include table names and characteristics, field names and characteristics, relationship information, et cetera. It is therefore data-about-data, or meta-data.
To utilise this data dictionary there are four distinct stages:
- IMPORT - Populate the dictionary database using details extracted from the physical database schema. This includes all field names and their attributes, and all primary keys, candidate keys and indeces. If any table details are subsequently modified the import function can be used again to synchronise the dictionary. This will deal with new tables and new, changed or deleted columns. Note that the database structure must be maintained using an external process.
- EDIT - Modify the details for use by the application, including any relationships between tables.
- EXPORT - Make the details available to the PHP application in the form of disk files which can be incorporated into scripts by means of the include() function. Note that it is not possible to change table structures within the dictionary then use the export facility to apply these changes to the application database.
- GENERATE TASKS - Select a table, then select a transaction pattern and have the system automatically generate all the relevant scripts.
Note that the Export to SQL function works at the database level while the Export to PHP function works at the table level. The files produced are in different formats because they have different purposes.
The design of this Data Dictionary application is explained in A Data Dictionary for PHP Applications.
These are the maintenance screens for the Data Dictionary application which has been built into this infrastructure:
- Databases
- List Databases
- List Databases by Subsystem
- Import Database
- Delete Database
- Enquire Database
- Erase Database
- Export Database to SQL
- Search Database
- Update Database
- Output Databases to PDF (List View)
- Tables
- List Tables
- List Tables by Database
- Import Tables
- Export Table to PHP
- Delete Table
- Enquire Table
- Search Table
- Update Table
- Choose Table
- Output Tables to PDF (List View)
- Generate PHP scripts (a) - Select Pattern
- Generate PHP scripts (b) - Enter details
- Columns
- List Columns
- List Columns by Table
- Import Columns
- Delete Column
- Enquire Column
- Search Column
- Update Column
- Output Columns to PDF (List View)
- Output Columns to PDF (Detail View)
- Keys
- List Keys
- List Keys by Table
- Delete Key
- Enquire Key
- Search Key
- Relationships
- List Relationships
- List Child Relationships by Table
- List Child Relationships by Database
- Add Child Relationship
- Update Child Relationship
- Enquire Child Relationship
- List Parent Relationships by Table
- List Parent Relationships by Database
- Add Parent Relationship
- Update Parent Relationship
- Enquire Parent Relationship
- Delete Relationship
- Search Relationship
- Output Relationships to PDF (List View)
- Output Relationships to PDF (Detail View)