![]() |
Hallo PaulJr,
Zitat:
Die "" kamen ja sowieso nicht von mir !! Bleibt immer noch die Frage, ob es nur mit IBexpert so ist. Wenn ich Zeit habe, probiere ich es mal mit der IBconsole. Zu dem IDtyp : Habe halt mit Domains experimentiert und somit gleich auch der ID eine Domain verpaßt. Jetzt sagst du, so etwas noch nicht gesehen zu haben. Nun interessiert mich natürlich, was da dahinter steckt. Wenn es keiner so macht, heißt das ja noch lange nicht, daß es verkehrt ist (vielleicht gibts die Domains ja noch gar nicht so lange). Du benutzt sie nicht, bei Lemmy kommts mir so vor, daß er froh damit ist. Jedenfalls verwendet er sie. Dafür sie NICHT zu benutzen sehe ich kein Argument. Was soll denn da in den Scripten durcheinander geraten ? Am Anfang ist es vielleicht etwas mehr Arbeit. Wenn dadurch die Systemtabellen übersichtlicher bleiben, dürfte es sich aber schnell auszahlen. Gruß Hansa |
Hallo Hansa, 8)
zugegeben meine Formulierung: (...) „ist aber nicht weiter schlimm... so lange man noch zu Hause programmiert...“ (...) ist etwas unglücklich (ungerecht) gewählt und schießt etwas übers Ziel hinaus... verzeih... :oops: ______________________________________ Das ändert allerdings nichts an der Tatsache, dass Domänen ein etwas umstrittener Konstrukt sein dürften... zumindest wenn man sich dann NUR mit Domänen umgibt... Bei dieser Gelegenheit erwähnt man oft als Argument die bessere Performance die man dadurch erreichen kann... nun...die Frage ist... ab wie vielen Tabellen bzw. ab welcher SQL- Projekt-Größe lohnt sich das überhaupt. Ab und zu kann man solche bzw. ähnlichen Diskussionen beobachten... die als Einziges Thema z.B. die Schnelligkeit bestimmten Konstrukte gegenüber anderen Konstrukte haben. Ich glaube sogar gestern hier in Forum irgendwas über beenden von Prozeduren bzw. Funktionen, wahlweise durch EXIT oder durch kontrollierte EXCEPTION, gelesen zu haben. Es wurde gesagt das die Exception etwas langsamer sind...usw... und das sollte als Argument dienen (!?). Vor Jahren diskutierte man z.B. auch oft über die IF...THEN...ELSE Anweisung...gegenüber der CASE Anweisung (wenn ich mich nicht irre)....usw... Was ist eigentlich schnell bzw. langsam in der Computer-Welt von Nanosekunden? Was hat also dann Priorität? Die bessere Lesbarkeit und Übersichtlichkeit... oder 2 Nanosekunden an Verlusten? Das Gleiche gilt auch für angebliche bzw. wirkliche Platz-Ersparnisse etc... Ich lasse diese Fragen offen... Jeder muss wissen was für ihn das beste ist... allerdings sollte man etwas kritischer diese Sachen unter die Lupe nehmen und nicht alles was in den Bücher steht muss unbedingt als 10-Gebote gelten...oder? Ich weiß noch nicht welche Argumente hier... für bzw. gegen Verwendung von Domänen in größeren Datenbank-Projekten noch kommen...(wenn’s überhaupt) darum enthalte ich mich noch mit genaueren Analisen, da ich zur Zeit noch kein Bedarf sehe... Ich sehe oft Entwicklung eines DB-Projekts z.B. aus der Sicht seines Umfangs, Wartbarkeit, Einsatzgebietes usw... Was noch einmal die Domänen betrifft, habe ich hier meiner Meinung nach (was mich etwas stört) noch kein einziges Wort über das wichtigste Einsatz-Gebiet von denen gehört...nämlich gar nichts über den CHECK- Einsatz bzw. Default Werte usw... Ein beliebtes Beispiel zu diesem Thema dürfte das Postleitzahlen-Problem agieren... Tja... vielleicht findest Du Hansa selbst etwas was auch gegen Domänen sprechen dürfte...aber auch wenn nicht... würde ich mich an Deiner Stelle auch NICHT durch meine Meinung beeinflussen lassen... :!: , da wie ich meine Domänen kann man verwenden...muss man aber nicht... Gruß Paul Jr. |
Hi PaulJr,
Zitat:
Das sind Diskussionen, die geführt wurden, als große Firmen noch Disketten als Massenspeicher nutzten. Im Zusammenhang mit einer DB sind folgende Aspekte viel wichtiger : sind die Indices richtig definiert? Ist das nicht der Fall, kannst du die ganze DB vergessen. Dann könnte man noch etwas darauf achten, die Records und PageSize aufeinander abzustimmen, um unnötige Ladevorgänge (vielleicht wegen einem Byte) zu vermeiden. Die Nanosekunden - Spezialisten würden dann wahrscheinlich die maximale Page-Size wählen, um sicher zu gehen, daß er nur einmal auf die Platte zugreift :mrgreen: Daß je nach Betriebssystem, Datenmenge oder Filesystem Unterschiede bestehen... :mrgreen: Zitat:
Zitat:
Meiner Meinung nach sieht der goldene Mittelweg so aus : 1. Achte auf deine Indices 2. Kümmere dich nicht zu sehr um die System-Domains, die du sowieso nicht verstehst 3. Benutze Domains, falls du viele Felder gleichen Typs und auch sonst gleicher Eigenschaften brauchst. 4. Bevor du jemand dein Programm gibst, mache ein Backup/Restore und guck dir die Größen und die Zeiten an. 5. experimentiere auch mit großen Datenmengen und eventuell der PageSize. Diese 5 Gebote (ohne Gewähr) stelle ich mal so in den Raum. Wahrscheinlich ist es aber so, wie bei den 10 Geboten : Irgend jemand hält sich sowieso nicht dran. :mrgreen: Gruß Hansa |
Hi,
hier kam ja auch das Thema Domains zur Sprache. Also ich habe im Moment keine eigene Domain. Habe mich anderweitig :mrgreen: auch mal umgesehen, da kam z.B. die Nachricht, daß die Kompatibilität z.B. bei Oracle eine andere sei. Man sollte auch das Programmieren im Team nicht aus den Augen verlieren. :shock: Jetzt hatte ich mal ein paar Domains angelegt und damit experimentiert. Nach einer Woche Unterbrechung fing ich wieder an. Da merkte ich, daß ich mir zuerst einmal angucken mußte, welche Domains ich hatte und manchmal schrieb ich dann doch CHAR (20) obwohl es eine Domain string20 gab. Außerdem habe ich mal hochgerechnet, daß ich vorrausichtlich bis zu 50 Tables brauche. Das war zwar kein Team, aber ich mußte mich doch wieder in mein eigenes Programm eindenken. Wenn ich jemand anderem das Script der DB geben würde, würde der wahrscheinlich fluchen. Außerdem : Sag niemals nie. Vielleicht kriege ich ja doch irgendwann etwas mit Oracle zu tun. :dancer2: Was übrig bleibt, sind nur die Bool-Felder. In einem Fall hatte ich einen alten Datenbestand in IB konvertiert. Da stand plötzlich in einem CHAR (1) Feld, wo nur 1 oder 0 rein darf ein K drin und die DB stürzte ab. Da überlege ich noch, eine Domain anzulegen mit CHECK, VALUE usw. Für das bei jedem Feld von Hand zu machen wäre zu viel Arbeit. Hat da einer Erfahrung mit :?: Das Kompatibilitäts-Problem wird übrigens in Zukunft noch größer. Borland hat letzte Woche Interbase 7 angekündigt, mit BOOL-Feldern und die DB endet mit .IB statt .GDB. (englischer) Bericht : ![]() Wenn ich das mal brauche, was ist denn dann mit meinen Bool-Domains ? :duck: Gruß Hansa |
Hallo Hansa, 8)
(...) „...Das war zwar kein Team, aber ich mußte mich doch wieder in mein eigenes Programm eindenken. Wenn ich jemand anderem das Script der DB geben würde, würde der wahrscheinlich fluchen...“ (...) Manchmal muss man Schmerzhaft seine eigene Erfahrungen machen... und für sich selbst das richtige Weg zu finden... aber wie man so sagt...: „Besser später als NIE!“... Nun mit Deiner Aussage stehen plötzlich meine frühere Ausführungen zu diesem Thema im etwas anderem Licht...das freut mich... ... bin jetzt echt gespannt was meinen dazu die Befürworter...(muss aber nicht sein... da Deine Äußerung reicht hier vollkommen...) Gruß Paul Jr. |
Hi,
als Beführworter :mrgreen: melde ich mich doch noch zu Wort: Grundsätzlich gilt: Man sollte sich immer im Klaren sein, was man macht. Bei einer AdressenDB für den privaten Gebrauch wird der Einsatz von Domains sicherlich nicht unbedingt notwendig sein. Aber damit ist es IMHO wie mit der Verwendung/Bezeichnung von Variablen beim Programmieren. Ich habe am Anfang auch keine Domains verwendet, weil mir der Sinn und die vielseitige Verwendbarkeit (Checks,...) noch nicht klar war. Inzwischen habe ich in meiner DB (60 Tabellen mit um die 600 Attributen, 100 SP) an der ich seit 2 Jahren arbeite, 23 Domains verwendet und musste nur sehr selten (ein oder zweimal) eine weitere Domain erzeugen, weil die bisherigen nicht ausreichten. Klar war dafür eine gewisse Planung notwendig, aber die macht man (zumindest ich) nach einigen schlechten Erfahrungen automatisch. Wenn man nach einiger Zeit mit seinen eigenen Definitionen nicht mehr klar kommt, macht den typischen Fehler: schlechte Dokumentation (mach ich auch immer wieder). In einem Team gilt das gleiche: entweder gut dokumentieren oder eine Vereinbarung treffen, wie z.B. Domains aussehen sollen und zu welchem Zweck die angelegt werden und zuguter letzt wieder die Dokumentation. Ich will hier niemanden überreden Domains bei IB zu verwenden. Ich habe gute Erfahrungen damit gemacht, nur die kann ich teilen.... :dancer: Grüße Lemmy |
Hi,
da ich diesen Thread angefangen habe, der Vollständigkeit halber noch folgendes : ![]() Bitte einmal durchlesen ! Es geht um Domains und Stored Procedures. Ich finde das da ist nicht so ganz ohne. Gruß Hansa |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:08 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 by Thomas Breitkreuz