AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Welches Format für Datensatzstatus
Thema durchsuchen
Ansicht
Themen-Optionen

Welches Format für Datensatzstatus

Ein Thema von guidok · begonnen am 2. Mai 2008 · letzter Beitrag vom 9. Mai 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Welches Format für Datensatzstatus

  Alt 2. Mai 2008, 12:11
Zitat von Sharky:
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?
Das spart zwar 2 Zusatztabellen, erschwert aber erheblich Anpassungen an den Daten. Was, wenn morgen ein Status dazukommt. Oder nicht mehr existiert?

Bedenken gibts auch, wenn du Abfrage über ein Status machen willst. Da kommst du um Bitoperationen nicht rum, d.h. es werden Operatoren odes Funktionen in SQL Statements vorkommen, und die machen dir die Indizierung auf das Statusfeld zunichte.

Ich hatte mal vor einiger Zeit gleiches zu bewältigen, und hatte auch diese Idee. Hab sie aber aus genannten Gründen schnell wieder über Bord geschmissen, und hoffe sie lagert jetzt irgendwo ganz tief im Mariaanengraben
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#12

Re: Welches Format für Datensatzstatus

  Alt 2. Mai 2008, 12:12
 select dings from bums where (status & 2) = 2 ... oder so in etwa








äähh, ja, das problem kiegt wo anders
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Welches Format für Datensatzstatus

  Alt 2. Mai 2008, 12:16
Zitat:
"Bimuster" Grübelnd...
Wer hat mir den t geklaut...
natürlich kann man es auch so machen, ich würde aber die Lösung mit den extra Tabellen wählen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Welches Format für Datensatzstatus

  Alt 2. Mai 2008, 12:20
Noch eine Ergänzung: Was ist mit der Datenkonsistenz... Wie willst du einschränken, dass plötzlich der Status 3172 irgendwo gesetzt wird.

MySQL ist doch ein relationales DBMS. Dann sollte man es auch relational nutzen. Weil es sich in der Statustabelle ja wohl um +/- 3 Einträge handelt, friesst ein Join auf diese Tabelle kein Brot.
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#15

Re: Welches Format für Datensatzstatus

  Alt 2. Mai 2008, 13:31
Zitat von mkinzler:
Ich würde die Stati in eine eigene Relation auslagern
Das soll wohl heißen:

Tabelle A ist die Tabelle mit den importierten Daten, und Tabelle A_Status enthält die Einträge mit den Statusinformationen, z.B.

A.ID (Primarykey)
A.xxx

A_Status.AID
A_Status.Statusinfo



Habe ich das richtig verstanden?
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#16

Re: Welches Format für Datensatzstatus

  Alt 2. Mai 2008, 13:37
Zitat von guidok:
Habe ich das richtig verstanden?
Du bruchst auf jeden Fall 3 Tabellen. Deine eigentliche Daten (Import), eine Status Tabelle mit den 3 Records deiner Statusse... Und dann natürlich die CrossReference Tabelle, welche dir die m:n Beziehung zwsichen importiertem Datensatz und dem Status gibt.
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#17

Re: Welches Format für Datensatzstatus

  Alt 9. Mai 2008, 10:02
Also gut, ich habe jetzt drei Tabellen:

Import - ID, weitere Felder

Import_Status - ID, STATUS

Import_XStatus - Import_ID, Import_Status_ID


Wie sieht jetzt eine SQL-Abfrage aus, welche die drei Tabellen verbindet?

z.B.

Alle Import_Status.STATUS zu einer gegebenen Import.ID

SQL-Code:
SELECT A.STATUS FROM Import_Status A
  ...???
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: Welches Format für Datensatzstatus

  Alt 9. Mai 2008, 12:36
Hallo Guido,

MySQL bietet für deine Zwecke den Datentyp SET an:

SQL-Code:
CREATE TABLE Importe (ID INTEGER NOT NULL, Status SET('ANGL', 'INAK', 'LÖVM'));
ALTER TABLE Importe MODIFY Status SET('ANGL','INAK','LÖVM','TEST');
SELECT * FROM Importe WHERE FIND_IN_SET('INAK', Status);
UPDATE Importe SET Status = 'INAK,TESTWHERE ID = 0;
Eine Lösung auf dieser Basis würde ich bevorzugen.

Freundliche Grüße
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#19

Re: Welches Format für Datensatzstatus

  Alt 9. Mai 2008, 13:24
Danke Marabu, das werde ich mir mal genauer anschauen.
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#20

Re: Welches Format für Datensatzstatus

  Alt 9. Mai 2008, 18:53
Öhm - jetzt mal ganz blöd gefragt: Wieso nicht einfach 3 Boolean Felder nehmen?
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.
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