Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Systematisches Vorgehen zur Modellierung einer Datenbank

Ein gutes Datenbankdesign ist Pflicht! Doch wie geht man an die Datenmodellierung heran?
Hier treffen Datenbankdesign und Datenmodellierung aufeinander...

Systematisches Vorgehen zur Modellierung einer Datenbank

Beitragvon Jimmy1104 » So 14. Aug 2016, 17:06

Hallo,

mein Dozent hat uns damals in der Vorlesung leider nur rudimentäre Kenntnisse vermittelt. Da Datenbanken für mich wieder relevant geworden sind, würde ich mich über eure Hilfe freuen!

Zwei Fragen zu Beginn: In welchem Zusammenhang stehen das Entity-Relationship-Modell und die Normalisierung? In welcher Reihenfolge und mit welchem Ziel verwende ich sie?

Schritt 1: Identifikation der zu erfassenden Informationen

- Ware (Bezeichnung)
- Transportmenge (warenspezifisch)
- Fertigungslinie
- Anlieferpunkt
- Lagerkapazität (abhängig von Ware und Anlieferpunkt)
- Taktzeit (abhängig von Ware und Fertigungslinie)

Schritt 2: Normalisierung der Daten

siehe Anhang (Word oder PDF)

...

Ich komme im Augenblick nicht wirklich weiter. Im Internet finde ich immer nur allgemeine Definitionen und stets dasselbe Beispiel.

Vielen Dank schonmal und beste Grüße

Jimmy
Dateianhänge
Datenbank_Entwurf.pdf
(254.79 KiB) 143-mal heruntergeladen
Datenbank_Entwurf.docx
(13.69 KiB) 128-mal heruntergeladen
Jimmy1104
 
Beiträge: 5
Registriert: So 14. Aug 2016, 15:59

Re: Systematisches Vorgehen zur Modellierung einer Datenbank

Beitragvon SQLUnion » Di 16. Aug 2016, 16:34

Hi Jimmy,

willkommen im Forum!
Nun zu deinen Fragen ;)

Antwort: Frage zum Entity-Relationship-Modell
Ein Entity-Relationship-Modell dient dazu komplexe Sachverhalte in einer einfachen Form grafisch abzubilden. Mit einem Entity-Relationship-Modell schneidest Du einen Sachverhalt aus einem Gebilde von komplexen Sachverhalten heraus. Es dient damit sozusagen zur Abstraktion, damit Du dich auf ein Thema konzentrieren kannst.

Antwort: Frage zur Normalisierung
Wenn Du die konzeptionelle (Entity-Relationship-Modell) und logische Schicht einer Datenbank aufgebaut bzw. grafisch modelliert hast, musst Du ja auch die physische Schicht aufbauen, da greift dann das Thema der Normalisierung. Für eine Normalisierung sind immer ein paar Datensätze nötig, damit man damit herumspielen kann. Wie weit normalisiert werden muss, hängt meistens vom Ziel ab. Normalerweise reicht die 3. Normalform aus. Sie gibt dir genügend Performance bei SQL-Abfragen und liefert dir ein sauberes und logisches Modell in einem relationalen Datenbankmodell.

Woran hapert es denn gerade?

Gruß,
SQLUnion
SQLUnion
 
Beiträge: 155
Registriert: Fr 1. Nov 2013, 15:54

Re: Systematisches Vorgehen zur Modellierung einer Datenbank

Beitragvon Jimmy1104 » Mi 17. Aug 2016, 13:52

Ok, demnach erstelle ich zuerst ein Entity-Relationsship Modell, übertrage dieses in Tabellenform und wende dann die ersten 3 Normalformen an. Ist meine angehängte Lösung aus meinem ersten Post korrekt?

Während ich mit dem Thema beschäftigt habe, sind noch zwei weitere Fragen aufgetaucht. Ich betrachte ein Menge von verschiedenen Waren:

Jeder Ware können mehrere Anlieferpunkte zugeordnet sein.
Jedem Anlieferpunkt können mehrere Waren zugeordnet werden.
Ein Anlieferpunkt kann über mehrere Stellplätze verfügen.
Ein Stellplatz muss genau einem Anlieferpunkt zugeordnet sein.

Zwischen Ware und Anlieferpunkt besteht eine m:n-Beziehung, die ich in zwei 1:n-Beziehungen auflöse. Es ergibt sich:
Ware - n:1 - Transportauftrag - 1:n - Anlieferpunkt

