AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DB Modell für Fahrzeug, Marke, Modell?
Thema durchsuchen
Ansicht
Themen-Optionen

DB Modell für Fahrzeug, Marke, Modell?

Ein Thema von AlexII · begonnen am 5. Apr 2013 · letzter Beitrag vom 5. Apr 2013
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 16:34
So, das Grundgerüst (aus dem man auch eine View basteln könnte) für eine Abfrage über alle Tabellen sollte etwa so aussehen:
SQL-Code:
SELECT
  H.Bezeichnung as Hersteller,
  M.Bezeichnung as Modell,
  V.Bezeichnung as Variante,
  F.Bezeichnung as Fahrzeug
FROM
  marke H
  JOIN
    modell M ON M.marke_id = H.id
  JOIN
    variante V ON V.modell_id = M.id
  JOIN
    fahrzeug F ON f.variante_id = V.id
Das kann man dann auch noch filtern (WHERE-Bedingung), z.B. auf alle Audi beschränken:
SQL-Code:
SELECT
  H.Bezeichnung as Hersteller,
  M.Bezeichnung as Modell,
  V.Bezeichnung as Variante,
  F.Bezeichnung as Fahrzeug
FROM
  marke H
  JOIN
    modell M ON M.marke_id = H.id
  JOIN
    variante V ON V.modell_id = M.id
  JOIN
    fahrzeug F ON f.variante_id = V.id
WHERE
  H.Bezeichnung = 'Audi'
Will man weiter eingrenzen, muss nur die WHERE-Klausel erweitert werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#22

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 16:39
Danke dir, aber ich hab den DB-Entwurf noch nicht fertig.
Siehe Post #15 und #20
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#23

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 16:58
Und wo ist jetzt das Problem?

Das Schema ist doch fertig ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#24

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 17:06
Es gibt doch so visuelle Tools, da mußt Du nur richtig zeichnen und schon hast Du eine DB.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#25

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 17:10
Und wo ist jetzt das Problem?

Das Schema ist doch fertig ...
Mein Problem ist: Was passiert wenn ich kein Modell oder Variante eingebe, dann kracht doch die ganze Beziehung zusammen, oder? Ich gebe die Marke an und fertig, wie kommt die Beziehung zustande wenn dazwischen Modell oder Variante fehlt?
Miniaturansicht angehängter Grafiken
fmm2.png  
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#26

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 17:13
Überlegen wir mal ...

du willst zu dem Fahrzeug die genaue Modellbezeichnung (die besteht nun mal aus der Marke, dem Modell, der Variante) ...

dann geht das einfach nicht zu speichern, weil du nicht alle Informationen hast.

Das ist wie mit dem Geburtsdatum, wenn ich nur den Tag habe, kann ich das auch nicht als Datum speichern.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#27

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 17:39
Man könnte dafür eine "Unbekannt"-Variante und ein "Unbekannt"-Modell einführen

Also quasi bei einem solchen Eintrag eine neue Variante und ein neues Modell anlegen. Das sollte dann vielleicht noch ein Flag bekommen damit man "richtige" von "falschen" Modellen unterschieden kann.

Geändert von jfheins ( 5. Apr 2013 um 17:41 Uhr)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#28

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 17:46
Ich muss aber aus bestimmten Gründen das ganze so gestalten, dass die Marke, das Modell oder die Variante nicht eingegeben werden müssen. Ich weiß kling unrealistisch, muss aber so sein... der Kunde ist König wie man so schön sagt.

Oder kann ich einfach die Fremdschlüssel auf nil setzen und gut ist es?
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#29

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 17:51
Dann musst du dir eben alle drei Schlüssel in dem Datensatz merken.
Marke, Modell, Variante
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#30

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 17:53
Entweder fügst Du je Marke ein "Unbekannt"-Modell, dann je Modell eine "Unbekannt"-Variante ein und weist die dann je nach Informationsgehalt zu, oder die machst den Fremdschlüssel auf die Variante nullable und weist dem Fahrzeug dann NULL als variante_id zu.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz