Aufbau von Informationssystemen

Informationssysteme sind heute in den Arbeitsfeldern der Sozialen Arbeit in vielerlei Gestalt zu finden: als Internet-Seiten mit Daten über Soziale Dienste und Hilfeangebote, als Fachsoftware zur Verwaltung von Klienten-Daten und zur Falldokumentation oder in Form von Programmen, die Auskunft über Gesetzestexte oder Sozialleistungen geben.

Um mit solchen Informationssystemen in der beruflichen Praxis souverän arbeiten zu können ist es sinnvoll, ein wenig hinter die Kulissen der Bildschirm-Oberfläche zu blicken und die grundlegenden Prinzipien des Aufbaus und der Funktionsweise von Rechnersystemen allgemein und Informationssystemen im besonderen zu kennen zu lernen.

Das Schichtenmodell der Informatik

Das Schichtenmodell der Informatik

Ein wichtiges Grundprinzip der angewandten Informatik ist das Schichten-Modell. Alle Rechnersysteme vom Großrechner über den normalen PC bis hin zu Mini-Geräten wie Palmtops oder PDAs sind aus verschiedenen technischen oder logischen Schichten aufgebaut. Am bekanntesten und für den Anwender am deutlichsten sichtbar sind die Schichten Hardware, Betriebssystem und Anwendersoftware.

Weitere Schichten sind für den Anwender weniger transparent. So werden Programme zum Beispiel in sogenannten höheren Programmiersprachen geschrieben und anschließend in eine darunter liegende Schicht – die Maschinensprache – umgewandelt, um die darin enthaltenen Befehle nach einer erneuten Umwandlung in den Binärcode (0,1) auf der Ebene der Hardware – genauer: im Prozessor – ausführen zu können. Die Umwandler sind ebenfalls Programme, die auf diese Aufgabe spezialisiert sind. Sie werden Compiler bzw. Assembler genannt.

Schichten der Programmierung

Das besondere nun an diesem Schichtenmodell ist, dass diese verschiedenen Ebenen in sich geschlossene, logische Gebilde darstellen, die über genau definierte Kanäle – in der Informatik Schnittstellen genannt – mit der jeweils darüber oder darunter liegenden Schicht kommunizieren. Für System-Entwicker hat dies den Vorteil, dass sie die genaue Funktion der jeweils anderen Schichten nicht zu kennen brauchen und sich voll auf die eigene Ebene konzentrieren können, so dass die Komplexität der jeweiligen Aufgabe begrenzt bleibt. Ein weiterer Vorteil besteht darin, dass die einzelnen Schichten innerhalb gewisser Grenzen austauschbar sind. So läuft zum Beispiel eine Anwendersoftware auf verschiedenen Windows-Betriebssystemen oder ein Betriebssystem wie Windows XP ist auf unterschiedlichen Prozessoren wie Pentium II, III oder IV lauffähig.

Dem Anwender wird dieser Schichten-Aufbau im Alltag kaum bewusst. Er tritt vor allem dann ins Blickfeld, wenn Probleme auftauchen, wenn also z.B. Schnittstellen zwischen einzelnen Schichten nicht so funktionieren, wie dies vorgesehen ist oder wenn eine Systemkomponente veraltet ist und nicht mehr mit einer neueren zusammenarbeitet. Dies ist z.B. dann der Fall, wenn ein Anwendungsprogramm sich nicht mit dem Betriebssystem verträgt und deshalb abstürzt oder falsche Ausgaben liefert. Man spricht dann von Inkompatibilität. Kompatibel sind Systeme dann, wenn es solche Probleme nicht gibt.

Der Aufbau softwaregestützer Informationssysteme

Dem Benutzer tritt ein Informationssystem über seine Darstellung am Bildschirm – die sogenannte Oberfläche – entgegen und erscheint ihm als einheitliches Gebilde. In Wirklichkeit besteht jedoch auch ein solches System wiederum aus einer Reihe unterschiedlicher Schichten.

Die Benutzer-Oberfläche besteht bei Internet-Anwendungen aus dem Browser-Fenster und den darin angezeigten Inhalten. Bei Fachsoftware besteht sie zumeist aus verschiedenen Bildschirm-Masken zur Eingabe und zum Abruf von Daten sowie zum Ausführen von Befehlen wie suchen, anzeigen, speichern, löschen oder drucken.

Die ausführbaren Befehle sowie die Art der Darstellung am Bildschirm und vieles andere wird von einem Anwendungsprogramm gesteuert. Diese Software wird von ihrem Hersteller programmiert, also mit den für den jeweiligen Zweck benötigten Funktionen ausgestattet.

