AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Import aus Access plus ID > GUID
Thema durchsuchen
Ansicht
Themen-Optionen

Import aus Access plus ID > GUID

Ein Thema von manfred_h · begonnen am 7. Feb 2006 · letzter Beitrag vom 8. Mär 2006
Antwort Antwort
Seite 2 von 2     12   
marabu

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

Re: Import aus Access plus ID > GUID

  Alt 7. Mär 2006, 07:47
Hallo Manfred,

ich kenne die FibPlus-Komponenten nur vom Hören-Sagen. Dein DB-Schema mit ID CHAR(38) deutet daraufhin, dass diese Komponenten einen GUID genauso gut oder schlecht verarbeiten, wie andere auch. Grundsätzlich ist es richtig, dass GUID-Felder das Arbeiten mit global verteilten Datenbanken unterstützen. Der von dir erwähnte Abgleich der Daten über das Internet mag als Offline-Betrieb einer horizontal verteilten Datenbank gelten. Ein GUID-Feld ist dafür allerdings nicht zwingend erforderlich, du brauchst ja keine weltweit eindeutigen Schlüssel - anwendungsweit würde ja schon genügen. Ich würde eher mit einer Identität aus der problem domain arbeiten (Versicherungsnummer, Personalnummer, etc.). Immerhin muss ja beim Abgleich der Mensch identifiziert werden und nicht der Datensatz.

Aber da hängt vieles von Feinheiten ab. Eine zentral gepflegte Datenbank, deren Tupel regional verteilt werden, lokal aber nur gelesen werden, braucht zum Beispiel keinen GUID als Schlüssel. Und bei kleinen Datenmengen würde man auch keinen Abgleich fahren, sondern die lokalen Daten komplett ersetzen. Wenn du also abgleichen willst, dann scheinen die Daten lokal auch gepflegt zu werden. Dabei kommt es wieder darauf an, ob nur UPDATE zulässig ist oder auch INSERT und DELETE. Das Thema ist extrem komplex. Ich fürchte wir werden es hier nicht erschöpfend behandeln können.

Lass dich von mir nicht irritieren. Ob GUID oder GEN_ID - mit einem primary key machst du schonmal nichts falsch. Die Tupelzahlen dürften bei dir klein bleiben, so dass der space-time overhead durch einen PK mit CHAR(38) nie ins Gewicht fällt.

Viel Erfolg mit deinem Projekt.

marabu

PS: Vergesse den Datenschutz bei personenbezogenen Daten nicht.
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#12

Re: Import aus Access plus ID > GUID

  Alt 7. Mär 2006, 10:02
Zitat von Sharky:
Hai Manfred,

hier mal eine kurzes Beispiel wie ich es bei zwei Tabellen machen würde. Hierbei ist in Tabelle2 das Feld tabelle1_id der ForenKey auf die ID von Tabelle1.
Besten dank für deinen Tipp werde es gleich ausprobieren.


Zitat von marabu:
Lass dich von mir nicht irritieren. Ob GUID oder GEN_ID - mit einem primary key machst du schonmal nichts falsch. Die Tupelzahlen dürften bei dir klein bleiben, so dass der space-time overhead durch einen PK mit CHAR(38) nie ins Gewicht fällt.

PS: Vergesse den Datenschutz bei personenbezogenen Daten nicht.
Besten dank auch Dir marabu für diene Überlegungen.
Die erste DB die ich für dieses rojekt erstellt habe war leider ein wenig Unterdimensioniert daher möchte ich
diesen Fehler nicht zweimal machen.
Die DB Anwendung unterstüzt auch schon mehrere Sprachen ( in der Schweiz haben wir ja schon 3 / eigentlich 4 )).
Wenn der bedarf und die akzeptanz für die Anwendung dann steigen würde ( mehrere Länder ) dann möchte ich nicht
feststellen dass ich wieder zu "klein" gedacht habe.

Loklal müssen wirklich Daten eingegeben und gelöscht werden können. Das wird dann auch noch Arbeit geben...
Es werden schon zur Einschränkung der Datenmenge auf den einzelnen Punkten ( ist dass die Tupelzahlen ? )
eine Gruppennummer und eine Usernummer verwendet.

Der Datenschutz ist dann auch noch eine grosses Anliegen. Der einzelne User darf ja nur das erhalten wozu auch
seine Rechte ausreichen. ( Daten von Basel und nicht auch noch von Genf )

Besten dank für Deine / Eure Bemühungen
Manfred
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Import aus Access plus ID > GUID

  Alt 8. Mär 2006, 07:49
Zitat von Sharky:
Hai Manfred,

hier mal eine kurzes Beispiel wie ich es bei zwei Tabellen machen würde. Hierbei ist in Tabelle2 das Feld tabelle1_id der ForenKey auf die ID von Tabelle1.
Delphi-Quellcode:
uses
  ActiveX, ComObj;

function Neue_GuID: String;
var
  guidWork: TGUID;
begin
  CoCreateGuid(guidWork);
  Result := GUIDToString(guidWork);
end;

procedure Tib.Button1Click(Sender: TObject);
var
  oldID: string;
  newID: string;
begin
  Query2.Close;
  Query2.SQL.Text := 'UPDATE tabelle2 SET tabelle1_id = :newID WHERE id = :oldID';
  Query2.ParamCheck := True;

  Query1.Close;
  Query1.SQL.Text := 'SELECT id FROM tabelle1';
  Query1.Open;
  while not (Query1.Eof) do
  begin
    newID := Neue_GuID;
    oldID := Query1.FieldByName('id').AsString;
    Query1.Edit;
    Query1.FieldByName('id').AsString := newID;
    Query1.Post;
    Query2.ParamByName('newID').AsString := newID;
    Query2.ParamByName('oldID').AsString := oldID;
    Query2.ExecSQL;
    Query1.Next;
  end;
end;
EDIT!! Ich hatte das .Post für Query1 vergessen
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#14

Re: Import aus Access plus ID > GUID

  Alt 8. Mär 2006, 10:43
Zitat von Sharky:
Ich hatte das .Post für Query1 vergessen
Hallo Sharky

besten dank für deine Hilfe.
bin scon seit gestern ( nicht nonstop ) am rumexperimentieren.

Dein Code ist sicherlich Richtig.
Mein Problem ist nur noch bei der Umsetzung in Fibplus.

Aber ich mach hier besser einen neues Thema auf.
FIBPlus Komponenten Problem

Besten dank für Deine Hilfe und auch Dir marabu.
Ihr habt mir wirklich eine grose Hilfe.
Manfred
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 15:17 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