We need a way to store schema information and metadata descriptions in a normalized fashion in addition to storing the original source formats for a given database schema, where:
- A schema is a collection of tables and database objects (indexes, functions, procedures, etc...) namespaced under that collection. A schema maps to a "database" in MySQL; parlance; a "schema" in postgres parlance; or a user in Oracle parlance, (where a schema and user are interchangeable and the same).
- A normalized canonical representation, which may originate from an arbitrary source format. If the format is simple (YAML, JSON), it may not be required to include extra code to process it.
- A source format, which is opaque and not to be relied on, but included for completeness and ideally readable by tools external to the cat project
- If a source format exists, a description of it's provenance should be included in a README file and information on how the conversion to the canonical format was performed