Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Alternative für SQLite auf Android Gerät (fmx) (https://www.delphipraxis.net/193813-alternative-fuer-sqlite-auf-android-geraet-fmx.html)

Ghostwalker 15. Sep 2017 07:04

AW: Alternative für SQLite auf Android Gerät (fmx)
 
@TigerLilly

Ich stimm dir schon zu, das das bei kleineren Datenmengen eher irrelevant ist. Ich hab mir aber grundsätzlich einfach angewöhnt, möglichst eindeutige Zahlen (Integer usw. ) als Primärschlüssel zu verwenden (auch wenn er dann "nur" ein technischer Schlüssel ist), da mir die Erfahrung gezeigt hat, das die Datenmenge am Projektanfang grundsätzlich viel zu niedrig angesetzt wird. Hinterher ist der Aufwand größer, das ganze zu ändern.

Unter der Voraussetzung, das dort wirklich nur Zahlenwerte gespeichert werden, sollte man auch in einer DB den richtigen Datentyp verwenden. Im Programm verwendet man ja auch für Ganzzahlen Integer-Variablen und nicht Strings :)

stalkingwolf 15. Sep 2017 10:21

AW: Alternative für SQLite auf Android Gerät (fmx)
 
Ob Natural oder Surrogate Key ist abhängig davon was man drin speichern will.
Das wird auch bei jedem Vergleich der beiden Logiken angesprochen.

Das Datenmodell was ich hier genutzt habe für die Tabelle auf dem Pad i
st die gleiche wie in unserer DB, so dass ich einfach alles 1 zu 1 übernehmen kann ohne mir große einen Kopf zu machen.

jobo 15. Sep 2017 11:28

AW: Alternative für SQLite auf Android Gerät (fmx)
 
Zitat:

Zitat von TigerLilly (Beitrag 1381229)
Zitat:

Ist also eine Auftragsnummer aus Zahlen,Tagesdatum und Bearbeiterkürzel zusammen gesetzt (und natürlich eindeutig) nehme ich sie dennoch nicht als Primärschlüssel.
Das würdest du nur dann nicht tun, wenn dein Datennmodell das verhindert. Dein Beispiel ist ein zusammengesetzter Schlüssel - dessen Teile müssen foreign keys sein oder elementare Datentypen. Wenn du zusätzlich zu diesem Key noch einen weiteren PK einführst, hast du nichts gewonnen und nur Aufwand.

Diese Rechnungsnummer und wie sie aufgebaut ist soll ja nur ein beliebiges Beispiel sein. Jede Firma macht da so ihr Ding, oft sind heterogene Systeme im Einsatz, Quelle/Format der Rechnungsnummer oder irgendeiner anderen Bearbeitungsnummer sind häufig nicht in der (alleinigen) Hoheit der eigenen Anwendung.
Hinzu kommt, dass diese "Welten" nicht statisch sind. Der Tag kommt also, wo dank einer Änderung eines Ablaufs oder dem Austausch einer Software die Dinge plötzlich anders laufen.
Ich sehe das eher so, das die Verwendung natürlicher Schlüssel aus Zeiten stammt, wo Speicherplatz noch kostbar war. Heute liegen die Prioritäten anders, mehr Schnittstellen, mehr Interoperabilität, mehr Flexibilität sind gefordert.
Kleines Beispiel: Kontonummer / BLZ könnte man vielleicht mal als Primärschlüssel verwendet haben. Schwierig wird es schon mit der Bankenkonsolidierung, immer mehr Zweigstellen werden unter einer BLZ zusammengefasst. Dann kommt SEPA und alles ist ganz anders.
Fazit: Je mehr ich die reine Mechanik von fachlicher Funktion trenne, desto besser kann ich ein System auf Änderungen einstellen oder schlicht customizen, wenn ich Stangenwahre anbiete, die der Kunde sich zurecht biegen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:28 Uhr.
Seite 4 von 4   « Erste     234   

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