{"id":338,"date":"2017-03-18T17:35:31","date_gmt":"2017-03-18T16:35:31","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=338"},"modified":"2017-03-19T17:53:44","modified_gmt":"2017-03-19T16:53:44","slug":"eigene-tabellen-schliesslich-heisst-es-meinsql","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/03\/18\/eigene-tabellen-schliesslich-heisst-es-meinsql\/","title":{"rendered":"Eigene Tabellen &#8211; schlie\u00dflich hei\u00dft es &#8222;MeinSQL&#8220;"},"content":{"rendered":"<h2>MySQL l\u00e4\u00dft sich so sch\u00f6n \u00fcbersetzen<\/h2>\n<p>Mir gef\u00e4llt auch die Semantik: das ist &#8222;Mein SQL&#8220;, hier kann ich schalten und walten wie ich will, kann Tabellen und Abfragen anlegen und verkn\u00fcpfen, kann sortieren und inserten und updaten nach Lust und Laune, und Open Source und kostenlos ist es obendrein. MySQL bietet wirklich unbegrenzte M\u00f6glichkeiten und ist flexibel ohne Ende. \u00dcber den genialen phpMyAdmin steht auch eine professionelle Verwaltungsoberfl\u00e4che zur Verf\u00fcgung, die keine W\u00fcnsche offenl\u00e4\u00dft. Also, warum nutzen wir dann dieses Potential nicht zur Erweiterung von WordPress?<\/p>\n<div id=\"pmalogo\">\n<h2>Ist es unanst\u00e4ndig, eigene Tabellen zu benutzen?<\/h2>\n<p>Wenn ich mir viele Plugins und WordPress-Erweiterungen so anschaue, dr\u00e4ngt sich mir immer der Gedanke auf: da w\u00e4re Vieles mit eigenen Tabellen eleganter gel\u00f6st. Da wird die wp_posts hergew\u00fcrgt um Bilder f\u00fcr eine Slideshow zu verwalten, da klingelt es nur so in der wp_postmeta vor lauter benutzerdefinierten Feldern, da werden wp_terms und Konsorten zur Erzeugung eigener Taxonomien gebeutelt &#8211; hallo, das geht auch viel einfacher!<\/p>\n<p>Aber anscheinend geh\u00f6rt es nicht zum guten Ton und ist nicht heilige &#8222;Best Practice&#8220;, WordPress mit eigenen Tabellen zu erweitern. Dabei ist die existierende Tabellenstruktur uralt und hat definitiv auch einige Design Flaws &#8211; ich erinnere nur an die gemischte Verwaltung von Bildern und Beitr\u00e4gen in der wp_posts, da werden grundverschiedene Entit\u00e4ten zusammengeschmissen, die eigentlich nichts miteinander zu tun haben. Statt die alte Tabellenstruktur mal zu \u00fcberarbeiten und aufzufrischen, sind aber heute Legionen von Programmierern damit besch\u00e4ftigt, neue Logiken in die alte &#8222;eiserne Jungfrau&#8220; von einer Architektur zu quetschen, und m\u00f6glichst blo\u00df nicht ogottogott neue Tabellen anzulegen und einzubinden. Warum das so ist? Keine Ahnung, ich beobachte diese Tendenz nur immer wieder und wundere mich.<\/p>\n<h2>Mir ist das Wurst: ich nehme eigene Tabellen wo es praktisch ist<\/h2>\n<p>Wie ich vorher schon angesprochen habe: in jedem noch so kleinen Laden gibt es immer Listen, Artikelstammdaten etwa, Kundenadressen mit Kundennummern, Mitgliederverzeichnisse und so weiter und so fort&#8230; Ob diese Listen jetzt in Excel, Access oder MySQL gef\u00fchrt werden, ob ein professionelles CRM\/ERP System wie Wiso MeinB\u00fcro oder Lexware oder anderes eingesetzt wird, die Listen sind da, und wir wollen unsere Stammdaten auch in WordPress nutzen. Statt sie jetzt umst\u00e4ndlich in benutzerdefinierte Felder einzuhacken, gibt es auch einen einfacheren Weg.<\/p>\n<h2>Der Schl\u00fcssel: ja eben!<\/h2>\n<p>Der Schl\u00fcssel zu dem ganzen Zauber ist: der Schl\u00fcssel, auch Kennziffer oder (meistens) ID genannt. Jeder noch so kleine Kaufladen hat Artikelnummern, jeder Verein hat Mitgliedsnummern, jede Kanzlei hat Mandantennummern &#8211; der Witz ist, da\u00df jede Entit\u00e4t (jeder Artikel, jeder Kunde, jedes Mitglied) durch eine eindeutige Nummer identifizierbar ist. Wo Datenbanken verwendet werden, ist es \u00fcblich einen numerischen Schl\u00fcssel durch ein AutoIncrement-Feld automatisch vergeben zu lassen. Es gibt aber auch alphanumerische Schl\u00fcssel, z.B. Artikelnummern nach einem Muster wie DE-1234. EN-1234, wo DE bzw. EN dann logischerweise f\u00fcr Deutsch oder Englisch steht. Soweit alles logo?<\/p>\n<p>Ja, dann verwenden wir sie halt auch, die Schl\u00fcssel! Wenn wir schon einen eindeutigen Identifikator f\u00fcr unsere Datens\u00e4tze haben, dann nehmen wir den auch her, um die Verkn\u00fcpfung zu unserem guten alten WordPress herzustellen. Damit es nicht ganz so trocken wird, nehme ich mal ein anschauliches Beispiel, an dem man gut sehen kann, was sich mit eigenen Tabellen in WordPress so alles leicht realisieren l\u00e4\u00dft. Aber dazu gibt es einen neuen Beitrag.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>MySQL l\u00e4\u00dft sich so sch\u00f6n \u00fcbersetzen Mir gef\u00e4llt auch die Semantik: das ist &#8222;Mein SQL&#8220;, hier kann ich schalten und walten wie ich will, kann Tabellen und Abfragen anlegen und verkn\u00fcpfen, kann sortieren und inserten und updaten nach Lust und Laune, und Open Source und kostenlos ist es obendrein. MySQL bietet wirklich unbegrenzte M\u00f6glichkeiten und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1,18,7,2],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/338"}],"collection":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/comments?post=338"}],"version-history":[{"count":3,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/338\/revisions"}],"predecessor-version":[{"id":383,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/338\/revisions\/383"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}