MySQL Forums
Forum List  »  German

Notizfeld, neue Tabelle und Referenz?
Posted by: Christian Steinmann
Date: August 12, 2009 11:38AM

Hallo zusammen.

Ich stehe gerade vor dem Problem das ich zu den Feldern von bereits bestehenden Tabellen ein Feld machen soll für interne Notizen. (VARCHAR 300).

- Das Feld wird nur in etwa 30% der Fälle überhaupt benutzt.

- Für die meisten Abfragen betreffend dieser Tabellen wird dieses Feld nicht gefragt. Da es nur für den Administrator der Webseite ist.

- Die Datenbank Engine ist InnoDb.

Jetzt stellt sich die Frage:
1:)
Ob ich eine neue Tabelle machen soll in der dieses Notizfeld ist und in den Tabellen(in etwa 5) eine foreign key auf den Notiztabellen primary key.
Hätte zur Folge die Tabellen hätten alle eine Zeile mehr in der zu 70% NULL steht

2:)
Oder das Feld einfach in jede Tabelle machen

3:)
Oder was mir in einem PHP-Forum empfohlen wurde.
Eine Tabelle zu machen in der das Notizfeld, ein Feld für den Primarykey der zugehörgen Elternzeile und da diese ja aus verschiedenen Tabellen stammen können und damit doppelt vorkommen können noch ein Feld das die Tabelle festlegt zu der die Notiz gehört.

Mir wurde Nummer 3 empfohlen.

Wollte ich erst programmieren dabei viel mir dann auf das ersten ich immer erst ein SELECT machen muss ob diese Notiz existiert. Damit sie nicht doppelt entsteht.
Zweitens wäre das ganze nicht integer, oder die Integrität würde durch PHP Code gewahrt.

Als Argument wurde mir gebracht das sonst bei einem Select * ersten immer eine zusätzliche Zeile wäre, zweitens Ich bei einem Ersteintrag in das Notizfeld danach noch ein Update mit der resultierenden ID auf die Elternzeile.

Ich hoffe jemand versteht was ich meine. Und kann mir sagen ob ich diesem Rat folgen soll.

Gruß Christian

Options: ReplyQuote


Subject
Views
Written By
Posted
Notizfeld, neue Tabelle und Referenz?
2841
August 12, 2009 11:38AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.