Die eigentlichen Daten wie Adressen oder andere Informationen über Klienten sind jedoch nicht im Anwendungsprogramm, sondern in einer davon technisch getrennten Datenbank enthalten. Datenbanken werden in der Regel nicht von einzelnen Herstellerfirmen programmiert, es werden zumeist marktgängige Standardprodukte wie Microsoft Access oder Oracle oder bei Internetanwendungen häufig auch die kostenfrei verfügbare Datenbank MySQL verwendet. Um Daten aus der Datenbank zu holen oder in ihr abzulegen, wird ein Datenbank-Managementsystem (DBMS) benötigt. Das DBMS ist eng mit der Datenbank gekoppelt und wird in der Regel mit dieser zusammen gekauft. Das Anwendungsprogramm kommuniziert also nicht direkt mit der Datenbank, sondern mit dem DBMS.

DBMS
(Quelle: Taylor, A.G.: Datenbanken für Dummies, Bonn 2001, S. 38)

Im Anwendungsalltag sind die Unterscheidungen dieser verschiedenen System-Schichten nicht von Bedeutung. Geht es jedoch um Fragen des Datenschutzes, den Transport von Daten oder den Einsatz einer solchen Software in Netzwerken, muss v.a. zwischen Anwendungsprogramm und Datenbank unterschieden werden, da beispielsweise die schützenswerten Informationen nicht in der Anwendungssoftware, sondern in der Datenbank stecken.

Aufbau und Funktionsweise von Datenbanken

Datenbanken sind Systeme, in denen Daten – oft in großen Mengen – systematisch und strukturiert gespeichert sind und bereit gestellt werden. Unter den verschiedenen historisch entstandenen Typen von Datenbanken haben sich in der modernen Informatik die relationalen Datenbanken durchgesetzt.

In diesem Datenbank-Typus werden Informationen in einzelnen Tabellen abgelegt. Diese Tabellen gliedern sich in Zeilen und Spalten. Jede Zeile stellt einen Datensatz dar, in dem die Informationen zu einem Eintrag (z.B. einem Klienten) gespeichert sind. Die Spalten zeigen die erfassbaren Einzelheiten wie Name, Vorname, Geburtsdatum usw. Im Spaltenkopf steht dessen Bezeichnung (Feld-Name). Ein einzelner Eintragsplatz ist ein Feld. Da jeder Eintrag in einer Datenbank eindeutig identifizierbar sein muss, führt man zumeist eine automatisch vergebene fortlaufende Kennnummer mit, die in der Datenbank-Terminologie ID genannt wird.

Datenbank - Tabelle

In einer relationalen Datenbank bildet jede Tabelle einen bestimmten Sachverhalt ab. In einer Klientenverwaltungs-Datenbank werden beispielsweise in einer Tabelle Namen und Anschrift der Klienten/-innen gehalten und in einer weiteren Tabelle die Namen der sie betreuenden Mitarbeiter/-innen. Wird nun – etwa in einer Beratungsstelle – ein Klient einer Mitarbeiterin zugeordnet, so werden diese Informationen miteinander verknüpft, es entsteht eine Relation.

Datenbank - Tabelle

Ist diese Relation hergestellt, können beispielsweise Briefe an alle Klienten eines Betreuers ausgedruckt werden oder es können für jeden Betreuer Geburtstagslisten seiner Klienten ausgegeben werden.

Ein großer Vorteil dieses Konzeptes ist es, dass jede Information nur ein einziges mal in der Datenbank abgelegt wird, also in diesem Beispiel der Betreuer nicht mehrfach (redundant) bei jedem Klienten eingetragen werden muss. Und bei einem Wechsel der Betreuungsperson müssen keine Einträge gelöscht und neu angelegt werden, lediglich die Relation muss verändert werden.

Zur Verknüpfung der Tabellen untereinander stehen mehrere Möglichkeiten zur Verfügung, die die real vorkommenden Verbindungen der jeweiligen Sachverhalte abbilden:

  • 1:1- Beziehung: jedem Datensatz auf der einen Seite ist nur ein Datensatz auf der anderen Seite zuordenbar (Beispiel: Sozialarbeiter und Büroräume: jeder Betreuer hat seinen eigenen Bürraum)
  • 1:n-Beziehung: jedem Datensatz auf der einen Seite können mehrere Datensätze auf der anderen Seite zugeordnet werden (Beispiel wie oben: jeder Betreuer hat mehrere Klienten/-innen)
  • n:m-Beziehung: auf beiden Seiten können jeweils mehrere Datensätze zugeordnet werden (Beispiel: Ein Team von Betreuern ist für eine Gruppe von Klienten/-innen verantwortlich)

Ein weiterer Vorteil von relationalen Datenbanken ist, dass Änderungen in der Struktur der zu erfassenden Informationen relativ leicht umsetzbar sind. So können beispielsweise neue Spalten hinzugefügt werden, wenn es sich als sinnvoll erweist, zusätzliche Merkmale wie den Familienstand oder die Nationalität der Klienten/-innen zu erfassen. Auch kann - wenn es notwendig ist - zum Beispiel eine weitere Tabelle hinzugefügt werden, in der die Kinder der einzelnen Klienten erfasst werden.

Besonders vorteilhaft ist diese Flexibilität auch bei Auskunftssystemen über den Sozialmarkt, da sich dessen Strukturen ja mit der Zeit wandeln und das System daran angepasst werden muss.