Mailinglisten-Archive |
> 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