axel: welche soll ich nehmen, wo fang ich an?

Liebe Lesenden,

nun muß ich mich das erste Mal mit Datenbanken rumquälen. Ich beschreib Euch mal kurz was sich meine Firma so vorstellt:

  • eine Datenbank mit verschiedenen Projekten
  • eine Datenbank für 2 Foren
  • eine Datenbank für statistische Auswertungen

Kann mir jemand eine Empfehlung geben, was ich das softwaretechnisch so einsetzen könnte (sinnvolles Preis-/Leistungsverhältnis).

Über Tipps wie ich am besten Anfange mich mit dem Thema Datenbanken zu beschäftigen würde ich mich auch freuen.

vielen Dank und frohes Schaffen
axel

  1. Über Tipps wie ich am besten Anfange mich mit dem Thema Datenbanken zu beschäftigen würde ich mich auch freuen.

    Hi,
    Hier ein Link, der als Einstieg recht gut geeignet ist, ist eine  Dokumentation über Mysql und Datenbanken allgemein.
    http://www2.rent-a-database.de/mysql/

    Grüße,
    Crunch

  2. Hallo Axel,

    Kann mir jemand eine Empfehlung geben, was ich das softwaretechnisch so einsetzen könnte (sinnvolles Preis-/Leistungsverhältnis).

    das hängt von verschiedenen Faktoren ab:
    Betriebssystem,
    persönliche Vorlieben,
    zu erwartende Datenmengen,
    Kosten/Nutzen
    abhängig vom Betriebssystem bieten sich grundsätzliche Richtungen an:
    IIS - MS-Access oder MS-SQL (Oracle immer) mit ASP
    Linux - mysql mit PHP
    Unix - Oracle

    Kosten: Access - gratis
    MS-SQL - relativ teuer
    mysql - quasi gratis, aber im Vergleich zu Access wesentlich aufwendiger

    Vielleicht hilft das für erts Gedanken.
    Gruss
    Christian

    1. Kosten: Access - gratis
      MS-SQL - relativ teuer
      mysql - quasi gratis, aber im Vergleich zu Access wesentlich aufwendiger

      Seit wann ist Access gratis? Hab ich da was verpasst? Verschenkt Microsoft neuerdings seine Software?
      Und wieso ist mysql "quasi" gratis?

      Grüße,
      Crunch

    2. Hallo,

      abhängig vom Betriebssystem bieten sich grundsätzliche Richtungen an:
      IIS - MS-Access oder MS-SQL (Oracle immer) mit ASP
      Linux - mysql mit PHP
      Unix - Oracle

      Kosten: Access - gratis

      Seit wann?

      MS-SQL - relativ teuer
      mysql - quasi gratis, aber im Vergleich zu Access wesentlich aufwendiger

      Du hats in Deiner Liste Interbase vergessen.
      Seit Version 6.0 ist Interbase Opensource, läuft unter Win32 bzw. diversen Unix-Derivaten und Linux, kann auch Transaktionen, Stored Procedures, usw. http://www.ibphoenix.com

      Grüße
        Klaus

      1. Hallo,

        Kosten: Access - gratis

        Seit wann?

        seit immer,
        es ist natürlich nicht die Vollversion von access gemeint-

        das MDAC kannst Du von MS kostenlos downloaden, mehr benötigst Du für das Web nicht.

        Du hats in Deiner Liste Interbase vergessen.

        tut mir leid, das Ding hab ich noch nicht ernsthaft in Erwägung gezogen.

        Gruss
        Christian

      2. Hallo,

        Kosten: Access - gratis

        Seit wann?

        seit immer, ich mein natürlich nicht die Vollversion Access.
        Fürs Web benötigst Du aber nur das entsprechende MDAC und das ist gratis.

        Du hats in Deiner Liste Interbase vergessen.

        tut mir leid, das hab ich bis jetzt noch nicht ernsthaft in Web-Anwendungen gesehen.
        Grüße
        Christian

        1. Hallo,

          Du hats in Deiner Liste Interbase vergessen.
          tut mir leid, das hab ich bis jetzt noch nicht ernsthaft in Web-Anwendungen gesehen.

          Die Datenbank im Hintergrund bleibt einem ja auch meist verborgen.
          Ich verwende das Ding schon seit einiger Zeit und kann mich nur positiv dazu äußern. Es macht, was es machen soll, und ist einfach zu warten.

          Grüße
            Klaus

        2. Hi Christian,

          seit immer, ich mein natürlich nicht die Vollversion Access.
          Fürs Web benötigst Du aber nur das entsprechende MDAC und das ist gratis.

          im MDAC ist aber nicht Access, sondern die MSDE, die Data Engine vom SQL Server. Allerdings ist die Datenbankgröße und die Anzahl der User eingeschränkt, da sie nur zum Entwickeln gedacht ist. Und die ganzen Administrationswerkzeuge sind auch nicht dabei.

          Gruß,
          Martin

          1. Hi!
            Also ich bin schon seit langem am überlegen, eine Datenbank anzubinden. Und zwar geht das um eine Datenbank(MS access) einer Immobilien-Firma, in der ca. 100 Objekte eingetragen sind, aber mit Fotos..., wurde halt normal auf dem Desktop benutzt. Ich weiß zwar, dass man Access Datenbanken über ASP ansprechen kann, aber wie muß die Datenbank denn auf den Server geladen werden? Kann ich einfach die mdb Datei hochladen und dann über asp die entsprechenden Abfragen machen? Problem an der Sache, die Datenbank hat so ca. 200 MB(keine Ahnung warum, halt viele Bilder...).
            Könnte ich die denn dann auch mit meiner normalen MS Office Lizens betreiben? Leider werde ich aus der MS Access Hilfe nicht schlau, wie das alles genau funktionert.
            Wenn ich die Datenbankdatei so hochlade, kann man die auch weite Aktualisiern, wenn man neue Einträge in die Datenbank (offline) macht, oder macht man das einfacher Online? Man soll auf der Homepage einfach nach verschiedenen Regionen und Preisen suchen können, hierfür suche ich eine MÖGLICHST EINFACHE Lösung!
            Nachmal zu Bildern, wo lager ich die am besten, in der Datenbank oder extern in einem Verzeichnis?
            Hoffe mir kann jemand einige der Fragen beantworten! Suche scho länger nach einer Lösung, leider ist die Datenbank so fertig ist.
            Gruß
            Alex

        3. Hi,
          » »» Du hats in Deiner Liste Interbase vergessen.

          tut mir leid, das hab ich bis jetzt noch nicht ernsthaft in Web-Anwendungen gesehen.

          Wie auch?
          Die DB wirst du eigentlich nur sehen, wenn da was von nem lausigen
          Programmierer gemacht wurde oder die auf der Website darauf hinweisen.

          Ich benutz InterBase auch schon ne Weile und bin ebenfalls sehr zufrieden.

          Ciao,
            Wolfgang

  3. Sup!

    Da hat Deine Firma sich ja wenig vorgenommen... nur 4 verschiedene Projekte für einen angehenden Experten auf dem Gebiet der Datenbanken.

    Wie einer der andere Poster schon erwähnt hat, richtet sich die Auswahl der Datenbank nach der zu erwartenden Datenmenge und der Anwendung, und natürlich nach den Ansprüchen an die Funktionsvielfalt der Datenbank.

    Access soll angeblich im Dauerbetrieb (also ohne Reboot) totaler Müll sein, weil es Speicherlecks haben soll - kostenlos ist es ausserdem definitiv nicht.

    mySQL ist kostenlos und bietet hinreichende Funktionen für viele gängige Probleme. Es wird erzählt, daß mySQL nicht sehr gut für sehr große Datenmengen geeignet sei. Es wird anscheinend mit PHP "bebundled" und ist daher sehr populär.

    PostGreSQL ist ebenfalls kostenlos und hat einige doch manchmal sehr praktische und wichtige Funktionen mehr als mySQL, ist aber auch ein wenig komplizierter.

    Oracle ist verdammt teuer, hat alle denkbaren Funktionen und kann erwiesenermaßen gigantische Datenmengen verwalten.
    Alle Datenbanken kann man natürlich aus fast jeder Programmiersprache benutzen - von Visual Basic, PHP, C, Perl, Fortran... bla.

    Gruesse,

    Bio

  4. Hallo Axel,

    ...Antwort spät, da ich ja auch zu tun habe (Datenbanken!), aber vielleicht liest Du das jetzt noch.

    nun muß ich mich das erste Mal mit Datenbanken rumquälen. Ich beschreib Euch mal kurz was sich meine Firma so vorstellt:

    • eine Datenbank mit verschiedenen Projekten
    • eine Datenbank für 2 Foren
    • eine Datenbank für statistische Auswertungen

    Die Wahl des DBMS (Datenbank-Management-Systems) steht meiner Meinung nach in Deiner Lage noch überhaupt nicht an. Ein erfahrener Datenmanager analysiert erst mal die zu erwarteten Daten. Datenbanken verwalten Daten in Tabellen, die zueinander über ids_idrefs in Beziehungen gesetzt werden. Welche Daten eines Projektes gehören in welche Tabellen und wie zeigen diese Tabellen aufeinander?
    Welche Datentypen sind zu erwarten? Was sind die 'atomaren' Informationseinheiten usw. usw.. Solch grundlegendes DB-Design am Anfang ist das allerwichtigste! Viele Datenbanken gehen nur deswegen bald 'in die Kniee', weil sie _schlecht_ designed sind, und _nicht_ weil das 'blöde' Access nichts taugt etc..

    Also wäre erst einmal ein allgemeines Grundlagen(selbst)studium in relationalen Datenbanken erforderlich.

    Des weiteren müssen dann die zu erwartenden Datenmengen abgeschätzt und die kritischen Tabellen bestimmt werden. Außerdem: ist die Datenbank irgendwann statisch/im Datengleichgewicht oder wächst sie ad infinitem?

    Wie komplex werden die Abfragen? (Wichtig bei sehr vielen & streng normalisierten Tabellen). Braucht man daher gesp. Proz./Sichten/gespeicherte Abfragen? Wenn ja, scheiden My/PostGre - SQL aus.

    Und die Abschätzung, wieviele Nutzer die DBen konkurrierend/schreibend/lesend verkraften werden müssen, darf auch nicht fehlen!

    Wenn diese Punkte alle geklärt sind und Strukturen und zu erwartende Umfänge sowie Belastungen der DBen feststehen, kann auch die Antwort auf

    Kann mir jemand eine Empfehlung geben, was ich das softwaretechnisch so einsetzen könnte (sinnvolles Preis-/Leistungsverhältnis).

    gegeben werden.

    Da unter meinen Vorrednern bestimmte Einzelheiten zu MS-Access bzw. Borland-Interbase kontrovers diskutiert wurden, gebe ich auf diese beiden DBMS noch etwas ein:

    MS-Access ist _nicht_ kostenlos. MDAC ist die Microsoft Data Access Component (derzeit Rel. 2.6x), eine IIS-Komponente, die über OLEDB auf Datenbank-Files (.mdb) oder -Server (SQL-Server) oder ODBC-Datenquellen (hinter denen wieder DBs stehen) zugreift. Die DBs braucht man natürlich _trotzdem_.

    MS-Access _selbst_ hat kein Speicherleck. Das Speicherleck tritt ab MDAC 2.1 bei OLEDB-Zugriff (ASP) über den MS-Access-ODBC-Treiber auf System-DSNs auf. Direktzugriff (ASP) über den JET-OLEDB-Provider4.0 auf den .mdb-File beseitigt dieses unangenehme Phänomen und vervielfacht die Performance.
    PHP greift mit nativem ODBC auf den Treiber, ein Speicherleck i.Zus. m. Access konnte ich hier noch nicht beobachten, die Performance ist außerdem ganz ok..

    Trotzdem ist MS-Access für große Webanwendungen grundsätzlich nicht zu empfehlen, da es keine Serverarchitektur hat, sondern die DBs in Files verwaltet. Für Intranet-ASP-Anwendungen mit wenig konkurrierenden Nutzern oder für mittlere ASP-Anwendungen mit nur lesenden Zugriffen ist es hingegen völlig ausreichend. Die Datenmengenbeschränkung (2G) kann man ggf. durch Verteilen der Daten gut umgehen.

    Interbase ist ein stabiles robustes DBMS mit Serverarchitektur, welches sich wohl auch für große Sachen einsetzen läßt. Ein Kollege von mir setzt es in seinem Projekt ein und ist recht zufrieden. Allerdings haben wir keine Erfahrungen mit großen Datenmengen und komplexen Strukturen. Administrieren geht meines Wissens auch nur über SQL-Hardcoden, das ist, auch wenn man's kann, schon lästig.

    Aber als erstes würde ich mich an die Datenanalyse setzen.

    Mit besten Wünschen für den Eintritt die DB-Welt
    Uwe Nohl

    1. Hallo!
      Mal ne Frage, wenn ich eine MS-Office(Desktop) Lizens habe, kann ich dann nicht einfach die mdb Datei verwenden? Oder kostet das dann extra? Wenn, was kostet das so in etwa????
      Gruß
      Alex

      1. Hallo Alex,

        Mal ne Frage, wenn ich eine MS-Office(Desktop) Lizens habe, kann ich dann nicht einfach die mdb Datei verwenden? Oder kostet das dann extra? Wenn, was kostet das so in etwa????

        sicher, nichts und keine Lizenzbestimmungen sprechen dagegen. Allerdings muß der Desktop-Rechner ein geeignetes Betriebssystem (WinNT o. Win2000 Server) + eingerichtetem IIS haben und in ein Intranet/Domain eingebunden sein, damit es funktioniert. Dann kann man von dort aus ohne weitere Office-Lizenzen eine ASP-Anwendung auf Access.mdb-Basis betreiben. Will man allerdings eine weitere (Extra-) Maschine im Netzwerk als Server betreiben und dort Access installieren, muß natürlich dafür wieder eine Access-Lizenz angeschafft werden. Wie teuer im Spezialfall diese weiteren Lizenzen sind, weiß ich allerdings nicht.

        Gruß
        Uwe

        1. Hallo!
          Danke für die Auskunft. Also bei mir sieht das so aus, dass ich die Datenbank auf einem Webserver bei Spacenet installieren will, d.h. extern, hat gar nichts mit meinem Dektop zu tun. ABer ich brauche doch nur die Datei auf dem Server, nicht die Access Software, oder? Ich dachte die Software wird durch ASP ersetzt, das müßte doch um sonst sein, wenn das von denen eh angeboten wird, oder? Was brauche ich denn noch außer der NDB Datei und des Asp Skriptes für die Abfrage? Kann ich eine ganz normale mdb Date hochladen und dann verwenden? Wenn ich die Aktualisieren will, geht das auch über einen Abgleic mit der Datenbank auf dem Desktop?
          Gruß
          Alex

    2. Hallo,

      Allerdings haben wir keine Erfahrungen mit großen Datenmengen und komplexen Strukturen.

      Ich setze es unter anderem für ein Warenwirtschaftssystem ein (ca. 200 Tabellen mit derzeit max. 500.000 Records in den größeren Tabellen), und hatte bisher noch keine Schwierigkeiten, sowohl was die Stabilität als auch die Performance betrifft. Allerdings denke ich, daß Interbase eher für kleines bis mittleres Datenaufkommen brauchbar ist. Wenn dann mehrere Millionen Records gefragt sind, dann würde ich auch anderes vorziehen.

      Administrieren geht meines Wissens auch nur über SQL-Hardcoden, das ist, auch wenn man's kann, schon lästig.

      Interbase 6 für Windows hat ein Admin-Tool dabei, und außerdem gibts da noch Marathon http://www.gimbal.com.au, ein Windows-Admintool, welches inzwischen Freeware ist, und Opensource werden soll.
      Vielleicht interessiert das Deinen Kollegen:-)

      Ansonsten kann ich Dir nur Recht geben;-)

      Grüße
        Klaus

      1. Hallo Klaus,

        Interbase 6 für Windows hat ein Admin-Tool dabei, und außerdem gibts da noch Marathon http://www.gimbal.com.au, ein Windows-Admintool, welches inzwischen Freeware ist, und Opensource werden soll.
        Vielleicht interessiert das Deinen Kollegen:-)

        ganz herzlichen Dank für Deine Hinweise. Werd's weitergeben.

        Grüße
        Uwe

  5. Guten Morgen beisammen,

    vielen Dank Euch allen, die Ihr Euch, teilweise ja sogar recht ausführlich, bemüht habt, kleine Lichtblicke in das Dunkel meiner Unwissenheit zu bringen. Der Einstieg ist immer an schwierigsten und nun weiß ich, wo ich mich ver-self-ständigen kann.

    Nochmal vielen Dank und beste Grüße
    axel