Grundlagen der Datenbanktechnik

Bei dem Programm handelt es sich um eine Datenbankanwendung. Dies bedeutet, dass die Daten nicht im Programm oder im Programmverzeichnis oder überhaupt nach einer eigenen Methode gespeichert werden, sondern in einer gesonderten Datenbank eines anderen Herstellers, nämlich dem Microsoft-SQL-Server.

Schulungen zur Datenbanktechnik nehmen wir im Rahmen unserer Workshops vor. Hier die wichtigsten Elemente einer Datenbank in Kürze:

Tabellen (engl. tables)

Tabellen enthalten die eigentlichen Daten. Sie bestehen aus einzelnen Feldern, die in der Tabelle als Spalten erscheinen. Jede Zeile stellt einen Datensatz dar ("relationales Datenbankmodell").

Folgende Grundtypen von Feldern sind zu unterscheiden:

Die Einrichtung und Konfiguration der Tabellen erfolgt mit dem

Eine Grundregel der Datenbanktechnik besteht darin, Redundanzen zu vermeiden.

Wird z.B. eine Adresse zu mehreren Akten erfasst, werden die Adressdetails nicht in jeder Akte erneut gespeichert, sondern werden Daten aufgeteilt in zwei Tabellen "Akten" und "Adressen", wobei jeweils nur die Nummer des Index-Feldes der gewünschten Adresse gespeichert wird, also ein bloßer Verweis. Wird die Adresse später geändert, sorgt der unveränderte Verweis dafür, dass die Adresse in allen verwendeten Zusammenhängen richtig ist.

Die sich aus der Anwendung dieser Regel ergebende Aufteilung der Daten in Tabellen und deren Verknüpfung wird als Datenbankdesign bezeichnet. Das Programm enthält ca. 80 Tabellen, die größtenteils miteinander verknüpft sind.

Eine der wichtigsten Tabellen des Programms ist die Tabelle "Aktenbeteiligte", in der die Akten mit den Adressen verknüpft werden und die auch als Identifikation von Betreffs, Beteiligtenkonten, Rechnungen u.v.a.m. dient.

Die Beziehungen zwischen den Tabellen werden normalerweise bereits in der Tabellendefinition konfiguriert. Damit wird erreicht, dass etwaige Falscheingaben bereits durch den SQL-Server verhindert werden (mehr).

Abfragen (Sichten, engl. views)

Abfragen stellen die wichtigsten Auswertungen der in den Tabellen gespeicherten Daten dar, insbesondere weil sie Tabellen miteinander verknüpfen.

Sie werden in der Abfragesprache "Structured Query Language" (SQL, ['si'kwəl]) erstellt. Die wichtigste Grundstruktur einer solchen Abfrage ist

SELECT [Datenfelder] FROM [Datenquelle] WHERE [Bedingung] ORDER BY [Sortierfeld]

z.B.

SELECT Vorname, Nachname, StrasseNr, PlzOrt FROM Adressen WHERE PlzOrt = '20095 Hamburg' ORDER BY Nachname

Groß- und Kleinschreibung sowie Zeilenumbrüche dienen nur der besseren Lesbarkeit, sind aber technisch ohne Bedeutung.

Abfragefelder können auch mathematisch ausgerechnete Inhalte enthalten. Auf diese Weise kann z.B. aus Bruttobetrag und Umsatzsteuersatz der Nettobetrag und die Umsatzsteuer errechnet und als Feldwert ausgegeben werden.

Darüber hinaus gibt es diverse Funktionen zu Auswertung von Zahlenkolonnen, insbesondere Summe, Durchschnitt, Minimum, Maximum usw. (SUM(), AVG(), MIN(), MAX()).

Schließlich können auch Texte zusammengesetzt (mit Plus-Zeichen) oder Texte oder Zahlen als Konstante verwendet werden.

FROM: Von besonderer Bedeutung ist die Datenquelle: an dieser Stelle können mit Hilfe sog. JOINs mehrere Tabellen miteinander verknüpft werden, so dass Daten aus den unterschiedlichsten Tabellen zusammengeführt und angezeigt werden können.

WHERE filtert die Abfrage: ausgegeben werden nur diejenigen Zeilen, die der Bedingung entsprechen. Bedingungen können sehr komplex sein.

ORDER BY sortiert die Abfrage: die Zeilen werden nach der angegebenen Spalte sortiert.

Das Ergebnis einer Abfrage sieht wiederum wie eine Tabelle aus und kann meistens auch genau wie eine Tabelle angezeigt, bearbeitet und verwendet werden.

Abfragen enthalten selbst keine Daten. Wird eine Abfrage als solche gelöscht, gehen keine der in den Tabellen gespeicherten Daten verloren. Aber Achtung: wenn Daten oder Zeilen des Abfrageergebnisses geändert oder gelöscht werden, werden auch die Tabellendaten geändert bzw. gelöscht!

