Information Systems - Fachbereich Informatik und

Werbung
Universität Konstanz
FB Informatik und Informationswissenschaft
Informationssysteme
(Information Systems)
www.inf.uni-konstanz.de/dbis
Prof. Dr. Marc H. Scholl
Winter 2004/05
c M. Scholl, 2004/05 – Informationssysteme
1 Einführung und Übersicht
1.1
Vorbemerkungen . . .
I Es gibt zu diesem Kurs Papier-und-Bleistift“-Übungen und auch Hands-on“-Aufgaben im Rech”
”
nerpool.
I André Seifert ist für die Übungen verantwortlich.
I Was wir von Ihnen erwarten:
Aktive Teilnahme
Selbstständige Bearbeitung der Übungsaufgaben
Bestehen der Klausur am Ende des Semesters
Feedback: jederzeit
Vernünftige Zeiteinteilung
. über das Semester hinweg (nicht erst 2 Wochen vor der Klausur anfangen zu lernen (!!))
. über die Veranstaltungen des Semesters hinweg (z.B. Datenstrukturen und Algorithmen vs.
Informationssysteme)
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-1
1.2
Was ist ein Informationssystem?
. . . na, ein System, das Informationen verwaltet!
Aber . . .
I Was heißt hier Informationen“?
”
I Und was heißt verwalten“?
”
Zu Information“ . . .
”
I Daten ←→ Informationen ←→ Wissen:
Daten – nackte“ Bits,
”
Informationen – Daten in einem Kontext, der deren Interpretation erlaubt,
Wissen – Gewinnung von neuen“ Informationen/Wissen aus vorhandenem
”
I Offensichtlich fließende Grenzen!
I Sichtweise im konkreten Fall hängt oft von der gewählten Abstraktionsebene ab: was aus
einer Perspektive als nackte“ Daten erscheint, enthält aus einer anderen bereits wichtige
”
Kontextinformationen.
I Es ist also wichtig, sich über die Wahl einer bestimmten Abstraktionsebene klar zu sein, und dort
die Objekte klar zu beschreiben.
. Dies ist der Gegenstand div. Ansätze zur Informations-Modellierung. /
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-2
Zu verwalten“ . . .
”
I Bereitstellen von Operationen auf den Informations“-Objekten
”
speichern
wiederauffinden
hinzufügen
verändern
löschen
geeignet kombinieren“
”
...
I Offensichtlich hängt die Wahl der gewünschten Operationen ebenfalls von der gewählten Abstraktionsebene ab (die Operationen müssen zu den repräsentierten Objekten passen“).
”
I Ein (operatives) Modell für Daten / Informationen / Wissen muss also neben geeigneten Abstraktionsmitteln für Objekte auch solche für Operationen umfassen!
I Im Sinne der Programmiermethodik/des Software Engineering geht es also um so etwas wie
Abstrakte Datentypen.
.
Ein Informationssystem ist also eine Implementierung eines Modells für Daten /
Informationen / Wissen auf einer bestimmten Abstraktionsebene. /
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-3
Ist also nicht (beinahe) jede Anwendung ein Informationssystem?
. . . im Prinzip ja, aber
I
jede Anwendung“ ist typischerweise sehr spezifisch auf die Bedürfnisse eben dieser Anwendung
”
ausgerichtet.
I Wir wollen in der Folge jedoch generische Informationssysteme betrachten, also Systeme, die
Grundlage für viele konkrete Anwendungssysteme (z.B. einer bestimmten Klasse) sein können,
weil sie
Gemeinsamkeiten in den Anforderungen an die Informationsmodellierung (Objekte und Operationen) haben,
also eine Plattform für die effiziente und effektive Realisierung von Daten- / Informations- /
”
Wissens-lastigen“ Anwendungen bieten.
I Diese Überlegungen zeigen, dass
1. Informationssysteme“ (fast) überall benötigt werden,
”
2. eine Vielzahl von unterschiedlich ausgerichteten Informationssystemen“ gibt (je nach Abstrak”
tionsebene und/oder Anwendungsklasse).
I Ziel dieses Kurses ist es,
wichtige Arten von Informationssystemen in ihren wesentlichen Merkmalen kennenzulernen,
von einander abgrenzen zu können,
sowie für eine gegebene Anwendung ein geeignetes Informationssystem als Realisierungsplattform auswählen zu können.
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-4
Working Definition“ – Informationssystem
”
I ein System, das große, gemeinsam benutzte Daten- / Informations- / Wissens-menge verwaltet“,
”
I für eine ganze Reihe von Anwendungsprogrammen (generischer Aspekt),
I und zwar (sonst würden wir es ja lieber selbst“ anwendungsspezifisch realisieren)
”
sicher, zuverlässig und verlässlich,
effizient und effektiv,
mit verschiedenen benutzerfreundlichen“ Schnittstellen
”
. . . für Benutzer mit unterschiedlichen Anforderungen, Kenntnissen und Bedürfnissen.
Einige relevante Aspekte:
I Modellierung: wie werden Daten/Informationen im System beschrieben?
(s. Kurs Informationsmanagement“: Modellierung, DB-Entwurf)
”
I Manipulation: wie greift man auf Daten (lesend und ändernd) zu
⇒ in diesem Kurs: Query Languages
I Fehlertoleranz: Garantien im Fall von Crashes“
”
⇒ in diesem Kurs: transaktionsorientierte Verarbeitung
I Effizienz: Performance, Performance, Performance
⇒ (ein wenig) in diesem Kurs: (einfache) Indexstrukturen
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-5
Abgrenzung zur Vorlesung Informationsmanagement“
”
. . . auch dort wurde über Informationsmodellierung gesprochen, allerdings i.w. der statische Aspekt
(= Modellierung der Objekte) betont. Beispiele: Entity-Relationship-Modell, Relationales Datenmodell,
Entwurfsmethoden und Normalformenlehre.
Wir konzentrieren uns hier stärker auf die operationalen Aspekte (= welche Operationen bieten die
verschiedenen Informationssysteme auf ihren Objekten).
Außerdem besprechen wir neben Datenbanksystemen auch noch weitere Arten von Informationssystemen.
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-6
1.3
Sprachen für Informationssysteme (Query Languages)
(Wenn wir Daten definiert und Massen davon ins System geladen haben . . .)
Wie . . . ?
I
I
I
I
I
I
finden, was wir suchen
ausdrücken, woran wir interessiert sind
ohne dabei programmieren“ zu müssen
”
so dass die Ergebnisse schnell geliefert werden
und leicht interpretierbar sind
und wie ergänzen, modifizieren und löschen wir Daten?
mit wenigen Mausklicks oder einer intelligenten, high-level Sprache
I
I
I
I
I
zero-effort
zero-knowledge
zero-waiting time
all-in-parallel
100% satisfaction guaranteed
Wir untersuchen Grundlagen für solche Sprache und lernen einige prominente Vertreter kennen, insbesondere die relationale Datenbanksprache SQL.
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-7
1.4
Zuverlässigkeit: Transaktionsverarbeitung
Informationssysteme speichern riesige Datenmengen für eine große Zahl von Anwendungen und Benutzer.
Anforderungen:
I paralleler Zugriff auf die Daten (Lesen und Schreiben!)
I garantierte Konsistenz/Korrektheit der Daten
I Schutz vor allen möglichen Arten von Fehlern
Software (z.B., Anwendungsprogramm, Informationssystem, Betriebssystem, Kommunikationsprotokolle)
Hardware (z.B, Stromzufuhr, Kommunikationseinrichtungen, Platten oder andere Speichermedien)
Das ACID Paradigma
I Atomicity
I Consistency
I Isolation
I Durability
⇒ grundlegende Funktionalität von (Datenbank-) Transaktionen.
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-8
1.5
Effizienz
Finde die relevanten Teile der Daten SCHNELL.
I Anfragen spezifizieren gesuchte Antwort deklarativ“, d.h., geben Suchbedingungen an, aber pro”
grammieren keine Algorithmen zur effizienten Berechnung der Antwort.
Zugriffspfade, Query Processing & Optimization, . . .
I Informationssysteme benötigen sehr effiziente Datenstrukturen und Algorithmen zur Verwaltung
großer Datenmengen (auf Externspeicher)
I Informationssysteme müssen zu den deklarativ spezifizierten Benutzeraufträgen automatisch effiziente Ausführungsstrategien generieren.
Wir werden einfache Ansätze hierzu, z.B. B+-Bäume, kennenlernen.
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-9
1.6
1.6.1
Zielsetzung
Nutzen eines Informationssystems
I Zielgruppen: Kunden, Management, Fachabteilungen, . . .
I Unterschiedliche Anforderungen:
Informationspräsentation: WWW-Seite, spezielle Berichte/Formulare (gedruckt oder elektronisch)
gewünschter Detaillierungsgrad oft sehr unterschiedlich:
. Zugriff auf einen Zeitungsartikel
. Bibliothek: Zugriff auf den Katalog und Verfügbarkeit eines Buches.
. Zugriff auf die Verkaufszahlen eines bestimmten Produkts strukturiert nach bestimmten
Zeitintervallen und geografischer Lage (Variationen oft gewünscht!)
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-10
1.6.2
Technische Anforderungen
I Flexibler Zugang, ggf. auch an verschiedenen Standorten von verschiedenen Benutzergruppen
I oft auch Schutzmaßnahmen notwendig
I Aktualisierung von Informationen / Auslagerung veralteter Daten / Fehlerkorrektur
I Zuverlässigkeit:
Reaktionszeiten (oft < 1 sec. gefordert!)
Verfügbarkeit: Mo – Fr, 8–18 Uhr“ oder 7 Tage, 24-Stunden“
”
”
I Integration von verschiedenen Informationsquellen:
Stammdaten (tabellarisch): Personal, Produkte, Lieferanten, Kunden, . . .
strukturierte“ Daten: Zeitreihen, Tabellen, WWW-Seiten, . . .
”
Textdokumente: Manuals, Bilder, Audio, Video, . . .
Nichtelektronische Informationen:
. Verträge, Bestellscheine, Memos, . . .,
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-11
1.6.3
Realisierungsaspekte
I Unterschiedliche Ebenen:
Präsentation: Reportgeneratoren, Webseiten-Editoren (statisch/dynamisch)
Analyse: ggf. spezielle Algorithmen: Textanalyse, Bildverarbeitung, Zeitreihenanalyse, Kostenberechnungen, Katalogisierung, . . .
Datenerhebung:
. Der größte Teil der benötigten Informationen kann in Datenbanken verwaltet werden!
. ggf. Integration verschiedener Datenbankmanagementsysteme
. ggf. Integration mit spezialisierten ISen (z.B.: GIS (Geo-ISe), Produktionsdaten (STEP)),
die nicht auf (Standard-) DB-Technologie beruhen.
Anforderung bei der Realisierung / Weiterentwicklung von Informationssystemen:
I Aufwand kann schon bei kleinen“ Informationssystemen sehr hoch sein!
”
I Notwendigkeiten:
Fachliche Kompetenz
Anforderungsprofil
Technisches Umfeld
I Software-Engineering:
Software-Entwicklungsmodell
Analyse&Design-Methoden
Datenbanktechnologie
Programmierung
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-12
I entscheidende Bedeutung: Informationsmodellierung:
Modellierung ist ein kreativer Prozess, der fachliches und technisches Verständnis erfordert (⇒
Zusammenarbeit von Fachabteilungen mit Spezialisten für Datenmodellierung/Datenbanken)
Klassische Informationsmodellierung beschreibt nur den statischen“ Anteil
”
Ebenfalls erforderlich: Integration der Modellierung von Vorgängen (die man auch Transaktionen, Business-Transaktionen, Workflows, . . . nennt). In neuerer Zeit durch integrierte Tools
unterstützt (Kombination von Datenmodellierung und Software Engineering).
Ergebnis: Informationsmodell
Werkzeuge: etwa Entity-Relationship-Modell (viele Varianten!)
Generierung von Datenbankstrukturen kann dann (teilweise) automatisch geschehen!
Tuning durch Spezialisten notwendig
Weitergehende Anwendungen: Datenanalyse, E-Commerce, Produktionssteuerung, . . .
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-13
Abbildung 1-1: Beispiel: Architektur von SAP R/3
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-14
1.7
Modellierung
Anwendungsproblem
Anforderungsanalyse
Anforderungsspezifikation
Semantisches
Datenmodell
Konzeptueller
Entwurf
Verifikation
Semantisches
Schema
Validierung
DBS-unabhängig
DBS-abhängig
Logischer
Entwurf
Logisches
Datenmodell
Logisches
Schema
Leistungsparameter
Installationsparameter
Validierung
Gütebewertung
Physischer
Entwurf
Physisches
Schema
Leistungsbewertung
Leistungsbewertung
Abbildung 1-2: Phasen der Modellierung
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-15
1.7.1
Das Entity-Relationship-Modell
E1
Entity
R
E2
Relationship
Entity
Abbildung 1-3: Grundkonzepte des ER-Modells
arbeitet_in / hat
Abteilung
Mitarbeiter
arbeitet_an / hat_zugeordnet
Projekt
Mitarbeiter
Mitarbeiter
hat
gehört_zu
Personalakte
Abbildung 1-4: Beispiel
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-16
1.7.1.1
Entities
I Entities: identifizierbare Objekte der zu modellierenden Realwelt
I Entities bzw. Entity-Typen besitzen Werte bzw. Attribute
Farbe, Preis, Artikelnummer
Alter, Geschlecht, Haarfarbe
....
I Die Menge aller möglichen Werte für ein bestimmtes Attribut nennt man Wertebereich (engl.:
domain)
Person
Name
Alter
Geschlecht
Beruf
Abbildung 1-5: Beispiel: Entity-Typ Person mit 4 Attributen
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-17
1.7.1.2
Beziehungen zwischen Entities bzw. Entity-Typen
Ausprägungen (nicht notwendig) verschiedener Entity-Typen können zueinander in div. Beziehungen
stehen ( Relationships“):
”
Eine Abteilung kann mehrere Mitarbeiter haben – ein Mitarbeiter gehört genau einer Abteilung an“
”
Abteilung
hat / arbeitet_in
r1
a1
r
2
a2
m1
m2
m3
r
3
m4
r
4
m6
5
m8
a3
.
.
.
Mitarbeiter
r
r
r
Entity
6
m5
m7
.
.
.
7
r
8
Entity
.
.
.
Relationship
Abbildung 1-6: Beispiel 1 : n–Beziehung
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-18
Ein Mitarbeiter kann an mehreren Projekten mitwirken – in einem Projekt können mehrere Mitarbeiter
”
eingesetzt sein“
Mitarbeiter
wirkt_ mit / setzt_ein
Projekt
r1
m1
r
2
p1
m2
r
3
p2
m
3
m4
m5
.
.
.
r
4
r
5
r
r
p4
.
.
.
7
r
Entity
6
p3
8
r
9
Entity
r10
r11
.
.
.
Relationship
Abbildung 1-7: Beispiel: n : m–Beziehung
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-19
Jedem Mitarbeiter ist genau eine Personalakte zugeordnet – jede Personalakte ist höchstens einem
”
Mitarbeiter zugeordnet“
Mitarbeiter
m
r
1
1
m2
m
m
2
.
.
.
p
p
p
p
r
p
4
7
8
Personalakte
r
3
5
m6
m
r
3
m4
m
hat/ist zugeordnet
r
5
p
p
p
p
r
6
.
.
..
1
2
3
4
5
6
7
8
9
.
r
Entity
7
r
8
Entity
.
.
.
Relationship
Abbildung 1-8: Beispiel: 1 : 1–Beziehung
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-20
1.7.1.3
Komplexität von Beziehungen
I Angabe, mit wie vielen anderen Entities (eines bestimmten Typs) ein Entity des betrachteten
Entity-Typs in einer konkreten Beziehung stehen kann bzw. darf oder sogar muss.
I Zu unterscheidende Beziehungstypen: 1 : 1, 1 : n, n : m.
I Zwingende und optionale Beziehungen:
I Beispiele für zwingende Beziehungen (mandatory relationships):
Jeder Angestellte gehört immer einer Abteilung an.
Jede Abteilung hat mindestens ein Abteilungskonto
I Beispiele für optionale Beziehungen:
Jeder Mitarbeiter kann in max. 5 Projekten mitwirken. (Es gibt auch Mitarbeiter, die in keinem
Projekt mitmachen.)
Jeder Student kann Mitglied im Uni-Sportclub sein (muss aber nicht).
I Notation: min-max-Schreibweise: ki = (mini , maxi )
E1
Entity
k
1
R
k
2
Relationship
E2
Entity
ki ∈ {(0, 1), (1, 1), (0, ∗), (1, ∗)}
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-21
Abteilung
(0,*)
arbeitet_in
(1,1)
Mitarbeiter
(0,5)
arbeitet_an
(1,*)
Projekt
(1,1)
hat
(0,1)
Personalakte
Abbildung 1-9: Beispiel
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-22
Zugrundeliegende Annahmen in Abb. 1-9:
I Beziehung hat:
Zu jedem Mitarbeiter gibt es genau eine Personalakte.
Zu jeder Personalakte gibt es höchstens einen Mitarbeiter (es gibt aber auch Personalakten für
ausgeschiedene Mitarbeiter).
I Beziehung arbeitet an:
Jeder Mitarbeiter arbeitet an höchstens 5 Projekten mit.
Es gibt Mitarbeiter, die keinem Projekt zugeordnet sind (z.B. wegen Krankheit, Einarbeitung,
. . . ).
Projekte haben mindestens einen und ansonsten beliebig viele Mitwirkende.
I Beziehung arbeitet in:
Abteilungen können eingerichtet werden (organisatorisch, buchhalterisch), ohne dass bereits
Mitarbeiter zugeordnet sind.
Die Anzahl der Mitarbeiter pro Abteilung ist nicht nach oben begrenzt.
Jeder Mitarbeiter ist stets genau einer Abteilung zugeordnet (es gibt keine Waisenkinder“).
”
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-23
1.8
1.8.1
Datenbanksysteme
Grobarchitektur eines Datenbankmanagementsystems
Benutzer
Programmierer
Anwendungsprogramm
DatenbankSystem
Datenbank-Schnittstelle
DatenbankManagementSystem
weitere
Komponenten
Komponenten für die
Anfragebearbeitung
Zugriffskomponenten für
gespeicherte Daten
Nutzdaten
Primärdaten
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
Meta-Daten
Zugr
iffspfade
Sonstiges
Sekundärdaten
1-24
1.8.2
Datenbanken als Entwicklungswerkzeuge
I Höhere Funktionalität als Dateisysteme, dadurch:
kürzere Entwicklungszeit für Anwendungsprogramme
geringere Fehleranfälligkeit
stabilere Bezugsbasis für kooperatives Arbeiten
I Im Vergleich mit Programmiersprachen/-umgebungen:
geringere Funktionalität (Ausdrucksmächtigkeit)
mengenorientierte Verarbeitung ( bulk data processing“)
”
optimierbare Sprachkonstrukte
I heute: meist zusätzlich zu reinen Abfrage-/Manipulationssprachen:
Komplette (?) Anwendungsentwicklungsumgebungen ( 4 GL’s“)
”
(Masken, Formulare, Window-Systeme, Reports, CASE-Tools, Prozeduren, ...)
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-25
1.8.3
Datenbanken als Integrationswerkzeuge
I Integration der Daten:
Gemeinsame, anwendungsprogrammunabhängige Darstellung
logische / konzeptuelle Modellierung
Integration der Anwendung: Kontrolliert paralleler Zugriff / Änderungen von gemeinsamen Datenbeständen, Transaktionsverwaltung)
I Leistungsfähigkeit:
Durchsatz
Fehlertoleranz
systemseitige Gewährleistung der Integrität der Daten (keine widersprüchlichen Angaben, keine
ungültigen Verweise, etc. in der Datenbank) sind zentrale Anliegen bei integrierten Anwendungen!
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-26
Buchhaltung
Produktion
Planung
Einkauf
Verkauf
Bes tellungen Auftragsbes tand
Lieferverträge
Produktionsplanung
Stücklisten
Mitbewerberdaten
Kons truktionsdaten
Investitionsplanung
Marketingprogramme
Wareneingänge
offene Posten Kreditplanung
Absatzplanung
Auslas tung
Bes chaffungsplanung
Liquiditätsplanung
gemeinsame Datenbasis
Datenbanksystem
Abbildung 1-10: Datenbanken als Integrationswerkzeuge
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-27
Lieferant LiefNr LiefName
Liefert TeileNr LiefNr Preis
FS
TeileBest BestNr LiefNr Termin
FS
FS
Teil TeileNr TeileBez Bestand
TeileBestPos BestNr BestPos TeileNr Menge
FS
AuftragPos AuftrNr AuftrPos TeileNr Menge Preis
FS
FS
FS
Struktur OberTNr UnterTNr Anzahl
FS
FS
Auftrag AuftrNr KdNr Termin
FS
Kunde KdNr KdName KdAnschrift
Abbildung 1-11: Beispiel für logische Abhängigkeiten zwischen Daten
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-28
1.8.4
Wichtige Aspekte von Datenbank- und Informationssystemen
I Entkopplung der Anwendungsprogramme von den physischen Speicherungsstrukturen der Daten
(=⇒ Datenunabhängigkeit von Anwendungsprogrammen“)
”
I (Datenbank-) Datenmodelle“: angebotene logische Datenstrukturen und Operationen (−→ rela”
tionales, hierarchisches, Netzwerk-Datenmodell)
I Entwurf von Informationssystemen:
Semantische Datenmodellierung
konkreter Datenbankentwurf
Kriterien für guten“ DB-Entwurf (−→ DB-Entwurfstheorie“)
”
”
I Systemseitige Gewährleistung der Integrität der Daten
I (Interne) Speicherstrukturen der Daten auf Externspeicher und Mittel zur Beschleunigung des
Zugriffs auf die Daten
I Mehrbenutzerbetrieb und Fehlertoleranz:
Vermeidung von Fehlern durch Parallelausführung von DB-Befehlen (+ Synchronisation“)
”
Maßnahmen gegen Datenverlust und Fehler in der Datenbank durch Programmfehler,
Programm- und Systemabstürze (=⇒ Transaktionen“, Logging“)
”
”
Wiederherstellung eines konsistenten DB-Zustandes nach solchen Ereignissen (−→ Recove”
ry“)
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-29
1.8.5
Datenunabhängigkeit von Anwendungsprogrammen
I ANSI/SPARC 3-Schema-Architektur:
ANSI/X3/SPARC Study Group on Data Base Managment Systems, 1975 (ff.):
Unterscheidung von 3 Ebenen der Datenmodellierung:
. Externe Schemata (Benutzersichten)
. Konzeptuelles Schema (stabiles, globales Referenzschema)
. Internes Schema (physische Realisierung)
Ziele:
. Trennung der semantischen Datensicht von der physischen Speicherung (Speicherstruktur)
der Daten
. Möglichst weitgehende Vermeidung von Abhängigkeiten zwischen Anwendungsprogramm und
physischer Datenspeicherung (Datenunabhängigkeit der Anwendungsprogramme)
. physische Speicherung kann geändert werden, ohne Programmänderung!
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-30
externe
Schemata
T ransformation
konzeptuelles
Schema
Transformation
physische
Speicherung
internes
Schema
Abbildung 1-12: 3-Schema-Architektur
I Bindezeitpunkte des (logischen) DB-Zugriffe an physische Zugriffsroutinen und Speicherungsstrukturen:
Zur Übersetzungszeit (early-binding, make-time binding)
Zur Ausführungszeit (late binding, run-time binding)
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-31
DB-Design
"Miniwelt"
konzeptuelles Schema
(z.B. ERM)
"semantisch möglichst
reichhaltiges" Modell
zur Formulierung globaler
Integritätsbedingungen
DBMS
externe Schemata
(z.B. Views, Subschema)
logisches Schema
(z.B. Relationen)
physisches Schema
(z.B. Files,Segmente,
Indexe, ...)
typischerweise eher wenig / keine
"Semantik", Integritätsbedingungen
Abbildung 1-13: Realisierte 3-Schema-Architektur
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-32
1.9
1.9.1
Weitere Aspekte
WWW-Informationssysteme
I Heute zunehmende Anforderung, Informationen über Internet/Intranet verfügbar zu machen.
I Informationen bestehen nicht nur aus statischen HTML/XML-Seiten, sondern werden (auch teilweise) aus Datenbanken generiert ⇒
Daten liegen in Datenbank, etwa in Tabellen
Entsprechend der Anfrage werden diese selektiert und aggregiert
Aufbereitung und Übertragung in (statische) HTML/XML-Dokumente
Übermittlung an den Client (Browser)
I Probleme:
Generierung derartiger dynamischer Seiten erfordert hohen Programmieraufwand (z.B.: JavaProgramme, Stored Procedures)
Unterstützung durch Tools noch nicht befriedigend
HTML/XML-Formulare/Reports verdrängen zunehmend spezielle Generatoren für Bildschirmmasken oder Reports (trotz geringerer Leistungsfähigkeit)
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-33
1.9.2
Sicherheitsaspekte
I Sicherheitsanforderungen an verschiedenen Stellen:
personenbezogene Daten dürfen nur gemäß gesetzlicher Bestimmungen verarbeitet werden
(EU-Richtlinie und nationale Gesetze)
Vertraulichkeit innerhalb einer Organisation/Firma (ggf. hierarchisch)
Bei der Übermittlung von Daten soll Zugriff von Unbefugten verhindert werden.
I Lösungen:
Überwachung durch Datenschutzbeauftragte (staatlich) und firmeneigenen Sicherheitsbeauftragten (zur Zeit noch nicht befriedigend)
Einrichtung von Trust-Centern und Vergabe von Zertifikaten.
Realisierung eines Schutzkonzepts innerhalb des Informationssystems (u.a. durch die Aufteilung
in Benutzergruppen und Vergabe von Rechten an Objekten, z.T. unterstützt durch DBMSe
und Betriebssysteme.
notwendig: Authentifikation der Benutzern (Passwortschutz-Problematik)
Kryptologie
I Aber: Absolute“ Sicherheit nicht möglich:
”
umfassende Lösung zu teuer“ (zumindest kurzfristig)
”
Mangelndes Verständnis bei Betroffenen und Verantwortlichen
menschlicher“ Faktor
”
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-34
1.9.3
Data Warehouses
I In vielen Anwendungen spielt Datenanalyse ( Data Mining“) eine zentrale Rolle.
”
I Beispiel: Management-Informationssysteme
Aus den Bestelldaten aller Filialen einer Handelskette sollen Informationen für die weitere
Firmenstrategie gewonnen werden.
⇒ Lösung: Data Warehouse: Aufbau spezieller Datenbanken, die die Informationen der
ursprünglichen Daten verdichten.
I Probleme:
Formulierung und Auswertung der gewünschten Anfragen (Roll-Up, Drill-Down)
Grenzen der Leistungsfähigkeit der verfügbaren relationaler DBMSe erreicht
Konzeption neuer Datenbankarchitekturen:
. als Ergänzung zu bestehenden Architekturen
. durch neue, sehr spezielle Speicherstrukturen
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-35
1.9.4
Wissensbasierte Systeme
I Wissensbasis: Es liegen nicht nur Fakten (⇒ Datenbank) vor, sondern auch Regeln.
I Beispiel:
Wenn die Rechnung 10.000 DM übersteigt, gewährt der Lieferant Abele“ einen Rabatt
”
”
von 2% und übernimmt die Frachtkosten.“
I Derartige Regeln sollen dann später automatisch“ berücksichtigt werden.
”
I Formale Grundlage: Prädikatenlogik
I diverse Sprachen/Systeme für Wissensrepräsentation verfügbar:
Programmiersprache: Prolog
Wissensrepräsentationsumgebungen: OPS5, Babylon, Telos, . . .
für Datenbanken: Datalog, F-Logic, . . .
I Beispiel:
Rabatt(Lief no,Endpreis) <Bestellung("Abele",Lief no,Kosten),Kosten<10000,Endpreis=0.98*Kosten
I Logik schließt Inkonsistenz“ nicht aus!
”
I Leider gibt es (trotz einiger Forschung in der 80/90er Jahren) keine Integration von DBMSen und
Wissensbasen: Regeln sind oft unübersichtlich in Anwendungsprogrammen versteckt.
I Weitergehende Ansätze:
Unscharfes Wissen: Wahrscheinlichkeiten, Fuzzy-Logik
zeitliche Abhängigkeiten, räumliche Abhängigkeiten (Geo-Anwendungen)
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-36
1.9.5
Data Mining
I Zielsetzung: Herleitung neuen Wissens“ (Erkenntnisse aus Daten) durch Exploration“
”
”
I Szenario: große Datenmengen (unstrukturierter) Daten (etwa Kassenbons einer Handelskette,
Vertragsabschlüsse)
Speicherung: möglich
Adäquate Analyse: mit klassischen Werkzeugen kaum machbar
I Beispiel: Mögliche Fragestellungen:
Wie sollen Produkte in einem Geschäft angeordnet werden, um den Verkauf zu maximieren?
Nach welchen Kriterien soll einem Bankkunden ein Kredit eingeräumt werden?
Wie entwickelt sich der DAX?
I Verfahren:
Statistik (Bayes’sches Lernen)
Fuzzy-Mengen
Evolutionäre ( Genetische“) Algorithmen
”
Neuronale Netzwerke
I Der Einsatz derartiger Techniken ist zur Zeit en vogue (sowohl in der Forschung wie in kommerziellen Anwendungen!)
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-37
1.9.6
Information-Retrieval und Dokumentenverwaltung
I Problemstellung: Textdokumente (Bücher, Manuals, WWW-Seiten,. . .) sollen adäquat gespeichert, verwaltet und wieder aufgefunden (!) werden.
I Spezielle Anforderungen:
Speicherung: ggf. extern
Besondere Anfragen: zusätzlich adäquate Bewertung gefordert ( Ranking“)
”
linguistische Aspekte: Stammreduktionen, Homonyme, Synomyme
spezielle Vergleichsalgorithmen
spezielle Indexstrukturen
I Historisch: Klassische Datenbanksysteme können nur kleine“ und unstrukturierte“XS Objekt
”
”
speichern ⇒ eigenständige Entwicklung von Dokumentverwaltungssystemen
I Heute: Datenvolumen für DBMSe kein Problem, aber Unterstützung von Textindizes in DBMSen
oft nicht state-of-the-art
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-38
1.10
Überblick über die Vorlesung
1
Einführung und Übersicht
2
Das Relationale Datenmodell
3
SQL – Structured Query Language
5
Datenschutz und Datensicherheit
6
Wissensbasierte Informationssysteme
7
Information Retrieval
8
Data Warehousing
9
Mehrbenutzeraspekte, Transaktionen, Parallelität und Fehlertoleranz
10 DBMS Architecture: Managing Data
11 Inhaltsübersicht
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-39
1.11
Allgemeine Literaturhinweise
Außerdem: spezielle Literaturhinweise jeweils am Kapitelende!
Baeza-Yates, R. und B. Ribiero-Neto (1999). Modern Information Retrieval. Addison Wesley – ACM Press.
Date, C.J. (1992). An Introduction to Database Systems. Addison-Wesley, 5 Aufl.
Elmasri, R. und S. Navathe (2000). Fundamentals of Database Systems. Addison-Wesley, Reading, MA., 3 Aufl.
Titel der deutschen Ausgabe von 2002: Grundlagen von Datenbanken.
Heuer, A. und G. Saake (2000). Datenbanken: Konzepte und Sprachen. MITP Verlag, Bonn, 2. Aufl.
Heuer, A., G. Saake und K.-U. Sattler (2001). Datenbanken kompakt. mitp-Verlag, Bonn.
Kappel, G. und M. Schrefl (1997). Objektorientierte Informationssysteme. Oldenbourg, München, 2 Aufl.
Kemper, A. und A. Eickler (2001). Datenbanksysteme: Eine Einführung. Oldenbourg, 4 Aufl.
Kowalski, G. (1997). Information Retrieval Systems. Kluwer Academic Publishers.
Ullman, J. (1988/1989). Principles of Database and Knowledge-Base Systems I & II . Computer Science Press.
Vetter, M. (1991). Aufbau betrieblicher Informationssysteme. Teubner-Verlag.
Vossen, G. (1994). Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme. Addison-Wesley,
2 Aufl.
c M. Scholl, 2004/05 – Informationssysteme: 1. Einführung und Übersicht
1-40
Herunterladen