Andy: Entweder das eine, oder wenn das nicht, das andere...

Beitrag lesen

Hallo!

Folgende Tabellen-Struktur (Menu) habe ich:
id INTEGER
lang CHAR(2)
content_id INTEGER
title VARCHAR(255)
pos TINYINT

Beispieleintrag - DB:
1 "de" 1 "punkt 1" -10
2 "en" 1 "point 1" -10
3 "de" 2 "punkt 2" -8
4 NULL 2 "point 2 / punkt 2" -8
5 NULL 3 "point 3 / punkt 3" -7

Vielleicht hats schon jemand angemerkt, dennoch:

  • lang darf nicht nullable sein, u.a. die vermurksten Beispieldaten belegen warum

Die Angaben sind ja nur so hingeschrieben! "lang" darf natürlich in der richtigen Tabelle NULL sein!

  • Was heisst hier content_id? Sind da zwei Identifikationssysteme am Start? (Nein, wohl nicht, da gibts Dubletten, also was soll der Murks?)

lang+content_id sind UNIQUE! Die id wäre theoretisch überflüssig, da lang+content_id einen Primärschlüssel ausmachen.

  • "pos" deutet auf weiteren Murks hin. Welche Semantik haben wir da?

pos ist einfach ein Parameter zum Sortieren der Menueinträge: Um so größer pos, um so weiter unten steht der Menupunkt!

Gruß,
Andy

P.S.: Problem ist gelöst.