Datenbankschema

SQL Concat Aggregationsfunktion

Für gezielte Datenbankexporte oder ‑views möchte man oft eine Zeile für einen Eintrag in der SQL Abfrage erhal­ten. Beim Verknüpfen von meh­re­ren Tabellen führt dies bei 1:n oder n:m Beziehungen zu dem Nachteil, dass für die Basistabelle meh­rere Zeilen ent­ste­hen. Zur Verdeutlichung sei fol­gen­des Beispiel (in PostgreSQL) gege­ben: create table account ( ID BIGINT not null, EMAIL CHARACTER VARYING(1024) not…

Andromda Sequence per Table

Standardmäßig gene­riert 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 ein­fach mög­lich. In der andromda.xml muss die Hibernate Cartridge ein­fach wie folgt angepaßt wer­den: <name­space name="hibernate"> <pro­per­ties> … <pro­perty name="defaultHibernateGeneratorClass">sequence</property> <pro­perty name="sequenceIdentifierSuffix">_seq</property> … </properties> </namespace> Der finale Sequzenzname ergibt sich dabei aus…

Datenbankschemata mit Schemaspy und Dot (Graphviz) erstellen

Um schnell Datenbankschemata zu visua­li­sie­ren bie­tet sich Schemaspy (ver­öf­fent­licht unter LGPL) an. Es wird auf der Kommandozeile zum Beispiel wie folgt auf­ge­ru­fen: java ‑jar schemaSpy.jar ‑cp postgresql‑8.1–408.jdbc3.jar ‑t pgsql ‑db beispiel_db ‑u improve ‑s public ‑host bei­spiel­port ‑port 5431 ‑o . Damit die Generierung der Tabellen und Diagramme erfolg­reich ver­läuft, müs­sen 2 Bedingungen erfüllt wer­den: ein Treiber für den ent­spre­chen­den…