Ilja: MySql - Feld hochzählen

Beitrag lesen

yo,

So ist das in Ordnung.

bedinkt....welch ein schönes wort.

zum einen muss ich erst mal wieder päbstlicher sein, als der pabst. im kontext von rdbms ist eine "relation" eine tabelle und keine beziehung, wie du in einem beitrag weiter oben es falsch bezeichnet hast. eine beziehung ist relationship. (relation <> relationship)

und zum anderen ist die frage, wie ich die abhängikeiten modellieren will. ich versuche mal ein ER-Modell mit worten zu beschreiben. es gibt drei entitäten:

  • user
  • friend (dort sind die freunde, bekannte, etc. mir viel gerade kein besserer name ein)
  • category

user steht mit der entiät category in einer 1:n beziehung, sprich jede kategorie gehört genau zu einem benutzer, und jeder benutzer kann mehrere kategorien haben. das ist der einfache teil.

nun zu dem schwierigen teil, was die entität friend betrifft. die kann ich so wie ihr es gemacht hab, mit beiden anderen entitäten in beziehung setzen. das würde ich aber nur machen, wenn es den auch freunde und verwandte geben kann, die -> keine <- kategorie haben können, also unabhängig von der kategorie sein können.

ist dies aber nicht der fall, dann würde ich es so modellieren, dass die tabelle(entität) friend nur in beziehung mit der tabelle category steht, sprich ein freund hat immer genau eine kategorie und eine kategorie kann mehrere freunde haben, also auch hier wieder eine 1:n beziehung.

damit wird dann auch das problem mit dem hochzählen klarer, warum es eigentlich gar kein problem ist. es gibt nämlich immer zuerst die kategorie in der tabelle category folglich auch dort immer einen eindeutigen schlüssel (id).

modelliert man es so wie ihr und hat der neue freund, den du anlegen willst, eine kategorie, dann muss zwangsweise zuerst auch die kategorie mit seiner id vorhanden sein. ergo muss man gar nicht erst abhängig von dem user irgendwelche werte hochzählen...

Ilja