Eigenes

...now browsing by category

Dies und das was mich angeht…

 

KDE 4.2 läuft und wird doch abgeschafft - samt Gentoo

Mittwoch, Februar 18th, 2009

Ich hab gestern rund 18h gebraucht, um meinen HUAWEI E220 UMTS-Stick zum laufen zu bringen. Viele Tutorials die teilweise einfach nur schlecht, falsch oder einfach veraltet waren.
Eins der 2 guten, die mir auch wirklich geholfen haben war das hier: Alex Blog

Ansonsten hab ich KDE 4.2 installiert, meine Grafiktreiber geupdated und damit auch die Performanceprobleme behoben, die ich unter KDE hatte.
Dennoch ist die KDE Integration (egal ob 4.1 oder 4.2) unter Gentoo mehr schlecht als recht. Kopete z.B. kann nur Jabber, aber kein ICQ, IRC o.ä. Auch ist das Systemtray mit durchsichtigen Icons bestückt.

So macht das alles einfach keinen Spaß.

Ich werd also Gentoo runterhauen und mit dafür Debian oder Ubuntu draufhauen. Tendiere momentan eher zu Debian testing.

Wenn Ihr Vorschläge oder gar Ratschläge habt, sagt bescheid :)

Bodypainting Kalender - Es kann bestellt werden

Dienstag, November 18th, 2008

Ab sofort und jetzt gleich kann der Bodypainting Kalender für 2009 bestellt werden.
Für 10€ ist der Kalender zu haben. 1,70€ Versandkosten kommen dazu.

Wer mehr als einen bestellt, bekommt individuell berechnete Versandpreise.

Wer flink ist, hat vielleicht sogar schon zum Nikolaus das erste Exemplar in der Hand.

Bug gefunden

Donnerstag, Oktober 30th, 2008

Hm… mein ausgewähltes Design hat scheinbar arge Probleme mit dem Submit-Button bei den Kommentaren gehabt.

Ich hab das gefixt, ihr könnt also nun wieder kommentieren.

Sorry dafür.

PagePeel von Vorratsdatenspeicherung

Mittwoch, Oktober 29th, 2008

Kurz und gut (oder schlecht) Vorratsdatenspeicherung.de ist nicht erreichbar!

Daher hab ich auch mein PagePeel erstmal deaktiviert.

Bin gespannt was golem oder heise dazu morgen melden…

Datenbanken und wie es nicht sein sollte

Dienstag, Oktober 28th, 2008

Ich hab im Studium nun im 2. Semester endlich Fächer bekommen wie Datenbanken und Algorithmen.

Auch wenn ich mit Datenbanken schon mehr als 3 Jahre teils sehr aktiv arbeite, war ich doch stark überrascht, was mir versucht wurde beizubringen.
Die fachliche Kompetenz der Professorin möchte ich nicht in Frage stellen, allerdings muss ich die Praxisnähe, die eigentlich ein Vorteil einer Fachhochschule sein sollte, anzweifeln.

Warum ich das mache? Schauen wir uns einmal das Relationshipmodel an, das mit der Dokumentation zur ersten Datenbank mitgeliefert wurde:

Was auf den ersten Blick sofort auffallen sollte:
Kryptische Abkürzungen von Tabellen- und Spaltennamen. Das fordert jeden, der diese Datenbank nicht kennt aber verwenden will, dass er sich durch eine Dokumentation liest, nur um zu wissen, was zum Beispiel MGEHT oder LS_DATUM oder VPREIS sein soll.
Hätte man diese Spalten Mengeneinheit (MGEHT), Lieferscheindatum (LS_DATUM) und Verkaufspreis (VPREIS) genannt, wäre schonmal die Optik und das intuitive Verständnis besser.

