This application aims to provide an environment to support learning about data modelling and the transformation of a conceptual model into a relational database or other logical organisational structure. It may also be useful as a case tool for database application development.
The current Schema supports the definition of a data model in terms of:
There is a basic tutorial on the schema here.
Diagrams are generated using ATT GraphViz which somewhat limits the symbols used in the diagrams
The integrity of a model can also be checked, although these checks are limited at this time to entity references in roles, type references in attributes and uniqueness of enity and attribute names.
The tutor aims to provide a step-by-step approach to explaining data modelling, the notation, the transformation to SQL DDL. It also provides an environment where data modelling problems can be presented the student to solve. Partial models can be presented to guide the student. The student's attempt is then compared with the suggested answer and any differences reported back, along usually with the diagram of the suggested answer. Model comparison uses some fuzzy matching but this is as yet in the early stages of development.
These key bindings are effective on pages in the tutor, except in input fields
The recommended procedure is to use an XML-schema aware editor such as oXygen to create the model document, and use the model viewer to view the model diagrammaticly as you create it.
Here are some of the example models which have been written
This tool takes a single de-normalized table and assists the user to factor the full table into multiple normalized tables. The constructed model can be viewed as an ER diagram and converted to SQL DDL + INSERT Statements to allow the factored database to be loaded into MySQL.
This interactive SQL tutor takes the student through a number of worksheets which teach the basics of SQL SELECT and tests the students understanding with worked exercises. The result of execution of the student's input is compared with the result of the execution of the 'correct' answer and the differences analysed to provide guidance. All input is logged to allow analysis of common misundertandings.
Recent changes and development task list
Developed in XQuery on the eXist native XML database by Chris Wallace. It is running on a server in the Bristol Institute of Technology at the University of the West of England The primary use of this application is in support of the Data, Schemas and Applications module. It is also being used in the Data Management Module on the MSc IT by Prakash Chatterjee
Last updated 2 June 2009