Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: [DB-Design]: Booleans als Bitfeld oder int?

  Alt 16. Apr 2006, 10:54
Hi,
einerseits ist deine sechs hier falsch (110 = 6, 111 = 7), andererseits

Zitat von yankee:
Also wenn ich in einem integer eine 6 speichere wuerde dass dann (sagen wir mal wir haben 3 rechte zu vergeben) true true true heissen und eine 5 wuerde true false true heissen usw.
Zitat von Sharky:
Wenn Du die Rechte in einem Integer speicherst (Bit-Masken) musst Du dir erst wieder eine Doku ausdrucken in der steht welches Bit für was da ist. Und wenn mal ein anderer mit deiner DB arbeiten soll muss auch er sich das erst verinnerlichen.
Oder anders gesagt 6 = True True False heißt was? Ok, hab zwei Rechte aber welche?! Gut, kann ich in der Doku nachlesen und dann stelle ich fest dass ich ein Recht nicht mehr brauche und passe dass Bit dann in jedem Integer an? Oder ich brauche mal ein 32tes Recht, dann mach ich was?

Es lohnt sich einfach nicht hier Platz sparen zu wollen. Wie Sharky schon sagte du gibst die Wartbarkeit auf (was so ungefähr zu der Top 3 der Fehler gehört) und das ohne Not. Sagen wir mal du würdest 10 MByte an Rechten speichern, dann schau dir mal an wie viel das an Speicher ist (gar nichts!) und dann noch Sharky's Rechnung dass du für 100te Rechte gerade mal KByte brauchst. Wo also ist hier die Not Platz zu sparen?
Wenn du nun an irgendeiner Stelle noch einen Fehler mit der Bitmaske (oder derer Kombination) machst, dann kommen noch vermeidbare Fehler hinzu. Auch wenn es dir gerade alles klar ist und du diese Fehler ausschließen könntest, so sieht es in einem halben Jahr auch für dich anders aus (und erst recht für andere Entwickler).

Gruß Der Unwissende
  Mit Zitat antworten Zitat