URL: https://www.overclockers.at/coding-stuff/mysql_compound_primary_key_103683/page_1 - zur Vollversion wechseln!
wieder mal ein kleines mysql problem....
ZitatAt least one primary key is compound (i.e. consist of more then one attribute)
eine gute verwendung für zusammengesetzte primäre schlüssel ist zb die auflösung einer n:m beziehung.
Zitat von atroxeine gute verwendung für zusammengesetzte primäre schlüssel ist zb die auflösung einer n:m beziehung.
Eventuell hast du vergessen auto_increment extra fuer die Spalte anzugeben? Wenns angegeben ist, inkrementiert es immer bei einem INSERT (ausser du gibst den jew. Spalte selbst an)
Zitat von RektalEventuell hast du vergessen auto_increment extra fuer die Spalte anzugeben? Wenns angegeben ist, inkrementiert es immer bei einem INSERT (ausser du gibst den jew. Spalte selbst an)
ich versuche es mal am beispiel deiner foren-db zu erklären:
es gibt viele thread, es gibt viele user: ein user kann auch viele threads gestartet haben, aber ein (bestimmter) thread kann nur von einem user gestartet worden sein - eine klare 1:n beziehung
was aber, wenn ich festhalten möchte, welcher thread von wem gelesen wurde? es kann sowol ein thread von mehreren usern gelesen worden sein, als auch jeder user kann beliebig viele threads lesen - eine n:m beziehung.
so ein fall wird in relationalen datenbanken für gewöhnlich mit einer zwischentabelle in zwei 1:n beziehungen aufgelöst: dh. ich mache eine neue tabelle, mit thread_id und user_id, beide als schlüssel. auf die weise, kann ich für jeden gelesenen thread einen datensatz erstellen, der thread_id und user_id als gemeinsamen schlüssel beinhaltet. zusätzlich kannst du noch attribute wie last_read oder ähnliches aufnehmen. du kannst jetzt mit je einem join bei der abfrage feststellen, welcher user welche threads gelesen hat, als auch zu jedem thread feststellen von welchen usern sie gelesen worden sind.
PS: zum thema relationelle datenbanken, 1, 2, und 3te normalform gibt es AFAIR einen link im Tutorial Thread.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025