1) Was ist eine Kardinalität und wie formuliere ich richtig? Das Relationsschema Ware hat die Kardinalität 1, und das Relationsschema Transportauftrag die Kardinalität n. Zwischen Ware und Transportauftrag besteht eine n:1 Kardinalität?

Jede Ware muss einem Transportauftrag zugeordnet sein. Zu der Kardinalität 1 gehört die Optionalität muss. Ich kann daher aus den drei Relationsschemata Ware, gehört_zu und Transportauftrag zwei Tabellen bilden:

a) IDWare | Bezeichnung | Transportauftrag
b) IDTransportauftrag | ...

Die Relationsschemata Anlieferpunkt und Stellplatz würde ich ebenso in zwei Tabellen überführen:

a) IDStellplatz | Anlieferpunkt | Anzahl lagerbarer Kisten | ...
b) Anlieferpunkt | Fertigungslinie

2) Ich möchte gerne folgende Richtung abfragen: Ware -> Anlieferpunkt -> Stellplätze. Die genannte Tabellenstruktur bricht jedoch bei Anlieferpunkt ab. Diesem wird in Tabelle b kein Stellplatz zugeordnet. Können Datenbanken über Fremdschlüssel nun auch die Stellplätze auslesen oder muss ich die Tabellenstruktur anders aufbauen?
_____

Neue Überlegung:
Ein Erzeugnis wird immer aus mehreren Materialien gefertigt.
Ein Material kann in mehreren Erzeugnissen verbaut werden.

Beziehung m:n wird aufgelöst in zwei 1:n Beziehung:
Erzeugnis -n:1- Fertigung -1:n-Material
In Tabellenform sähe dies aus wie folgt:

a) IDErzeugnis | Bezeichnung | ...
b) IDErzeugnis | IDMaterial
c) IDMaterial | Bezeichnung | Verpackung | ...

3) Ist meine Tabellenform korrekt? Benötige ich Tabelle b bestehend aus zwei Primärschlüsseln, die aber sonst keinerlei weitere Daten enthält oder lässt sich das geschickter lösen?

Grüße
Jimmy1104
 
Beiträge: 5
Registriert: So 14. Aug 2016, 15:59

Re: Systematisches Vorgehen zur Modellierung einer Datenbank

Beitragvon RainerH » So 21. Aug 2016, 16:08

Hi Jimmy,

Ok, demnach erstelle ich zuerst ein Entity-Relationsship Modell, übertrage dieses in Tabellenform und wende dann die ersten 3 Normalformen an. Ist meine angehängte Lösung aus meinem ersten Post korrekt?

Ja, erst das ER-Modell und dann die Normalisierung.
Ist meine angehängte Lösung aus meinem ersten Post korrekt?

Wo ist denn deine Lösung? Im PDF bzw. Word-Dokument haben die 1. NF und 2. NF die gleiche Struktur.

Kleiner Tipp: Zeichne zu Beginn das ER-Modell, dann ist es nicht nur für dich leichter, sondern auch für die anderen Leser des Forums...
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 221
Registriert: Fr 1. Nov 2013, 17:58

Re: Systematisches Vorgehen zur Modellierung einer Datenbank

Beitragvon Jimmy1104 » Mo 22. Aug 2016, 09:49

Hey ;) ,

ich habe einmal ein Entity-Relationsship Diagramm entworfen (siehe Anhang). Könntet ihr bitte kontrollieren, ob es korrekt erstellt und schlüssig aufgebaut ist? Gegenüber den Vorposts habe ich einige Attribute gestrichen/aufgenommen. Das ist mein erstes ER Diagramm in der Form - das Wissen über Beziehungstypen usw. lese ich mir gerade parallel an. Ich bin offen für Rückfragen, falls meine Nomenklatur fehlerhaft oder unklar sein sollte.

Mit den Beziehungen der Entity Lagerkapazität bin ich mir aktuell am unsichersten. Ich bitte euch, hier besonders zu prüfen. Zum Verständnis erläutere ich die Situation an einem Beispiel:

