Unterschiede von InnoDB und MyISAM bei Tabellenverknüpfung.

gutschy

Aktiver Benutzer
Beiträge
32
Hallo Leute,

hatte mal vor gut 10 Jahren tuchfüllung mit MSAccess und mit der Tabellenverknüpfung. Das ging aber alles nie über ein Lernstadium hinaus.

Habe jetzt gerade was gelesen das ich ein wenig komisch finde:
In MySQL, the referencing and the referenced tables must be of InnoDB or BDB storage engines. In the MyISAM storage engines the foreing keys are parsed, but they are not enforced.
Quelle: http://zetcode.com/databases/mysqltutorial/constraints/

Ich habe das jetzt so verstanden das Tabellen nur beim Einsatz der InnoDB über eine dritte Tabelle miteinander verknüpft werden können. Heißt das aber das mit MyISAM keine Tabellenverknüpfungen möglich sind? Falls ich da was durcheinander schmeiße entschuldige ich mich. Habe da nur verschwommene Erinnerungen.

Gruss,

Gutschy
 
Werbung:
Ich habe das jetzt so verstanden das Tabellen nur beim Einsatz der InnoDB über eine dritte Tabelle miteinander verknüpft werden können. Heißt das aber das mit MyISAM keine Tabellenverknüpfungen möglich sind? Falls ich da was durcheinander schmeiße entschuldige ich mich. Habe da nur verschwommene Erinnerungen.

MyISAM ist strahlender Restmüll aus dem letzten Jahrtausend. Es kann nix außer schnell kapott gehen. Also, es kann auch keine referentielle Integrität, das suchst Du ja wohl. Du kannst natürlich noch immer auch MyISAM - Zeugs joinen und so - aber RI geht damit nicht. Auch keine Transaktionen. Auch keine Check-Constraints - aber die kann MySQL auch in InnoDB nicht.
 
Hmm, das kann ich jetzt natürlich nicht gut finden, auch wenn ich gerade erstmal Wikipedia nachschlage mußte um überhaupt zu kapieren worum es geht. Auf der anderen Seite, andere kommen trotz dieser Einschränkungen mit MySQL zurecht. Natürlich wird mir Postgre trotzdem immer sympathischer.
 
Hmm, das kann ich jetzt natürlich nicht gut finden, auch wenn ich gerade erstmal Wikipedia nachschlage mußte um überhaupt zu kapieren worum es geht. Auf der anderen Seite, andere kommen trotz dieser Einschränkungen mit MySQL zurecht. Natürlich wird mir Postgre trotzdem immer sympathischer.

Naja, MyISAM ist alt und kann nix, was man heutzutage erwartet. Außer Volltextsuche. InnoDB ist ganz okay, kann aber keine Volltextsuche (außer ganz neue Versionen). Blackhole ist auch interessant: beim speichern irre schnell. Aber nur für Daten geeignet, die man nicht mehr braucht.
Viele Engines, keine kann alles, alle zusammen weniger als PG.

MySQL kann nur Btree-Indexe (PG dazu noch Hash, GIN, GIST), MySQL kann pro Table/Query nur einen Index nutzen (PG beliebig viele), viele analytische Abfragen (CTE, Common Table Expressions, Window-Funktionen) kann MySQL nicht, PG in großem Umfang.

Sicherlich kommen viele mit MySQL zurecht. Ich bin in der DDR aufgewachsen, wir kamen auch zurecht trotz Mauer und Trabbi. Jetzt, wo man Freiheit und Konsum kennt, will man die DDR nicht mehr wieder haben.
 
Hi gutschy.

Auf der anderen Seite, andere kommen trotz dieser Einschränkungen mit MySQL zurecht. Natürlich wird mir Postgre trotzdem immer sympathischer.

Natürlich kannst du die gesamte Funktionalität auch mit MySQL/MyISAM umsetzen. Allerdings nicht bequem und schnell über die Datenbank sondern langsam und fehleranfällig über die Anwendung.

Leider findet man kaum noch entsprechende Informationen. Aber ich meine mich erinnern zu können, dass PostgreSQL in den Anfängen des Webs keine brauchbare Dokumentation besaß. Was dazu führte, dass die meisten Hoster MySQL anboten. Da SQL das für MySQL geschrieben wurde häufig nicht mit PG ohne Anpassungen nutzbar ist kann MySQL den Status als "beliebteste" Datenbank erhalten. Ich persönlich lasse MySQL jetzt seit einiger Zeit links liegen und bin immer wieder begeistert wie einfach die Problemlösung mit PG ist.

Wenn du also die Wahl hast ist vermutlich sogar Access als Serverdatenbank besser geeignet. Ich persönlich nutze im Web PG und SQLite.

Gruß Hony
 
Ahh, endlich wieder online, o2 hatte mich ausgesperrt.

Tja, hätte ich Zeit dann würde ich jetzt PG büffeln. Kennt ihr vielleicht einen Kompaktkurs für PG, am besten natürlich online oder als E-book, sowas mit 100 Seiten oder so.
 
Zuletzt bearbeitet:
Tja, hätte ich Zeit dann würde ich jetzt PG büffeln. Kennt ihr vielleicht einen Kompaktkurs für PG, am besten natürlich online oder als E-book, sowas mit 100 Seiten oder so.

Es gibt einige Bücher, an einem habe ich sogar mitgewirkt. (PostgreSQL. Datenbankpraxis für Anwender, Administratoren und Entwickler von Andreas Scherbaum). Aber prinzipiell geht jedes gescheite Buch zu SQL. Du solltest aber definitiv dir die Online-Doku anschauen: http://www.postgresql.org/docs/current/interactive/index.html , das ist halt die ultimative Quelle.
Tote Bäume haben halt eine negative Eigenschaft: sie sind tot.

Wo man viel über spezielle Features lernen kann: http://www.depesz.com/ , und dort in den Rubriken 'waiting for ...' schauen, er bloggt seit vielen Versionen jeweils für die in der kommenden Version neuen Features. Das ist ganz nett, wie er das macht (ist ein Pole, die PG-Dinge sind aber englisch)

eBooks zu PG gibt es einige bei http://www.packtpub.com/ , ich hab letztes das Buch über Replikation von Herrn Schönig mal gelesen (aber als Papier) - aber das ist sicherlich erst einmal zu speziell auf Replikation ausgerichtet.
 
Werbung:
Zurück
Oben