Toni
Inhaltsverzeichnis |
Bearbeiten Sie ein Datenbank-Projekt zu einem Thema Ihrer Wahl.
Dazu gehören
Ziel der Datenbank ("Begründung" der Themenwahl)
Modellierung in einem ERM
Transformation in das Relationenmodell
Erstellen der DB (Struktur/notwendige Datensätze)
Erstellen von verschiedenen Abfragen (unterschiedlicher „Schwierigkeit“)
kritische Reflexion zu Modellierung und Umsetzung Wichtige Merkmale der Modelle (Kardinalität, Normalform, ...) sind zu erläutern. Das ERM ist als Bild (z.B. erzeugt mit dem Tool "Dia") einzufügen.
Themenwahl & Beschreibung des Modells
Produktionsstruktur eines Unternehmens. Das fiktive Unternehmen fertigt bestimmte Teile, welche als "Auftragsnummer" an die Konstruktionsabteilung gegeben werden, die die Pläne für diese Teile erstellt. Hinter der Auftragsnummer steht der ganze Auftrag, würde man die Datenbank weiter ausführen, so könnte man dort die einzelnen Teile für den jew. Auftrag aufführen.
Ab hier übernimmt die Datenbank alle anfallenden Produktionsdaten. So gehören zum Unternehmen weiere Abteilungen : wie z.B. die Produktionsabteilung, welche neben der Konstruktionsabteilung, eigenständige Tätigkeiten übernimmt. Um ihre Arbeit auszuführen werden die Pläne übergeben. Diese enthalten z.B. Stücklisten oder Zeichnugen (für die Produktionsabteilung mit den Arbeitern wichtig-> um Teile zu lasern, schweißen, ... )*. Die benötigten Teile können dann von den Arbeitern/Abteilungen aus dem Lager geholt werden, bzw kann überprüft werden, ob genügend vorhanden sind, um den Auftrag auszuführen.
Die Firma besitzt mehrere Konstruktionsabteilungen, mehrere Produktionsabteilungen und ein Lager mit allen Produktionsmitteln. Wobei die Datenbank noch dazu die Arbeiter der Produktionsabteilungen aufführt.
Das Lager ist zuerst auf 1 begrenzt, sodass es auch final für alle "zugänglich" wird (1:n), doch sollte das fiktive Unternehmen wachsen so kann das Lager erweitert werden.
...* zusätzlich findet diese weitergabe in der Realität statt, was für die Datenbank hier nicht von Interesse ist, dennoch könnte man die CAD-Dateien auch in der Datenbank speichern und somit einen digitalen Überblick behalten -> ERP
Kommentar Ich hoffe, dass die Datenbank nicht "nur" zeigt, welche Datensätze das Unternehmen verarbeitet, sondern auch über den Fertigungsprozess informieren kann. Diese Umsetztung gestaltete sich offenbar schwieriger als zuvor gedacht, daher sind einige Entitäten weggelassen worden, obwohl sie in dem Text darüber genannt sind. -> Zeitgründe, Komplexität ... Mehr in der Auseinandersetzung ...
ERM und RM
Kardinalitäten:
...Sie beschreiben die Beziehungen von einzelnen Entitäten zueinander genauer, dabei diff. man in 1:1, 1:n und n:m. Auf die 1:1 Beziehungen verzichtete ich, daher sind in meiner DB nur 1:n bzw n:m Beziehungen zu finden.
Die 1:n Beziehung... ist die 1 zu viele Beziehung. Bei der Überführung vom ERM ins RM beduetet dies, dass der PS der 1er Entität als Fremdschlüssel der n-Entität aufgegührt wird. (Hier zw. Produktionsabteilung und Arbeiter). Dabei sind mehrere Arbeiter zugleich in einer Abteilung zusammengefasst, aber nie ein Arbeiter in mehreren Abteilungen.
Die n:m Beziehung... ist die viele zu viele Beziehung. Beider Überführung vom ERM ins RM bedeutet dies, dass die beiden FS der verknüpften Entitäten in einer extra Tabelle zusammegefassst werden. (siehe grünliche Tabellen oben). So können mehrere Konstruktionsabteilungen an den selben Plänen arbeiten, bzw. viele Pläne von einer Konstruktionsabteilung erstellt werden. Die Beziehung "enthält" zw. "Stücklisten" und "Plan" führt eigene Attribute an, diese werden in der Tabelle "enthält" aufgeführt, die durch die Überführung des ERM in RM entstand.
Normalformen:
Erste Normalform
"Ein Relationstyp (Tabelle) befindet sich in der ersten Normalform (1NF), wenn die Wertebereiche der Attribute des Relationstypen atomar sind."http://www.datenbanken-verstehen.de/datenmodellierung/normalisierung/erste-normalform/ Mein ERM hätte diese 1.NF verletzt, da ich das Attribut "Größe" verwendet habe, aber bei der Überführung in das RM habe ich die Normalformen beachtet und die Größe in "breite, länge, stärke/tiefe, radius" aufgeschlüsselt.
Zweite Normalform
"Ein Relationstyp (Tabelle) befindet sich genau dann in der zweiten Normalform (2NF), wenn er sich in der ersten Normalform (1NF) befindet und jedes Nichtschlüsselattribut von jedem Schlüsselkandidaten voll funktional abhängig ist." Dies wurde beim erstellen des ERM schon beachtet.http://www.datenbanken-verstehen.de/datenmodellierung/normalisierung/zweite-normalform/
Dritte Normalform
"Ein Relationstyp befindet sich genau dann in der dritten Normalform (3NF), wenn er sich in der zweiten Normalform (2NF) befindet und kein Nichtschlüsselattribut transitiv von einem Kandidatenschlüssel abhängt."http://www.datenbanken-verstehen.de/datenmodellierung/normalisierung/dritte-normalform/
Funktionale Abhängigkeit... "Eine Funktionale Abhängigkeit zwischen Attribut Y und Attribut X liegt dann vor, wenn es zu jedem X genau ein Y gibt."http://www.datenbanken-verstehen.de/datenmodellierung/normalisierung/abhaengigkeiten-normalisierung/
Transitive Abhängigkeit... "Eine transitive Abhängigkeit liegt dann vor, wenn Y von X funktional abhängig und Z von Y, so ist Z von X funktional abhängig. Diese Abhängigkeit ist transitiv. Die transitive Abhängigkeit wird mit 3. Normalform (3NF) erreicht."http://www.datenbanken-verstehen.de/datenmodellierung/normalisierung/abhaengigkeiten-normalisierung/
Die Datensätze...
Hier die Abfragen...
Beschreibung der Abfrage Nummer 1
Den derzeitigen Bestand abfragen.
Beschreibung der Abfrage Nummer 2
Alle Daten über Arbeiter deren Vorname mit "N" beginnt.
Beschreibung der Abfrage Nummer 3
selektierte Daten Vorname, Name aus den Tabellen Arbeiter, Prod. Abt. deren Lebensalter zw. 30 und 55 und tätigkeit schweißen ist.
Beschreibung der Abfrage Nummer 4
Alle Daten aus Arbeiter, Prod. Abt. wobei der FS der Prod. ID der Prod. ID entspricht und das Lebensalter zwischen 30
und 60 ist.
Beschreibung der Abfrage Nummer 5
kurz und knackig: alle Zeichnungen (Nummer) der Konstruktionsabteilung 2.
kritische Reflexion zu Modellierung und Umsetzung
Bei dem ersten Modellierungsversuch im ERM entdeckte ich viele Probleme, sodass ich mein Modell bzw. meine Idee einkürzen musste. Zuerst existierte noch die Entität "Einkaufsabteilung", deren Aufgabe es war, Lagerbestände mit den Aufträgen abzugleichen. Dies hätte aber zu einer komplexen Verbindung geführt, die man nicht hätte umsetzen können (In der vorgeb. Zeit).
Weiterhin änderte ich die Entität des "Plan" um, dieser enthielt vor der Umsetzung noch das Attribut "Stückliste", diese hätte aber die 1. und 2. NF verletzt, da die Stückliste selbst mehrere Attribute führen müsste, was die 1.NF verletzt, weiterhin wären die Stücklisten und dessen Attribute nicht direkt Abhängig vom Plan, sodass ich es beim Umsetzen vom ERM ins RM abänderte. Man hätte dies jetzt gut erkennen können (im Vgl. von ERM und RM), doch weitere "Fehler" bei der Überlegung führten dazu, dass ich auch das ERM komplett neu strukturiert habe. Ansonsten wäre das oben genannte im Modell zu erkennen gewesen.
Hinter der Idee die Prod. Mittel über das Lager auszuführen stand der Gedanke, dass es möglicherweise Erweiterungen im Unternehmen gibt, was gerade diesen Bereich betrifft. So würden versch. Produktionsbateilungen Zugang zu anderen Lagern haben, wobei momentan alles in Lager 1 sitzt. Bei einer Erweiterung mit mehreren Lagern würden Natürlich aus der 1:n Beziehung aus Lager und Teile eine n:m Beziehung werden, sollte in den erweiterten Lagern gleiche Teile liegen. Wenn nicht und es getrennt wird nach beispielsweise: Arbeitsschutz-Lager und Produktionsmittel-Lager, können die bestehenden Beziehungen gleich bleiben.
Daneben wäre es von Vorteil gewesen
Noch zu verbessernde Dinge: (-Die Größen der Teile aus Lager und Plan(Stückliste, enthält) könnte man in einer extra Tabelle zusammenfassen) Was nicht direkt notwendig ist in "enthält", da der Plan bestimmte Teile verlangt, mit festen immer versch. Größen. Höchstens das Lager mit Teile könnte man so modifizieren, dass die Größen nicht direkt Abhängig von der T_ID sind, sondern in einer extra angelegten Tabelle gespeichert werden.
Quellen
1. http://www.datenbanken-verstehen.de/datenmodellierung/normalisierung/

