AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Embedded + AUTOINC
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Embedded + AUTOINC

Ein Thema von himitsu · begonnen am 17. Jan 2015 · letzter Beitrag vom 10. Okt 2015
Antwort Antwort
Seite 1 von 2  1 2      
Dejan Vu
(Gast)

n/a Beiträge
 
#1

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 09:12
Vorteil ist aber, dass Du den Vorgang steuern kannst. Z.B. andere Schrittweite oder gemiensamen Generator für mehrere Tabellen usw.
Dies widerspricht aber der Maxime, seine Surrogatschlüssel nichtsprechend zu halten. Insofern ist das nicht unbedingt ein Vorteil.
...Wenn du den IbExpert* einsetzt, kannst du beim Erstellen einer Tabelle selbstverständlich auf einfachste Weise ein AutoInc-Feld anlegen...
Soweit ich mich erinnere ist die Pflege der Eigenschaft nicht mehr so einfach.

Generatoren sind allgemeingültiger, und vielleicht dachte jemand, das sei schlau.

Unpraktisch ist es in jedem Fall. Nur weil IBEXPERT das auch so sieht und deshalb so tut, als ob es eine AutoInc-Eigenschaft eines Datentypen gibt, heißt das ja nicht, das diese Generatorenvertriggerung sinnvoll ist, eher das Gegenteil.

Aber letztendlich ist es ein Feature, mit dem man leben kann.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 09:25
Zitat:
Dies widerspricht aber der Maxime, seine Surrogatschlüssel nichtsprechend zu halten. Insofern ist das nicht unbedingt ein Vorteil.
Und mit anderer Schrittweite ist er nun abhängig von den Werten der Tabelle? Oder wird verhindert das Wete in der Tabelle nicht mehr geändert werden könnenn, wenn jemand möchte, dass der PK über mehrere Tabellen eindeutig ist?
Zitat:
Generatoren sind allgemeingültiger, und vielleicht dachte jemand, das sei schlau.
Generatoren oder Sequenzen gibt es auch in anderen DBMS und sind idZw. auch Teil des SQL-Standards.

Dann nimm halt ein "intelligentes" Datenbanksystem mit autoinc wie zB. Paradox oder access und mach einen großen Bogen um die "unpraktischen" Frickelsystem wie FireBird, Oracle und Co.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 09:37
Dann nimm halt ein "intelligentes" Datenbanksystem mit autoinc wie zB. Paradox oder access und mach einen großen Bogen um die "unpraktischen" Frickelsystem wie FireBird, Oracle und Co.
Frickelsysteme ist Guuut.

Aber im Ernst, wenn man die DB als bessere Datenhalde nutzt, mehr braucht man manchmal nicht, dann ist man mit "intelligenten" Systemen ganz gut bedient.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 09:48
Ich würde auch dann keines der von mir genannten Systeme verwenden. Aber das ist meine persönliche Meinung.
Markus Kinzler
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 10:52
Eben Weshalb sollte man alte, unmoderne und unflexible Software einsetzen, wenn man ebenso auch neue, moderne und flexible Software haben kann? Wie so oft kann ich mich des Eindrucks nicht erwehren, daß auch in diesem Bereich mehr aus Gewohnheit für das Alte plädiert wird denn aus sachlicher Überzeugung.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.464 Beiträge
 
Delphi 12 Athens
 
#6

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 14:24
Zitat:
Frickelsystem
Das ist gut.

Irgendwie ignoriert das Ding sogar ein Order-By und macht einfach nicht.
Weder sortieren, noch eine Fehlermeldung.

Ist doch nur ein billiges VARCHAR-Feld und mit INTEGER ging es auch nicht.
Und am schrottigen Delphi-DBGrid kann es nicht liegen, da dieses weder Sortierung noch Filterung kennt. (ist auch wirklich im Query so unsortiert)



Da will man mal privat bissl rumspielen und dann funktioniert einfach nichts.
  • DBImage versteht nur Bitmaps
  • Die Sortierung funktioniert nicht
  • und über Grids und schrottiges LiveBinding an Objectliste will ich nicht mehr nachdenken, drum wollte ich es jetzt mit einer "richtigen" DB versuchen


Hatte mit MySQL-Embedded angefangen, dann fielen mir wieder die Diskussionen vonwegen Lizenzen an und ich probierte mal das "coole" Firebird aus, was doch immer wieder gelobt wird.
Aber vielleicht liegt es ja auch am FireDAC, aber mit PgDAC hatte eigentlich nicht solche Probleme (nur hab ich diese DB hier nicht und das war auch noch nicht von Emba)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Jan 2015 um 14:35 Uhr)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 14:41
Lass mal die ganze Delphi-Seite vorerst weg. Lege in IBExpert Tabelle an, einen Generator und einen BI-Trigger für die ID. Dann füge ein paar Datensätze ein und guck, ob die ID korrekt hochgezählt wird (also automatisch, nicht von Hand !!)
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#8

AW: Firebird Embedded + AUTOINC

  Alt 9. Okt 2015, 19:40
Ich habe da noch eine Frage, aber davor Danke Perlsau so ist das ja echt

Muss ich in Firedac noch was eistellen mein counter zählt nicht

der ist bis jetzt ein einfaches

FDTable1COUNTER: TLargeintField;

was übersehe ich ?
Martin MIchael
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

AW: Firebird Embedded + AUTOINC

  Alt 10. Okt 2015, 09:21
Erstelle einen Datenbank-Trigger und fertig.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.716 Beiträge
 
Delphi 12 Athens
 
#10

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 11:03
MS SQL Server hat übrigens auch AutoInc-Felder, obwohl ich den jetzt nicht unbedingt in einer Linie mit Paradox oder Access aufstellen möchte.

Der Vorteil bei MSSQL gegenüber Firebird/Interbase ist aber, daß FireDAC dort den gerade erzeugten AutoInc-Wert auslesen und an die Anwendung zurückgeben kann. Bei Firebird/Interbase funktioniert das leider nicht und man muss dort andere Maßnahmen ergreifen. Im Endeffekt läuft es sogar darauf hinaus, daß FireDAC zwar auch den Generator benutzt, diesen Wert aber beim Insert übergibt und damit den Trigger außer Kraft setzt. So ganz ohne Trigger geht es aber auch nicht, wenn auch aus anderen Quellen Daten hinzugefügt werden sollen.

Ein simples AutoInc-Feld in MSSQL (dort heißt es übrigens Identity) hat kürzlich bei einem Port auf Interbase schon einen gewissen Aufwand verursacht und (das in fast jeder Tabelle). Damit ging dann auch die eigentlich einfache Umschaltung des Zieldatenbanksystems in Rauch auf bzw. wurde deutlich komplexer als veranschlagt. Das kann ich mir auch etwas developer friendly vorstellen.

Ach ja, MSSQL gibt es mittlerweile auch kostenfrei als Embedded System.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz