Een informatiemodel vertalen naar een database
pagina 1 van 9
Een informatiemodel vertalen naar een database Het ontwerpen van een database met behulp van het casetool gaat in drie stappen: 1. Controle Eerst voert het casetool een controle uit. Er wordt bijvoorbeeld gekeken of alle feittypen wel een uniciteitsbeperking hebben. Uniciteitsbeperkingen zijn belangrijk voor het groeperen, ze moeten aanwezig zijn voordat je verder kunt. 2. GLR-algoritme In deze stap wordt het GLR-algoritme uitgevoerd. Je krijgt uiteindelijk een gegroepeerd diagram, zoals bij de videobanden op bladzijde 140 van het theorieboek. 3. Exporteren In deze stap maak je de instructies voor het maken van de database. Het casetool kan SQLinstructies maken (CREATE TABLE, zie hoofdstuk 11) maar het kan ook instructies voor Access en andere systemen maken. Op de werkbalk staan drie knoppen, die van links naar rechts staan voor de drie genoemde stappen.
Gebruik bij dit practicum weer het model van de dvd-administratie, dat je bij de eerder practica gemaakt hebt. Je vindt een compleet model, met beperkingen, ook op de cdrom.
Controle op het model Eerst voert CaseTalk een controle (integrity check) uit op je model. Je start de controle met de knop met het vinkje:
Als er fouten gemaakt zijn in het IGD moeten die natuurlijk eerst worden verbeterd. De meeste foutmeldingen betreffen een ontbrekende uniciteitsbeperking. Er verschijnen dan meldingen dat een feittype niet voldoet aan de N-regel of aan de N-1-regel. Zie het theorieboek voor uitleg over deze regels. Het is erg belangrijk dat de uniciteitsbeperkingen goed staan, daarom zal het casetool niet verder gaan. Je moet deze fouten eerst verhelpen. We laten hier twee voorbeelden zien van de meest voorkomende fouten. Soms ontbreekt er een uniciteitsbeperking in een objecttype. Het casetool geeft dan deze melding:
file://D:\Data\EduActief\Werkboek%202\CDRom%20WB2\Blok4\Informatiemodeller... 28-2-2005
Een informatiemodel vertalen naar een database
pagina 2 van 9
Soms ontbreekt er een uniciteitsbeperking in een feittype. Het casetool geeft dan deze melding:
Waarschuwingen (warnings) zijn niet meer dan dat. Als het op te lossen is moet je het doen. Meestal betreft het waarschuwingen dat 'de populatie van ... mogelijk niet verwoordbaar (verbalizable) is'. Deze waarschuwingen zijn niet van groot belang, je kunt gewoon verder gaan met het GLR-algoritme. Je kunt verder met het groeperen als het casetool alleen nog waarschuwingen geeft.
file://D:\Data\EduActief\Werkboek%202\CDRom%20WB2\Blok4\Informatiemodeller... 28-2-2005
Een informatiemodel vertalen naar een database
pagina 3 van 9
Groeperen In de tweede stap maakt CaseTalk het database-ontwerp met behulp van zogenaamde GLR-algoritme. Je start met de GLR-knop.
Er verschijnt een venster waarmee je het algoritme kunt aansturen:
Voor een complete uitvoering van het algoritme moeten de drie vinkjes bij groeperen, lexicaliseren en reduceren aangezet worden. Het is ook mogelijk om de onderdelen stap voor stap uit te voeren. De afzonderlijke stappen zullen we hier niet bespreken, het gaat ons alleen om de complete uitvoering. Je kunt het algoritme starten door de knop "Start processing" aan te klikken.
file://D:\Data\EduActief\Werkboek%202\CDRom%20WB2\Blok4\Informatiemodeller... 28-2-2005
Een informatiemodel vertalen naar een database
pagina 4 van 9
Wanneer de controle niet een voor 100% correct model opleverde, krijg je een melding. Als er alleen waarschuwingen open staan kun je doorgaan, bij fouten moet je het model nog verbeteren.
Vervolgens wordt eerst het oorspronkelijke model bewaard, het casetool gaat namelijk allerlei veranderingen aanbrengen.
Het GLR-algoritme sluit de vensters voor het IG en het IGD en maakt twee nieuwe: l l
Een venster new IGG, met informatie over de gegroepeerde tabellen. "IGG" staat voor "InformatieGrammatica Gegroepeerd" Een diagramvenster new IGD, met het diagram voor het gegroepeerde model
Na het groeperen kun je niet zomaar meer terug naar het oorspronkelijke model. Je moet het IGG en het nieuwe IGD eerst sluiten om de oorspronkelijke IG te openen.
file://D:\Data\EduActief\Werkboek%202\CDRom%20WB2\Blok4\Informatiemodeller... 28-2-2005
Een informatiemodel vertalen naar een database
pagina 5 van 9
Het GLR-algoritme heeft feittypen bij elkaar gezet in tabellen. Omdat de bollen uit het model verdwenen zijn en er rollen verplaatst zijn om de tabellen te vormen, kan dit weer een wirwar van lijnen zijn. Het dvd-model kan er uitzien zoals hieronder.
Meestal vereist het wat heen en weer slepen voordat alles overzichtelijk is. Ook kun je de volgorde van de kolommen veranderen door een rol te selecteren (CONTROL-klik) en te slepen terwijl je ALT ingedrukt houdt. Door alles te fatsoeneren kun je de tabelstructuur duidelijker maken:
file://D:\Data\EduActief\Werkboek%202\CDRom%20WB2\Blok4\Informatiemodeller... 28-2-2005
Een informatiemodel vertalen naar een database
pagina 6 van 9
In het IGG zijn de feittypen nu ook gegroepeerd. Hieronder zie je de informatie over de twee tabellen.
file://D:\Data\EduActief\Werkboek%202\CDRom%20WB2\Blok4\Informatiemodeller... 28-2-2005
Een informatiemodel vertalen naar een database
pagina 7 van 9
Vanuit het IGG-venster kun je informatie opvragen over de tabellen. Selecteer in het IGG een item dat staat voor een tabel en kies in het menu View: Table information. De informatie verschijnt in een apart venster.
Exporteren Als laatste kan CaseTalk script-bestanden maken, waarmee je de database echt kunt maken in SQLsystemen of Access. We bekijken nu alleen de SQL-scripts. Bij het maken van dit document was onvoldoende informatie beschikbaar over het exporteren naar Access. Je start het exporteren met behulp van de knop met de stekker:
Dit geeft een venster met de namen van een aantal relationele databasemanagementsystemen (nu alleen SQL).
file://D:\Data\EduActief\Werkboek%202\CDRom%20WB2\Blok4\Informatiemodeller... 28-2-2005
Een informatiemodel vertalen naar een database
pagina 8 van 9
Wanneer je kiest voor SQL92, genereert het casetool de SQL-regels die de database aanmaken. Deze regels zijn eerder besproken in hoofdstuk 11. Een verschil is dat het casetool regels met CREATE DOMAIN gebruikt om de gebruikte datatypen een naam te geven, deze worden gebruikt in de instructies om de tabellen zelf te definiƫren. Verder worden de verwijzingen aan het eind toegevoegd door middel van ALTER TABLE opdrachten.
file://D:\Data\EduActief\Werkboek%202\CDRom%20WB2\Blok4\Informatiemodeller... 28-2-2005
Een informatiemodel vertalen naar een database
pagina 9 van 9
Deze SQL-definities kun je uitvoeren in een relationeel DBMS. Daarna kun je met de database aan het werk.
file://D:\Data\EduActief\Werkboek%202\CDRom%20WB2\Blok4\Informatiemodeller... 28-2-2005