Michael Schröpl: Datenbanksystem kaufen

Beitrag lesen

Hi Tina,

Schließlich sollten nicht nur die eingegebenen Daten

eben. Welche Eigenschaften haben diese Daten? Sind das einfach nur Zeilen
einer Datei, ohne jeden Bezug zum Recht des Universums? Oder haben diese
Daten irgendwelche komplexen relationalen Abhängigkeiten untereinander?

irgendwo gespeichert bzw. sortiert, etc. werden, sondern sie sollten
ja auch wo eingegeben werden können.

Eine Eingabe-Schnittstelle hat natürlich jede Datenbank.

Wobei die Frage ist, ob Du einen fertigen GUI-Builder haben möchtest,
also einen Satz Eingabemasken ohne eigenes Programmieren per Maus
zusammenklicken (dann wird es ggf. eher teurer) oder ob Du selbst die
Eingabeschnittstellen zu schreiben bereit bist (dann kannst Du alles
nehmen).

Gut wäre, wenn dies mit Hilfe von PHP funktioniert, denn das kann ich
'relativ' gut.

Das erhöht die Chancen von mySQL und reduziert die von M$-SQL. ;-)

Große Ansprüche werden nicht gestellt.

Tja, wenn Du auch nur auf eine _einzige_ meiner Gegenfragen eingegangen
wärest ... wenn wirklich Du die Tabellen baust, dann nimm die Datenbank,
mit deren Dokumentation Du am besten zurecht kommst.

Es sollte eine Suchfunktion da sein,

Aha. Über diesen Satz denken wir jetzt mal ein paar Wochen nach ...

"Eine Suchfunktion". Was genau könnte das bedeuten?

  • Reicht ein SELECT? Das kann jede SQL-Datenbank.
  • Muß ein LIKE dabei sein? Das kann vielleicht nicht mehr jede.
  • Soll es eine Volltextsuche als fertiges Sprachelement sein?
      mySQL kann genau das, allerdings mit einem Stapel versteckter
      Einschränkungen - also Handbuch lesen. (Ich mußte den mySQL-Quelltext
      an zwei Stellen anpassen, aber danach war FULLTEXT genau das, was ich
      haben wollte.)
  • Oder willst Du selbst eine Suchfunktion auf Deinen Tabellen reali-
      sieren? Dann solltest Du relativ virtuos mit Indexen umgehen können,
      aber die verwendete Datenbank ist relativ egal.

die Daten sollten (natürlich) je Sparte alphabetisch sortiert werden

ORDER BY sollte für kein Datenbanksystem Problem sein.

und es sollte möglich sein, dass verschiedene Benutzer, die Accounts
erhalten, ihre Daten verändern bzw. löschen können.

Meinst Du über ein GUI oder direkt über die Datenbankschnittstelle?

Eine Datenbank ist nicht so etwas Ähnliches wie ein Editor - das ist
eher so etwas Ähnliches wie ein Betriebssystem, und zwar ein _richtiges_
Betriebssystem, also nicht Win9x.
Du kannst _innerhalb_ einer Datenbank Benutzerkennungen erfinden, und
Du kannst für jede einzelne Tabelle und jede einzelne Zugriffsart
separate Berechtigungen definieren ... etwa so, daß der Benutzer A die
Tabelle angelegt hat und ihre Spalten ändern dürfte, der Benutzer B
Einträge einfügen/ändern/löschen, der Benutzer C nur Einträge lesen
usw. Willkommen in der Welt der RDBMS-Berechtigungen (GRANT/REVOKE).

Da ich mit MySQL nicht gut klar komme,

In welcher Beziehung? Gerade war ich nämlich entschlossen, Dir mySQL zu
empfehlen ... wenn das nicht reicht, müßtest Du halt auf etwas Fetteres
umstellen, aber solange Du nicht zu viele mySQL-proprietäre Features
in Deinen Anwendungen nutzt, wäre das kein Beinbruch.

Das ist natürlich immer ein Problem bei Datenbanken: Du solltest
dringend mehr als eine kennen, um Dir bewußt zu sein, was von den
Fähigkeiten eines konkreten RDBMS nur genau dieses System kann.
(Das ist bei SQL noch viel schlimmer als beispielsweise bei der Handvoll
Browser, die unterschiedlich viel HTML oder JavaScript unterstützen.)

Es kann Dir immer passieren, daß eine DB-gestützte Anwendung später
auf eine andere Plattform portiert werden muß ... also sei darauf
vorbereitet.

dachte ich, es wäre eine Möglichkeit, ein fertiges System zu kaufen,
das man nach Belieben ändern kann. Sowas muss es ja geben.

mySQL ist ein solches "System".

Ein Datenbanksystem (RDBMS) ist keine Datenbank! Ein Editor ist ja auch
kein Dokument - die Inhalte, deren Struktur, deren Zugriffsmethoden usw.
mußt Du selbst bauen.
Individuelle Fertiglösungen kann man nicht kaufen - man kann sie nur
entweder selber bauen oder im Auftrag von einer (teuren!) Fremdfirma
bauen lassen. (Das nämlich war der Sinn meiner vorherigen Anmerkung:
Selbst mit einer kostenlosen mySQL-Datenbank kann eine Firma durchaus
Millionen Euro an Entwicklungskosten haben.)

Vielleicht verstehst jetzt, was ich meine, und gibst mich und meine
Frage doch nicht ganz auf?

Ich verstehe nicht, was die Anmerkung "für eine große Firma" zu bedeuten
hatte. Deshalb weiß ich nicht recht, was ich Dir empfehlen sollte.

Ich kann nicht einschätzen, ob diese "große Firma" mal eben schnell
eine Fingerübung für ein paar tausend Euro Entwicklungskosten machen
will (dann würde ich mySQL nehmen - ich selbst verwende das auf einem
richtig fetten Server für ein paar tausend registrierte Benutzer, die
damit richtig "arbeiten" und nicht nur ein bißchen surfen) oder etwas
"richtiges" bauen will (dann wäre vorher ein _ausgiebiges_ Studium der
Dokumentation _verschiedener_ Datenbanksysteme anzuraten, weil eine
Fehlentscheidung um ein Vielfaches teurer werden muß als der Kaufpreis
der Datenbank selbst - da geht es einfach um Faktoren bei der Effizienz
der Entwickler, nicht um die paar Euros an DB-Lizenz selbst).

Aber es _kann_ durchaus mySQL sein - sofern nicht Deine (fehlenden)
Antworten auf mein erstes Posting etwas ergeben, was mySQL ausschließt.

Viele Grüße
      Michael