Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Access 2016 Grundkurs

Norming

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
In einer zweiten Phase, dem Norming, werden die gesammelten Begriffe sortiert und Abhängigkeiten geklärt. So werden aus den Storming-Ideen die Felder, die dann in Gruppen als Tabellen zusammengefasst werden.

Transkript

Norming bedeutet, dass ich aus diesem Wust an Informationen normierte Gruppen mache, also die in Tabellen - so kann man das schon formulieren - zusammenfasse. Eine Gruppe mit einem Zettel ist nachher eine Tabelle mit einem Feldnamen, auch wenn der Feldname nicht'Telefonnummer'heißen wird, steckt da gedanklich ein Feld dahinter. Und die schieben wir jetzt einfach ein bisschen durch die Gegend. Fangen wir vielleicht an mit einer Gruppe, die ich'Adresse'nenne. Da gehört zum Beispiel die Telefonnummer dazu. Und auch der Name desjenigen, der unter dieser Adresse zu erreichen ist und die Adresse selber - sozusagen - also Straße, Postleitzahl, Hausnummer, Ort und sowas. Das ist hier zum Beispiel ein Zettelchen für die Adresse, der eigentlich mehrere Feldnamen noch enthält. Da muss ich also später nochmal mit den Normalformen gucken, ob das wirklich alles perfekt ist. Dann wird irgendwas ausgeliefert, das bezeichne ich mal als'Portionen'. Das ist manchmal tatsächlich ein Problem: Wie heißt denn diese Gruppe eigentlich? Und das kann sich dann auch nochmal ändern. Ich nenne die erstmal'Portionen'. Zu der Portion gehört die'Essensauswahl': Was von der Speisekarte will ich jetzt wirklich dahin schicken oder servieren? Und auch die'Menge'natürlich. Der'Preis'gehört eigentlich zu der'Speise'selber, also die Speisekarte ist ja nur die ganze Liste. Das eine Element davon nenne ich mal'Speise'und das hat einen'Preis'. Die Portion hat auch einen Preis, aber Sie ahnen es schon: Die zweite Normalform verlangt, dass ich diesen Preis bitteschön nachgucke. Von den Portionen gucke ich auf der Speisekarte nach. Auf der Speisekarte hingegen - sozusagen beim Essen selber - da gehört das Foto hin. Wenn ich Pech habe, sogar mehrere Fotos. Das müsste man an dieser Stelle überlegen, aber, ich sag mal: ein Essen, ein Foto reicht mir völlig. Und dann muss ich sowas wie - ich nenne es mal -'Kategorien'anlegen. So'Speisekarten-Gruppen'. Da steht dann Fleisch, Pasta, Pizza, Getränke oder sowas. das nenne ich dann einfach'Essenskategorien'; und sehr viel mehr wird da erstmal nicht drin stehen. Dann muss ich irgendwo festhalten, was ich bisher schon als Wertliste gemacht hatte. Die Fahrer. Da gibt es eine begrenzte Auswahl: Es können nur die sein. Und das heißt fast automatisch, wenn ich eine Auswahl von etwas hab, dann wird das ein Fremdschlüssel auf eine Liste sein. Und ich brauche hier also eine Liste, nämlich eine Tabelle, für die Fahrer. Dann kommt die Lieferung selber, also das, was ich dann wirklich ausfahre. Das braucht unter anderem ein Lieferdatum, eine Uhrzeit und vielleicht ist an der Stelle ein Rabatt. Der Rabatt ist aber Portionsweise, also nicht auf die gesamte Lieferung, möglicherweise, sondern, sagen wir: Heute alle Getränke den halben Preis. Happy Hour oder sowas. Das ist jetzt sozusagen die grobe Idee dessen, was ich nachher in eine Tabellensammlung umwandeln will. Das mache ich jetzt nur ein ganz klein bisschen kompakter. Also es sind die gleichen Angaben, nur eben jetzt, hier, ein bisschen kleiner zusammengefasst. Und die kann ich jetzt ein bisschen in der Gegend verteilen. Ich habe gerade wieder ein bisschen Platz gewonnen, kann also an der Stelle, die erstmal - nicht ganz zufällig - aber ein bisschen auf dem Bildschirm verteilen. "Nicht ganz zufällig" zum Beispiel deswegen, weil es Abhängigkeiten gibt. Das Norming sagt nicht nur: ich muss die in Gruppen zusammenfassen, sondern ich muss auch klären, wer von wem abhängig ist. Beispielsweise da ganz rechts, zwischen der Tabelle'Speisen'und - Sie haben vielleicht schon gesehen, ich hab schon bestimmte Tabellennamen genommen, also diese Bezeichnung'tblSpeisen'sagt mir schon: Achtung das ist eine Tabelle - tbl - als sogenannte Ungarische Notation, mit der wir uns nach beschäftigen werden, dann weiß ich schon, das könnte der Name für diese Tabelle sein. Und die Tabelle'Speisen'ist abhängig von der Tabelle'Kategorien'. Denn jede Speise weiß, zu welcher Essenskategorie sie gehört. Das ist eine sogenannte 1-zu-n-Beziehung, wobei ich sie jetzt hier andersrum schreibe, denn die Einserseite ist die Kategorie - jede Kategorie kommt exakt einmal vor - und die n-Seite sind die Speisen, der sogenannte Fremdschlüssel. Und das bedeutet, ich muss auf der Primärschlüsselseite - die Einserseite - überhaupt erstmal dafür sorgen, dass ich garantiert irgendwas Eindeutiges hab. Möglichst nicht die Bezeichnung, sondern besser - sowas zum Beispiel wäre ein AutoWert. Auf jeden Fall ein Feld, welches pro Datensatz eindeutig ist. Und das wird in Access und auch in anderen Datenbanken mit einem Schlüssel gekennzeichnet und könnte zum Beispiel'kategID'heißen. Bei mir haben Felder immer 5-buchstabige Präfixe und dieses Präfix'kateg', dem kann ich ansehen, aha, ich bin ein Feld aus der Tabelle'Kategorien'und ich bin eine'ID'- heißt, ein AutoWert - und insgesamt werde ich der Primärschlüssel. Das Feld gibt es noch nicht, auch das ist in dieser Phase zu klären. Es reicht also nicht, in der Tabelle'Kategorien'einfach zu schreiben, welche Kategorien es gibt, sondern es gibt jetzt zwingend ein neues Feld mit einer Nummer. Und dazu gehört auf der Gegenseite bei der Tabelle'Speisen'der sogenannte Fremdschlüssel, der sich auf den Primärschlüssel bezieht. Der Primärschlüssel gibt die Nummer vor, der Fremdschlüssel darf sie benutzen und sagt dann dieser Speise: Ich gehöre in folgende Kategorie. Bei mir ist die Fremdschlüsselbenennung etwas hölzern im sprachlichen Sinne, aber dafür inhaltlich ganz klar: Ich befinde mich in der Tabelle'Speisen'und habe also die 5 ersten Präfixbuchstaben'speis'. Und ich beziehe mich auf das Feld'kategID'- so heißt das da drüben - und deswegen bin ich eine Referenz. Gibt diesen etwas merkwürdig anmutenden Fremdschlüsselnamen'speisekategIDRef'. Dem kann ich immer ansehen: Dies ist der Fremdschlüssel auf folgendes anderes Feld. Denn es kann in einer Tabelle natürlich mehrere Fremdschlüssel geben und tut es auch häufig. Damit haben wir, sozusagen, die erste Beziehung geklärt: Zwischen Kategorien und Speisen gibt es eine 1-zu-n-Beziehung. Und die gibt es auch zwischen Speisen und Portionen. Auch eine Speise kann n-mal in Portionen geliefert werden und wird dort entsprechende Fremd- und Primärschlüssel brauchen. Eine Lieferung kann verschiedene Portionen enthalten. Das war ja eins unserer Probleme am Anfang, dass ich in einer Lieferung mehrere verschiedene Gerichte liefern möchte. Und auch das ist eine 1-zu-n-Beziehung. Das ist ohnehin die häufigste Beziehung in relationalen Datenbanken. Auch ein Fahrer kann n Lieferungen ausfahren und eine Adresse kann n Lieferungen erhalten. Damit habe ich, sozusagen, das Datenbankmodell fertig. Ich nehme jetzt mal die eher bunten Farben raus und reduziere das mal so ein klein bisschen auf nur blau, weil die Farben zum einen nicht wirklich was aussagen, sondern nur ein bisschen eine Unterteilung deutlich machten. Und wir nähern uns jetzt einer anderen Darstellung, nämlich so, wie ich das in Wirklichkeit mache. Das mache ich vorneweg in Excel, das geht wunderbar. Das ist eine Tabellenstruktur, da kann man sich Sachen reinschreiben und Pfeile malen. Dort schreibe ich auch schon Datentypen hinein, sodass ich also hinter kategID und dem AutoWert direkt sehe: Achtung, das ist auch ein Primärschlüssel. Deswegen mache ich mir diese Zellen immer fett und kann das nicht nur dem Wort ansehen - ich benenne AutoWerte immer als'ID'- sondern kann das zusätzlich durch die Schlüsselsymbole, wie Sie es in Access sehen werden, oder die Fettmarkierung, wie sie es hier sehen, entsprechend erkennen. Ich habe also in der Tabelle'Kategorie'in Wirklichkeit nicht nur das Feld kategName - das war die ursprüngliche Idee - sondern den Primärschlüssel kategID. Dazu noch eine Sortierung, wenn ich die auf der Speisekarte in einer bestimmten und nicht-alphabetischen Reihenfolge haben will. Und das mache ich - das sehen Sie hier eigentlich in ziemlich jeder Tabelle - noch so ein Bemerkungsfeld. Und entsprechend auf der Gegenseite, also bei den Speisen, den Fremdschlüssel. Das ist ein Feld, was in der ursprünglichen Idee noch nicht drin war - dieses speiskategIDRef - sodass ich an der Stelle immer sehen kann, wie die Felder jetzt wirklich heißen. Und wenn ich Textfelder habe, schreibe ich mir mit einer Zahl dahinter'10 Zeichen lang', '50 Zeichen'. Dann gibt es berechnete Felder, Währungsfelder, Byte - was ein Zahlenfeld ist, oder Long - was auch ein Zahlenfeld ist. Also hier steht, im Gegensatz zu eben, wo es bunter und unschärfer war, im Grunde schon exakt drin, was ich später in Access eintragen möchte. Und das wird später exakt so in Access zu sehen sein. Dort gibt es einen Bildschirm für die Beziehung, welcher zwar nicht so schön die Datentypen dahinter anzeigt, aber die Feldnamen, die Primärschlüssel und eben die Tabellen mit den Relationen. Und wenn es mir gelingt, die Datenbank nachher exakt so aufzubauen, dass sie diesem Excel-ursprünglichen Bild entspricht, weiß ich, ich bin fertig.

Access 2016 Grundkurs

Erwerben Sie die notwendigen Kenntnisse, um mit Access 2016 leistungsfähige Datenbanken zu erstellen.

6 Std. 18 min (75 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!