phpbar.de logo

Mailinglisten-Archive

Wie speichert man Attribute? war: Where-Klausel mit 100 Oder-Zeilen

Wie speichert man Attribute? war: Where-Klausel mit 100 Oder-Zeilen

Michael Ott mysql-de_(at)_lists.bttr.org
Sun, 28 Jul 2002 19:27:24 +0200


On Sun, Jul 28, 2002 at 01:12:52AM +0200, Arno Seidel wrote:
> Hi,
> 
> hier sieht es so aus als würde sich der einsatz von openLDAP eignen,
> damit kannst du jedem Benutzer Eigenschaften zuordnen.

Anmerkung: für lesenden Zugriff ist ldap schnell, aber schreiben ist
langsam, da es im eigentlichem Sinn keine Datenbank ist.

Außerdem muß den Attributen, wenn es kein Text ist, ein Type zugewiesen
werden und der muß in den Konfigurationsdateien eingetragen werden.

Für diesen Fall eher ungeeignet.

> From: "Wolfgang Hauck" <wbh_(at)_euta.net>
> >Hier wäre grundsätzlich zu überlegen ob an der Struktur der Datenbank etwas
> >nicht stimmt!?
> 
> Ich habe aktuell das Problem, zu einem Benutzer beliebig viele Eigenschaften
> speichern zu müssen. Manche hat jeder Benutzer, manche davon nur bestimmte.
> Man muß nach Eigenschaften filtern können und es muss möglich sein, über
> eine Browser-GUI einfach neue Felder hinzuzufügen.
> 
> Wie organisiert man so etwas, so dass weder Performance noch Flexibilität
> leiden? Ist SQL für solche Probleme eigentlich geeignet oder braucht es eine
> XML-DB, um das sauber abzubilden?
> 

Wenn diese Attribute nur Zahlenwerte annehmen können, könntest Du sie ja als
Zahl abspeichern und die Attribute mittels Bit-Operationen auslesen. Das
wäre sehr flexibel, da Du ja Bedeutung der Attribute und ihren Bitwert auch 
in der Datenbank ablegen könntest.

Wenn nicht, müßtest Du halt jeden Wert eines Attributes als eigenes
Attribut speichern.

Beispiel:

Ausgelesene Zahl: 21 -> bitweise: 0 1 0 1 0 1
Attribute:                        5 4 3 2 1 0
Attribut 0: ja
Attribut 1: nein
...

in C:
num = 20
if((num & 4) != 0)
	printf("Attribut 2 ist gesetzt");

So ungefähr. 

Ich hoffe, ich habe Dir etwas geholfen

CU
   
  Michael                                                      .--.
                                                              |o_o | 
--                                                            ||_/ |
  /-----------------------------------------------------\    //   \ \
  |  Michael Ott, Glockenhofstr. 29a, 90478 Nuernberg   |   (|     | )
  | e-mail: ZolnOtt_(at)_NEFkom.net, Tel. +49 9 11 41 88 576 |  /'\_   _/`\
  \-----------------------------------------------------/  \___)=(___/

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive