Datenbanken und Internet

Werbung
Datenbank System (DBS) Warum?
Anwendung 1
Anwendung 2
Anwendung 3
Elementare
Zugriffsoperationen
Elementare
Zugriffsoperationen
Elementare
Zugriffsoperationen
Daten
(Files)
Daten
(Files)
Daten
(Files)
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
DB System - Warum?
Anwendung 1
Anwendung 2
Anwendung 3
Elementare
Zugriffsoperationen
Elementare
Zugriffsoperationen
Elementare
Zugriffsoperationen
DatenbankManagementsystem
(DBMS)
DBS
Datenbank
(DB)
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Datenbank
Administrator
Fortgeschrittener
Programmierer
Benutzer
Einfacher
Benutzer
Programme
Schema
Modifikationen
DDL
DML
DDL
Compiler
„Query“
Prozessor
Unser Fokus!
Transaktions
Manager
Datenbank
Manager
DBMS
Daten
Metadaten
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Arten von DBMS Datenbankmodelle
• hierarchisch: Die Datenobjekte stehen in
verdrahteten Eltern-Kind Beziehungen
zueinander.
• netzwerkartig: Die Datenobjekte werden
miteinander in Netzen verdrahtet.
Werden hier nicht behandelt!
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Arten von DBMS Datenbankmodelle
• relational: Die Datenobjekte stehen in flachen
Tabellen, Beziehungen ergeben sich aus Werten
der Tabellenspalten  RDBMS.
• objektorientiert: Die Datenobjekte werden
miteinander verdrahtet, sind gegebenenfalls
miteinander verwandt und können vom System
immer eindeutig identifiziert werden  OODBMS.
• Es existiert eine Vielzahl von Misch- und
Nebenformen, wie zum Beispiel das
objektrelationale Modell  ORDBMS.
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Wichtige DBMS
IBM DB2
Oracle
MySQL
PostgreSQL
Caché
…
Mehr hierzu in der Übung!
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
DBS – Sprachen
Das DBS stellt als Schnittstelle eine
Datenbanksprache(n) für die folgenden
Zwecke zur Verfügung:
– Datenabfrage und -manipulation – Data
Manipulation Language (DML)
– Verwaltung der Datenbank – Data Definition
Language (DDL)
– Berechtigungssteuerung – Data Control
Language (DCL)
z.B. SQL
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Structured Query Language
• SQL ist für …
Standards:
• SQL-1 von 1986 bzw. 1989 (ca. 120 Seiten)
• SQL-2 (SQL92) von 1992 (ca. 580 Seiten)
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
• SQL-3 (SQL99) von 2000 (ca. 1200 Seiten)
http://www.cse.iitb.ac.in/dbms/Data/Papers-Other/SQL1999/ansi-iso-9075-2-1999.pdf
• SQL 2003 …
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL92 – embedded SQL
19.4 <embedded SQL C program>
Function
Specify an <embedded SQL C program>.
Format
<embedded SQL C program> ::= !! See the Syntax Rules.
<C variable definition> ::=
[ <C storage class> ]
[ <C class modifier> ]
<C variable specification>
<semicolon>
<C variable specification> ::=
<C numeric variable>
| <C character variable>
| <C derived variable>
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Standard und Realität
• Standards werden von DBMS
Produzenten interpretiert und nicht immer
vollständig umgesetzt:
Unterschiede in der Syntax
Unterschiede in der Funktionalität
Was folgt hieraus???
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Weitere DBMS Unterschiede
• DBMS unterscheiden sich durch intern
realisierte Strategien, z.B.
Optimierungsstrategie:
IBM DB2 – Kostenbasiert
Oracle – Regelbasiert
Unter Oracle kann man Hints in SQLAnweisungen einfügen, z.B.:
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Weitere DBMS Unterschiede
Tabelle ‘myTable’ mit Attributen: a, b und c
1.000.000 Einträge
Index auf Attribut ‘a’
Anfrage:
SELECT a,b,c FROM myTable
WHERE a > 19850
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Weitere DBMS Unterschiede
In einem Beispiel waren ca. 50% der Einträge
unter Attribut ‘a’ mit dem Wert 19870 belegt.
Nutzung des Index nicht sinnvoll!
Ausführungszeit lag bei 10 Minuten!
In Oracle können Hints in SQL Anfragen
eingebaut werden:
SELECT /*+ full(myTable)*/ a, b, c FROM myTable
WHERE a > 1950
Ausführungszeit ~15sec
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Herunterladen