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