J
jowu
Neues Mitglied
- 0
Hallo zusammen,
im Moment bin ich am Rätseln, wie ich sinnvoll mit ID-Primärschlüsseln in meiner Android-App arbeiten kann. Es sollen aus einer externen Datenbank die Daten regelmäßig über XML synchronisiert werden. Die externe Datenbank hat überwiegend alphanummerische und oft zusammengesetzte Primärschlüssel.
Ich weiß nicht so recht, wie ich beim Import effizient die Daten importieren kann und dabei die Fremdschlüsselbeziehungen erhalten kann. Eine Idee war, die ID-Keys mit einem Hash aus den Text-Primary-Keys zu berechnen. Ist das eine gute Idee?
Würde mich über Anregungen und best practices freuen. Sollte die Problembeschreibung nicht gut sein, will ich gerne weiter ausführen.
Johannes
-----
Vereinfachtes Beispiel für die externe Datenbank:
CREATE TABLE Currencies
(Currency CHAR(3 BYTE) NOT NULL,
Description VARCHAR2(50 BYTE) NOT NULL,
CONSTRAINT CURR_Primary_Key PRIMARY KEY(Currency));
CREATE TABLE Countries
(Country CHAR(2 BYTE) NOT NULL,
Name VARCHAR(30 BYTE) NOT NULL,
Currency CHAR(3 BYTE) NOT NULL,
CONSTRAINT Countries_Primary_Key PRIMARY KEY(Country),
CONSTRAINT CTRY_FK_CURRENCY FOREIGN KEY(Currency) REFERENCES Currencies(Currency));
CREATE TABLE Customers
(CustNr CHAR(4 BYTE) NOT NULL,
Name VARCHAR(50 BYTE) NOT NULL,
Country CHAR(2 BYTE) NOT NULL,
CONSTRAINT CUSTOMERS_Primary_Key PRIMARY KEY(CustNr),
CONSTRAINT CUSTOMERS_FK_CTRY FOREIGN KEY(Country) REFERENCES Countries(Country));
E.g.
Currencies:
CHF | Swiss franc
EUR | Euro
GBP | British Pound
USD | US-Dollar
Countries:
DE | Germany | EUR
IT | Italy | EUR
CH | Switzerland | CHF
US | USA | USD
Customers:
A001 | Mercedes AG | DE
B123 | Fiat S.p.A | IT
CD45 | General Motors | US
im Moment bin ich am Rätseln, wie ich sinnvoll mit ID-Primärschlüsseln in meiner Android-App arbeiten kann. Es sollen aus einer externen Datenbank die Daten regelmäßig über XML synchronisiert werden. Die externe Datenbank hat überwiegend alphanummerische und oft zusammengesetzte Primärschlüssel.
Ich weiß nicht so recht, wie ich beim Import effizient die Daten importieren kann und dabei die Fremdschlüsselbeziehungen erhalten kann. Eine Idee war, die ID-Keys mit einem Hash aus den Text-Primary-Keys zu berechnen. Ist das eine gute Idee?
Würde mich über Anregungen und best practices freuen. Sollte die Problembeschreibung nicht gut sein, will ich gerne weiter ausführen.
Johannes
-----
Vereinfachtes Beispiel für die externe Datenbank:
CREATE TABLE Currencies
(Currency CHAR(3 BYTE) NOT NULL,
Description VARCHAR2(50 BYTE) NOT NULL,
CONSTRAINT CURR_Primary_Key PRIMARY KEY(Currency));
CREATE TABLE Countries
(Country CHAR(2 BYTE) NOT NULL,
Name VARCHAR(30 BYTE) NOT NULL,
Currency CHAR(3 BYTE) NOT NULL,
CONSTRAINT Countries_Primary_Key PRIMARY KEY(Country),
CONSTRAINT CTRY_FK_CURRENCY FOREIGN KEY(Currency) REFERENCES Currencies(Currency));
CREATE TABLE Customers
(CustNr CHAR(4 BYTE) NOT NULL,
Name VARCHAR(50 BYTE) NOT NULL,
Country CHAR(2 BYTE) NOT NULL,
CONSTRAINT CUSTOMERS_Primary_Key PRIMARY KEY(CustNr),
CONSTRAINT CUSTOMERS_FK_CTRY FOREIGN KEY(Country) REFERENCES Countries(Country));
E.g.
Currencies:
CHF | Swiss franc
EUR | Euro
GBP | British Pound
USD | US-Dollar
Countries:
DE | Germany | EUR
IT | Italy | EUR
CH | Switzerland | CHF
US | USA | USD
Customers:
A001 | Mercedes AG | DE
B123 | Fiat S.p.A | IT
CD45 | General Motors | US