Mysql Tabellen verknüpfen

Hi…

Ich würde gerne 2 Mysql Tabellen Verknüpfen (geht das überhaupt?).
Ich programmiere eine datenbankgestützte Navigation die zu den Hauptkategorien noch Unterkategorien besitzt (ähnlich wie hier: inkscape.org/).
Alle Hauptkategorien befinden sich in einer Tabelle und die Unterkategorien haben eigene Tabellen.

Kann man soetwas mit irgendwelchen Verbindungen oder Verknüpfungen realisieren, und wenn ja, wie?

Hi,

wieso sollte das denn nicht klappen? Du kannst ja problemlos mehrere Datenbankverbindungen gleichzeitig verwenden. Die reibungslose Verknüpfung (aus inhaltlicher Sicht) zweier Datenbanken ist hier wohl der größte Zeitfresser - ist es wirklich nötig das alles zu splitten?

@kerbination: er redet von Tabellen, nicht von Datenbanken.

Bei Tabellen ist das Stichwort: JOIN
Diesen Link zu Selfhtml fand ich ganz nützlich: http://aktuell.de.selfhtml.org/artikel/datenbanken/joins/

Da würde ich dir als Datenbank-Engine aber nicht zu MyISAM raten, da das viele sinnvolle Features einer relationalen Datenbank nicht unterstützt.

Ich persönlich verwende lieber PostgreSQL, was hier ja auch angeboten wird.
Ein Beispiel für PostgreSQL:

CREATE TABLE user (
  id SERIAL PRIMARY KEY,
  name VARCHAR(30) UNIQUE,
  password CHAR(32),
);

CREATE TABLE entry (
  id SERIAL PRIMARY KEY,
  author INTEGER REFERENCES user(id),
  title VARCHAR(50),
  body TEXT,
);

Das Raffinierte dabei ist dieses “REFERENCES”. Das baut eine Referenz zwischen beiden Tabellen auf, die IMMER bestehen MUSS. Also wenn man den Benutzer löscht, werden die Einträge auch gelöscht (oder einem anderen Benutzer zugeschrieben).

Beispiel: Eintragstitel, Text und Benutzername (Braucht nicht unbedingt Referenzen, allerdings ist es mit schneller):

Beispiel: Löschen eines Benutzers und alle seine Einträge:

Das CASCADE bewirkt, dass alle abhängigen Einträge mitgelöscht werden.

PostgreSQL hat ein sehr gutes deutschsprachiges Tutorial veröffentlicht, das gibts hier:
postgresql.org/docs/books/pghandbuch.html.de
Lass dich nicht von der Seitenzahl abschrecken, brauchen tut man eigentlich nur das erste drittel und vieles kann man schnell überfliegen.

urgh Ich sollte vielleicht demnächst genauer lesen :ps:

Dann sit es ja noch einfacher - wie Michi erläuterte…