Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-de-allgemein by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group