Tag: "sql"

Thinking in sets

Posted on Feb 3, 2009 von in Vermischtes

Inzwischen besitze ich eine ganze Reihe von Büchern von Joe Celko, und ich muss sagen, dass mit jedem Buch der Deja-Vu Effekt ansteigt.

Vieles von dem, was in "Thinking in sets" geboten wird, kann man in der einen oder anderen Form auch in früheren Büchern, und natürlich auch in den diversen Communities, in denen Celko präsent ist, nachlesen.

Ganze Geschichte »

Grossbuchstaben eines Strings zurückgeben

Posted on Jul 29, 2008 von in SQL Server
Zugegeben nicht gerade etwas, das man jeden Tag braucht, aber falls doch...
DECLARE @s varchar(100);
SELECT @s = 'Und Was Habe Ich Damit Zu Tun?';

SELECT
x.OnlyInitials
FROM
(SELECT
SUBSTRING(@s, N.Number, 1)
FROM
dbo.Number N
WHERE
N.Number BETWEEN 1 AND LEN(@s) AND
ASCII(SUBSTRING(@s, N.Number, 1)) BETWEEN 65 AND 90
FOR XML PATH('')) AS x(OnlyInitials);

OnlyInitials
------------
UWHIDZT

(1 row(s) affected
Tags: ,

SQL Programming Style

Posted on Aug 1, 2006 von in Vermischtes

Man muß nicht einmal besonders genau hinschauen, um zu sehen, daß die meisten Applikationen mit Daten in dieser oder jener Form arbeiten. Oftmals sind diese Daten in einer Datenbank gespeichert, so daß man davon ausgehen kann, daß die meisten Software Entwickler mehr oder weniger regelmäßig mit Datenbanken arbeiten. Nun ist aber Datenbankprogrammierung etwas anders als Applikationsprogrammierung und von daher ist es nicht selbstverständlich, daß ein guter Applikationsentwickler gleichzeitig auch ein guter Datenbankentwickler ist. Dabei spielt es übrigens keine Rolle, ob als Datenbanksystem eine Desktopdatenbank wie Microsoft Access zum Einsatz kommt oder ein ausgereifter relationaler Datenbank-Server wie der Microsoft SQL Server. Paradigmen, Grundsätze und Richtlinien, die für Applikations Entwicklung gelten, gelten nicht auch zwangsläufig für die Datenbankentwicklung und können teilweise sogar eher gegenläufig sein. Dennoch gibt es auch in der Datenbankentwicklung einen deutlichen Bedarf an Regeln und Richtlinien für die Entwicklung und hier kommt das vorliegende Buch ins Spiel. Sein Autor, Joe Celko, zählt zu den prominentesten Vertretern der Datenbank Community und hat einige der besten Bücher über SQL Programmierung im Allgemeinen geschrieben. Dieses Buch jedoch ist anders. Es zeigt einem nicht, wie man ein "besserer" SQL Entwickler wird, indem es Lösungen und Tricks zu SQL Rätseln und Brainteasern präsentiert. Dieses Buch will vermitteln, wie man in logischen und deklarativen Begriffen denkt und arbeitet.

Folgendes kann man in dem Buch lesen:

  • Names and Data Elements
  • Fonts, Punctuation, and Spacing
  • Data Declaration Language
  • Scales and Measurements Data Encoding Schemes
  • Coding Choices
  • How to use VIEWS
  • How to write Stored Procedures
  • Heuristics
  • Thinking in SQL
  • Resources
  • Bibliography

Auf den über 200 Seiten präsentiert Celko seine Sicht eines Frameworks, innerhalb welchem Datenbankentwicklung erfolgen sollte. Sei dies eine Diskussion darüber, was eine gute Namenskonvention ausmacht oder wie SQL Code geschrieben und eingerückt werden sollte. Sei dies eine Diskussion darüber, ob Auto-Nummern (auch bekannt als SQL Server's IDENTITY Eigenschaft) ein guter Schlüssel sind oder wo im Code CHECK Einschränkung platziert werden sollten.

Einige der präsentierten Regeln sind (hoffentlich) gesunder Menschenverstand, für manche anderen existieren internationale Standards und weitere wiederum sind eher Celko-spezifisch. Sämtliche Regeln werden zusammen mit einer Begründung und gegebenenfalls Ausnahmesituationen für die jeweilige Regel angeführt. Dies macht aus dem Buch eher eine Art Nachschlagewerk, welches man im Zweifelsfall zu Rate zieht, als ein "normales" Buch, welches man Kapitel für Kapitel von vorne bis hinten liest. Auch wenn man in manchen Punkten nicht unbedingt mit Joe Celko übereinstimmen muß, kann man dieses Buch hervorragend als Grundlage nehmen, um darauf seine eigenen Programmierstil Richtlinien aufzubauen.

Zweifelsohne gibt es einen Bedarf an solchen Richtlinien, und so ist, zum Beispiel, die schlechteste Namenskonvention, immer noch besser als gar keine. Aber es macht das Leben eines Datenbankentwicklers (und, wahrscheinlich noch wichtiger, das Leben desjenigen, der den ursprünglichen Code pflegen muß) deutlich einfacher, wenn ein klarer und konsistenter Programmierstil angewendet wird. Viele der Regeln in diesem Buch sind nicht wirklich neu für Leute, die den Online Communities folgen, an denen Joe Celko ebenfalls partizipiert, aber dieses Buch fasst diese Regeln sehr schön an einem einzigen, greifbaren Ort zusammen und das allein bietet schon genug Anreiz zu Kauf.

SQL Programming Style
Joe Celko
2005 Morgan Kaufmann
272 Seiten
ISBN 0-12-088797-5

Database in Depth

Posted on Jun 1, 2006 von in Vermischtes

What exactly is first normal form?
What's the connection between relations and predicates?
What's semantic optimization?
What's a join dependency?
Why is semidifference important?
Why doesn't deferred integrity checking make sense?
What's a relational variable?
What's nonloss decomposition?
Can a relation have attributes whose values are relations?
What's the difference between SQL and the relational model?
Why is the information principle important?
How does XML fit in the relational model?

Provokante Fragen, nicht wahr?

Ganze Geschichte »

The Art of SQL

Posted on Mai 15, 2006 von in Vermischtes

Vor ca. 2500 Jahren schrieb Sunzi ein Buch, welches mit den Worten beginnt.

"Die Kunst des Krieges ist für den Staat von entscheidender Bedeutung. Sie ist eine Angelegenheit von Leben und Tod, eine Straße, die zur Sicherheit oder in den Untergang führt. Deshalb darf sie unter keinen Umständen vernachlässigt werden."

Ganze Geschichte »

SQL Wörterbuch

Posted on Jul 14, 2004 von in Vermischtes

Dieser Artikel wird gerade überarbeitet und erweitert.

SQL ist eine deklarative Sprache. Der eigentliche Sprachkern besteht aus ca. 30 Befehlen, welche sich in folgende Unterbereiche aufteilen.

Ganze Geschichte »

Tags: