Betrachtung von Datenmodellen
Es grüßt nicht nur täglich das Murmeltier, sondern auch die Frage wie man Daten/Informationen am sinnvollsten abspeichert.
Alles in einem Datensatz wie in Excel alles in einer Zeile steht; mehrere gleichartige Felder, Wiederholender, in Bezugstabellen? Wie weit fächert man Bezugstabellen auf? Diese Frage in IT-Sprache lautet: Welche Normalisierungsstufe benutze ich?
Nach einem kleinen theoretischen Teil zeige ich verschiedene Möglichkeiten mit Vorteilen und Fallstricken.
1. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
www.filemaker-konferenz.com
Wie man Daten speichern kann
Heike Landschulz
Datenmodelle/Normalisierung
2. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Zur Person
• (Uni)Studium zum Dipl. Ing. Verfahrenstechnik chemische Industrie
• EDV-Abteilung eines Düngemittelwerkes:
• Programmierung für Nebenprozesse
• ab 1995: Selbständig als FileMaker Programmierer
• Kunden: Agenturen und projektabarbeitende Dienstleister
• FiBu-Schnittstellen
• ab 1990: Vertrieb bei einem Apple-Händler in Hamburg
• hier erster Kontakt mit FileMaker II
• sowie Werbeagenturen
• Aussergewöhnlichste Kunden:
• - Hutmacher
• - Firma, die die Quartettspiele der Fussballbundesliga vertreibt
• - eine hamburger Schokoladenmanufaktur
3. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Worum es heute geht
• ein klein wenig Theorie zur „Datenspeicherung“
• spezielle Möglichkeiten in FileMaker
• Layoutgestaltung + Scriptprogrammierung
• sinnvolle Beispiele bzw. Beispieldaten
• Vollständigkeit
• Dogmen
Worum es heute nicht geht
4. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Was meine ich eigentlich?
Wie kann man Daten speichern - wie geht es in FileMaker
Demo
5. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Beispiel 1
Firmen mit je einem Feld für jeden Ansprechpartner für alle Daten
Nachteile:
- für jeden neuen Ansprechpartner neue Felder und neue Tasten notwendig
- sehr viele Felder in der Firmentabelle
- keine Zuordnung von Korrespondenz zu einer einzelnen Person
- sehr aufwändiger Export ausgewählter Personen
Vorteile:
(einfacher Import - wenn die Datenstruktur paßt)
6. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Beispiel 2
Firmen mit einem Wiederholfeld für jeden Ansprechpartner für alle Daten
Nachteile:
- für jeden neuen Ansprechpartner neue Wiederholung neue Tasten
- keine Zuordnung von Korrespondenz zu einer einzelnen Person
- sehr aufwändiger Export ausgewählter Personen
- sehr sehr aufwändiger Import aus Fremdformaten
Vorteile:
- nicht ganz so viele Felder in der Firmentabelle wie im Beispiel 1
7. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Beispiel 3
pro Person ein Datensatz mit kompletter Firma und Adresse
Nachteile:
- Firmendaten werden mehrfach gespeichert -> unnötig
☹️ Redundante Daten
- Änderungen in der Firma müssen abgefangen werden
☹️ sonst inkonsistente Daten
- keine einfache Zuordnung von Korrespondenz zu einer Firma
Vorteile:
- einfache Übernahme von Firmen- / Adress- und Personendaten in andere Tabellen
- einfache Im- und Exporte
8. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Beispiel 4
ein Firmendatensatz mit Personen in Bezugstabelle
Nachteile:
- mehr Tabellenauftreten im Beziehungsdiagramm
- etwas aufwändige Programmierung zur Übernahme der Personen in die
Korrespondenz
- aufwändige Vorarbeit bei Import aus Fremdformaten
Vorteile:
- keine doppelten Daten
- so wenig Felder wie nötig
- „automatische“ Zuordnung von Korrespondenz zu Firmen und Personen
- einfacher Export ausgewählter Personen
9. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Der Begriff „Normalisierung“ oder warum
machen wir das eigentlich?
Quelle wikipedia: https://de.wikipedia.org/wiki/Normalisierung_(Datenbank)
„Unter Normalisierung eines relationalen Datenschemas (Tabellenstruktur)
versteht man die Aufteilung von Attributen (Tabellenspalten) in mehrere
Relationen (Tabellen) gemäß den Normalisierungsregeln (s. u.), so dass eine
Form entsteht, die keine vermeidbaren Redundanzen mehr enthält.“
- es gibt 5 „Normalformen“ mit einer Sonderform zwischen der 3. und 4. NF
10. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Wie gesagt: keine Dogmen …
„Die hierzu angestrebte Redundanzfreiheit steht allerdings in speziellen
Anwendungsfällen in Konkurrenz zur Verarbeitungsgeschwindigkeit oder zu anderen
Zielen. Es kann daher sinnvoll sein, auf eine Normalisierung zu verzichten oder diese
durch eine Denormalisierung rückgängig zu machen, um
• die Verarbeitungsgeschwindigkeit (Performanz) zu erhöhen oder
• Anfragen zu vereinfachen und damit die Fehleranfälligkeit zu verringern oder
• Besonderheiten von Prozessen (zum Beispiel Geschäftsprozessen) abzubilden.“
Normalisiert wird vor allem in der Phase des Entwurfs einer relationalen Datenbank.
Aber …
11. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Erste Normalform (1NF)
Jedes Attribut der Relation muss einen atomaren Wertebereich haben, und die
Relation muss frei von Wiederholungsgruppen sein.
Beispiel: Die Adresse darf nicht als einzelnes Attribut verwendet werden, sondern
muss – sofern es der zugrunde liegende Prozess erfordert – in PLZ, Ort, Straße,
Hausnummer etc. aufgeteilt werden.
12. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Zweite Normalform (2NF)
Eine Relation ist in der zweiten Normalform genau dann, wenn die erste Normalform
vorliegt und kein Nichtprimärattribut (Attribut, das nicht Teil eines Schlüsselkandidaten
ist) funktional von einer echten Teilmenge eines Schlüsselkandidaten abhängt.
Falsch:
Richtig:
13. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Dritte Normalform (3NF)
Die dritte Normalform ist genau dann erreicht, wenn sich das Relationenschema in der
2NF befindet, und kein Nichtschlüsselattribut (hellgraue Zellen in der Tabelle) von einem
Schlüsselkandidaten transitiv abhängt.
Falsch:
Richtig:
14. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Demo
weitere Möglichkeiten in FileMaker
15. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Beispiel 4a
- Feld Titel in eigene Tabelle ausgelagert
Nachteile:
- noch mehr Tabellenauftreten im Beziehungsdiagramm
- aufwändige Vorarbeit bei Import aus Fremdformaten
- aufwändige Vorarbeit bei Export
- Feld „Name_komplett“ kann nicht mehr indiziert werden, weil ein Feld aus einer
Beziehung verwendet wird -> müßte per Script-Trigger gesetzt werden
- beim Löschen eines Titels muß der Bezugsdatensatz auch gelöscht werden
16. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Beispiel 5
- Firmendatensatz mit Kommunikation in Bezugstabelle
- Personendatensatz mit Kommunikation in Bezugstabelle
-> Datensätze mit leeren Datenfelder
-> Datensätze mit leeren Abgleichfeldern
Nachteile:
- noch mehr Tabellenauftreten im Beziehungsdiagramm
- aufwändige Vorarbeit bei Import aus Fremdformaten
- aufwändige Vorarbeit bei Export
17. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Beispiel 5a
Artikel mit Verkaufspreisen in eigener Tabelle
Nachteile:
- mehr Tabellenauftreten im Beziehungsdiagramm
- aufwändige Vorarbeit bei Import aus Fremdformaten
- Vorarbeit bei Export
- kein einfaches Suchen nach Artikel ohne gültigen Verkaufspreis
- Programmieraufwand beim Ermitteln des Preise in „Faktura-Vorgängen“
Vorteile:
- Historie über die Preisentwicklung
- Pflegen von Aktionen im Vorwege -> kein Nacharbeiten nach dem Aktionszeitraum
notwendig
- Pflege von Preisänderungen im Vorwege
- automatisches Berücksichtigen der jeweils gültigen Preise in „Faktura-Vorgängen“
18. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Beispiel 6
2 Kreuztabellen zwischen Firmen/Personen und Kommunikation
Nachteile:
- noch mehr Tabellenauftreten im Beziehungsdiagramm
- aufwändige Vorarbeit bei Import aus Fremdformaten
- aufwändige Vorarbeit bei Export
- Programmieraufwand beim Anlegen von Bezugsdatensätzen per Script
- Programmieraufwand beim Löschen von Bezugsdatensätzen
Vorteile:
- keine leeren Datenfelder und Abgleichfelder
🤔 Man kann es auch übertreiben mit der Normalisierung!
19. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Fazit:
- viele Wege führen zum Ziel
- Abwägen welcher Aufwand bei der Programmierung getrieben werden soll
- Abwägen welcher Aufwand bei evtl. Im- und Exporten getrieben werden muss
20. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Literaturempfehlung:
A. Kemper/A. Eickler „Datenbanksysteme“
21. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages
22. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Datenmodelle - Heike Landschulz
Fragen und Antworten
Vielen Dank für Ihre Aufmerksamkeit