phpbar.de logo

Mailinglisten-Archive

[php] Primary,UNIQUE und auto_increment

[php] Primary,UNIQUE und auto_increment

Will Gatermann will_(at)_finalcut.de
Sun, 25 Feb 2001 01:48:03 +0100


> id
> artist_id
> review_title
>
> id besteht aus einer fortlaufenden Nummer ist er Primary-Key und
> UNIQUE. Artist_ID ist ebenfalls eine ID, die quasi als Referenz auf
> eine andere Tabelle dient. Und der review_title ist ein String....

Wenn ich richtig verstanden habe, kann jeder Artist mehrere Reviews mit
unterschiedlichen review-Titeln haben. Verschiedene Artists können nicht den
gleichen review, aber dafür den gleichen review_title haben. Also eine n:n
Beziehung.

Ich würde 3 Tabellen anlegen:

artists => t_artist:
artist_id(PK,UNIQUE, auto_increment), artist_sname(CHAR(M)),
artist_cname(CHAR(M)),...

review titles => t_rev_title:
rev_title_id(PK,UNIQUE, auto_increment), review_title(CHAR(M))

reviews => t_review:
review_id(PK,UNIQUE, auto_increment), review_title_id(CHAR(M)),
artist_id(CHAR(M))

und die dann mit JOIN verknüpfen:
z.B.
Du suchst alle reviews(natürlich review_title) eines artists:

SELECT
t_artist.artist_sname,
t_review_title.review_title

From
t_artist JOIN
t_review JOIN
t_review_title

WHERE
t_artist=1 AND
t_artist.artist_id=t_review.artist_id AND
t_review.review_title_id=t_review_title.review_title_id

Sieht zwar zunächst komplizert aus, sollte aber laufen!(Syntax ungetestet!)

Will





php::bar PHP Wiki   -   Listenarchive