Mike: Mysql/Sqlite Bilderdatenbank Schlüsselwörter/Label

Beitrag lesen

Hallo Rouven,

id | keyword | id_von_tbl1
ich halte eine 1:n-Beziehung mit einem Foreign Key für unglücklich. Du speicherst das selbe Keyword so oft ab, wie du es verwenden willst.

upps so wars gar nicht gedacht, hätte besser schreiben sollen, ID's
id | keyword | ids_von_tbl1
1 | panorama | 3,24,33,44,51,52

Hätte natürlich den Riesennachteil, dass irgendwann bei grossen Mengen, ein Problem auftritt, insebsondere bei Labels, die auf fast jedes Bild zutreffen:
1 | sw | 1,2,3,4,5,12,13,14,......,1033,1045,....290432,....3323235

Mein Vorschlag:
image
id | bildname | pfad

keyword
id | keyword

image_keyword
id_image | id_keyword

Folgende Vorteile:

  1. Tippfehler in Keywords sind auf eine zentrale Stelle beschränkt.

Ja, das wollte ich unbedingt.

  1. Die Verknüpfung zwischen Image und Keyword kann flexibel gelöscht oder hinzugefügt werden

Auch wichtig.

  1. Die üblichen Normalisierungsvorteile: du hast keine INSERT oder DELETE-Anomalien.

Jawoll.

Aber.....

image_keyword
id_image | id_keyword

Wenn ich das richtig verstehe, dann mal als Bsp.

3 | 14
3 | 29
3 | 30
3 | 234
 ...
3 | 10344
3 | 35455
 ...
4 | 12
4 | 22
4 | 32
4 | 224
 ...
4 | 12344
4 | 25455

Also muss jedes einzelne Bild jedesmal erneut in Kombination mit dem jeweiligen Keywort gebracht werden?

Mike