Damit ist aber nicht genug.
Schauen wir einmal tiefer, dann sehen wir zum Beispiel die Tabellendefinition der Artikelstammdaten an:
(Zeilennummern sind in Klammern davorgeschrieben)
(01) CREATE TABLE IF NOT EXISTS `artst` (
(02) `artnr` varchar(5) NOT NULL,
(03) `artbez` varchar(25) default NULL,
(04) `ekpreis` int(11) default NULL,
(05) `vpreis` int(11) default NULL,
(06) `mgeht` varchar(5) default NULL,
(07) `gruppe` varchar(2) default NULL,
(08) `kw` int(11) default NULL,
(09) `bestand` int(11) default NULL,
(10) PRIMARY KEY (`artnr`),
(11) KEY `gruppe` (`gruppe`)
(12) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Lasst mich das mal Zeile für Zeile durchgehen:
Zeile 01:
CREATE mit IF NOT EXISTS, dagegen kann man nichts sagen, aber warum ARTST? Artikelstamm oder kürzer Artikel wäre besser gewesen.

Zeile 02:
Wie wir in Zeile 10 sehen, soll ARTNR der Primärschlüssel sein. Doch warum ist das ganze dann bitte ein VARCHAR(5)? VARCHAR als Datentyp für Schlüssel ist vielleicht bei Hash-Werten oder ISBN-Nummern sinnvoll, allerdings nicht, wenn die Schlüssel normale Zahlenwerte sind, die eigentlich auch noch ein AUTO_INCREMENT gebrauchen könnten.
Meiner Meinung nach sollte hier ID als Spaltenname gewählt sein und der Datentyp INT(11).

Zeile 03:
ARTBEZ ist wohl der Artikelname bzw die Bezeichnung. Wenn die Tabelle schon darauf deutet, dass es sich bei den Datensätzen in der Tabelle um Artikel handelt, warum nochmal die Spalte mit “Art” versehen? Eine Bezeichnung für eine tropische Krankheit wird dort sicher nicht gespeichert…
Der Datentyp VARCHAR(25) ist ok dafür.

Zeile 04:
EKPREIS… wieder eine herrliche Verstümmelung. Einkaufspreis wäre besser! Warum allerdings ein INT und kein DOUBLE Verwendung findet, ist für mich nicht verständlich. Preise und Währungen haben nunmal Kommastellen.

Zeile 05:
VPREIS… jetzt wirds kurios: Wenn Einkaufspreis EKPREIS ist, warum ist dann Verkaufspreis nur VPREIS? Es wurde also selbst bei der Verstümmelung keine durchgängige Syntax verwendet. Datentyp ist genauso unverständlich wie bei Zeile 04.

Zeile 06:
MGEHT… wie MGEHT eine Abkürzung für Mengeneinheit sein soll, ist für mich auch nach 3 Wochen mit dieser Datenbank ein unverständliches Phänomen. Datentyp scheint mit VARCHAR(5) ok zu sein. Wörter wie Stück und Meter passen rein.

Zeile 07:
GRUPPE… ist ein Fremdschlüssel zur Tabelle ARTGRU (Siehe auch Zeile 11). Auch hier muss man sich erstmal fragen, warum hier z.B. nicht artikelgruppe_id als Spaltenname verwendet wird (es gibt auch Kundengruppen, deswegen sollte der Bezeichner eindeutiger sein als nur gruppe_id). Als zweites ist der Datentyp mit VARCHAR(2) alles andere als geeignet für einen Schlüssel. (Siehe dazu auch Bemerkung zu Zeile 02).

Zeile 08:
KW steht für Kalenderwoche. Warum auch immer das nicht dann auch Kalenderwoche heisst… Abgesehen davon ist eine Kalenderwoche mit INT(2) voll und ganz bedient. INT(11) ist unnötigerweise zu groß.

Zeile 09:
Bestand… endlich mal eine Spalte, bei der man nichts falsch gemacht hat.

Zeile 10 - 12:
Primary Key und Foreign Key sind definiert und die Engine ist sogar InnoDB und unterstützt damit Transaktionen. Da bleibt nur die Frage, warum nicht UTF-8 verwendet wurde.

Fazit:
Im großen und ganzen sind die beiden Datenbanken, die ich bisher gesehen habe einfach nur unpraktikabel. Letztes Beispiel: Datenbank “company” hat folgende Tabellennamen: D, E, S, P, J, SP, SPJ…

Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien: