Data Modelling Tutor - To Do
Recent Changes
- Unnamed relationships included in the HTML view
- generate foreign keys for 1 to 0-1 relationships
- quote field names to bring in line with MyPHPAdmin export and protect reserved words
(option controlled by attribute in model)
- 1 to 0-1 relationships generate Fks correctly - 1-1 - author needs to decide and
change to 1 - 0-1
- Generate enum datatype in the SQL
- Form to enter model URI
- output method set dynamically to generate text or XML instead of HTML
- Improved interface
- Rules for derived attributes added
- Entity comments were missing - fixed
- Added rule element to attributes and relationships - rendered in Text and HTML view,
included in schema
- unit tests - some done
- transformation to DROP TABLES : not in dependency order
- default name for link tables corrected to use _
- relationships with attributes - supported in EAR ,DDL and HTML and in Schema
- Subtypes supported in ER models and HTML but not yet in DDL
- Transform to HTML
- Changed to POST
- DDL extended generation now does primary keys for an entity if none defined, and
better SQL
- Derive data model from non-normalized data source - see normalizer.xq
- Derived attributes and relationship annotated with leading / in diagram
- supporting entities as types to simplify relationships - only in ER diagrams
- Inactive links in Navigation bar greyed rather than removed
- crows foot replaces the closed triangle for many, now I know about arrow syntax -
tee not working
- refactored er.xqm putting string handling in ws.xqm
- ER diagrams show attributes in the box
- primarykey, derived, autioincrement changed to xs:boolean in schema
- derived attribute added to entity and attribute
- attributes with the same name in diifferent entities are distinguished in the
diagrams
- Handle involuted relationships in comparison
- Integrity errors inhibit model comparison,and unchanged input detected to forestall
eager answer viewing
Bugs
- 1-1 - author needs to decide and change to 1 - 0-1 - add to documentation and model
check
- rename title in enum to label
- Types which are the same name as entities are treated as relationships - but this is
not documented and code not yet generated
- One to many relationships should set foreign key to NOT NULL
- Derived relationship not annoted with /
- Schema is too tight - no ordering constraints needed
- Comments should allow HTML in the schema - handled OK in the HTML view
- rename Worksheet/Name to Worksheet/Title for consistency
- Dependent keys not included in the Text
- Dot interface to graphviz must use POST not GET - generate SVG or handle as streamed
binary
Worksheets Roadmap
- Examples needed for enums; dependent in role and foreign keys as primary keys;
many-many relationships; unique; subtypes; multi-valued attributes; attribute entity
types
- Need to diagnose the problems arising in the CW and exam and incorporate into the
worksheets
- Examples o one- one relationships where there is a conceptual difference - support
optimisation to one table
Application Roadmap
- Model comparator
- relationships in input but not in answer are not detected
- no comparision of data types in analysis
- Improve fuzzy matching - work in lower case domain
- Match without replacement: Entity and Attribute matching must be unique -
currrent algorithm allows a model answer attribute to be matched with two
different attempt attributes.
- Use stemming to allow better detection of plurals
- Need to allow some model aspects to be optional eg. with or without primary
keys
- Compare entities by attribute names - needed for normalizer output
comparison
- Model schema
- detect duplicate entity/attribute within entity, types - check function does
this - added to the interface - Done may 09
- support embedded entities as well as dependent entities (poorly
explained)
- support units in a datatype for explict documentation
- drop datatype and type distinction - use type only and its name if no type
defined in model
- support enumerated types for type as well as datatype
- drop datatype from attribute and allow only in type
- support type definition with name, size and decimals
- Drop many and optional from code - just use the min and max (or make many
mean 0 to N )
- Handle numeric values in min and max
- Use the schema to validate the model - currently unnecessarily strict
- Support subtypes in the model XML - support for ER diagram, text and HTML
only at present
- allow short tags - e, a r, t ?
- handle multi-valued attributes
- entity prefixes
- Comment needs to be text or HTML
- Support entity types as relationships
- support sequence
- support xs types, minLength and maxLength and mapping to MySQL data
types
- Modeller interface
- Selecting a Mode should trigger re-display in modeller.xq (modeller
deprecated)
- Put output in a tab with DHTML
- Save modified model and save generated DDL to a file - not needed
- use Ajax to update graph?
- Better diagnosis of XML errors - ? bug - diagnostic goes to command
line?
- Tutor Interface
- Only show model after a number of attempts
- Compose models from other models to support incremental examples
- add assessment
- Show tags
- Success / Fail text in Diagnose body
- Diagrams
- SVG output with hints or links
- Use neato instead of dot for layout?
- Node styling
- Show types in ER models
- upgrade to latest graphviz - HTML labels not rendered?
- Worksheet format
- SQL execution and diagnosis
- Multiple choice questions
- XQuery
- SPARQL queries
- Normalizer
- Inferred string lengths are too restrictive
- DDL Generation
- Foreign key constraint for compound primary keys incorrect
- DDL generation failing for 0-1 and 1- 1 ? check
- 2 Many-many relationships between the same entities are not distinguished -
done 2/3/09 - need to define different relationship names
- cycles in dependencies not checked - would cause a problem!
- Other Transformations and interfaces
- Diagram with UML notation
- Notation for instances as well as types
- Reverse engineer SQL DDL to XML
- Transform to Alloy
- Transform to Java Classes
- Transform to PHP
- Generate instance from model to diagram or generate test data
- Transformation to XMLSchema
- Create non XML DSL -see XML Sugar
- Create drawing tool to create XML document graphically
- ER modelling difficulties to cover
- separation of representation from basic data
- views of the dat generated by selects to compose, select and order
basic data
- computable values - such as an area from its height and width, the
count of the number of instances
- representation variants - format of date and time
- getting 1- many relationship round the right way
- multiple relationships between 2 entities - such as manager , current
employee , past employee
- recurrent relationships such as employee - manager, person - friend
Created: Chris Wallace, 3 Feb 2009 - last modified 4 June 2009