Angenommen das Material Schrauben wird in "kleine Kisten" verpackt, mit jeweils 100 Stk Fassungsvermögen. Die Lagerkapazität der Haltestelle (bzw. des Anlieferpunkts) hängt nun davon ab, wieviele Lagerplätze dort für "kleine Kisten" vorhanden sind und welche Stapelhöhe möglich ist.
Die Haltestelle A verfügt über 4 Lagerplätze. Auf zwei Lagerplätzen können "kleine Kisten" mit einer Stapelhöhe von 4 gelagert werden. Die Lagerkapazität der Haltestelle A beträgt folglich: Lagerplätze für kleine Kisten an Haltestelle A x Stapelhöhe x Fassungsvermögen für Schrauben in kleinen Kisten: 2 x 4 x 100 Stk = 800 Stk Lagerkapazität

Grüße

Jimmy
Dateianhänge
Entity-Relationship-Modell_Entwurf.pdf
(168.48 KiB) 138-mal heruntergeladen
Jimmy1104
 
Beiträge: 5
Registriert: So 14. Aug 2016, 15:59

Re: Systematisches Vorgehen zur Modellierung einer Datenbank

Beitragvon SQLUnion » Di 23. Aug 2016, 18:44

Hi Jimmy,

das sieht doch für den ersten Schritt ganz gut aus.

Ein paar Fragen hätte ich aber:

Warum hat keine Tabelle eine Id, sondern immer Namen? (Idee: SQL Joins über Zahlen gehen immer schneller als über Texte)
Die Notationssysmbole erinnern mich stark an Oracle (Krakenklaue oder Dreizack)? Nutze die Chen-Notation für die grobe Abstraktion.
Danach dann das physische Modell mit Attributen und Datentypen.

Leider konnte ich dein Modell nur kurz überfliegen - ich könnte mir am WE aber ein bisschen Zeit einplanen und würde mal ein Gegenmodell aufbauen...

Gruß,
SQLUnion
SQLUnion
 
Beiträge: 155
Registriert: Fr 1. Nov 2013, 15:54

Re: Systematisches Vorgehen zur Modellierung einer Datenbank

Beitragvon Jimmy1104 » Mi 24. Aug 2016, 17:06

Ich habe zunächst keine zusätzlichen IDs vergeben, weil mit den Eigenschaften für den Anwender mehr anzufangen ist. Deshalb wollte ich zunächst prüfen, wo eventuell auf IDs verzichtet werden kann. Jede zusätzliche ID trägt zur Abstraktion bei und mein Arbeitsumfeld steht Datenbanken ohnehin ablehnend gegenüber, weil sie zu "komplex" seien. Dort wird Excel in 95% der Fälle vorgezogen.

Ich orientiere mich aktuell an dem Buch "Grundkurs Datenbankentwurf - Eine beispielorientierte Einführung für Studenten und Praktiker" von Helmut Jarosch. Dieser verwendet die Information Engineering Notation. Ich kann meinen Entwurf gerne in die Chen-Notation überführen; allerdings muss ich mir diese vorher nochmal anschauen. Ich versuche bis spätestens Freitag ein Update hochzuladen.

Wenn du ein Gegenmodell aufbauen könntest, wäre das natürlich klasse!

Grüße

Jimmy
Jimmy1104
 
Beiträge: 5
Registriert: So 14. Aug 2016, 15:59

Re: Systematisches Vorgehen zur Modellierung einer Datenbank

Beitragvon Mike91 » Di 30. Aug 2016, 09:04

Hi Jimmy,

ich will nur mal reinhorchen - wofür baust Du diese Datenbank? Uni oder Arbeit?
Finde den Thread sehr spannend...

Gruß,
Mike
Mike91
 
Beiträge: 45
Registriert: So 3. Nov 2013, 10:32

Re: Systematisches Vorgehen zur Modellierung einer Datenbank

Beitragvon Jimmy1104 » Mi 31. Aug 2016, 09:16

@ SQLUnion Leider kann ich noch keine PMs versenden, da ich mich erst vor kurzem registriert habe. - Ja, passt. Teilfragen sind allerdings schwierig, weil das ER Diagramm im Prinzip bereits eine Teilfrage ist und nur in seiner Gesamtheit Sinn ergibt.

@Mike Ich baue sie für meinen Arbeitsplatz, allerdings optional und mit dem Ziel den Zugang zu dem Thema Datenbanken zu erlangen. (So gesehen hat es also auch Studiumscharakter) Ich bin aktuell noch Student.
Jimmy1104
 
Beiträge: 5
Registriert: So 14. Aug 2016, 15:59


Zurück zu Datenbankdesign und Datenmodellierung

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron
  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: