DB2 vs My Sql vs Access

Hallo Zusammen,

Vorab möchte ich sagen das ich ein neuling auf dem Gebiet Datenbanken bin.
Mein Vorhaben ist die Evaluation einer Datenbank mit einer Benutzeroberfläche durch VB 6.0

Daten die gespeichert werden sollen bestehen aus:
Produktrubrik
Marke
Fehlerbeschribung
Problemlösung
Weiterleitungsempfehlung

nun wäre ich froh wenn ihr mir Vorteile und nachteile der der DB’s kurz aufzeigen oder beschreiben könntet. die Kosten sind nicht relevant!
Vielen Dank für eure Hilfe.
Stephan

hi Stephan

bischen wenig angaben. grundsätzlich ist es so:

db2 ist eine profi-datenbank. dementsprechend auf hohe datenkonsistenz hin getrimmt und auch bei wirklich grossen datenmengen noch performant. allerdings auch schwieriger in der handhabung.

mysql ist vor allem auf performance bei lesenden zugriffen hin optimiert. die neuesten versionen haben zwar auch schon viele features von „richtigen“ datenbanksystemen. trotzdem ist es nicht gerade eine db, die ich für unternehenskritische daten verwenden würde. für retrival-systeme im web-bereich ist mysql aber geradezu optimal.

ms access ist eine nette datenhalde, die mit einem schönen bunti-klicki-interface daherkommt und tatsächlich auch daten speichern kann. naja, ganz so extrem ist es nicht: seit office 2000 wurde die db-engine auf halbwegs solide füsse gestellt. es spricht also nichts gegen den einsatz von access - allerdings nicht mit wirklich grossen datenmengen. ausserdem ist access definitiv auf windows-systeme eingeschränkt während db2 und mysql auch unter anderen systemen laufen.

du willst offenbar eine recht simple fehlerdatenbank aufbauen. scheint weder unternehmenskritisch zu sein, noch werden sehr grosse datenmengen zusammenkommen (hoffentlich :wink:. als sprache willst du vb einsetzen, daher nehme ich mal an, dass das ganze unter windows laufen soll. bleibt lediglich die frage, wieviele personen gleichzeitig auf die datenbank zugreifen (und ich meine tatsächlich „gleichzeitig“, nicht wieviele personen die software installiert haben).

access hat nämlich in den alten versionen massive probleme gehabt, wenn mehr als vier personen gleichzeitig auf die daten zugegriffen haben. keine ahnung, ob das mit office 2003 noch immer so ist, vermute aber, dass microsoft ja einen grund haben will, warum man den leuten den ms sql server verkaufen kann.

folge: wenn max. 4 gleichzeitig mit der db arbeiten sollen, dann würde ich access nehmen. nicht weil es das beste db-system ist, sondern weil es am simplesten zu administrieren ist. der unterschied zwischen vba-modulen und vb6-programmen ist minimal. und für die zu erwartende datenmenge reicht access allemal aus.

db2 würde ich nur für gröbere projekte empfehlen, bei denen die anzahl der tabellen über ca. 50 liegt. oder eben, wenn die datenmenge jenseit der 500 mb kommt.

mysql wäre grundsätzlich genauso gut wie access geeignet, ist aber eine spur komplizierter zu administrieren. wenn die db also auf windows laufen darf, reicht access. ansonsten nimmst du halt mysql.

zu den kosten: mysql ist freeware. von db2 gibt es eine personal edition, die gratis verteilt wird. ms access gibt es im bundle mit ms office pro und kostet schon eine nette stange geld.

erwin

Hi Stefan, Hi Erwin

soweit so gut, nur eine kleine Anmerkung bzgl. Access in diesem Zusammenhang: Wenn als GUI ausschliesslich VB6 angedacht ist, weis ich nicht wieso hier ueberhaupt Access in Spiel kommen muss. Die Jet4.0 db-Engine ist sowieso Bestandteil von Windows und darauf baut auch Access auf. Also koennte man die VB-Applikation auf die Jet-Engine aufsetzten ohne das irgendwelche zusaetzliche Kosten entstehen. Lediglich kann man die Daentabellen nicht mit der recht komfortablen Access-GUI bearbeiten, aber das kann man auch mit VB6 realisieren.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

1 Like

theoretisch ja aber…
hi peter

fragestellung war ganz klar: db2, mysql oder access.

natürlich kann man auch ohne ein access installiert zu haben, auf die mdb-dateien zugreifen (geht ja auch aus linux heraus ohne probleme). nur fehlt dann ein vernünftiges verwaltungstool - irgendwer muss die db selbst ja anlegen, die tabellen definieren, die benutzer berechtigen etc. geht alles natürlich über irgendwelche frontends von drittherstellern, die sicher teilweise auch gratis sind.

aber kosten spielen ja offenbar keine rolle und so zusammengestoppelte lösungen sind für enthusiasten definitiv interessant, für eine produktionsumgebung, die einfach nur funktionieren soll ist das meist aber weniger geeignet.

merke - nur weil etwas technisch möglich ist, ist noch lange nicht sinnvoll…

aber ich gebe dir insofern völlig recht: das access braucht eigentlich nur derjenige, der die db designed, aufbaut und das programm dazu erstellt. die benutzer des programms müssen kein access mehr installiert haben - das geht über die standard-jet-schnittstelle. bleibt also eine lizenz, die man sich gönnen sollte…

erwin

hallo zusammen,

ich bedanke mich soweit mal für euren input.
Access brauche ich nur um die Tabellen zu erstellen.
es ist vorgesehen , das ich nacher mit vb die werte aus den tabellen hole. Das heisst nur auf die .mdb datei zugreife um die werte zu holen.

stellt sich da vielleicht schon ein problem wenn 6 Benutzer auf das system zugreifen ?
Bei welcher Db Grösse muss man hier mit Verlusten der Performance rechnen ?

danke, Stephan

Hallo,

bzgl. der Performance wir des so wie du die Anwendung beschrieben hast wohl keine groesseren Probleme geben. Meine Erfahrungen haben gezeigt, das Syteme mit ca. 300.000 Datensaetze und 10 - 20 Usern noch ertraeglich schnell laufen, wenn die anderen Parameter des Systems ( vor allem Arbeitsstation und Netzwerk ) zeitgemaess sind.

Auserdem ist es ohne grossen Ayfwand moeglich von einer Jet-Datenumgebung auf eine MySQL, MSSQL oder Oracle Datenbank zun migrieren.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]