Stoney: Konflikttabelle

Hi,

Ich plane gerade den DB-Aufbau von einem Urlaubsplaner.
Dieser Urlaubsplaner beinhaltet ein Konfliktmanagment zwischen einzelnen Personen, die nicht zur selben Zeit Urlaub haben dürfen.
Und genau da fangen meine Überlegungen zu schwanken an.
db_person ist klar.

db_personen:

id name
1  kall
2  ulli
3  timy
4  jimy

folgendes personen dürfen nie zusammen urlaub nehmen:
kall + ulli
timy + jimy

Es gibt nämlich zwei möglichkeiten:

db_konlifkt_v1:

gruppe person(en)
1      1
1      2
2      3
2      4

//beim anlegen ob eine person nun darf oder nicht wird zunächst
SELECT gruppe ... WHERE person='$person'
ausgeführt und dann in einer schleife (falls eine person in mehreren gruppen) üperprüft welche personen konfliktpersonen sind.

db_konflikt_v2:
person kperson(en)
1      2
2      1
3      4
4      3

//Es wird für jede einzelne Person eine oder mehrere Konlfikt-Personen angelegt. Eine Abfrage wäre dann sehr einfach:
SELECT kperson(en) ... WHERE person='$person'
und fertig.

Welche vor und nachteile erkennt ihr?
Welche methoden gibt es noch?

Stoney

  1. Hi,

    folgendes personen dürfen nie zusammen urlaub nehmen:
    kall + ulli
    timy + jimy

    Person A und Person B dürfen also nie zusammen Urlaub machen.

    Es gibt nämlich zwei möglichkeiten:

    Nein, eigentlich nur eine:

    db_konflikt_v0:
    personA personB
    1       2
    3       4

    Wobei ich das "db_" am Anfang des Tabellennamens nicht verstehe, aber nun ja.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. db_konflikt_v0:
      personA personB
      1       2
      3       4

      Ich hab mich jetzt schon für die "Gruppen-Technik" entschieden.
      Denn diese sind einfacher zu verwalten und so können mehrere Personen in eine Gruppe.
      bei den Beispiel db_konflikt_v0 können jeweils immer nur 2 Personen Konflikten, wenn ich das jetzt mal so nennen darf.

      Wobei ich das "db_" am Anfang des Tabellennamens nicht verstehe, aber nun ja.

      Stimmt; wenn überhaupt dann tbl_ ... ist ja wurscht

      1. Hi,

        Ich hab mich jetzt schon für die "Gruppen-Technik" entschieden.
        Denn diese sind einfacher zu verwalten und so können mehrere Personen in eine Gruppe.

        mit welcher Konsequenz? Dass keine zwei aus der Gruppe gemeinsam in Urlaub dürfen, oder dass immer einer verfügbar sein muss?

        Wobei ich das "db_" am Anfang des Tabellennamens nicht verstehe, aber nun ja.
        Stimmt; wenn überhaupt dann tbl_ ... ist ja wurscht

        Warum willst Du Tabellen, die per se eindeutig als Tabellen identifizierbar sind, als Tabellen kennzeichnen, Name_Stoney?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi,

          mit welcher Konsequenz? Dass keine zwei aus der Gruppe gemeinsam in Urlaub dürfen, oder dass immer einer verfügbar sein muss?

          je nach dem ersteres, aber prinzipiel zweiteres, aber wenn ich genau überlege keines von beiden...

          Warum willst Du Tabellen, die per se eindeutig als Tabellen identifizierbar sind, als Tabellen kennzeichnen, Name_Stoney?

          Ist doch egal jetzt :), das war nur zur optischen zwecken gedacht (für das Posting hier)

          1. Hi,

            mit welcher Konsequenz? Dass keine zwei aus der Gruppe gemeinsam in Urlaub dürfen, oder dass immer einer verfügbar sein muss?
            je nach dem ersteres, aber prinzipiel zweiteres, aber wenn ich genau überlege keines von beiden...

            öh? Hm ... Also, wenn Du eine Abbildung der Realität (aka "DB-Layout") erzeugen willst, solltest Du zunächst einmal wissen, wie diese Realität aussehen soll :-)

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes