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 2 von 4     12 34      
Benutzerbild von Sir Rufo
Sir Rufo

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

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

  Alt 5. Apr 2013, 14:16
Code:
Select Fahrzeug.* From Fahrzeug, Modell
Where Fahrzeug.Farbei='rot'
and Modell.Bezeichnung='Q7'
Nach Audi brauchste nicht fragen, da ja Q7 automatisch von Audi ist.
Die Abfrage ist aber auch nur solange eindeutig, wie es tatsächlich keine "Q7" Modelle von anderen Marken gibt.
Somit also besser so abfragen
SQL-Code:
SELECT Fahrzeug.*
  FROM Fahrzeug
  JOIN Modell ON Fahrzeug.Modell_ID = Modell.ID
  JOIN Marke ON Modell.Marke_ID = Marke.ID
 WHERE Fahrzeug.Farbe = 'rot'
   AND Marke.Bezeichnung = 'Audi'
   AND Modell.Bezeichnung = 'Q7'
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)

Geändert von Sir Rufo ( 5. Apr 2013 um 14:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

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

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

  Alt 5. Apr 2013, 14:19
Somit also besser so abfragen
SQL-Code:
SELECT Fahrzeug.*
  FROM Fahrzeug, Marke, Modell
 WHERE Fahrzeug.Farbe = 'rot'
   AND Marke.Bezeichnung = 'Audi'
   AND Modell.Bezeichnung = 'Q7'
Möööp, du hast die JOIN-Bedingungen vergessen

bzw. nachträglich reineditiert. So kann man's lassen. Und du bekommst einen virtuellen Keks für die Verwendung von JOIN ON statt alles in das where reinzupacken

Geändert von jfheins ( 5. Apr 2013 um 14:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

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

  Alt 5. Apr 2013, 14:23
Und du bekommst einen virtuellen Keks für die Verwendung von JOIN ON statt alles in das where reinzupacken
Das hab ich gelesen!



Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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
 
#14

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

  Alt 5. Apr 2013, 14:39
Wenn man es noch genauer haben möchte, dann muss man auch noch die Modellvariante berücksichtigen
Code:
Marke
- ID
- Bezeichnung

Modell
- ID
- Marke_ID
- Bezeichnung

Variante
- ID
- Modell_ID
- Bezeichnung
Für die Auswahl des entsprechenden Modells (z.B. in einer ComboBox/ListBox) nimmt man dann folgende Abfrage
SQL-Code:
  SELECT Variante.ID AS ID,
         CONCAT( Marke.Bezeichnung, ' - ', Modell.Bezeichnung, ' (', Variante.Bezeichnung, ')' ) AS Bezeichnung
    FROM Variante
    JOIN Modell ON Variante.Modell_ID = Modell.ID
    JOIN Marke ON Modell.Marke_ID = Marke.ID
ORDER BY Marke.Bezeichnung, Modell.Bezeichnung, Variante.Bezeichnung
Will man für Marke, Modell, Variante jeweils eine ComboBox/ListBox haben, so sehen die Abfragen wie folgt aus (Master-Detail)
Marke:
SQL-Code:
  SELECT ID, Bezeichnung
    FROM Marke
ORDER BY Bezeichnung
Modell (Detail von Marke):
SQL-Code:
  SELECT ID, Bezeichnung
    FROM Modell
   WHERE Marke_ID = :ID
ORDER BY Bezeichnung
Variante (Detail von Modell):
SQL-Code:
  SELECT ID, Bezeichnung
    FROM Variante
   WHERE Modell_ID = :ID
ORDER BY Bezeichnung
Gespeichert wird aber immer nur die Varianten-ID, die anderen (Marke,Modell) sind nur für die Eingrenzung von Modell und 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
AlexII

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

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

  Alt 5. Apr 2013, 16:05
Hab jetzt folgendes Diagramm, siehe Anhang...

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 p80286
p80286

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

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

  Alt 5. Apr 2013, 16:18
Wenn Du nur die Marke angibst, z.B. 'Audi' dann erhälst Du als Ergebnis alle Audi-Modelle in allen Farben, Motorvarianten, ......

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

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

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

  Alt 5. Apr 2013, 16:18
Wo ist denn die Beziehung zwischen Fahrzeug und Variante?
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
 
#18

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

  Alt 5. Apr 2013, 16:20
Wo ist denn die Beziehung zwischen Fahrzeug und Variante?
Siehe mein Screenshot
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

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

  Alt 5. Apr 2013, 16:24
Wo ist denn die Beziehung zwischen Fahrzeug und Variante?
Siehe mein Screenshot
Da ist aber nichts! der Fremdschlüssel für die Verbindung Fahrzeug => Variante fehlt.

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
 
#20

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

  Alt 5. Apr 2013, 16:27
Sorry, hab' übersehen...
Miniaturansicht angehängter Grafiken
fmm2.png  
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 17: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