SQL Concat Aggregationsfunktion

Für gezielte Datenbankexporte oder -views möchte man oft eine Zeile für einen Eintrag in der SQL Abfrage erhalten. Beim Verknüpfen von mehreren Tabellen führt dies bei 1:n oder n:m Beziehungen zu dem Nachteil, dass für die Basistabelle mehrere Zeilen entstehen. Zur Verdeutlichung sei folgendes Beispiel (in PostgreSQL) gegeben: create table account ( ID BIGINT not null, EMAIL CHARACTER VARYING(1024) not…

Andromda Sequence per Table

Standardmäßig generiert die Hibernate Andromda Cartridge die Mappingdateien so, dass eine Sequenz für alle Tabellen genutzt wird. Eine Umstellung auf eine Sequenz für jede Tabelle ist dabei sehr einfach möglich. In der andromda.xml muss die Hibernate Cartridge einfach wie folgt angepaßt werden: <namespace name=“hibernate“> <properties> … <property name=“defaultHibernateGeneratorClass“>sequence</property> <property name=“sequenceIdentifierSuffix“>_seq</property> … </properties> </namespace> Der finale Sequzenzname ergibt sich dabei aus…

Datenbankschemata mit Schemaspy und Dot (Graphviz) erstellen

Um schnell Datenbankschemata zu visualisieren bietet sich Schemaspy (veröffentlicht unter LGPL) an. Es wird auf der Kommandozeile zum Beispiel wie folgt aufgerufen: java -jar schemaSpy.jar -cp postgresql-8.1-408.jdbc3.jar -t pgsql -db beispiel_db -u improve -s public -host beispielport -port 5431 -o . Damit die Generierung der Tabellen und Diagramme erfolgreich verläuft, müssen 2 Bedingungen erfüllt werden: ein Treiber für den entsprechenden…