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 6  1 23     Letzte »    
Benutzerbild von himitsu
himitsu

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

Firebird Embedded + AUTOINC

  Alt 17. Jan 2015, 23:23
Datenbank: Firebird • Version: 2.5.3 • Zugriff über: FireDAC
Moin moin,

gibt es in Firebird wirklich keine AUTOINC-Felder.


Hab's jetzt erstmal nach dieser Anleitung hinbekommen.
http://www.firebirdfaq.org/faq29/

Aber ich finde es dennoch recht umständlich.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Firebird Embedded + AUTOINC

  Alt 17. Jan 2015, 23:33
gibt es in Firebird wirklich keine AUTOINC-Felder.
Ist so!
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 00:21
Aber ich finde es dennoch recht umständlich.
Ist nur scheinbar umständlich. Wenn du den IbExpert* einsetzt, kannst du beim Erstellen einer Tabelle selbstverständlich auf einfachste Weise ein AutoInc-Feld anlegen, wie man in der Grafik unten deutlich sehen kann. Dazu mußt du nur die CheckBox mit dem Titel AI ankreuzen, und es erscheint der Dialog für das Autoinkrementfeld. Dort wählst du Procedure, Generator und Trigger automatisch erzeugen, und fertig. In anderen DBMS ist das im Grunde nicht viel anders geregelt, nur wird dir dort vielleicht verborgen, was im Einzelnen genau vonstatten geht, wenn du einen neuen Record anlegst, dessen PK ein AutoInc-Feld ist. Auch in Access wird intern ein Trigger ausgelöst, der eine vorbereitete Procedure ausführt, die den Generator für eine neue PK-Id anwirft. Ich empfinde das bei Firebird als sehr übersichtlich und leicht verständlich und den Einsatz von IbExpert dabei als äußerst hilfreich.

* Für die Personalversion mußt du dich dort registrieren, kostet aber nichts. Und jeden Monat einmal wird deine Registrierung beim Start von IbExpert abgefragt, du mußt dann deine Registrierungsnummer eingeben.
Miniaturansicht angehängter Grafiken
firebirdautoinc.jpg  
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 09:57
Vorteil ist aber, dass Du den Vorgang steuern kannst. Z.B. andere Schrittweite oder gemiensamen Generator für mehrere Tabellen usw.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 10:05
Aber ich finde es dennoch recht umständlich.
Kann ich verstehen, vor allem wenn man es von anderen SQL-Dialekten anders gewohnt ist .
Aber da weiß man woher es kommt, und die Werte fallen nicht vom Himmel oder müßen von einem, von zig Generatoren abgeholt werden.

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

n/a Beiträge
 
#6

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 10: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.858 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 10: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
 
#8

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 10: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.858 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 10: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
 
#10

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 11: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
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


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 12:41 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