Jump to content

Relationales Datenbank Schema (Informatikkaufmann GA1)

Empfohlene Beiträge

Folgende Aufgabe ist gegeben:

GPS-Daten werden minütlich in einer CSV-Datei zwischengespeichert und sollen in DB eingespielt werden. Sinn der Daten ist es, für jedes Fahrzeug eindeutig bestimmen zu können, zu welchem Zeitpunkt es sich an welchem geografischen Ort befunden hat. 

Aufbau der CSV-Datei:

FahrzeugId Autobeschreibung Datum Uhrzeit Breitengrad Längengrad
1 VW Bla, Kleintransporter, 233 Kg Zuladung 02.02.2020 19:10 53,12 47,13
2 Mercedes Bla, Großtransporter, 1000 Kg Zuladung 02.02.2020 19:10 59,12 17,5
3 Fantasie Modell, Kleintransporter, 530 Kg Zuladung 02.02.2020 19:10 99,9 47,36
2 Mercedes Bla, Großtransporter, 1000 Kg Zuladung 02.02.2020 19:11 59,14 17,6

 

Meine Lösung befindet sich im Anhang.

Was haltet ihr davon?

 

Ich freue mich über Antworten!

 

Lieben Gruß

Peter :)

 

 

Relation.png

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Sieht doch erst mal nicht schlecht aus. :)

Der Tabelle Fahrzeugposition würde ich aber noch einen Primärschlüssel geben und ich hätte da noch zwei Fragen:

  • Was verbirgt sich hinter Fahrzeug.Bezeichnung und FahrzeugTyp.Bezeichnung?
  • Kann es den gleichen FahrzeugTyp mit unterschiedlichen Zuladungen geben?

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo @Whiz-zarD vielen Dank für deine Antwort!

Fahrzeugposition: Laut der Aussage unseres BS-Lehrers benötigt es kein Primärschlüssel für solche Relationen (d.h. Tabellen), die eine Beziehung zwischen Entitäten abbilden (z.B. n:m-Beziehungen oder n : m : k-Beziehungen), da die Fremdschlüssel zusammengenommen einen geeigneten Schlüsselkandidaten liefern.

Fahrzeug.Bezeichnung = siehe CSV-Datei, Spalte Autobeschreibung, erster Wert der Liste (bspw. Mercedes Bla)

FahrzeugTyp.Bezeichnung = siehe CSV-Datei, Spalte Autobeschreibung, zweiter Wert der Liste (bspw. Kleintransporter)

 

Kann es den gleichen FahrzeugTyp mit unterschiedlichen Zuladungen geben?

In der Prüfungsaufgabe ist die CSV-Datei vorgegeben. Diese enthält:

  • FahrzeugId = 1 ; Autobeschreibung = VW Bla, Kleintransporter, 233 Kg Zuladung
  • FahrzeugId = 3 ; Autobeschreibung = Fantasie Modell, Kleintransporter, 530 Kg Zuladung

Fahrzeuge des Fahrzeugtyps Kleintransporter gibt es also mit unterschiedlichen Zuladungen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Als Anwendungsentwickler denke ich einmal laut nach:

Was spräche dafür und/oder dagegen, Datum und Uhrzeit in eigene Tabellen auszulagern?

Wenn Benutzer A einen "Fantasie Modell" angibt und Benutzer B sich verschreibt und einen "Fantasiemodell" einträgt, kann das zu Problemen führen? Eigentlich ist dasselbe Modell gemeint, das eine würdest bei der Auswertung aber nicht erfassen können. Wäre eine separate Tabelle für das Halten der Fahrzeugmodelle mitsamt Unique Key vielleicht denkbar oder sogar sinnvoll? Bedenken wir dabei auch, dass im Unternehmen 3000 "VW Bla" im Einsatz sein könnten - und dass du den Fahrzeugtyp (z.B. "Kleintransporter") auch separat vorhältst.

bearbeitet von Visar

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 6 Stunden schrieb Visar:

Als Anwendungsentwickler denke ich einmal laut nach:

Was spräche dafür und/oder dagegen, Datum und Uhrzeit in eigene Tabellen auszulagern?

Wenn Benutzer A einen "Fantasie Modell" angibt und Benutzer B sich verschreibt und einen "Fantasiemodell" einträgt, kann das zu Problemen führen? Eigentlich ist dasselbe Modell gemeint, das eine würdest bei der Auswertung aber nicht erfassen können. Wäre eine separate Tabelle für das Halten der Fahrzeugmodelle mitsamt Unique Key vielleicht denkbar oder sogar sinnvoll? Bedenken wir dabei auch, dass im Unternehmen 3000 "VW Bla" im Einsatz sein könnten - und dass du den Fahrzeugtyp (z.B. "Kleintransporter") auch separat vorhältst.

Danke für deine Antwort. Ich weiß deine Zeilen bzw. Mühe zu schätzen, jedoch ist deine Antwort im Kontext der IHK Prüfungsaufgabe nicht wirklich hilfreich. Bitte nicht falsch verstehen! Ich möchte eigentlich wissen, ob sie eurer Meinung nach, nach IHK Maßstäben, richtig beantwortet ist bzw. ob sie die volle Punktzahl bekäme. Was ich damit sagen möchte ist, dass man bei IHK Prüfungsaufgaben stumpf die Anweisungen befolgen muss, eigenes Denken bzw. Denken "über den Tellerrand hinaus" ist nie erforderlich, meist sogar nachteilig. Wen du verstehst was ich meine...

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Das hat wenig mit Tellerrand zu tun.

Für gewöhnlich möchte die IHK bei Aufgaben zum Datenbankmodell nicht viel mehr als 3NF sehen. Und nach meiner Auffassung müsste (wenn wir Datum/Uhrzeit einmal ignorieren) das Fahrzeugmodell (z.B. "Fantasiemodell") dafür genauso in einer eigenen Tabelle stehen wie der FahrzeugTyp. Ansonsten wird eine vermeidbare Datenredundanz billigend in Kauf genommen.

Einmal in https://dbdiagram.io ausgedrückt:

// fachinformatiker.de/topic/164360-relationales-datenbank-schema-informatikkaufmann-ga1/

Table Fahrzeug {
  FahrzeugId int [pk]
  FahrzeugModellId int
  Zuladung varchar
  FahrzeugTypId int
}

Table FahrzeugModell {
  FahrzeugModellId int [pk]
  Bezeichnung varchar
}

Ref: Fahrzeug.FahrzeugModellId > FahrzeugModell.FahrzeugModellId

Table FahrzeugTyp {
  FahrzeugTypId int
  Bezeichnung varchar
}

Ref: Fahrzeug.FahrzeugTypId > FahrzeugTyp.FahrzeugTypId

Table Fahrzeugposition {
  Datum varchar
  Uhrzeit varchar
  FahrzeugId int [ref: > Fahrzeug.FahrzeugId]
  GeografischerOrtId int
}

Table GeografischerOrt {
  GeografischerOrtId int [pk]
  Laengengrad varchar
  Breitengrad varchar
}

Ref: Fahrzeugposition.GeografischerOrtId > GeografischerOrt.GeografischerOrtId

164360.thumb.PNG.91cf3e4cdc6a3689317bf7735adb403a.PNG

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 9 Stunden schrieb Informatikkaufmann.dev:

jedoch ist deine Antwort im Kontext der IHK Prüfungsaufgabe nicht wirklich hilfreich

Wenn du Wert auf diesen Kontaxt legst, dann schreib es ran.

 

Am 26.3.2020 um 21:10 schrieb Informatikkaufmann.dev:

Folgende Aufgabe ist gegeben:

Damit hast du eine Frage völlig losgelöst vom IHK Prüfungskontext gestellt und bekommst kontextfreie Antworten. Und wenn dir Leute mit viel Praxiserfahrung im DB Umfeld antworten, dann schadet es auch nicht, das Wissen zu nutzen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 6 Stunden schrieb Visar:

Das hat wenig mit Tellerrand zu tun.

Für gewöhnlich möchte die IHK bei Aufgaben zum Datenbankmodell nicht viel mehr als 3NF sehen. Und nach meiner Auffassung müsste (wenn wir Datum/Uhrzeit einmal ignorieren) das Fahrzeugmodell (z.B. "Fantasiemodell") dafür genauso in einer eigenen Tabelle stehen wie der FahrzeugTyp. Ansonsten wird eine vermeidbare Datenredundanz billigend in Kauf genommen.

Einmal in https://dbdiagram.io ausgedrückt:


// fachinformatiker.de/topic/164360-relationales-datenbank-schema-informatikkaufmann-ga1/

Table Fahrzeug {
  FahrzeugId int [pk]
  FahrzeugModellId int
  Zuladung varchar
  FahrzeugTypId int
}

Table FahrzeugModell {
  FahrzeugModellId int [pk]
  Bezeichnung varchar
}

Ref: Fahrzeug.FahrzeugModellId > FahrzeugModell.FahrzeugModellId

Table FahrzeugTyp {
  FahrzeugTypId int
  Bezeichnung varchar
}

Ref: Fahrzeug.FahrzeugTypId > FahrzeugTyp.FahrzeugTypId

Table Fahrzeugposition {
  Datum varchar
  Uhrzeit varchar
  FahrzeugId int [ref: > Fahrzeug.FahrzeugId]
  GeografischerOrtId int
}

Table GeografischerOrt {
  GeografischerOrtId int [pk]
  Laengengrad varchar
  Breitengrad varchar
}

Ref: Fahrzeugposition.GeografischerOrtId > GeografischerOrt.GeografischerOrtId

164360.thumb.PNG.91cf3e4cdc6a3689317bf7735adb403a.PNG

Vielen Dank für deine Antwort insb. für die Visualisierung! 

 

vor 34 Minuten schrieb MartinSt:

Wenn du Wert auf diesen Kontaxt legst, dann schreib es ran.

 

Damit hast du eine Frage völlig losgelöst vom IHK Prüfungskontext gestellt und bekommst kontextfreie Antworten. Und wenn dir Leute mit viel Praxiserfahrung im DB Umfeld antworten, dann schadet es auch nicht, das Wissen zu nutzen.

Ja, entschuldige bitte, dass ich vergessen habe, das gewünschte Ziel meines Beitrags zu erläutern. Für Praxiswissen bin ich natürlich sehr dankbar! 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Nimm an der Diskussion teil

Du kannst jetzt hier posten und Dich später registrieren. Wenn Du bereits über eine Konto verfügst, melde Dich jetzt an, um mit Deinem Konto zu posten.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung