AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Dependencies für Generatoren ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Dependencies für Generatoren ermitteln

Ein Thema von RSE · begonnen am 12. Sep 2013 · letzter Beitrag vom 19. Sep 2013
Antwort Antwort
Seite 2 von 3     12 3      
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#11

AW: Dependencies für Generatoren ermitteln

  Alt 15. Sep 2013, 11:15
Mir erschließt sich nicht ganz, warum man sich noch mit InterBase 6 abgibt, womöglich die Open Source Variante, die ein Rattennest an Bugs darstellt. Aber ich denke die Diskussion hatten wir in diesem Forum schon ein paarmal.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#12

AW: Dependencies für Generatoren ermitteln

  Alt 15. Sep 2013, 11:17
@Perlsau:
Wenn 20 Stunden vergangen sind, bedeutet das mitnichten, dass ich 20 Stunden in die Lösung dieses Problems investiert habe.
Könntest du mir zeigen, wo ich behauptet hätte, du habest 20 Stunden oder auch nur 10 Stunden "in die Lösung dieses Problems investiert"? Denn eigentlich dachte ich lediglich geschrieben zu haben: "... nach gut 10 Stunden, noch immer nicht gelöst."

Nachtrag: Ja, da weiß er nun nichts mehr, der Herr RSE ...

Geändert von Perlsau (15. Sep 2013 um 14:09 Uhr)
  Mit Zitat antworten Zitat
Hansa

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

AW: Dependencies für Generatoren ermitteln

  Alt 16. Sep 2013, 00:46
In unserer Firma gibt es Projekte (mehrere pro Woche), die jeweils ihre eigenen Tabellen etc. benötigen. Nach einiger Zeit (wenn die 2GB-Grenze von IB6 naht) werden alte Projekttabellen etc. entsorgt. In Einzelfällen entstehen auch Abhängigkeiten zwischen Projekten, und hier liegt die potenzielle Gefahr.
Jetzt mal mit Verlaub gesagt : wer hat diesen Unsinn zu verantworten ? 1. Mehrere Projekte pro Woche. 2. Jedes Projekt braucht seine eigenen Tabellen ? 3. 2 GB Grenze ist wichtig, bzw. diese Grenze wird schon mal erreicht ? Ist Dir überhaupt klar, was Projekt heisst ? Das ist ein (Haupt-)Programm. welches einen gewissen Datenbestand hat. Vielleicht gehören zu diesem "Projekt" auch noch einige Tools, Zusatzprogramme etc., wobei allerdings alles auf gemeinsamem Datenbestand aufbaut. Nennen wir das ganze dann eben "Projekt".

Jetzt erkläre mir mal, inwiefern da andauernd Tabellen angelegt, "entsorgt" werden müssen usw. ? Wenn wochenlang jede Woche mehrere Projekte neu angelegt werden, das wäre dann wohl 3-stellige Projektanzahl. Wird da etwa jede benötigte Tabelle in ein und dieselbe Datenbank gespeichert ? Das würde einiges erklären (auch die vielen Generatoren). Im Zusammenhang mit IB 6.1 deutet da wirklich einiges auf eine gehörige Portion Beratungsresistenz hin. Von denen die hier geantwortet haben ist keiner, der nicht weiss (und zwar ziemlich genau), von was er spricht ! "Redesign" ist da eher noch harmlos.
Gruß
Hansa
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.465 Beiträge
 
Delphi 12 Athens
 
#14

AW: Dependencies für Generatoren ermitteln

  Alt 16. Sep 2013, 09:02
Da das böse Wort "Redesign" nun schon gefallen ist, wozu benötigt ihr für jede Tabelle einen Generator?
Einer genügt für die ganze Datenbank (Spezialfälle mal ausgenommen).
  Mit Zitat antworten Zitat
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#15

AW: Dependencies für Generatoren ermitteln

  Alt 16. Sep 2013, 12:18
Die ganze Geschichte, warum wir noch mit IB6.1 arbeiten und warum unsere DB so designt ist, wie sie ist, ist nicht auf meinem Mist gewachsen. Da diese Fragen hier nicht zur Diskussion stehen, werde ich sie hier auch weder verteidigen noch euch zustimmen. Ich spreche euch keine Kompetenz ab, aber um die Qualität einer Designentscheidung beurteilen zu können, sollte man schon wissen um was es geht - dann erscheint da nämlich einiges in anderem Licht, nicht alles ist Standardfall. Bevor weitere Kommentare in diese Richtung kommen: Ich werde nicht weiter darauf eingehen, da ich keine Lust habe, in jedem meiner Threads unsere gesamte Programmstruktur incl. Hintergrundinfos und Zukunftsplänen offenzulegen.

@Perlsau:
Dann hatte ich dich da offenbar missverstanden. Sorry dafür.
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
220 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

AW: Dependencies für Generatoren ermitteln

  Alt 16. Sep 2013, 12:21
Autoincrement Wert werden bei Interbase / Firebird über Generatoren und Trigger erzeugt,
also JA man braucht ne menge davon mit den beiden Datenbanken
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.930 Beiträge
 
Delphi 12 Athens
 
#17

AW: Dependencies für Generatoren ermitteln

  Alt 16. Sep 2013, 16:04
Wir halten die Struktur der Datenbank vollständig in einer Konfigurationsdatei in einem datenbankneutralen Format vor.
Beim Anlegen von Autoinc Feldern, werden dann automatisch Trigger und der dazugehörige Generator angelegt.
Wenn man die Datenbank reorganisiert, werden alle Daten in temporäre Tabellen kopiert alle Trigger, Schlüssel, Generatoren und Tabellen werden gelöscht.
Die Datenbank wird aus den Strukturdaten in der Konfigurationsdatei wiederhergestellt und der Inhalt der temporären Tabellen in die neu angelegten Tabellen übertragen.

Wenn du also DB-Modell-Informationen hättest, könntest du dich ziemlich leicht aller unnötigen Generatoren entledigen.
Da man sowas eigentlich sowie so dokumentiert braucht, würde ich mich daran machen, sowas in maschienenlesbarer Form anzufertigen.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (16. Sep 2013 um 16:07 Uhr)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.465 Beiträge
 
Delphi 12 Athens
 
#18

AW: Dependencies für Generatoren ermitteln

  Alt 16. Sep 2013, 18:03
Autoincrement Wert werden bei Interbase / Firebird über Generatoren und Trigger erzeugt,
also JA man braucht ne menge davon mit den beiden Datenbanken
Ich arbeite seit mindestens 10 Jahren mit Interbase/Firebird und kann dir berichten das zumindest in den Datenbanken unserer Kunden so bis 10GB ein 32-Bit Generator für alle Tabellen genügt. Ein Trigger für jede Tabelle, aber alle können den selben Generator nutzen.
  Mit Zitat antworten Zitat
Hansa

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

AW: Dependencies für Generatoren ermitteln

  Alt 16. Sep 2013, 18:13
Genau so siehts aus. Ausnahme : Online-verarbeitete Daten, d.h., wenn z.B. pro Sekunde 100 eingehende Bestellungen anfallen mit jeweils mehreren Positionen. Von Hand lässt sich ein Generatorwert jedenfalls kaum komplett füllen (auch in Jahren nicht). Hätte man sich das mal vorher überlegt, oder würde eben jetzt handeln, dann wäre das Problem gar nicht erst aufgetaucht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
672 Beiträge
 
FreePascal / Lazarus
 
#20

AW: Dependencies für Generatoren ermitteln

  Alt 16. Sep 2013, 23:59
wenn du nur die Referenzen deiner Steinzeit DB wissen willst, dann mach es dir doch einfach und mache ein Backup und ein Restore unter unter FB2.X und schau dann einfach mit den SQLs in die DB. So holt sich übrigens IBExpert Dependencies für Generatoren (kann man in IBExpert sehen, wenn man vorm Öffnen der Seite Dependecies im Menü Tools den SQL Monitor anwirft (in diesem Beispiel hieß der Generator ID).

select D1.RDB$DEPENDENT_NAME, D1.RDB$FIELD_NAME, D1.RDB$DEPENDENT_TYPE, R1.rdb$relation_name
from RDB$DEPENDENCIES D1
left join rdb$relations r1 on ((D1.RDB$DEPENDENT_NAME = r1.rdb$relation_name) and (not (r1.Rdb$View_Blr is null)))
where (D1.RDB$DEPENDED_ON_TYPE = 14)
and (D1.RDB$DEPENDENT_TYPE <> 3)
and (D1.RDB$DEPENDED_ON_NAME = 'ID')
union
select distinct f2.rdb$relation_name, d2.rdb$field_name, d2.rdb$dependent_type, r2.rdb$relation_name
from rdb$dependencies d2, rdb$relation_fields f2
left join rdb$relations r2 on ((f2.rdb$relation_name = r2.rdb$relation_name) and (not (r2.Rdb$View_Blr is null)))
where (d2.rdb$dependent_type = 3) and
(d2.rdb$dependent_name = f2.rdb$field_source)
and (d2.rdb$depended_on_name = 'ID')
order by 1, 2
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 00:00 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