Tabellenverbunde oder besser Views?
am 25.09.2008 13:21:24 von Christian WeertsMoin,
ich suche den einfachsten Weg einen Tabellenverbund richtig zu lösen.
Folgende Situation:
Ich habe 3 Tabellen
-touren
-personendaten
-lieferanten
In der Tabelle touren werden in den entsprechenden Felder die
integer-Werte persondendaten.pers_id und lieferanten.lieferant_id
gespeichert. Somit brauche ich in touren nicht 500+x mal den Vornamen
usw. zu speichern. So weit so gut. Die Tabellenbeschreibungen habe ich
unten angehangen.
Nun möchte (muß) ich aber am Bildschirm jede einzelne gespeicherte
Tour wieder mit einem Namen verbinden. Bei einem Verbund (touren +
personendaten) ist es ja noch relativ einfach und übersichtlich:
SELECT personendaten.name, personendaten.vorname
FROM personendaten, touren
WHERE touren.fahrer =3D persondendaten.pers_id and
touren.datum >=3D '2008-09-01' and
touren.datum <=3D '2008-09-30'
Aber wie stelle ich das am geschicktesten für
touren+personendaten+lieferanten an ohne das es unübersichtlich wird?
Ich habe es schon mit aliasen probiert aber das schien mir auch nicht
gerade lesbarer :(.
Ist es vielleicht Sinnvoll einen View zu erstellen? Da ich die
Ausgabetabelle am Bildschirm mit Daten für einen Monat füllen möcht=
e,
müsste ich 12 Views generieren (lassen). Ist das so die "richtige -
saubere" Vorgehensweise?
Gruß,
Christian
Tabelle touren:
Spalte | Typ |
-----------+------------------------+
tour_id | integer |
lieferant | integer |
fahrer | integer |
beifahrer | integer |
datum | date |
menge | numeric(4,0) |
kuehlung | boolean |
notiz | character varying(255) |
produkte | integer |
tourname | integer
Tabelle personendaten:
Spalte | Typ |
---------------+------------------------+-
pers_id | integer |
name | character varying |
vorname | character varying |
adresse | character varying |
plz | numeric(5,0) |
ort | character varying |
telefon | character varying |
fax | character varying |
email | character varying |
belehrung | boolean |
aktiv | boolean |
eintritt | date |
geburtstag | date |
notiz | character varying(255) |
gruppe | character varying |
gruppenleiter | boolean |
aussenstelle | character varying |
anrede | character varying |
fahrer | boolean
Tabelle lieferanten
Spalte | Typ |
-----------------+------------------------+
lieferant_id | integer |
firma | character varying |
ort | character varying |
ansprechpartner | character varying |
telefon | character varying |
anspr_rechnung | character varying |
notiz | character varying(255) |
fax | character varying |
--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein