Folien zur Vorlesung am 15.10.2009 (Einführung in die Datenbanken)

Werbung
Cognitive Interaction Technology Center of Excellence
Einführung in die Datenbanken (Datenbanken I)
Philipp Cimiano
AG Semantische Datenbanken und
Wissensverarbeitung
1
Cognitive Interaction Technology Center of Excellence
Organisatorisches
• Philipp Cimiano ([email protected])
• Sprechstunde: Mittwochs 15:00 – 16:00 (Anmeldung im
Sekretariat bei Frau Vigouroux, [email protected])
• Übungen betreut von Herrn Oliver Beyer
([email protected])
• Übungstermine:
• Mo 18-20 in C01-226
• Di 12-14 in U10-146
• Fr 12-14 in D2-136
2
Cognitive Interaction Technology Center of Excellence
Literatur, Folien etc.
• Das folgende Buch dient als Grundlage für die Vorlesung
Silberschatz, H.F. Korth and S. Sudarshan, „Database
System Concepts“, Mc-Graw-Hill, 5th edition, 2006.
(10 Stück sind bei der Unibib bestellt)
• Die Folien werden ca. 24 Stunden vor der Vorlesung auf
folgender Webseite hochgeladen:
http://philipp.cimiano.org/teaching/datenbanken_ws09
3
Cognitive Interaction Technology Center of Excellence
Übungsbetrieb
• Übungsblätter werden rechtzeitig zur Vorlesung online
gestellt:
http://philipp.cimiano.org/teaching/datenbanken_ws09
• Übungsblätter werden dann eine Woche später in den
Übungsgruppen besprochen.
• Bsp.
• Übungsblatt 1 wird heute herausgegeben (15.10.2009)
• Besprechung ab dem 23.10.2009 (Freitags), dann Montags
(26.10.2009) und Dienstags (27.10.2009)
4
Cognitive Interaction Technology Center of Excellence
Übungsbetrieb
• 13 Übungsblätter zu je 20 Punkten (Bearbeitungszeit
ca. 2h)
• Für die erfolgreiche Beteiligung am Übungsbetrieb
gehören folgende Leistungen dazu:
• Votieren von mindestens 60% der Aufgaben am Anfang der
Übungsgruppe
• Vorrechnen nach Aufforderung durch den Übungsleiter (mind. 2x)
5
• Einige Übungen sind praktisch ausgerichtet und
müssen mit Hilfe eines Rechners und einer installierten
MySQL Version durchgeführt werden.
• Details dazu werden zu einem späteren Zeitpunkt
besprochen.
Cognitive Interaction Technology Center of Excellence
Schriftliche Klausur
In der vorlesungsfreien Zeit wird eine schriftliche
Klausur stattfinden.
Vorschlag: erste Märzwoche (?)
6
Cognitive Interaction Technology Center of Excellence
Plan (bis Weihnachten)
• 15.10.2009: Übersicht und Einführung (heute)
• 22.10.2009: Relationale Algebra I
• 29.10.2009: Relationale Algebra II
• 5.11.2009: SQL I
• 12.11.2009: SQL II
• 19.11.2009: Design von Datenbanken I
• 26.11.2009: Design von Datenbanken II
• 3.12.2009: Design Relationaler Datenbanken I
• 10.12.2009: Design Relationaler Datenbanken II
• 17.12.2009: Puffertermin
• 24.12.2009: keine Vorlesung
7
Cognitive Interaction Technology Center of Excellence
Plan (nach Weihnachten)
• 7.1.2009: Design von Anwendungen
• 14.1.2009: Objekt-orientierte Datenbanken
• 21.1.2009: XML-basierte Datenbanken
• 28.1.2009: Datenspeicherung
• 4.2.2009: Puffertermin / Fragen / Klausurbesprechung
8
Cognitive Interaction Technology Center of Excellence
Bedeutung von Datenbanken
• Datenbanken sind ein zentraler Bestandteil von Softwaresystemen
in vielen Anwendungsbereichen:
• Bankenwesen: Speicherung von Kundendaten, Bankkonten, Transaktionen etc.
• Finanzen: Speicherung von Transaktionen, Kursinformationen etc. zu finanziellen
Instrumenten wie Aktien, Fonds, etc.
• Fluggesellschaften: Verwaltung von Buchungen, Reservierungen etc.
• Universitäten: Verwaltung von studentischen Stammdaten, Noten, Anmeldungen
etc.
• Telekommunikation: Speicherung von Daten zu Anrufen, monatliche Kosten,
Guthaben von Prepaid-Angeboten etc.
• Online Shops: Verwaltung von Produkten und Einkäufen
• Web-Suchmaschinen: Speicherung von Wortlisten und Dokumenten zur
effizienten Suche
9
Cognitive Interaction Technology Center of Excellence
Datenbanken und das Web
• Datenbanken sind besonders im Kontext des Webs für
Endanwender wichtig geworden.
10
Cognitive Interaction Technology Center of Excellence
Ziel von Datenbanken
• Datenbanken haben zum Ziel, große Datenmengen zu
verwalten.
• Verwaltung beinhaltet hier:
• Festlegung von Datenstrukturen, die die effiziente Speicherung der
Daten erlauben
• Mechanismen zur Manipulation von Daten (Abfrage, Modifikation,
Löschen)
• Sicherstellung, dass Personen nur auf solche Informationen zugreifen
können, für die sie auch Berechtigung haben (Authorization)
• Strategien zur Datensicherung und zur Vermeidung von Datenschwund
(z.B. bei Absturz des Rechners etc.)
• Das ist im Wesentlichen das Ziel von sogenannten
Datenbank Management Systemen (DBMS)
11
Cognitive Interaction Technology Center of Excellence
Warum Datenbanken?
• Wir könnten einfach alle Daten im Dateisystem speichern
und mit Hilfe spezifischer Programme darauf zugreifen.
• Bevor es Datenbank-Management-Systeme gab, wurde in der
Tat über spezielle Programme auf Daten über Dateien
zugegriffen.
12
Cognitive Interaction Technology Center of Excellence
Dateisysteme
Programm 1
13
Programm 2
Programm 3
Cognitive Interaction Technology Center of Excellence
Datenbanken
Datenbank
DBMS
Anwendung 1
14
Anwendung 2
Anwendung 3
Cognitive Interaction Technology Center of Excellence
Nachteile von Dateisystemen
• Redundanz und Inkonsistenz: bestimmte Daten können
in verschiedenen Dateien dupliziert sein. Das führt
einerseits zu einem erhöhten Speicherbedarf. Die
Modifikation von redundanten Daten bringt
andererseits die Gefahr von Inkonsistenzen mit sich.
15
Cognitive Interaction Technology Center of Excellence
Nachteile von Dateisystemen
• Redundanz und Inkonsistenz
• Datenabfrage gestaltet sich schwierig: Es muss für jede
Anfrage ein neues Programm geschrieben werden.
16
Cognitive Interaction Technology Center of Excellence
Nachteile von Dateisystemen
• Redundanz und Inkonsistenz
• Datenabfrage gestaltet sich schwierig
• Datenisolation: Daten sind in verschiedenen Dateien
mit potentiell unterschiedlicher Struktur und Format
abgelegt. Das macht die Abfrage über verschiedene
Dateien schwierig.
17
Cognitive Interaction Technology Center of Excellence
Nachteile von Dateisystemen
• Redundanz und Inkonsistenz
• Datenabfrage gestaltet sich schwierig
• Datenisolation
• Integritätsprobleme: In manchen Situationen möchte
man bestimmte Bedingungen an die Daten knüpfen,
z.B. dass ein Kontostand niemals unter 25€ gehen darf.
Das geht nur durch Hinzufügen von Programmcode,
der diese Bedingungen überprüft. (Problem?)
18
Cognitive Interaction Technology Center of Excellence
Nachteile von Dateisystemen
• Redundanz und Inkonsistenz
• Datenabfrage gestaltet sich schwierig
• Datenisolation
• Integritätsprobleme
• Probleme der Atomizität: Manche zusammengesetzte
Operationen sind atomar zu behandeln, d.h. sie müssen
„ganz oder gar nicht“ ausgeführt werden (z.B.
Überweisung von Konto A auf Konto B).
19
Cognitive Interaction Technology Center of Excellence
Nachteile von Dateisystemen
• Redundanz und Inkonsistenz
• Datenabfrage gestaltet sich schwierig
• Datenisolation
• Integritätsprobleme
• Probleme der Atomizität
• Probleme des gleichzeitigen Zugriffs (Concurrency): In
vielen Anwendungen müssen verschiedene Anwender
gleichzeitig auf die Daten zugreifen und sie auch
modifizieren (z.B. zwei Personen heben gleichzeitig 50€
ab von einem Konto mit Stand 500€)
20
Cognitive Interaction Technology Center of Excellence
Nachteile von Dateisystemen
• Redundanz und Inkonsistenz
• Datenabfrage gestaltet sich schwierig
• Datenisolation
• Integritätsprobleme
• Probleme der Atomizität
• Probleme des gleichzeitigen Zugriffs (Concurrency)
• Sicherheitsprobleme: nur bestimmte Anwender dürfen
auf bestimmte Daten zugreifen. Das muss auch wieder
auf der Programmebene sichergestellt werden.
21
Cognitive Interaction Technology Center of Excellence
Datenebenen
• Ein Datenbanksystem ist eine Sammlung von Daten
zusammen mit einer Menge von (Software-) Programmen,
die den Zugriff und Modifikation dieser Daten erlauben und
regeln.
• Die Komplexität eines Datenbanksystems verbirgt sich
typischerweise hinter verschiedenen Ebenen:
• Die physikalische Ebene
• Die logische Ebene
• Die Sichten-Ebene
22
Cognitive Interaction Technology Center of Excellence
Die drei Ebenen der Datenabstraktion
Sicht 1
Sicht 2
Sicht 3
Logische
Ebene
Physikalische Beschreibt, wie die Daten
persistent (auf der Platte)
Ebene
23
Gespeichert werden.
(Datenstrukturen)
Cognitive Interaction Technology Center of Excellence
Die drei Ebenen der Datenabstraktion
Sicht 1
Sicht 2
Logische
Ebene
Physikalische
Ebene
24
Sicht 3
Beschreibt, welche Daten in
der Datenbank abgelegt
sind und welche Beziehungen
zwischen diesen bestehen.
Cognitive Interaction Technology Center of Excellence
Die drei Ebenen der Datenabstraktion
Sicht 1
Sicht 2
Logische
Ebene
Physikalische
Ebene
25
Sicht 3
Sichten repräsentieren Teile
der Datenbank auf die ein
Anwender aus bestimmten
Gründen zugreifen muss.
Cognitive Interaction Technology Center of Excellence
Schemas und Instanzen
• Mit Schema bezeichnen wir die einer Datenbank zugrunde
liegende Struktur.
• Die Sammlung an Daten, die zu einem gegebenen
Zeitpunkt in der Datenbank gespeichert sind, nennen wir
eine Instanz der Datenbank.
• Analogie zum Softwareengineering:
• Die deklarierten Variablen in einem Programm repräsentieren
„Platzhalter“ und bestimmen die Struktur der abgespeicherten
Informationen („Schema“). Die konkreten Belegungen der Variablen
bei einer Ausführung des Programms stellen dann eine „Instanz“ des
Programms dar.
26
Cognitive Interaction Technology Center of Excellence
Schemas auf verschiedenen Ebenen
• Es gibt dementsprechend auch Schemas auf den verschiedenen
Ebenen der Datenabstraktion:
• Physikalisches Schema
• Logisches Schema
• Subschema (oder Schema einer Sicht)
Wir sprechen von “physikalischer Daten-unabhängigkeit” wenn
Änderungen im physikalischen Schema sich nicht auf eine
Anwendung auswirken (kein Code muss neu geschrieben
werden!).
Von “logischer Datenunabhängigkeit“ reden wir wenn sich
Änderungen im logischen Schema nicht auf eine Anwendung
auswirken (schwer zu erreichen!)
27
Cognitive Interaction Technology Center of Excellence
Datenmodelle
• Ein sehr wichtiges Konzept im Bereich der
Datenbanken ist das des Datenmodells.
• Ein Datenmodell ist eine Sammlung von konzeptuellen
Werkzeugen, um Daten, die Beziehungen zwischen den
Daten, ihre Bedeutung (Semantik) sowie Konsistenzbedingungen auf den Daten zu beschreiben.
• Das Datenmodell bestimmt die möglichen Strukturen
(Schemas) einer Datenbank.
28
Cognitive Interaction Technology Center of Excellence
Beispiel
Name: Philipp Cimiano
Telf.: +49-521-106-12249
Fax.: +49-521-106-656
Email: [email protected]
Gruppe: AG Semantische Datenbanken und
Wissensverarbeitung
29
Cognitive Interaction Technology Center of Excellence
Das Relationale Datenmodell
Name
Telf.
Philipp
Cimiano
+49-521-106 +49-521-106 cimiano@techfak.
-12249
-656
uni-bielefeld.de
…
…
…
30
Fax.
Email
Gruppe
AG Sem.
Datenbanken
Cognitive Interaction Technology Center of Excellence
Entity-Relationship (E-R) Modell
Fax
Name
Person
tätig in
Telefon
Arbeitsgruppe
31
Cognitive Interaction Technology Center of Excellence
XML als Datenmodell
Philipp Cimiano
Philipp
Cimiano
Name= “Philipp Telf.:
Fax.:
Email:[email protected]
Cimiano”
+49-521 +49-521 ni-bielefeld.de
-106-65 -106-65
+49-521-106-12249 +49-521-106-656 cimiano@techfak... Philipp Cimiano
64
6
<person>
<name> Philipp Cimiano</name>
<telefon> +49-521-106-12249</telefon>
<fax> +49-521-106-656 </fax>
<email> [email protected] </email>
</person>
32
Cognitive Interaction Technology Center of Excellence
Datenbanksprachen
• Wenn wir über Datenbanksprachen sprechen, meinen
wir im Wesentlichen zwei Typen von Sprachen:
• Eine Sprache zur Spezifikation eines Schemas (der Struktur von
Daten): eine DDL (Data Definition Language)
• Eine Sprache zur Abfrage und Änderung von Daten: eine DML (Data
Manipulation Language)
33
Cognitive Interaction Technology Center of Excellence
Data-Definition Language (DDL)
• Die Data-Definition-Language (DDL) hat im
Wesentlichen zwei Funktionen:
• Spezifikation der Struktur der Daten (Schema)
• Spezifikation von Bedingungen, die jede Instanz der
Datenbank erfüllen soll.
• Domänenbeschränkungen: Spezifikation des gültigen Wertebereiches für ein
Attribut (z.B. Integer für Kontostand)
• Referentielle Integrität: ein Wert eines Attributs in einer Tabelle muss den gleichen
Wert haben wie der Wert eines Attributs in einer anderen Tabelle.
• Andere Beschränkungen: z.B. jeder Kunde, der einen Kredit besitzt muss ein Konto
mit einem Stand von mindestens 1.000€ haben.
34
• Zugansbeschränkungen: Nur bestimmte Anwender können eine gegebene Tabelle
lesen, modifizieren oder löschen (read/insert/update/delete authorization)
Cognitive Interaction Technology Center of Excellence
Data-Manipulation Language (DML)
• Eine Data Manipulation Language (DML) soll im
Wesentlichen folgende Funktionalität bereitstellen:
• Abfrage von in der Datenbank abgespeicherten Informationen
• Einfügen von neuer Information in die Datenbank
• Löschen von Informationen
• Änderung der Information in der Datenbank
35
Cognitive Interaction Technology Center of Excellence
Typen von DMLs
• Es gibt verschiedene Typen von DMLs:
• Prozedural: Anwender spezifizieren, welche Daten gebraucht werden
aber auch die Art und Weise, diese zu erhalten.
• Deklarativ: Anwender spezifizieren nur, welche Daten gebraucht
werden.
• Der Teil einer DML, der für die Abfrage von Daten
zuständig ist wird oft einfach Query Language genannt.
36
Cognitive Interaction Technology Center of Excellence
Relationale Datenbanken
• Relationale Datenbanken basieren auf dem relationalen
Datenmodell. Sie stellen den meist verbreiteten Typ von
Datenbanken dar.
• Beispiele für oft verwendete relationale Datenbanksysteme:
• DB2 von IBM (kommerziell)
• Oracle 11g von ORACLE (kommerziell)
• ADABAS von Software AG (kommerziell)
• Microsoft Access, Microsoft SQL Server (kommerziell)
• Monnet DB (Public License)
• MySQL (Sun Microsystems) (kommerziell bzw. frei für
Forschungszwecke unter GPL)
37
Cognitive Interaction Technology Center of Excellence
Tabellen
• Relationale Datenbanken organisieren Daten in Form
von Tabellen.
Customer
38
Cognitive Interaction Technology Center of Excellence
Weitere Tabellen
Account
39
Depositor
Cognitive Interaction Technology Center of Excellence
Beispiel Data-Manipulation Language (SQL)
select customer_name
from customer
where customer_city=‘Harrison’
Ergebnis:
40
Cognitive Interaction Technology Center of Excellence
Beispiel Data-Definition Language (DDL)
create table account(
account_number char(10)
balance integer)
Ergebnis:
41
Cognitive Interaction Technology Center of Excellence
Entwurf von Datenbanken
• Der Entwurf von Datenbanken gliedert sich
typischerweise wie folgt:
• Initiales Design: hier werden abstrakt die Anforderungen an die
Struktur der Datenbank beschrieben (unabhängig von der Wahl eines
bestimmten Datenmodells)
• Konzeptuelles Design: hier wird ein konkretes Datenmodell
gewählt; ein Schema wird im Hinblick auf die
Modellierungswerkzeuge des Datenmodells erzeugt.
• Logisches Design: das konzeptuelle Design wird implementiert.
• Physikalisches Design: ein Schema für die physikalische
Abspeicherung der Daten wird erstellt.
42
Cognitive Interaction Technology Center of Excellence
Entwurf von Datenbanken
• Der Entwurf einer Datenbank beinhaltet im Wesentlichen die Spezifikation eines
Schemas.
• Ein solches Schema spiegelt die Organisation, Struktur und Anforderungen des
modellierten Weltausschnitts wieder.
• In der initialen Phase des Entwurfs kommt es darauf an, die Organisation,
Strukturen, Prozesse usw. eines Unternehmens zu verstehen sowie die
Anforderungen an die Struktur der Datenbank herauszuarbeiten.
• In der konzeptuellen Phase wird eine konkretes Schema erarbeitet.
• Danach wird das Schema dahingehend geprüft, ob es allen Anforderungen auch
gerecht wird.
• Wenn wir z.B. das relationale Modell wählen, dann besteht die Konzeptuelle DesignPhase im Wesentlichen darin, die richtigen Tabellen und Attribute zu wählen.
• Der Entwurf einer Datenbank sollte auch die Spezifikation funktionaler
Anforderungen (functional requirements) umfassen. Man spezifiziert z.B. welche
Operationen die Anwender der Datenbank ausführen werden/sollen. Das beeinflusst
natürlich wiederum das gewählte Schema.
43
Cognitive Interaction Technology Center of Excellence
Beispiel Bank: initiales Design
• Nachdem sich ein Datenbank Designer mit den Anwendern abgesprochen hat (Interviews etc.)
kommt er zu folgenden Schlüssen über die Struktur und Anforderungen an die Datenbank:
• Die Struktur einer Bank untergliedert sich in Filialen, die sich an verschiedenen Orten befinden. Die
Filialen werden durch einen eindeutigen Namen gekennzeichnet.
• Bankkunden werden identifiziert durch eine eindeutige customer_id. Die Bank speichert
Kundendaten wie z.B. Name und Adresse.
• Kunden können Konten besitzen oder auch einen Kredit erhalten.
• Es gibt verschiedene Arten von Konten: Giro-Konten (checkings) oder Sparkonten (savings). Jedes
Konto besitzt eine eindeutige Kontonummer. Die Bank speichert immer das aktuelle Saldo sowie
das Datum an dem das Konto zuletzt verwendet wurde.
• Die Bank vergibt Kredite, die an eine spezifische Filiale gebunden sind. Ein Kredit wird durch eine
eindeutige Nummer identifiziert. Für jeden Kredit möchte die Bank speichern, wann und wie viel
von diesem Kredit abgezahlt wurde.
44
• Bankangestellte werden durch eindeutige employee_id gekennzeichnet. Die Bank speichert für
jeden Angestellten persönliche Daten (Name, Adresse, Telefonnummer usw.) sowie die
übergeordneten (Manager) und untergeordneten Angestellten (über employee_ids). Die Bank
speichert auch das Anfangsdatum des Arbeitsverhältnisses.
Cognitive Interaction Technology Center of Excellence
Das E-R Model
• Das E-R Model ist ein Werkzeug für den konzeptuellen Entwurf
einer Datenbank.
• Das E-R Modell modelliert einen Sachverhalt mit Hilfe einer
Menge von Entitäten sowie Relationen zwischen diesen.
• Entitäten sind real existierende “Dinge” die sich von anderen klar
unterscheiden.
• Entitäten werden durch eine Menge von Attributen beschrieben.
Ein ausgezeichnetes Attribut liefert uns ein eindeutiges Merkmal,
welches genutzt wird, um Objekte eindeutig zu kennzeichnen
(und voneinander zu unterscheiden).
• Eine Relation ist eine Assoziation zwischen verschiedenen
Entitäten (im einfachsten Fall zwischen zwei Entitäten).
45
Cognitive Interaction Technology Center of Excellence
Das E-R Modell graphish
customer_name
customer_street
balance
account_number
customert_city
customer_id
customer
depositor
account
Entitäten
Relationen
46
Attribute
Verbindungen zwischen Entitäten/Attributen/Relationen
Cognitive Interaction Technology Center of Excellence
Normalisierung
• Das Ergebnis des Datenbankentwurfs kann aus
verschiedenen Gründen suboptimal sein.
• Daher gibt es Verfahren, um die Struktur der Datenbank zu
“normalisieren”. Wir werden diese Verfahren im Laufe der
Vorlesung kennenlernen.
• Hier besprechen wir in dieser Hinsicht lediglich zwei
problematische Beispiele.
47
Cognitive Interaction Technology Center of Excellence
Probleme im Entwurf (Bsp. 1)
Account und Depositor Table sind vereint.
48
Cognitive Interaction Technology Center of Excellence
Probleme im Entwurf (Bsp. 1)
Datenredundanz (zwei Einträge für Konto A-201) führt zu
schlechter Performanz (zwei Änderungen pro KontoUpdate) und kann zu Inkonsistenzen führen.
49
Cognitive Interaction Technology Center of Excellence
Probleme im Entwurf (Bsp. 2)
Customer und Account Tabellen sind vereint.
50
Cognitive Interaction Technology Center of Excellence
Probleme im Entwurf (Bsp. 2)
Customer und Account Tabellen sind vereint.
Problem: wir können einen Kunden nur anlegen wenn er/sie auch ein Konto
hat. Was ist mit Krediten? Mit einem solchen Schema können wir einen
Kunden ohne Konto nur anlegen indem wir das Feld „Account_Number“ auf
null setzen. Sogenannte „null values““sind aber problematisch wie wir im
Verlauf der Vorlesung sehen werden.
51
Cognitive Interaction Technology Center of Excellence
Management von Transaktionen
• Einige Operationen auf Daten bilden eine Einheit, z.B. eine
Überweisung von Konto A nach Konto B.
• Solch eine komplexe Operation wird auch Transaktion genannt. Eine
Transaktion ist eine Menge von Operationen die eine Einheit bilden und
gemeinsam eine Funktion realisieren.
• Die Transaktionsmanagement-Komponente eines DBMSs garantiert
folgende Eigenschaften von Transaktionen:
• Atomizität: Die verschiedenen Operationen einer Transaktion bilden eine Einheit
und können nur als Ganzes oder gar nicht ausgeführt werden.
• Konsistenz: Die Anwendung einer Transaktion muss die Datenbank in einem
wohldefinierten Zustand zurücklassen.
• Persistenz: Das Ergebnis einer Transaktion muss gültig sein trotz eines
Systemfehlers. Im Extremfall muss das Datenbanksystem ein Prozess der
Fehlerbehebung starten.
52
Cognitive Interaction Technology Center of Excellence
Naïve Users
Application
Programmers
Sophisticated
Users
Database
Administrator
Application
interfaces
Application
Programs
Query
Tools
Administration
Tools
DML Queries
DDL Interpreter
DML Compiler
and Organizer
Storage Manager
Query Processor
Buffer Manager
Query evaluation
engine
File manager
Authorization
manager
Transaction
manager
Data Storage
53
Datenbank
Indices
Data Dict.
Stat. Data
Cognitive Interaction Technology Center of Excellence
Client-Server Architectures:
two-tier vs. three-tier architectures
Client
Client
user
Application
user
Application
Application
Server
Server
Application
Server
Database
System
54
Database
System
Cognitive Interaction Technology Center of Excellence
Geschichte der Datenbanken
• 1950er und 1960er: Daten wurden vorwiegend auf magnetischen Bändern
gespeichert. Die Dateneingabe erfolgte im Wesentlichen durch Lochkarten. Da der
Hauptspeicher wesentlich kleiner war als die Kapazität der Bänder, mussten Daten
sortiert sein um sequentiell abgearbeitet zu werden.
• Ende 1960er und 1970er: Festplatten mit “random access” Funktionalität kommen
in den Gebrauch. Codd führte 1970 als ein wichtiger Meilenstein im Bereich der
Datenbanken das relationale Modell ein.
• 1980er: Das System “R” wird von IBM als das erste relationale Datenbanksystem
entwickelt. Es gibt initiale Versionen der kommerziellen Datenbanksysteme wie DB2
von IBM, Oracle etc. Das relationale Modell wird als ein einfach zu verwendendes
Modell etabliert.
• Anfang 1990er: SQL als Sprache wird eingeführt.
• Ende 1990er: Das schnelle Wachstum des WWW gibt Datenbanken eine neue
Bedeutung. Datenbanksysteme müssen nun Web Interfaces unterstützen.
• Anfang 2000er: XML etabliert sich als Datenmodell für semistrukturierte
Dokumente.
55
Herunterladen