Announcement

Collapse
No announcement yet.

Datenbanken ein paar Fragen :-(

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbanken ein paar Fragen :-(

    Hi!

    Ich verwende Paradoxtabellen, und ich habe ein paar Fragen dazu:

    1) Bei einer Datenmenge von über 10.000 (-36.000) Datensätze sind da Paradoxtabellen das richtige?

    2) im Netzwerk (mit Verwendung von BDE) ist es klug Paradox zu verwenden?

    Wer kann mir das beantworten??

  • #2
    Ich würde grundsätzlich bei einem System, welche von mehreren Benutzern gleichzeitig verwendet wird, keine Desktop-Datenbank wie Paradox, DBase, Access, ... mehr für ein neues System verwenden.

    Es sprechen mehrere Gründe dagegen:

    1, Performance: Alle Datenbankoperationen werden auf dem Client durchgeführt. Dazu müssen u.U. alle Daten einer Tabelle über das Netzwerk verschickt werden

    2, Stabilität: Bei der Verwendung von Paradox im Netzwerk wurden z.B. auch in diesem Forum gehäuft von Problemen berichtet (z.B. Konfiguration eines NT-Servers -> "Pessimistischer Zugriff"

    3, Skalierbarkeit: Eine Desktop-Datenbank kann bei Mehrbenutzerzugriff nur für eine geringe Anzahl von Personen skaliert werden

    4, Sicherheit: Eine SQL-Datenbank wird bei einem Absturz eines Clients keine zerstörte Datenbank hinterlassen. Bei einer Desktop-Datenbank kann dies aufgrund des direkten Dateizugriffs sehr wohl geschehen

    Comment


    • #3
      Lieber Berhard!

      Wäre nett wenn du mir helfen könntest die "richtige" Datenbank zufinden.

      1) Max. Anzahl der Benutzer sind 3( meistens zu 90% sind es 2)

      2) Die Datensicherheit ist nicht so wichtig, die Tabellenanzahl soll aber nicht gezeigt werden wie kunden.db, ansprechpartner.db, adressen.db. Gibt es eine Möglichkeit eine datanbank zu zeigen in der dann alle tabellen integriert sind?

      3) SQL- hab noch nie richtig damit gearbeitet, soll ich keine Bde anwendung machen sondern alles über SQL?

      Hast du noch ein paar Tips für mich?
      SABINE :_

      Comment


      • #4
        1, Bei 3 Benutzer ist es noch nicht so schlimm (falls nicht einer in Europa und einer in Australien mit der Datenbank arbeitet). Da könnte man eine Desktop-Datenbank einsetzen

        2, Bei einer SQL-Datenbank ist das auf jeden Fall so. Auch Access speichert alle Tabellen in einer Datei (z.B. MeineDatenbank.mdb)

        3, Auch wenn du auf eine SQL-Datenbank zugreifst heißt das nicht das Du nicht die BDE bzw. die Delphi-Datenbankkomponenten benutzen darfst.
        Du kannst eigentlich fürs erste Dein Programm unverändert lassen. Später kannst Du z.B. um die Performance zu steigern dein Programm anpassen (z.B. statt alle Datensätze einer Tabelle über TTable zu holen nur bestimmte über TQuery).

        Jetzt zu sagen welche genau die richtige ist, ist schwierig. Vielleicht ein paar Tipps:

        a, Frag mal bei deinen Kollegen rum, welche Datenbank-Systeme bisher in deinem Umfeld eingesetzt wird. Es ist immer von Vorteil eine weiteres Datenbank auf ein System einzusetzen, welches schon benutzt wird (Vorteil: Es gibt jemand den man schnell fragen könnte)

        b, Sind die Kosten des DB-Systems wichtig. Diese könnten zwischen den DB-Systemen stark schanken (z.B. Benutzerlizenzen pro Benutzer)

        b, Persönlich habe ich Erfahrungen mit Access (97) und MS-SQL-Server.
        Access ist m.E. einer DBase oder Paradox-Datenbank vorzuziehen. Jedoch muß die rechtliche Sache im Bezug auf die kostenlose Verteilung betrachtet werden (Lizenzbedingungen).
        Auch ist die installation einer Lauffähigen DBE-Access-Installation auf den Client nicht gerade trivial!
        MS-SQL-Server habe ich deshalb eingesetzt, da auch in unserer Firma dies eingesetzt wurde (mittlerweile sind sie intern auf Oracle gewechselt). Ist zwar im Bezug auf Verwaltung und Administration relativ einfach, jedoch hat der Datenbank-Kern einige schwächen (Kein Kaskatiertes Löschen wie z.B. bei Access möglich)

        Abschließend würde ich sagen: Bei max. 3 Benutzern würde ich Access den Vorzug geben! Auch sollte es (durch entsprechende Tools) möglich sein die Datenbank, falls später mal sehr viele Benutzer daran arbeiten z.B. auf MS-SQL hochzuziehen

        Comment


        • #5
          Lieber Bernhard!

          Muß ich auf etwas achten wenn ich Access-Datenbanken(Tabellen) verwende??
          Was könnten Nachteile sein?
          ? BINE :_

          Comment


          • #6
            Neben der geringern Performance und höheren Netzlast als bei einer SQL-Datenbank habe ich bisher keine Nachteile mit Access empfunden.

            Man sollte sich jedoch auf einen Zugriffsweg festlegen.<br>
            Mit Acces sind folgende Zugriffswege möglich:

            ODBC: Benutzt ich meißtens ohne Probleme<br>
            DAO: Nicht mehr zu empfehlen, da von MS nicht mehr weiterentwickelt wird<br>
            ADO: Nach MS der Weg für die Zukunft (hab aber noch keine Erfahrung damit), Komponenten sind bei Delphi 5 Enterprise dabei (oder seperat zu erstehen bzw. Fremdkomponenten

            Comment


            • #7
              Also habe mich jetzt a bißerl damit beschäftigt, find ich ganz leicht die Lösung über ODBC.

              Mal sehen, muß mir das genauer Anschauen,..

              Danke, hat mir sehr geholfen :-

              Comment


              • #8
                Falls Du dich mehr mit Delphi und Datenbanken auseinandersetzen willst. Von Andreas Kosch gibt es dazu ein sehr gutes Buch: "Client/Server Datenbankentwicklung mit Delphi&quot

                Comment


                • #9
                  das liegt vor mir,..
                  :-) danke :-

                  Comment


                  • #10
                    Also Access problemlos zu nennen ist nicht ohne - ich habe eine Anwendung, die ich nun auf Paradox umgestellt habe, da Access beim UpDate der Datenbank (etwa 250 MB) sich einfach mal auf über 1 GB "hochzieht" und dann die Dienste einstellt. Das Problem gibt es bei Paradox nicht. Außerdem unterstützt es Datentypen, die man doch ab und an braucht, zum Bleistift BLOB-Felder.
                    Auch habe ich eine Anwendung im Einsatz, die auf Access97 zugreift und dort kam es schon vor, daß bei einem Kunden Daten im Nirwanna landen.
                    Seitdem ziehe ich Paradox vor. Für Server-DBs muß ich Oracle benutzen, was auch ganz gut klappt, incl. der Migration von Paradox nach Oracle.

                    Thoma

                    Comment


                    • #11
                      hallo bernhard
                      da du hier der db gurru zu sein scheinst frag ich einfach mal frech daher!?
                      also ich programmiere schon länger mit delphi 4.0 (standard) aber bis anhin immer mit normalen files.. (auch auf nt servern etc.).

                      nun dachte ich jetzt machste mal etwas mit db's... (früher mit ms access gearbeitet)

                      wir verwenden MS SQL 7.0 Server im Geschäft.... kann ich mit irgendeinem schlauen trick so programmieren das ich die SQL DB verwenden kann? (Delphi Standard) oder "MUSS" ich da eine Enterprise Version von Delphi haben?

                      danke für deine Infos!

                      sasch

                      Comment


                      • #12
                        Erst mal zu Thomas:

                        Meine Empfehlung für Access war Aufgrund der Datenbankgröße von "nur" bis zu 36.000 Datensätzen und der geringen Benutzeranzahl. Ich selbst verwende Access auch bei ca. 200.000 Datensätzen. Bis auf das Problem, daß wenn man immer wieder viele Daten in die Datenbank schreibt und wieder löscht die Datenbankgröße (File-Größe) immer mehr wächst. Aber falls dies zu störend ist: Access biedet eine Möglichkeit die Filegröße mit Bordmitteln wieder schrumpfen zu lassen (Methode CompactDatabase oder so ähnlich).

                        Dein Problem mit Access und einer sehr großen Datenbank kann ich leider Aufgrund der fehlenden DB-Größe nicht nachvollziehen. Aber bei so großen DB's wäre da nicht eine SQL-Datenbank wie MS-SQL oder Oracle angebrachter?

                        So was wie BLOB-Felder gibt es bei Access auch, jedoch heißen die dort OLE-Felder. Aber im Prinzip kann man das gleiche damit machen.

                        Und das Paradox-DB's nicht auch macken haben, zeigen die Diskussionen in diesem Forum über Beschädigte Header, Indexes und ähnliches. Es kommt halt immer darauf an was man für Anforderungen and die DB hat. Auch ist fraglich, wie die DB-Formate Paradox und DBase von Borland weiterentwickelt werden.

                        Jetzt zu Sascha:

                        Also mit Delphi4-Standard kannst Du ohne Probleme auf eine MS-SQL 7.0-Datenbank zugreifen. Auch mit Bordmitteln. Und zwar über ODBC. Du legst einen ODBC-Eintrag an, welcher auf deine Datenbank auf dem SQL-Server zeigt, und schon kannst Du loslegen, indem du über den ODBC-Alias zugreifst. Du hast zwar nur den Funktionsumfang des SQL-Servers 6.5 zur Verfügung (neue Datenbank-Type und ähnliches sind nur über den Zugriffsweg ADO/OLEDB verfügbar),
                        aber für den Anfang sollte es reichen. Falls Du auf D5 umsteigen willst, mußt Du dir die Professional-Version zulegen, da bei D4-Standard keine Datenbankkomponenten mehr dabei sind. Auch ist erst bei D5-Enterprise die ADO-Komponenten dabei, welche aber seperat zu bestellen sind

                        Comment


                        • #13
                          Bezüglich der Weiterentwicklung von DBase und Paradox-Treibern würde ich mir keine Gedanken machen, denn ODBC soll zukünftig für eben diese Treiber (man höre und staune) auf die BDE zugreifen..

                          Comment

                          Working...
                          X