PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zusammenhängende Mysql Tabellen


larsibaby
03.04.2008, 15:41:28
Hallo erstmal,

ich könnte mal ganz gut einen denkanstoß gebrauchen denn im moment weiss ich nicht mehr weiter.
Warum auch immer.

Also folgendes Problem beschäftigt mich.

Ich habe 3 Tabellen (MySQL)
1. projekte
2. uprojekte
3. aufgaben

Tabellen sind folgendermaßen aufgebaut:
Projekte:
ID - name - nummer - beschreibung - start - ende - leiter - zeitstempel - angelegt_von - std_soll - std_ist - auftraggeber - status
Die Projekt - nummer ist unique

UProjekte:
ID - name - nummer - prj_nummer - start - ende - leiter - zeitstempel - angelegt_von - std_soll - std_ist - status
prj_nummer ist die Nummer vom Projekt

Aufgaben
ID - name - nummer - uprj_nummer - start - ende - leiter - zeitstempel - angelegt_von - std_soll - std_ist - status
uprj_nummer ist die nummer vom Uprojekt

Es wird nun ein Projekt angelegt, zu diesem wird ein Uprojekt angelegt oder auch mehrere und zu jedem Uprojekt können beliebig viele aufgaben hinzugefügt werden.
So in etwa habe ich es mir vorgestellt.
Lasse mich aber auch gerne eine besseren belehren.

Ich möchte nun ganz gerne eine übersicht erstellen so das z.B.

Projekt 1
-Uprojekt 1
-Aufgabe 1
-Aufgabe 2
-Uprojekt 2
-Aufgabe 1
-Aufgabe 2

Projekt 2
-Uprojekt 1
-Aufgabe 1
-Aufgabe 2
-Uprojekt 2
-Aufgabe 1
-Aufgabe 2

usw....

wie kann ich diese art realisieren
hat jemand schonmal sowas gemacht

danke

Lars

Franzx
03.04.2008, 19:59:32
Moin, moin und herzlich Willkommen im Forum!

Gleich zu anfang zu Deiner letzten Frage: Ja, Foren sind z.B. so aufgebaut.
Thema
- Thread
-- Posting

Dein Tabellenaufbau sieht nicht schlecht aus. Mit dem Feld ID könnten z.B. die eindeutigen Verknüpfungen zwischen den Projekten und Uprojekten erfolgen und je nach Anzahl der Ziffern / Buchstaben darin können auch die weiteren Verknüfungen realsiert werden.

Eine eindeutige Verknüpfung wird mit INNER JOIN realisiert

Select * FROM Projekte INNER JOIN UPROJEKTE ON UPROJEKTE.ID = PROJEKTE.ID WHERE ...

Grüße, Franzx

ksticker
04.04.2008, 02:30:05
Ich hab das zum Beispiel so gelernt bekommen,
ich erkläre es dir mal an drei Beispiel Tabellen wie Du sie in einem Forum findest:

Struktur:

Tabelle Posts
ID
TopicID
Titel

Tabelle Topics
ID
ForenID
Titel

Tabelle Foren
ID
Titel

Beispiel Du möchtest wissen, welcher Post zu welchem Forum gehört

SQL-Anweisung z.B.:
SELECT
Posts.Titel,
Foren.Titel
FROM
Posts,
Topic,
Foren
WHERE
Foren.ID = Topics.ForenID AND
Topic.ID = Posts.TopicID AND
Posts.ID = `1`

Ich finde die Variante relativ einfach, hoffe ich konnte Dir auch noch weiterhelfen.