Vorlesung Grundlagen betrieblicher Informationssysteme y Prof. Dr. Hans Czap p Lehrstuhl für Wirtschaftsinformatik I Email: [email protected] Lehrstuhl für Wirtschaftsinformatik I - II - 1 - Inhalt Kap. 1 Ziele der Datenbanktheorie Kap. 2 Datenmodellierung und Datenbankentwurf K Kap. 3D Datenbankarchitektur t b k hit kt Kap. 4 Die Datenbanksprache SQL Kap 5 Konzepte für Objektorientierte Datenbanken Kap. Kap. 6 Objektrelationale Datenbanken Kap. p 7 Datenbankentwurf: Funktionale Abhängigkeiten gg und Normalisierung Kap. 8 Datenintegrität • Sperrprotokolle • Recovery Kap 9 Data-Warehouse-Konzept Kap. Data Warehouse Konzept Kap. 10 Data Mining und Knowledge Discovery Lehrstuhl für Wirtschaftsinformatik I - II - 2 - 3. Datenbankarchitektur 3.1 Das klassische Modell: Die drei Ebenen nach ANSI/SPARC 3.2 Functional Layers 3 3 Client-Server-Konzept 3.3 Cli t S K t – DBS als Client-Server-Konzept – Transaction Server – Anwendungsarchitektur • • 3-Tier Architecture 2-Tier Architecture Lehrstuhl für Wirtschaftsinformatik I - II - 3 - 3.1 Das klassische Modell: ANSI/SPARC • Beim Schichtenmodell nach ANSI/SPARC werden f l folgende d Ebenen(Schichten) Eb (S hi ht ) unterschieden: t hi d – – – – Benutzerebene - externe Sicht (externes Modell) Datenschemaebene - konzeptionelle Sicht (konzeptuelles Modell) Zugriffspfadebene - internes Schema (internes Modell) Physische y Geräteebene ((Hardwareebene)) • Jede Schichtenarchitektur verfolgt das Ziel, pro Schicht spezifische Aufgaben zusammenzufassen, die als Umsetzung von Anfragen der übergeordneten Schicht verstanden werden. Umgekehrt begreift sie die darunter liegende Schicht als Dienstleister (Client Server Konzept) Konzept). Lehrstuhl für Wirtschaftsinformatik I - II - 4 - Benutzerebene - externe Sicht (externes Modell) • beschreibt die auf einen individuellen Benutzer oder ein Anwendungsprogramm zugeschnittene Datensicht (View) • die formale Beschreibung dieser Informationsstruktur wird als SubSchema ((Datenteilschema)) bezeichnet • verschiedene Benutzersprachen (DML= Data Manipulation Language) – SQL Structured Query Language (Select … from … where …) – QBE Query by Example (Formulierung von Anfragen mittels grafischer Oberfläche,, die die Struktur der DB zeigt. g g Vgl. g z.B. MSAccess) • Zugriffsrechte können im Subschema festgelegt werden • Externe E t Namen N von Tabellen T b ll oder d Att Attributen ib t müssen ü nicht mit den Namen der Schemaebene übereinstimmen Lehrstuhl für Wirtschaftsinformatik I - II - 5 - Datenschemaebene (konzeptuelles Modell) • • Beschreibung der gesamten Daten auf logischer Ebene E t ll Erstellung eines i kkonzeptuellen t ll S Schemas h mit it Hilf Hilfe einer i geeigneten i t Datenbeschreibungssprache (DDL-data definition language) SQL umfasst auch Befehle zur Erstellung des Schemas und der Subschemata. • • alle externen Sichten müssen auf dem (Gesamt-) Schema abbildbar sein! Inhalt eines konzeptuellen Schemas: – – – Definition der Tabellen (Relationen) und Ihrer Beziehungen einschließlich i hli ßli h sämtlicher ä tli h Att Attribute ib t Definition von Integritätsbedingungen (Constraints, Assertions, referentielle Integrität (Fremdschlüsselbeziehung)) Definition von Zugriffsrechten (DCL = Data Control Language. Ebenfalls in SQL enthalten) Lehrstuhl für Wirtschaftsinformatik I - II - 6 - Zugriffspfadebene - internes Schema/internes Modell Im internen Schema wird die physische Datenorganisation f t l t Inhalte: festgelegt. I h lt – Information über Aufbau und Struktur der abgespeicherten Daten (physische Datenspeicherung), z.B. Folge der Felder in einem Datenbanksatz, Länge der Felder, Position von Zeigern und Schlüsseln – Informationen über die Speicher Speicherungsform ngsform der Daten Daten, z.B. B Speicherung, möglichst nahe bei einem bestimmten anderen Satz (Clusterungen). – Informationen über die Zugriffspfade. z.B.: sekundäre Indizes (Indextechniken), Verkettungen durch Zeiger (Kettungstechniken, Baumstrukturen) Lehrstuhl für Wirtschaftsinformatik I - II - 7 - Architekturübersicht eines DBMS „Naive“ Benutzer An end ng Anwendung Fortgeschrittene Benutzer AnwendungsProgrammierer Datenbankadministratoren Interaktive Anfrage Präcompiler Verwaltungsg werkzeug DML-Compiler DDL-Compiler A f Anfragebearbeitung b b i Mehrbenutzersynchr. Mehrbenutzersynchr Fehlerbehandlung Datenbankmanager DBMS Schemaverwaltung D t i Dateiverwaltung lt Logdateien Lehrstuhl für Wirtschaftsinformatik I Indexe Datenbasis - II - 8 Hintergrundspeicher Datenwörterbuch 3.2 Functional Layers y Client Client Client Client Language and API laver Query processing and optimization layer Transaction management layer Query excecution layer A Acess layer l Storage layer Database Lehrstuhl für Wirtschaftsinformatik I - II - 9 - Zugriffe 3.3 Client-Server Konzept p Cli t Client …. Cli t Client Cli t Client network Server Die Clients stellen Requests Requests, die der Server bedient bedient. Lehrstuhl für Wirtschaftsinformatik I - II - 10 - DBS als Client-Server Konzept Die Funktionalität eines DBS wird unterteilt in Back Back-end end (server) und Front-end (Clients) SQL user interface Forms interface Report writer Front-end Graphical interface I t f Interface: SQL/API Back-end SQL Engine •Font-end: Bereitstellung von Tools Tools, wie Maskengenerator (Forms) , Report-generator, graphisches Benutzer-Interface, DML etc. •Back end: eigentlichen Datenbankoperationen, wie Übersetzung der A f Anfrage, Optimierung O i i des d Zugriffspfades, Z iff f d Transaktionskontrolle, T ki k ll recovery. Lehrstuhl für Wirtschaftsinformatik I - II - 11 - Transaction Server • Transaction Server sind Basis eines DBMS: – Synonym: Query Server – Anforderungen der Clients werden bearbeitet, die Ergebnisse an die Clients zurückgeschickt – Clients können auch übers Web oder allgemein „remote“ zugreifen Verwendeter Mechanismus: RPC (remote procedure call) – Der Zugriff aus Programmiersprachen erfolgt über standardisierte Interface-Vereinbarungen (unabhängig vom jeweiligen DBS) • ODBC = Open p Database Connectivity y ermöglicht g den Zugriff g aus C und Abkömmlingen von C. • JDBC = Java Database Connectivity ermöglicht den Zugriff aus Java. – Ermöglichen das gleichzeitige Abarbeiten mehrerer Prozesse und sind zuständig für Recovery, log-writing etc. Lehrstuhl für Wirtschaftsinformatik I - II - 12 - Anwendungs-Architektur g User U User Client A li ti Cli Application Clientt Anwendung middleware network network Application Server D t b k Datenbanksystem t Server Datenbanksystem 2-Tier-Architektur: Client bedient sich 3-Tier-Architektur: Client hat z.B. ODBC/JDBC um mit DBMS zu kommunizieren eine web-basierte Anwendung. Er verwendet eine „middleware“ als Anwendungs-Server, S die mit dem DBMS zusammenarbeitet. Lehrstuhl für Wirtschaftsinformatik I - II - 13 - 3-Tier System-Architektur y • Clients – Präsentationsebene (GUI graphical user interface, Internet browser) • Application Server – Anwendungsprogramme (Anwendungskomponenten, Servlets) – Request Brokering (z.B. ORB object request broker, Web Server) – Benötigte B öti t K Kommunikatonsebene ik t b h heisst i t „middleware“ iddl “ • Z.B. CORBA (Common Object Request Broker) , EJB (Enterprise Java Beans), SOAP Simple Object Access Protocoll etc. • Data Server – Datanbankserver und (klassische) Datenserver • Spezialisierung der 3-Tier-System Architektur zur 2-Tier Client-ServerArchitektur : – Client-Server mit „fat“ clients (Client + Applikation +ODBC) – Client-Server mit „thin“ clients (Applikation befindet sich auf dem Applikations-Server) Lehrstuhl für Wirtschaftsinformatik I - II - 14 -