Drei Pfund Gehacktes vom Winzen (Daten-Skelettierung Pt. III)

Ein paar Werktage Pause muss auch mal sein, aber jetzt geht’s weiter mit der Sektion des Winzen-Projekt von @derguenther. Die Diskussionen dazu sind ziemlich spannend und interessanterweise ist dadurch meine Webseite so häufig besucht wie nie in ihren 10 Jahren Bestehen. Es scheint also so eine Art Interesse zu geben.

Damit wir jetzt ein bisschen voran kommen, habe ich einmal eine komplette Liste aller Felder auf dem Stammdatenblatt gezogen und transponiert (um 90° gedreht, für alle, “die-wo-nicht-Statistiker-sein-tun”). „Drei Pfund Gehacktes vom Winzen (Daten-Skelettierung Pt. III)“ weiterlesen

SELECT * FROM `Disadvantages`LIMIT 1

Es gibt einen entscheidenden Nachteil, wenn man sich entscheidet, mit einem Datenbankserver zu arbeiten: Es gibt erstmal kein (oder kein richtiges) Frontend. Alles, was man sehen will, muss man entweder durch ein Web-Tool wie PHPMyAdmin abfragen, oder man muss ein Desktop-Tool einsetzen (ich mag auf dem Mac SequelPro ausgesprochen gerne, aber es gibt auch die offizielle mySQL-Workbench, aber die ist schon ziemlich sperrig). Für Windows hieß das beste Desktop-Tool mal HeidiSQL, das kann ich aber nicht mehr beurteilen. Man kann mittels eines ODBC oder JDBC-Treibers einen mySQL-Server als Datenquelle in MS-Office oder Open-/Libre-Office nutzen – das ist schon etwas mehr “advanced”. Und keine Lösung davon bietet Euch, was Access von Haus aus kann – für jede Tabelle direkt eine Ein- und Ausgabemaske jenseits der “excel-ähnlichen” Ansicht oder einer zeilenweisen Darstellung zu haben. Das ist natürlich gerade für Tabellenbezüge ein wenig… unschön.

Es gibt wahrscheinlich 1000 Wege, sich schnell ein Frontend für mySQL in der Sprache seiner Wahl zu bauen. Manches davon ist sogar schnell schön. Man muss es eben auch noch zusammenbauen, wenn man mit der Datenstruktur fertig ist. Muss man in seine Vorüberlegungen und Zeitplanungen mit einbeziehen, auch wenn es nur ein paar Stunden oder in der Summe vielleicht auch Tage sind.

Das Semikolon

SQL trennt seine Anweisungen mit Semikolons oder wie auch immer der Plural von den Dingern heißt. Und führt Anweisungen hintereinander aus, wenn in einem Aufruf mehrere gültige Anweisungen durch Semikolons getrennt vorkommen. Der Hesse sagt also “uffbasse”, das ist ein Imperativ und heißt  “Aufpassen”. Aufpassen worauf?

Aufpassen, dass unter keinen Umständen jemand sein eigenes Semikolon mitbringen kann, wenn ihr den Datenbankserver abfragt:

Angenommen, der Inhalt eines Suchfelds wird in eine Datenbankabfrage eingefügt, und zwar so:

SELECT * FROM `Table`WHERE `LastName`= “BENUTZEREINGABE”;

Dann kommt doch tatsächlich jemand und sucht nach

Schmidt; DROP `Table`;

Was passiert dann wohl? Große Scheiße! Und das war noch die harmloseste Art von SQL Injection. So nennt man das, wenn jemand sein eigenes Semikolon mitbringt. Also uffbasse, gelle?!

Vivisektion – Ein Einstieg

Der @derguenther ist vor ein paar Tagen bei mir in dieses Twitter reingerauscht und hat mich um Rat bezüglich Datenbanken gefragt. Guter Rat ist ja teuer, wenn man nur diffus weiß, was eigentlich die Frage ist, und deshalb hatte ich ihn eher spöttisch gefragt, wie “köheim” seine Daten sind, oder ob er mir ein paar Zeilen aus Excel raushauen kann. Und siehe da – der Kollege macht das die ganze Zeit schon und hinterfragt seinen Weg, wie er zu Erkenntnissen findet, offen in seinem Blog.

Von dort habe ich mir seine Datenstruktur gezogen, kann jeder für sich selbst auch machen, und mal einen Blick darauf geworfen. Zwei Fragen hat er: (1) wie mache ich es, dass jeder Fund auch eine Belegstelle bekommen kann, und (2) wie schaffe ich eine gesunde Datenbasis für verschiedene Visualisierungen?  „Vivisektion – Ein Einstieg“ weiterlesen