Die Einrichtung und Konfiguration von Abfragen erfolgt am besten mit dem in der Expressversion kostenlosen Microsoft SQL Server Management Studio. Es besteht eine leistungsfähige graphische Unterstützung, um insbesondere die Tabellenbeziehungen herzustellen und anzuzeigen.

Eine einfache Abfrage kann mit der Programmfunktion "SQL-Abfrage" erstellt und als Tabelle angezeigt werden.

Bei allen Tabellen des Programms lässt sich unter Datei > Eigenschaften die der Tabelle zugrunde liegende Abfrage anzeigen.

Da die Tabelle "Aktenbeteiligte" zahlreiche Verknüpfungen mit anderen Tabellen enthält, die als bloßer Zahlenwert nicht aus sich selbst heraus verständlich sind, gibt es z.B. eine Abfrage namens "wordAktenbeteiligte", in der die Verknüpfungen aufgelöst sind. Die verknüpften Daten erscheinen dadurch, als wären sie in einer gesonderten Tabelle zusammengefasst oder tatsächlich mehrfach eingegeben worden. Diese Abfrage dient als Datenquelle für die meisten Dokumente. Entsprechende gilt für "wordAkten" und "wordAdressen".

Gespeicherte Prozeduren, Funktionen (engl. stored procedures, functions)

Im einfachsten Fall handelt es sich hier auch nur um Abfragen. Sie können aber durch Programmcode in der Sprache "Microsoft Transact SQL" ergänzt werden.

Die Einrichtung und Konfiguration von Abfragen erfolgt am besten mit dem in der Expressversion kostenlosen Microsoft SQL Server Management Studio. Für komplexe Prozeduren und Funktionen besteht keine graphische Unterstützung, so dass diese nur als Text eingegeben werden können.

Außer der SELECT-Abfrage können auch Anweisungen verwendet werden, um Tabellen zu bearbeiten:

Derartige Anweisungen können auch unmittelbar durch das Programm als SQL-Anweisung ausgeführt werden.

Formulare (engl. forms)

Formulare sind die für den Benutzer sichtbare Oberfläche, um Daten am Bildschirm anzuzeigen und bearbeiten zu lassen ("Frontend").

Formulare sind kein Bestandteil der Datenbank ("Backend") im engeren Sinne. Die meisten Fenster ("Windows") der Anwendung sind als Formular anzusehen. Access (bis 2010) enthält sehr vielfältige weitere Möglichkeiten, Formulare zu erstellen und anzuzeigen.

Formulare enthalten zum Zwecke der Ein- und Ausgabe Steuerelemente wie z.B.

Die Einrichtung und Konfiguration von Formularen erfolgt unter Access (bis 2010) in der sog. Entwurfsansicht des Formularbereichs. Das Microsoft SQL Server Management Studio enthält keine Möglichkeit dazu.

Formularen liegt eine Datenquelle zugrunde, z.B. eine Tabelle oder Abfrage. Alternativ kann auch eine eigene Abfrage erstellt werden, die nicht wie sonst im Server, sondern im Formular gespeichert wird.

Formulare enthalten in der Regel auch Programmcode in der Sprache Visual Basic for Applications (VBA). Einem Button muss z.B. immer eine Prozedur zugeordnet sein, die ausgeführt wird, wenn der Button angeklickt wurde.

Formulare lassen sich auch ausdrucken, aber da sie für den Bildschirm und nicht für Papier optimiert sind, ist das Ergebnis nicht immer optimal.

Berichte (Auswertungen, engl. reports)

Berichte sind eine für den Ausdruck auf Papier optimierte Ausgabe der Daten. Die angezeigten Werte können nicht geändert oder auch nur angeklickt werden. Um die Daten zu bearbeiten, muss erst ein Formular verwendet werden.

Berichten liegt meistens eine Datenquelle zugrunde, z.B. eine Tabelle oder Abfrage. Alternativ kann auch eine eigene Abfrage erstellt werden, die nicht wie sonst im Server, sondern im Bericht gespeichert wird.

Die Einrichtung und Konfiguration von Berichten erfolgt unter Access (bis 2010) in der sog. Entwurfsansicht des Berichtsbereichs. Das Microsoft SQL Server Management Studio enthält keine Möglichkeit für die Herstellung von Berichten.

Eine besondere Leistungsfähigkeit von Berichten besteht darin, dass die Daten  hierarchisch gegliedert ausgegeben werden können ("gruppieren"). In der Buchhaltung können auf diese Weise z.B. die Einzelbuchungen nach Monaten und Konto zusammengefasst werden.

Berichte können auch Programmcode in der Sprache Visual Basic for Applications (VBA) enthalten, um z.B. den Bericht noch vor oder während des Ausdrucks abhängig von den gewählten Einstellungen oder den erscheinenden Daten zu konfigurieren.


Impressum

a-jur-Kanzleisoftware

www.a-jur.de