Informatikkaufmann.dev Geschrieben 26. März 2020 Geschrieben 26. März 2020 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 Zitieren
Whiz-zarD Geschrieben 27. März 2020 Geschrieben 27. März 2020 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? Zitieren
Informatikkaufmann.dev Geschrieben 27. März 2020 Autor Geschrieben 27. März 2020 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. Zitieren
Visar Geschrieben 28. März 2020 Geschrieben 28. März 2020 (bearbeitet) 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 28. März 2020 von Visar Zitieren
Informatikkaufmann.dev Geschrieben 28. März 2020 Autor Geschrieben 28. März 2020 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... Zitieren
Visar Geschrieben 29. März 2020 Geschrieben 29. März 2020 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 Zitieren
MartinSt Geschrieben 29. März 2020 Geschrieben 29. März 2020 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. Zitieren
Informatikkaufmann.dev Geschrieben 29. März 2020 Autor Geschrieben 29. März 2020 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 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! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.