Tabellenverbunde oder besser Views?

From: Christian Weerts <weerts(at)friesoyther-wasseracht(dot)de>
To: ML pgsql-de-allgemein <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Tabellenverbunde oder besser Views?
Date: 2008-09-25 11:21:24
Message-ID: 48DB7434.30004@friesoyther-wasseracht.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Moin,

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 = persondendaten.pers_id and
touren.datum >= '2008-09-01' and
touren.datum <= '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öchte,
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 |

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Andreas Kretschmer 2008-09-25 11:28:14 Re: Tabellenverbunde oder besser Views?
Previous Message Albe Laurenz 2008-09-25 08:06:10 Re: XML-Schema in PostgreSQL-DB konvertieren