Modeler: Tutorial/Deriving a Database Schema
In this lesson you will learn how to check the integrity of an information grammar and how to derive a database schema.
Checking the integrity of an information grammar
Step 19
1. Open the Repository menu and select Validate:
A detailed description of the checks can be found in appendix B.
2. Click Check.
3. Close the Integrity Check window.
Deriving a grouping proposal
Step 19
1. Open the Repository menu and select GLR:
Make sure all options are set as displayed above.
2. Click 'Start processing'.
First the casetool will perform an Integrity Check. If the casetool encounters any errors the Integrity Check window will be opened so you can examine the error. If Integrity Check encounters only warnings, the Integrity Check window will not be opened.
3. Click Ok.
The casetool will now commit all changes to the repository. Copies are made of both the IG and the openend IGD's. The copies are automatically added to the Project Manager. The casetool will open the copies and continue the GLR algoritm on these copies. Roles which can be grouped will be marked with a 'G' in the diagram:
Note: A datatype proposal has now been performed. Display the label types and associated datatypes by selecting Show Data Type Info from the IGD menu if necessary.
4. Double click 'lesson.ig' in the Project Manager. Do not save 'lesson.igg' and 'IGD1>'.
Step-by-step grouping
Step 19
1. Open the diagram 'lesson.igd' from the Project Manager.
2. Open the Tasks menu and select GLR:
Make sure all options are set as displayed above.
3. Click Start Processing: (Overwrite 'lesson.igg')
4. Click Yes to group role 7 into 'Apprenticeship'.
5. Repeat step 4 for every role which can be grouped.
6. Double click 'lesson.ig' in the Project Manager. Do not save 'lesson.igg' and 'IGD1>'.
Setting grouping marks before grouping
Step 19
1. Open the diagram.
2. Click on 'Assigned Apprenticeship' in the Repository window.
3. Select Edit Roles from it's popup-menu:
4. Select role 14 and set the grouping to 'Do not group'.
5. Repeat this for role 15.
By unchecking roles 14 and 15 you have indicated you do not want to group these roles.
6. Open the Tasks menu and select GLR:
Make sure all options are set as displayed above.
Note: Do not check Step-by-step grouping. The Step-by-step grouping algorithm ignores the User Override property.
7. Click Start processing.
The generated information grammar is not in Optimal Normal Form (ONF). This structure might be choosen if 'Assigned Apprenticeship' is unknown for most of the students. (Grouping 'Assigned Apprenticeship' then results in a Student table with too many NULL values in the Assigned Apprenticeship column).
Deriving a lexicalizing proposal
1. Select the GLR window:
And select only the lexicalize and proposal option.
2. Click Start...
All roles which should be lexicalized will be marked with a 'L' in the diagram:
3. Close the project by selecting Close Project from the File menu. Do not save the project.