Datenbank System (DBS) - Warum?
DB System - Warum?
Unser Fokus!
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!
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.
Mehr hierzu in der Übung! Wichtige DBMS IBM DB2 Oracle MySQL PostgreSQL Caché … Mehr hierzu in der Übung!
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
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 …
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>
Was folgt hieraus??? 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???
Weitere DBMS Unterschiede DBMS unterscheiden sich durch intern realisierte Strategien, z.B. Optimierungsstrategie: IBM DB2 – Kostenbasiert Oracle – Regelbasiert Unter Oracle kann man Hints in SQL-Anweisungen einfügen, z.B.:
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
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