Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Welches Format für Datensatzstatus (https://www.delphipraxis.net/113076-welches-format-fuer-datensatzstatus.html)

guidok 2. Mai 2008 10:23

Datenbank: MySQL • Version: 5 • Zugriff über: Zeos

Welches Format für Datensatzstatus
 
Hallo,

ich füge Datensätze in eine Tabelle ein, die folgenden Status annehmen können (diesen Status bekomme ich so aus einer Importdatei geliefert):

ANGL = Angelegt
INAK = Inaktiv
LÖVM = Löschvermerk

Diese können jetzt natürlich auch gemeinsam auftreten, also ANGL INAK oder ANGL LÖVM.

Derzeit wird der Status als VARCHAR Feld geführt in dem ich den Status als Text ANGL, INAK, LÖVM schreibe.

Nach dem Auslesen der DB stelle ich mit Pos() fest welcher Status vorliegt. Ich finde das jetzt nicht so wahnsinnig geschickt und würde das gerne ändern, aber wie? Und wie kann ich gleich bei der SQL-Abfrage Datensätze mit einem bestimmten Status erhalten?

Wobei der Vorteil der o.g. Methode wäre, dass bei zusätzlichen Statusinformationen an der DB-Struktur nichts geändert werden müsste...

Danke,
Guido

mkinzler 2. Mai 2008 10:30

Re: Welches Format für Datensatzstatus
 
Ich würde die Stati in eine eigene Relation auslagern

tomsel 2. Mai 2008 10:35

Re: Welches Format für Datensatzstatus
 
Bei Beibehaltung der DB-Struktur würde mir da spontan "like" einfallen, zumindest, solange diese Abkürzungen so gewählt werden, dass sie sich nicht ähneln (also die eine nicht in der anderen enthalten ist). Also z.Bsp.
SQL-Code:
select * from tabelle where status like '%INAK%' or status like '%LÖVM%'

Jelly 2. Mai 2008 10:38

Re: Welches Format für Datensatzstatus
 
Zitat:

Zitat von mkinzler
Ich würde die Stati in eine eigene Relation auslagern

Und dazu noch eine m:n Beziehungsrelation.

mkinzler 2. Mai 2008 10:54

Re: Welches Format für Datensatzstatus
 
Das hatte ich gemeint

Sharky 2. Mai 2008 10:56

Re: Welches Format für Datensatzstatus
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von mkinzler
Ich würde die Stati in eine eigene Relation auslagern

Und dazu noch eine m:n Beziehungsrelation.

Wäre es nicht besser, solange es sich nur um wenige Stati handelt, diese in einem Int Feld der Tabelle zu halten und dann über Bit-Operationen auzuwerten?

Status1 = 1
Status2 = 2
Status3 = 4
Status4 = 8

dann spart man sich eine Zusatztabelle. Natürlich nur wenn es garanitiert ist das es maximal 32 Stati geben wird.

mkinzler 2. Mai 2008 10:59

Re: Welches Format für Datensatzstatus
 
Dann müsste man aber die Bimuster wieder auseinanderfieseln

Sharky 2. Mai 2008 11:08

Re: Welches Format für Datensatzstatus
 
Zitat:

Zitat von mkinzler
Dann müsste man aber die Bimuster wieder auseinanderfieseln

Hai,

das finde ich jetzt aber nicht so problematisch.

So oder so muss man ja sagen was man möchte. Und wenn es über die Bitmuster machbar ist spart er sich zwei Tabellen welche ja verknüpft werden müssen und darum wieder den Server belasten.

Oder denke ich eben (habe Urlaub) total falsch? ;-)

tomsel 2. Mai 2008 11:09

Re: Welches Format für Datensatzstatus
 
Zitat:

Dann müsste man aber die Bimuster wieder auseinanderfieseln
"Bimuster" :gruebel:

MySQL unterstützt doch Bitoperationen (?), also ... warum nicht?

DeddyH 2. Mai 2008 11:10

Re: Welches Format für Datensatzstatus
 
Hai, Sharky, das Problem sehe ich weniger beim Prüfen einzelner Bits auf dem Client, als vielmehr beim Formulieren von Abfragen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz