Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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?

 

  • Autor

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.

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

  • Autor
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...

 

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

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.

  • Autor
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! 

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.