HI,
mein Tipp an den Threadsteller ist, such dir erstmal ein Tutorial (hat auch schon jmd. geschrieben). Dabei hast du die freie Auswahl zwischen allen Tutorials die du findest, welches
DBMS darin verwendet/erklärt wird ist eigentlich egal. Wichtig ist, dass du dieses Tutorial gut verstehst. Es sollte so geschrieben sein, dass du es sowohl gerne liest, als auch den Eindruck bekommst, dass es dir Wissen vermittelt.
Das finden solcher Tutorials dürfte nicht schwer sein, lies einfach mal rein und wenn es dir gefällt, dann bleib erstmal bei dem. Da die meisten sich auf ein
DBMS beziehen, verwende einfach erstmal das
DBMS, dass darin erklärt wird. Es ist dabei sehr unwahrscheinlich, dass du bei einem landest, dass nur kommerziell vertrieben wird. Dazu gibt es zu gute freie Konkurrenten.
Auch wenn sich die einzelnen DBMSe unterscheiden, so wirst du dies als Anfänger kaum warnehmen. Das was du an einer
DB lernst, kannst du mit sehr hoher Wahrscheinlichkeit auch auf eine andere übertragen. Insbesondere gilt dies für das Design einer
DB, ein Anfänger wird kaum mit komplexen Datenbanken und noch viel komplexeren Anfragen zu tun haben, Optimierung spielt da auch noch keine Rolle, erstmal muss vielmehr die Basis für solche Dinge vermittelt werden. Die Abfragen sind zudem meist in einer sehr ähnlichen Syntax gehalten, auch hier wirst du nur geringe Unterschiede im jeweiligen
SQL-Dialekt finden.
Natürlich gibt es nicht grundlos Massen an
DBMS und einen riesigen Markt rund um die Datenbanken, entsprechend gibt es hier natürlich Unterschiede in den einzelnen Produkten, aber die eigentlichen Vorteile eines bestimmten
DBMS kommen immer erst zu tragen, wenn du wirklich ein
DBMS benötigst. Dies ist immer dann der Fall, wenn du eine große Menge von Daten verwalten möchtest (wirklich groß), wenn du viele gleichzeitige Anfragen bekommst, aber auch wenn du wirklich komplexe Anfragen stellst.
Du als Anfänger wirst aber kaum einen
DB-Server bereitstellen für deine Tests, deine Datenbank dürfte kaum schon im Bereich mehrer GByte liegen (und das ist keine obere Grenze!) und die Anzahl der gleichzeitigen Zugriffe dürfte wohl sehr einstellig sein (wenn nicht sogar nur 1). Deswegen dürften sich in dem Fall erstmal die (bemerkten) Unterschiede zwischen zwei beliebigen
DBMS deutlich in Grenzen halten. Kommt eine mit ein paar ms weniger Zeit aus, so kann diese Zeit schon beim Synchronisierten Zeichnen verloren gehen.
Alles was du aber an Grundlagen lernst (wie ein
DBMS an sich arbeitet, was für Datenstrukturen intern verwendet werden, was eigentlich ein Index ist, wie man eine
DB aufbauen sollte, Normalformen, ...) all das kannst du als gute Basis für jedes
DBMS brauchen, mit welchem System du das lernst ist eigentlich egal.
Später kann es eh sein, dass dein Auftraggeber bereits ein bestimmtes
DBMS verwendet und auch jmd. hat, der dieses System verwaltet. Das sind meist Leute, die auch wirklich sehr fundiertes Wissen über den Aufbau und die Organisation haben, entsprechend fallen deren Optimierungen um einiges spezieller aus, sind aber auch um einiges perfomanter. Hier wirst du nicht sehr viel mehr machen als eine Schnittstelle zwischen deinem Programm und einer fertigen (gut designten)
DB verwenden.
Also, finde einfach den für dich einfachsten Einstieg, ganz unabhängig von einem speziellen System. Besser gesagt, mach dir einfach keinen Kopf ob du eventuell das falsche System für den Einstieg gewählt hast. Arbeitet dich mit dem gewählten System ein, versteh die Grundlagen und damit kannst du dann auch später zu einem komplett anderen
DBMS wechseln. Auf lange Sicht empfiehlt es sich immer, sich die häufig genannten Namen und Begriffe anzuschauen (z.B. Oracle, DB2, MS-
SQL, Postgres, FireBird,
MySql), aber hier auch wirklich mit dem Basiswissen im Hinterkopf, so dass du wirklich entscheiden kannst, ob die
DB für deine Ansprüche auch das leistet, was der hauseigene Benchmark verspricht.
Gruß Der Unwissende