Datenbanken
Und plötzlich sind sie da, die Beschwerden, welche kein Systemverantwortlicher lesen oder hören möchte:
der SharePoint Server ist langsam
die Performance ist schlecht
unter solchen Bedingungen kann ich nicht arbeiten
…
Konkreter wird es in den meisten Fällen nicht, es kommt eher noch der Hinweis "es war doch vorher auch nicht schnell" :-/
Für die Speicherung unkritischer Daten oder während der Entwicklung kann es sinnvoll sein, anstatt eines komplexen DBMS´s eine leichtgewichtige eingebettete Datenbank, wie z.B. Apache Derby einzusetzen. In diesem Artikel soll beschrieben werden, wie man die Erstellung einer Apache Derby Datenbank im Embedded Mode für die Verwendung in einer Enterprise Application in IBM WebSphere bewerkstelligen kann.
Einem seltsamen Problem im Zusammenhang mit der Lucene-Search, MS-SQL und PHP auf der Kommandozeile bin ich kürzlich auf die Spur gekommen. Auf einem Windows-Server mit MS-SQL 2000 waren bei einer Webanwendung in den Suchergebnissen sämtliche deutschen Umlaute verschwunden - Begriffe mit Umlauten wurden demzufolge von der Suche auch nicht gefunden. In der CP1252-encodierten MS-SQL-Datenbank standen jedoch alle Umlaute korrekt und…
Genau wie der Datentyp HierarchyId, so sind auch die neuen räumlichen Datentypen geometry und geography CLR-Datentypen, die in jeder Datenbank verfügbar sind - unabhängig davon, ob CLR-Funktionen aktiviert sind. Der geometry-Datentyp erlaubt die Darstellung von Daten im kartesischen Koordinatensystem und die Durchführung von Berechnungen mit diesen Daten. Das möchte ich an einem Beispiel verdeutlichen: In diesem Koordinatensystem befinden sich 2 geometrische Figuren.…
Möchte man hierarchische Daten ablegen - wie z.B. Organisationsstrukturen in Unternehmen, so war das Standard-Vorgehen dazu bisher, 2 Felder zu verwenden - zunächst die Id des eigentlichen Elements und in einem weiteren Feld die Id des Elternknotens. Damit lassen sich Abfragen wie: "Wer ist direkter Vorgesetzter des Mitarbeiters X?" oder "Welche Mitarbeiter sind direkt dem Vorgesetzten Y unterstellt?" recht einfach…
Große BLOBs (Videos, Word-Dokumente etc.) konnte man in MS SQL Server bisher entweder in der Datenbank (langsam) oder im Filesystem (unsicher, keine Transaktionen) ablegen. FILESTREAM Storage vereint die Vorteile von beiden. Das Konzept von FILESTREAM integriert das SQL ServerDatenbankmodul in ein NTFS-Dateisystem: BLOB-Daten vom Typ varbinary(max) werden im Dateisystem gespeichert. Dadurch greift nicht die für varbinary(max) definierte Größenbeschränkung auf 2…
Um aus einem Datum mit Uhrzeit, wie es beispielsweise GETDATE() zurückliefert, ein Datumswert ohne Uhrzeit zu machen, sind bis zur Version 2005 des SQL-Servers einige Verrenkungen notwendig. Ich möchte hier ein paar Lösungsansätze aufzeigen. Diese sind nach meiner Präferenz sortiert: SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) SELECT CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME) SELECT CONVERT(DATETIME, CONVERT(CHAR(8), GETDATE(), 112), 112) Es gibt…
… oder wie bei Microsoft das Basteln abgeschafft wurde Wer schon einmal vor dem Problem stand, an eine SQL Server Prozedur oder Funktion eine Liste von Werten oder gar eine Tabelle zu übergeben, der wird für dieses Problem bestimmt eine Lösung gefunden haben: Ob man nun die Werte mit einem geeigneten Trennzeichen versehen (ich bevorzuge Pipes ) alle in eine…
Wer sich schon immer mal darüber geärgert hat, dass mehrere SQL-Anweisungen nötig waren, um in einer Tabelle, abhängig von den Bedingungen in einer anderen Tabelle, Daten einzufügen, zu ändern und/oder zu löschen, der wird über die neue MERGE-Anweisung in SQL Server 2008 hocherfreut sein - … vorausgesetzt, er kann sich für komplexe SQL-Anweisungen begeistern 😉 . Das absolute Standard-Szenario für die Anwendung…