JLRef: IVPR\COOL\NotationForDMTableOfContents.txt This note is an outline of NotationForDataModels.txt, which explains the reasons that motivate the data model drawing conventions supported by the block diagram editor COOL-BDE and the code generation tool COOL-GEN.. It also makes a case for transforming datasets to Third Normal Form (3NF). It remains to be seen if any of this is relevant to metadata for Weave. The full explanation for these items (a technical supplement to 20100907MetadataMeetingNotes.txt) is located at http://www.cs.uml.edu/~lechner/COOL-GEN/NotationForDataModels.txt (word-wrapps OK but need to cut and paste the hyperlinks) I also emailed it to you-all. (RJLRef: IVPR\COOL\NotationForDataModelsWrapped.txt). The full explanation for these items (a technical supplement to 20100907MetadataMeetingNotes.txt) is located at http::/www.cs.uml.edu/~lechner/COOL-GEN/NotationForDataModelsWrapped.txt I also emailed it to you-all. (RJLRef: IVPR\COOL\NotationForDataModelsWrapped.txt). I. Benefits for Presentation II. Benefits for Implementation III Desirable COOL framework extensions IV. Online Links I separate (I) presentation advantges and (II) implementation advantages. These are followed by (III) a list of desirable framework extensions The last section (IV) is online links to info on my home page and to David Hay's.site. I Front-end Presentation Benefits I(1) Notation is a proper subset of most diagram styles I(2) High-density models are possible using mnemonic data-type abbreviations I(3) Consistent use of the directed graph pattern in data models I(4) Notation allows mixed use of both an arrow head or tail ('Crowsfoot'). I(5) Chen's 'diamond' symbol is superfluous I(6) Multiplicity can be represented graphically and/or textually I(7) Clear contrast between inheritance and associative links. I(8) First Normal Form Diagrams I(9) Reverse engineering risks I(10) One-to-many links have only meta-attributes II. Back-end Implementation Benefits ============================= II(1) Support for automatic code generation II(2) 1NF database (no list- or set-valued attributes) II(3) Consistent coding conventions across all data and metadata. II(4) A common version-controlled table format (line-oriented ASCII text II (5) Support for data model evolution III. Desirable COOL framework extensions ================================ III(1) Augment GEN to produce XML inport/export format III(2 ) Extend metadata to support Views (see IV(4)) II( 3) Extend metadata to define Candidate Keys (see IV(4) III(4) Augment GENCPP with object fkey and simple value subclasses of TA III(5) Support additional non-key data types declarable in TA. III(6) Support 'tokenized' multiline text and generate concordances III(7) Support Namespace extensions to metadata and the GEN API III(8) Support candidate, preferred, and alternate keys II(9) Extract metadata from Block Diagrams: IV Online References: ================ IV(1) A list of API user guides for CHGEN versions V8-13 is at http://www.cs.uml.edu/~lechner/COOL-GEN/genDocsList.txt IV(2) A Users Guide to BDE is at http://www.cs.uml.edu/~lechner/COOL-BDE/BDE_UG2000/bdeUG_2000.htm IV(3) Slides showing the evolution of BDE's graphic data model are at http://www.cs.uml.edu/~lechner/COOL-BDE/BDEUG_2005DataModels.ppt IV(4) For some metrics and pairings of GEN internal subroutines and the pr_* routines which they generate, see http://www.cs.uml.edu/~lechner/COOL-GEN/chgenv12r1.doc IV(5) For details of the metadata content produced by CHGEN and how it is used, see the Data Modeling Tutorial at http://www.cs.uml.edu/~lechner/DataModels2htm/index.htm IV(6) Possible extensions to BDE's data model for subschema views, candidate keys, and namespaces http://www.cs.uml.edu/~lechner/COOL-GEN/TTTA_metadata_jk_rl.ppt Links to many David Hay papers are at http://www.cs.uml.edu/~lechner/DavidHay IV(7) I recommend Hay's comparison of alternate data modeling styles: http://www.cs.uml.edu/~lechner/DavidHay/DHay_ComparingDModTechniques.pdf [and .htm] (52 pp)