DB1-Datenbanksysteme Datenbanken: Grundlagen und Überblick Terminologie Datenbankmodelle / Historische Entwicklung Grundlegende Eigenschaften von DBs (Codd) Existierende Datenbanksysteme Datenbankarchitektur Sicht der Systemarchitektur Sicht der Anwendungsentwicklung Datenunabhängigkeit Sprachebenen DB-Anwendungsentwicklung Kategorien der DB-Nutzer – Benutzerrollen Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL DB1-12 01-Einführung 1 Thomas Franke Terminologie: Daten / Informationen / Wissen Beispiel – Wissen, Information, Daten Begriff Wert Daten 39.7 Information Körpertemperatur = 39.7° Kontextwissen Körpertemperatur > 39.0° Fieber Wissen Fieber Problemlösung Fieberbehandlung Daten FRUEFPUJRERFCEBOYRZ Information FRUE… unverständlich, wahrscheinlich Verschlüsselt Kontextwissen Chiffrierverfahren, Buchstabenhäufigkeit Wissen FRUE… nach …-Verfahren verschlüsselte Nachricht mit Schlüssel … Problemlösung … DB1-12 01-Einführung 2 Thomas Franke Terminologie: Daten / Informationen / Wissen Daten: Darstellungsform (Syntax) Information: Bedeutung der Daten (Semantik) Wissen Information mit einem Nutzen Trägt zur Lösung eines Problems bei Nutzen vom vorhandenen Kontextwissen abhängig Informationen = interpretierte Daten Informationen Daten = repräsentierte Informationen Daten DB1-12 01-Einführung 3 Thomas Franke Terminologie Programm 1 User1 Programm 2 User2 Programm n User3 DBMS - Datenbankmanagementsystem Data Dictionary DatenBasis 1 DatenBasis 2 DatenBasis n DB Datenbanksystem jede einzelne Datenbasis ist ein Abbild einer Miniwelt – universe of discourse DB1-12 01-Einführung 4 Thomas Franke Terminologie: Datenbasis Datenbasis: die in einem Datenbanksystem nach einheitlichen Regeln persistent gespeicherten Daten die Daten werden in Dateien des File-Systems gespeichert Anwendungsdaten + Data Dictionary DBMS - Datenbankmanagementsystem Data Dictionary DatenBasis 1 DatenBasis 2 DatenBasis n DB Datenbanksystem DB1-12 01-Einführung 5 Thomas Franke Terminologie: DBMS Datenbankmanagementsystem (DBMS) ….ist die Gesamtheit aller Programme zur Definition, Konstruktion und Manipulation einer Datenbank. Definition: Spezifikation der Datentypen, Strukturen und Einschränkungen für die in der Datenbank zu speichernden Informationen Konstruktion: Daten-Speicherung-Prozess auf einem Speichermedium Manipulation: Abfragen zum Abrufen spezifischer Daten aus der DB Fortschreiben der DB-Änderungen in der Miniwelt Erzeugen von Berichten aus den Daten DBMS - Datenbankmanagementsystem Data Dictionary DatenBasis 1 DatenBasis 2 DatenBasis n DB Datenbanksystem DB1-12 01-Einführung 6 Thomas Franke Terminologie: Data Dictionary Data Dictionary Informationsbasis des DBMS zur Speicherung und Verwaltung der ,Anwendungsdaten‘ Informationsbasis für DB-Benutzer zur Suche nach gespeicherten ,Anwendungsdaten‘ Gewinnung von Strukturdaten und Diagnose von Leistungsproblemen Daten, die den Datenbestand beschreiben/ definieren: Metadaten/Verwaltungsdaten Informationen über: Tabellennamen, Attributnamen, Datentypen, Beziehungen … Metadatenbank arbeitet mit den gleichen Konzepten wie das DBMS: Tabellen, Attribute, Beziehungen, gleiche Anfragesprache … DBMS - Datenbankmanagementsystem Data Dictionary DatenBasis 1 DatenBasis 2 DatenBasis n DB Datenbanksystem DB1-12 01-Einführung 7 Thomas Franke Terminologie: Datenbanksystem Datenbanksystem - DBS Speicherung und Verwaltung von Daten nach einheitlichen Regeln (persistente Datenhaltung) Benutzer und Anwendungen können nach einheitlichen Regeln auf die gespeicherten Daten zugreifen. Anwendungsdaten + Data Dictionary besteht aus: DBS = DB-Verwaltungssystem (DBMS) + Datenbasis der Begriff Datenbank wird meist synonym verwendet DBMS - Datenbankmanagementsystem Data Dictionary DatenBasis 1 DatenBasis 2 DatenBasis n DB Datenbanksystem DB1-12 01-Einführung 8 Thomas Franke Terminologie: Miniwelt Miniwelt oder Diskursbereich (universe of discourse - UoS) Ausschnitt der realen Welt, der durch die DB dargestellt wird. DB1-12 01-Einführung 9 Thomas Franke DB-Einsatz-Beispiele Produktionsbetrieb Krankenhausverwaltungssystem (KIS) Hochschuldatenbank Datenbank einer Fluggesellschaft Datenbank einer Bank DB1-12 01-Einführung 10 Thomas Franke DB1-Datenbanksysteme Datenbanken: Grundlagen und Überblick Terminologie Datenbankmodelle / Historische Entwicklung Grundlegende Eigenschaften von DBs (Codd) Existierende Datenbanksysteme Datenbankarchitektur Sicht der Systemarchitektur Sicht der Anwendungsentwicklung Datenunabhängigkeit Sprachebenen Kategorien der DB-Nutzer – Benutzerrollen Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL DB1-12 01-Einführung 11 Thomas Franke Datenbankmodell - DBM Datenbankmodell (ev. auch nur Datenmodell) allgemeiner Begriffsapparat erlaubt die Modellierung von Realitätsausschnitten ohne Eingrenzung auf bestimmte Sachgebiete Datenobjekte und die Operatoren auf diesen Objekten werden festgelegt ähnlich wie bei Programmiersprachen, in der Ausdrücke und Regeln festgelegt sind, die in der Programmiersprache benutzt werden dürfen. Ein Datenmodell hat Basisdatentypen Typkonstruktoren Konstruktion von komplexen Daten aus einfachen Datentypen Typkonstruktionsregeln legen fest, in welcher Form sich Basisdatentypen und Typkonstruktoren miteinander kombinieren lassen DB1-12 01-Einführung 12 Thomas Franke DBM: DB-Schema/Ausprägung Datenbankschema intensionale Ebene der DB ist die konkrete Ausprägung eines bestimmten Datenmodells, die einen Ausschnitt aus der Wirklichkeit ( Miniwelt) modelliert legt die Struktur der abgespeicherten Datenobjekte fest Meta-Daten Datenbankinstanz extensionale Ebene der DB Ausprägung des Datenbankschemas mit konkreten Daten der aktuell abgespeicherte Zustand der Datenbasis muss dem Schema entsprechen Reale Welt Datenbank MatNr Schema Plan für ein Norm-Haus Instanzen fertig gebaute Norm-Häuser DB1-12 01-Einführung Name …. ‚Vorlage‘ für eine Tabelle MatNr Name 123 Anton 234 Berta …. MatNr Name 456 Otto 678 Paul …. mit Daten gefüllte Tabellen 13 Thomas Franke DBM Flache Dateien einfachste Datenmodell Daten werden in Dateien gespeichert, die nur von einem Programm genutzt werden Datenbankmodelle: Hierarchische DBMS Netzwerk-DBMS ältere Typen von DBMS („Auslaufmodelle“) Relationales Datenbankmodell bekanntestes Datenbankmodell Objektorientierte DBMS für Spezialanwendungen in Gebrauch Objektrelationale DBMS um objektorientierte Merkmale erweiterte RDBMS, aktueller Trend DB1-12 01-Einführung 14 Thomas Franke Historische Entwicklung der DB-Modelle Key/Value-DBs Columnoriented-DBs Graphen-DBs Dokumenten-DBs XML Hierarchisch Netzwerk Relational Objektorientiert Objektrelational Semi-Strukturiert NoSQL 1960 DB1-12 1970 01-Einführung 1980 1990 2000 15 2010 Thomas Franke DBM: Hierarchische Systeme 70er Jahre ist das älteste Datenmodell hervorgegangen aus Informationsmanagementsystemen der 50er Jahre häufig in Banken und Versicherungsunternehmen eingesetzt die reale Welt wird durch eine hierarchische Baumstruktur abgebildet Eigenschaften: jeder Datensatz hat genau einen Vorgänger, mit Ausnahme der Wurzel Eltern-Kind-Beziehungen Firma X Abt. F&E Projekt AA Anna Berta Abt. Einkauf Projekt BB Clara Anna Clara Heide Faeskorn - Woyke DB1-12 01-Einführung 16 Thomas Franke DBM: Netzwerk Systeme 70er Jahre ist komplexer als das hierarchische Datenbanksystem es können neben 1:1 und 1:n auch n:m Zuordnungen realisiert werden durch Vernetzung von Daten können komplexe Datenstrukturen abgebildet werden Nachteil: starre, komplexe und verwirrende Gesamtstruktur Bsp.: UDS (Universelles DB-System von Siemens) Firma X Abt. F&E Projekt AA Anna DB1-12 01-Einführung Abt. Einkauf Projekt BB Berta Clara 17 Thomas Franke DBM: Relationale Systeme - RDBMS 80er Jahre Daten und ihre Beziehungen werden in Tabellen (Relationen) abgebildet eine Tabelle ist horizontal in Zeilen und vertikal in Spalten aufgeteilt jeder Datensatz wird als Zeile dargestellt ( heißen Tupel) die Spaltenüberschriften sind die Namen der Attribute. Tabellen können über Schlüssel (Primärschlüssel, Fremdschlüssel) miteinander verknüpft werden Abbildung der Mitarbeit einzelner Studenten an bestimmten Projekten Student MatNr 104 301 203 103 DB1-12 Student_Projekt StudFaNa Anger Bauer Cieser Dorer 01-Einführung MatNr 104 104 203 103 ProjNr 12 23 12 24 18 Projekt ProjNr 12 23 24 ProjName DB-Entwicklung Anw-Erstellung …. Thomas Franke DBM: Objektorientierte Systeme - OODBS 90er Jahre Daten werden als Objekte mit ihren Methoden und Attributen in der Datenbank gespeichert die Definition eigener Objekte ist sehr eng an eine objektorientierte Programmiersprache angelehnt ein Objekt modelliert einen Gegenstand der realen Welt und enthält zugehörige Attribute große DBMS-Hersteller haben ihren relationalen Systemen objektorientierte Eigenschaften hinzugefügt Heide Faeskorn - Woyke DB1-12 01-Einführung 19 Thomas Franke DBM: Objektrelationale Systeme 90er Jahre bauen auf relationalen Datenbanken auf erlauben die Definition eigener Datentypen typisierte Tabellen und Tupeltabellen Vererbung und Methoden in vielen großen Datenbanken heute Stand der Technik, z.B. ORACLE seit Version 9i haben im Gegensatz zu objektorientierten Datenbanken eine große Verbreitung gefunden DB1-12 01-Einführung 20 Thomas Franke Datenbanken Datenbanken: Grundlagen und Überblick Terminologie Datenbankmodelle / Historische Entwicklung Grundlegende Eigenschaften von DBs (Codd) Existierende Datenbanksysteme Datenbankarchitektur Sicht der Systemarchitektur Sicht der Anwendungsentwicklung Datenunabhänigkeit Sprachebenen Kategorien der DB-Nutzer – Benutzerrollen Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL DB1-12 01-Einführung 21 Thomas Franke DB-Eigenschaften: Codds 12+1 Regeln E. F. Codd, einer der Begründer der relationalen Datenbanken, beschreibt zwölf Basisregeln, die eine RDB auszeichnen. 0. Grundregel: jedes RDBMS muss die gesamte Datenbank entsprechend dem relationalen Datenmodell verwalten. DB1-12 01-Einführung 22 Thomas Franke DB-Eigenschaften: Codds 12+1 Regeln 1. Informationsregel Information Rule Jede Information einer RDB wird in genau einer Weise durch Werte in Relationen dargestellt und damit redundanzfrei und einheitlich verwaltet. Dazu gehören Anwendungsdaten und Metadaten 2. Garantierter Zugriff Guaranteed Access Rule Jeder gespeicherte Wert muss über Tabellenname, Spaltenname und Wert des Primärschlüssels zugreifbar sein, wenn der zugreifende Anwender über hinreichende Zugriffsrechte verfügt. DB1-12 01-Einführung 23 Thomas Franke DB-Eigenschaften: Codds 12+1 Regeln 3. Systematische Behandlung von fehlenden Informationen Systematic Treatment of Null Values Nullwerte müssen datentypunabhängig zur Darstellung fehlender Werte unterstützt werden. Systematisch drückt hierbei aus, dass Nullwerte unabhängig von denjenigem Datentyp für den sie auftreten gleich behandelt werden. 4. Relationale Kataloginformation Dynamic On-line Catalog Based on the Relational Model Ein Datenbankschema wird in derselben Weise wie die gespeicherten Daten selbst beschrieben. in Tabellen, dem sogenannten Data Dictionary. Autorisierte Benutzer können das Data Dictionary in gleicher Weise abfragen wie die eigentliche Datenbasis. DB1-12 01-Einführung 24 Thomas Franke DB-Eigenschaften: Codds 12+1 Regeln 5. Allumfassende Sprache Comprehensive Data Sublanguage Rule Ein RDBMS muss eine Sprache unterstützen, die allumfassend im folgenden Sinne ist. Diese Sprache erfüllt die folgenden Aufgaben: Definition und Manipulation der Benutzerdaten Definition von Sichten als virtuelle Tabellen Überprüfung von Integritätsregeln Vergabe von Benutzerrechten und Autorisierung Transaktionskontrolle und Transaktionshandling 6. Benutzersicht und Datenänderungen View Updating Rule Für unterschiedliche Benutzergruppen und Anwendungen sind unterschiedliche Sichten (Views) auf die Datenbank notwendig. In einfachen Views, z.B. Teilansichten einer Tabelle, sollen auch Datenänderungen möglich sein. DB1-12 01-Einführung 25 Thomas Franke DB-Eigenschaften: Codds 12+1 Regeln 7. High-Level Insert, Update, Delete In der Datenbank muss das Einfügen, Ändern und Löschen von Daten möglich sein. Dabei soll das System sich den optimalen Zugriffspfad zur schnellen Durchführung der Transaktion selbst suchen. 8. Physische Datenunabhängigkeit Physical Data Independence Anwendungsprogramme und Anwenderoberflächen bleiben unverändert, wenn Veränderungen an der Speicherstruktur oder der Zugriffsmethode in der Datenbank vorgenommen werden Änderungen der internen Ebene DB1-12 01-Einführung 26 Thomas Franke DB-Eigenschaften: Codds 12+1 Regeln 9. Logische Datenunabhängigkeit Logical Data Independence Anwendungsprogramme und Anwenderoberflächen bleiben unverändert, wenn sich Basisrelationen verändern, die nicht direkt die Anwendungsprogramme betreffen. Es können z.B. Spalten in Relationen ergänzt oder neue Relationen hinzugefügt werden Änderungen des konzeptuellen Schemas 10. Integritätsunabhängigkeit Integrity Independence Integritätsbedingungen für eine Datenbank müssen mit Hilfe der Datenbeschreibungssprache definierbar sein und im Systemkatalog und nicht in den Anwendungsprogrammen abgelegt sein. Mindestforderungen die verfügbare Systeme unterstützen sollten: Kein Attribut welches Teil eines Primärschlüssels ist darf NULL sein. Ein Fremdschlüsselattribut muß als Wert des zugehörigen Primärschlüssels existieren. DB1-12 01-Einführung 27 Thomas Franke DB-Eigenschaften: Codds 12+1 Regeln 11. Verteilungsunabhängigkeit Distribution Independence Die Anfragesprache muss so ausgelegt sein, dass Zugriffe auf lokal gehaltene Daten identisch denen auf verteilt gespeicherte Daten formuliert werden können. Forderungen nach logischer und physischer Datenunabhängigkeit für verteilte Datenbanken 12. Unterwanderungsverbot Nonsubversion Rule Definiert ein DBMS neben der High-Level Zugriffssprache auch eine Schnittstelle mit niedrigerem Abstraktionsniveau, dann darf durch diese keinesfalls eine Umgehung der definierten Integritätsregeln möglich sein. Derzeit existiert kein am Markt verfügbares kommerzielles System welches alle zwölf Regeln vollständig umsetzt. Insbesondere sind die Regeln 6, 9, 10, 11 und 12 in der Praxis schwer umzusetzen. DB1-12 01-Einführung 28 Thomas Franke DB-Eigenschaften: Codds 12+1 Regeln Zusammenfassung: Integration: einheitliche, nichtredundante Datenverwaltung Operationen: Definieren, Speichern, Abfragen, Ändern Katalog: Datenbankbeschreibungen im Data-Dictionary Benutzersichten: unterschiedliche Sichten auf Datenbankausschnitte Integritätssicherung: Korrektheit + Konsistenz des Datenbankinhalts Datenschutz: Ausschluss nicht-autorisierter Zugriffe Transaktionen: mehrere DB-Operationen als Funktionseinheit Synchronisation: parallele Transaktionen koordinieren Datensicherung: Wiederherstellung von Daten nach Systemfehlern DB1-12 01-Einführung 29 Thomas Franke DBMS: Beispiele Beispiele für gebräuchliche DBMS und ihre Hersteller: DBMS Hersteller Modell/Charakteristik Cache InterSystems „postrelational“ DB2 IBM objektrelational Firebird Open-Source relational, basiert auf InterBase IMS IBM hierarchisch, Mainfraim-DBMS Informix IBM objektrelational InterBase BorlandEmbarcadero relational MS Access Microsoft relational, Desktop-System MS SQL Server Microsoft objektrelational MySQL SUN Oracle(2008) relational Oracle ORACLE objektrelational PostgreSQL - objektrelational, aus Ingres+Postgres entst. Sybase ASE Sybase SAP(2010) relational DB1-12 01-Einführung 30 Thomas Franke DBMS: Beispiele http://www.computerwoche.de/a/da tenbankeinsatz-im-sapumfeld,2369870 DB1-12 01-Einführung 31 Thomas Franke Datenbanken Datenbanken: Grundlagen und Überblick Terminologie Datenbankmodelle / Historische Entwicklung Grundlegende Eigenschaften von DBs (Codd) Existierende Datenbanksysteme Datenbankarchitektur Sicht der Anwendungsentwicklung Datenunabhängigkeit Sprachebenen Kategorien der DB-Nutzer – Benutzerrollen Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL DB1-12 01-Einführung 32 Thomas Franke DB-Architektur die Datenbankarchitektur kann aus folgenden Sichten betrachtet werden: Sicht der Systemarchitektur grundsätzlicher Aufbau von Datenbanksystemen 5-Ebenen-Modell Sicht der Anwendungsentwicklung ANSI-3-Ebenen-Modell DB1-12 01-Einführung 33 Thomas Franke DB-Architektur - Anwendungssicht ANSI: American National Standards SPARC: Standards Planning and Requirements Committee ANSI-SPARC*-Modell / Drei-Schema-Architektur / ANSI-3-Ebenen-Modell … zeigt die verschiedenen Sichten auf eine Datenbank. Externe Externe Ebene Ebene Anwendung 1 beschreibt, wie der Nutzer die Daten sieht externe Datenstruktur Anwendung 2 externe Datenstruktur Anwendung n externe Datenstruktur Externe Konzeptionelle Ebene Ebene Konzeptionelles Schema anwendungs- und datenunabhängige Datenstruktur beschreibt, wie die Daten strukturiert sind Datenbankschema anwendungsunabhängig / datenbankspezifisch CREATE TABLE DROP TABLE Modell der Realwelt Interne Externe / physische Ebene Ebene physische Datenstruktur beschreibt, wie die Daten gespeichert sind DB1-12 CREATE VIEW DROP VIEW 01-Einführung CREATE INDEX DROP INDEX 34 Thomas Franke 3-Ebenen-Architektur /1 externe Ebene (auch Anwendungs-Sichten) Benutzersicht auf die Daten Wie werden die Daten dem Benutzer präsentiert? (Teil-)Sichten auf den Datenbestand je nach Anforderung in relationalen DBS als View realisierbar Externe Externe Ebene Ebene Anwendung 1 beschreibt, wie der Nutzer die Daten sieht externe Datenstruktur Anwendung 2 externe Datenstruktur Anwendung n externe Datenstruktur CREATE VIEW DROP VIEW Bsp. Benutzersicht auf den Flugbetrieb, also z.B. Unterstützung von Buchung Auswahl und Reservierung der Plätze die Ausgabe der Flugscheine DB1-12 01-Einführung 35 Thomas Franke 3-Ebenen-Architektur /2 konzeptionelle Ebene (auch Implementations-Ebene) Wie sind die Daten strukturiert? Gesamtdarstellung des Datenmodells auf logischer, system- und anwendungsunabhängiger Ebene z.B. ERM verbirgt die Details der physischen Speicherung Beschreibung der Objekte, Datentypen, Beziehungen, Operationen und Constraints Externe Konzeptionelle Ebene Ebene Konzeptionelles Schema anwendungs- und datenunabhängige Datenstruktur beschreibt, wie die Daten strukturiert sind Datenbankschema anwendungsunabhängig / datenbankspezifisch DB1-12 01-Einführung CREATE TABLE DROP TABLE 36 Thomas Franke 3-Ebenen-Architektur /3 konzeptionelle Ebene Bsp.: konzeptionelles Schema Sitzplatz Coupon Flug Flugzeug Ticket Fluggast Datenbankschema Sitzplatz Nr Position Gang Flug Nr. von 1 rechts nein 216 Köln München 14.11 2.12.95 2 rechts nein 217 Köln Paris 15.15 2.12.95 23 links ja 218 Köln Tokio 16.00 2.12.95 DB1-12 01-Einführung nach 37 Uhrzeit Datum Thomas Franke 3-Ebenen-Architektur /4 interne Ebene (auch physische Ebene) Wie werden die Daten gespeichert/persistiert? DBMS-spezifische Beschreibung der internen, physischen Darstellung der Daten wie und wo genau abgelegt, internes Satzformat, Zugriffspfade Bsp. Physische Speicherstruktur der Daten: B- Baum- Baumstruktur Hash-Zugriff HEAP Indizes 8 5 1 DB1-12 01-Einführung 3 12 6 7 9 11 38 15 13 16 18 Thomas Franke Datenbanken Datenbanken: Grundlagen und Überblick Terminologie Datenbankmodelle / Historische Entwicklung Grundlegende Eigenschaften von DBs (Codd) Existierende Datenbanksysteme Datenbankarchitektur Sicht der Systemarchitektur Sicht der Anwendungsentwicklung Datenunabhängigkeit Sprachebenen Kategorien der DB-Nutzer – Benutzerrollen Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL DB1-12 01-Einführung 39 Thomas Franke Datenunabhängigkeit … drückt die Möglichkeit aus, das Schema auf einer Ebene zu ändern, ohne das Schema der nächst höheren Ebene modifizieren zu müssen. Ziel: .. eine oft langlebige Datenbank von notwendigen Änderungen der Anwendung abzukoppeln und umgekehrt. Zwei Arten: Logische Datenunabhängigkeit Physische Datenunabhängigkeit externes Schema logische Datenunabhängigkeit konzeptuelles Schema physische Datenunabhängigkeit internes Schema DB1-12 01-Einführung 40 Thomas Franke Datenunabhängigkeit: Logisch … besagt, dass das konzeptuelle Schema geändert werden kann, ohne externe Schemata oder Anwendungsprogramme anpassen zu müssen. Bsp.: das konzeptuelle Schema der DB kann durch das Hinzufügen/Entfernen eines Datentyps oder Datenfeldes verändert werden Anpassung sind nur für die externen Schemata notwendig, die sich auf ein entferntes Element beziehen externes Schema logische Datenunabhängigkeit konzeptuelles Schema physische Datenunabhängigkeit internes Schema DB1-12 01-Einführung 41 Thomas Franke Datenunabhängigkeit: Physisch … bedeutet, dass das interne Schema modifiziert werden kann, ohne dass Schemaänderungen auf der konzeptuellen Ebene erforderlich sind. Änderungen des internen Schemas könnten z. B. sein Reorganisation physischer Dateien Erstellung zusätzlicher Indexe zur Zugriffsbeschleunigung. externes Schema logische Datenunabhängigkeit konzeptuelles Schema physische Datenunabhängigkeit internes Schema DB1-12 01-Einführung 42 42 Thomas Franke Datenbanken Datenbanken: Grundlagen und Überblick Terminologie Datenbankmodelle / Historische Entwicklung Grundlegende Eigenschaften von DBs (Codd) Existierende Datenbanksysteme Datenbankarchitektur Sicht der Systemarchitektur Sicht der Anwendungsentwicklung Datenunabhängigkeit Sprachebenen Kategorien der DB-Nutzer – Benutzerrollen Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL DB1-12 DB-1 - RDM - Grundbegriffe 01-Einführung 43 Thomas Franke Benutzerrollen Benutzerrollen bei Entwurf, Betrieb und Pflege von Datenbanken eine Person kann mehrere Rollen haben eine Rolle kann auf mehrere Personen verteilt sein Rollen: Datenbankadministrator DBMS-Entwickler Endbenutzer Anwendungsprogrammierer Softwarearchitekten Datenbankdesigner DB1-12 01-Einführung 44 Thomas Franke Benutzerrollen: DB-Admin /1 Datenbankadministrator inzwischen eigene Berufsbezeichnung mit guten Berufschancen Hauptaufgaben des Datenbankadministrators sind: Datenbankdesign Anlegen von Tabellen, Indizes, Views usw., Planung des logischen und physischen Designs der DB Softwareinstallation und -wartung Auswahl und Einspielung der benötigten Software-Komponenten Festlegung der Systemarchitektur (verteilte Datenbanken, Netzwerkkomponenten, Betriebssystem) Speicherplatzverwaltung Bereitstellung und Verwaltung des für die DB benötigten Plattenbedarfs (Planungsphase / laufender Betrieb) DB1-12 01-Einführung 45 Thomas Franke Benutzerrollen: DB-Admin /2 Implementierung von Sicherheitsmechanismen Benutzereinrichtung, Verwaltung von Benutzerrechten (Rollen) Laden von Daten Daten aus Altbeständen Bereitstellung von Daten für andere Systeme ODBC/JDBC Backup und Recovery Datensicherungen Wiederherstellung von Datenbeständen nach einem Systemausfall Reorganisation von Datenbeständen Systembeobachtung und Tuning permanente Überwachung des Datenbanksystems DB1-12 01-Einführung 46 Thomas Franke Benutzerrollen: DB-Entwickler Datenbankentwickler Systemanalyse Entwurf des konzeptionellen Datenbankmodells Erstellung der Aufgabenbeschreibung (Lasten- und Pflichtenheft) Erstellung eines ER-Modells Abstimmung mit bestehenden Applikationen Ad-hoc-Abfragen Datenbestand beobachten, analysieren nicht fest programmierte Benutzeranfragen auszuwerten Anwendungsentwicklung Entwicklung von Masken und Reports Programmiersprachen der 4. Generation, wie PL/SQL, Java oder C DB1-12 01-Einführung 47 Thomas Franke Benutzerrollen: DB-Endnutzer Datenbankendbenutzer zahlenmäßig gesehen die größte Klasse von Benutzern vom Aufgabenumfang sehr stark eingeschränkt Benutzung der vom Datenbankentwickler erstellten Programme Benutzung von QBE-Werkzeugen (Query By Example) zur Befriedigung von Ad-hoc-Abfragen ohne SQL-Kenntnisse DB1-12 01-Einführung 48 Thomas Franke Heutige Entwicklungslinien Unterstützung spezieller Anwendungen Multimediadatenbanken Verwaltung multimedialer Objekte (Bilder, Audio, Video) XML-Datenbanken Verwaltung semistrukturierter Daten (XML-Dokumente) Verteilte DBs* Verteilung von Daten auf verschiedenen Knoten Föderierte DBs* Integration von Daten aus heterogenen Quellen Mobile Datenbanken Datenverwaltung auf Kleinstgeräten (PDA, Handy, ...) NoSQL / z.B. BigTables Key/Value-DBs Columnoriented-DBs Graphen-DBs Dokumenten-DBs DB1-12 01-Einführung 49 Thomas Franke