Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme

Größe: px
Ab Seite anzeigen:

Download "Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme"

Transkript

1 Kapitel 1: Vorlesung TP-Lite 1 Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme 1. Infrastruktur durch erweiterte Datenbankfunktionalität ( TP-Lite ) 2. Middleware-Infrastruktur durch TP-Monitore ( TP-Heavy ) 3. Standards zur verteilten Objektverwaltung 4. Object Transaction-Monitore 5. Enterprise JavaBeans 6. Web-Services 7. Application Server

2 Kap. 1: Infrastruktur durch erweiterte Datenbankfunktionalität ( TP-Lite ) 1.1 Traditionelle, zweistufige Architektur ( Two-tier ) Traditionelle Datenbankanwendungen Serverübergreifende Datenbankanwendungen Architekturvarianten: Aufgabenteilung zwischen und Server Fat s Embedded SQL (statisch und dynamisch) SQL Call-Level-Interfaces Fat Server Stored Procedures, Trigger, UDTs Objektverwaltung höherer Ordnung (OHO) SS 2003 Kapitel 1: Vorlesung TP-Lite 2

3 Kapitel 1: Vorlesung TP-Lite 3 Traditionelle Datenbankanwendungen App 1 App 2 DBMS App n Datenbanken sind die Plattform für die Anwendungsentwicklung Einfaches -Server-Prinzip App i : s DBMS: Server Zentralistische Sicht: es gibt nur einen Server DB /Server-Architektur mit zentraler Datenbank

4 Serverübergreifende Datenbankanwendungen App 11 App 12 App 21 App 22 App B1 App B2 Zugriff auf Datenbanken auch über Systemgrenzen hinweg DBMS A1 DB A1 Unternehmen A DBMS A2 DB A2 DBMS B DB B Unternehmen B /Server-Architektur mit Anwendungen über mehrere Datenbanken Anwendungen operieren auf mehreren Datenbanken (hier App 11 und App B1 ) Wichtige Fragestellungen in diesem Kontext: System-Unterstützung durch DBS-Produkte Umgang mit Heterogenität Übergreifender Transaktionskontext Objektverwaltung höherer Ordnung (OHO) SS 2003 Kapitel 1: Vorlesung TP-Lite 4

5 Kapitel 1: Vorlesung TP-Lite 5 System-Unterstützung: Datenbank-Links App 11 App 12 App 21 App 22 App B1 App B2 DB-Link DBMS A1 DB A1 Unternehmen A DBMS A2 DB A2 DB-Link DBMS B DB B Unternehmen B Implementierung von Anwendungen über mehrere Datenbanken mit Datenbank-Links Zugriff auf andere Datenbanken mittels Datenbank-Links Oracle MS SQL Server Anwendungen greifen nicht direkt auf entfernte Datenbank zu DBMS bietet Datenbank- Link: Indirektion zum entfernten System über lokale DB Keine Heterogenität alle DBS vom gleichen Hersteller! Verteilte Transaktion mit two-phase-commit

6 Two-Tier-Architektur und Server sind völlig getrennt Kommunikation zwischen und Server Via Netzwerk oder IPC mit gemeinsamen Protokoll (z.b. JDBC, Oracle Net8) (Klare) Aufgabenteilung zwischen und Server Präsentation Datenverwaltung Server Anwendungsfunktionalität??? DB Server Server DB Library Betriebssystem Netzwerk, IPC DB Server Library Betriebssystem Objektverwaltung höherer Ordnung (OHO) SS 2003 Kapitel 1: Vorlesung TP-Lite 6

7 Kapitel 1: Vorlesung TP-Lite 7 Two-Tier-Architektur: Realisierung Aufgabenteilung: Anwendungsfunktionalität im oder Server? Fat / Thin Server Thin / Fat Server Was soll der machen? Präsentation Anwendungsfunktionalität (ESQL/CLI) Was sind die Aufgaben des Servers? Datenverwaltung Anwendungsfunktionalität (Stored Procedures, Trigger, etc.) Data Presentation Access Functionality Data Management Server

8 Kapitel 1: Vorlesung TP-Lite 8 Anwendungsentwicklung Fat / Thin Server Embedded SQL Anwendung Call-Level SQL Anwendung SQL Präcompiler Präcompiler- Runtime Library DBMS-Treiber DBMS CLI Calls CLI-API (Application Program Interface) Call Level Interface Runtime Library SQL-FAP (Format and Protocols), herstellerdefiniert, z.b. Net8 von Oracle DB Server

9 Kapitel 1: Vorlesung TP-Lite 9 Embedded SQL (ESQL) Nach ISO SQL-92 definierte Einbettung von SQL in Programmiersprachen z.b. Java (SQLJ), C, C++, Fortran, Pascal, Cobol, PL/1, Ada Präcompiler ersetzt die SQL-Aufrufe in Calls der jeweiligen Runtime Library des verwendeten Datenbank-Servers Bei Wechsel der Datenbank müssen ESQL-Programme nur neu kompiliert und gelinkt werden Statisches ESQL Alle SQL-Statements müssen bereits zur Compile-Zeit vollständig bekannt sein Daher müssen auch alle verwendeten Datenbankobjekte zur Compile-Zeit vorhanden sein Dynamisches ESQL SQL-Statements werden erst zur Laufzeit erzeugt (dynamisches Generieren von Strings, die SQL-Anweisungen beinhalten) Die verwendeten Datenbankobjekte müssen daher zur Compile-Zeit noch nicht existieren

10 Kapitel 1: Vorlesung TP-Lite 10 Embedded SQL statisch ESQL/C- Quell- Programm (SQL-Anweisungen bekannt) ESQL/C Präcompiler C-Quell- Programm mit SQL Anweisungen und ESQL/C Aufrufen C- Präprozessor Compiler und Linker Ausführbares Programm Beispiel: credit (int accountno) { EXEC SQL BEGIN DECLARE SECTION; NUMBER acc_no; NUMBER bal; EXEC SQL END DECLARE SECTION; acc_no := accountno; EXEC SQL SELECT a.balance INTO :bal FROM account a WHERE a.account_number = :acc_no; } Zur Compilezeit führt der Präcompiler u.a. folgende Prüfungen durch (mit Hilfe von Informationen aus dem Datenbank-Katalog): Existenz von Tabellen und Attributen Syntaxprüfung, Typenprüfung Zusätzliche Ersetzungen: Die datenbankspezifischen Datentypen (Host Variables) werden durch Datentypen der jeweiligen Programmierumgebung ersetzt Beispiel (ESQL/C): VARCHAR2(10) wird zu struct { unsigned short len; unsigned char arr[10]; } Ansatz ist recht unflexibel (da alle SQL- Statements zur Compile-Zeit bekannt sein müssen), jedoch: wenige Laufzeitfehler!

11 Kapitel 1: Vorlesung TP-Lite 11 Embedded SQL dynamisch ESQL/C- Quell- Programm (SQL-Anweisungen noch nicht bekannt) ESQL/C Präcompiler C-Quell- Programm mit SQL Anweisungen und ESQL/C Aufrufen C- Präprozessor Compiler und Linker Ausführbares Programm Beispiel: credit( int amount, int accountno, } char *table) { char dyn_stmt[120]; sprintf(dyn_stmt, "UPDATE %s SET balance = balance + :a WHERE account_number = :ano, table); EXEC SQL PREPARE sql_stmt FROM :dyn_stmt; EXEC SQL EXECUTE sql_stmt USING :amount, :accountno; Das SQL Statement ist erst zur Laufzeit bekannt Der Precompiler kann weniger Überprüfungen durchführen Mehr Flexibilität Aber auch mehr Laufzeitfehler möglich!

12 SQL Call-Level Interface (CLI) Standardisierte Schnittstelle zur Kommunikation mit Datenbanken ohne Präcompiler CLI-API erlaubt das Erstellen und Ausführen von SQL-Anweisungen zur Laufzeit SQL/CLI: Standard seit 1996 Ursprung in Aktivitäten der SQL Access Group (SAG) mit dem Ziel, einen vereinheitlichten Zugriff auf Datenbanken bereitzustellen Ist auch Bestandteil von SQL3 SQL/CLI beinhaltet DB-Verbindungsaufnahme und Beendigung Vorbereitung und Ausführen von SQL-Anweisungen ( prepare und execute ) Binden von Parametern an SQL-Anweisungen ( bind ) Entgegennahme von Resultaten Festlegung von Datentypen (über spezielle Codes für jeden Datentyp) CLI-Call wird durch den proprietären DBMS-Treiber umgesetzt in herstellerspezifischen DB-Zugriff Mit geeignetem Treiber kann prinzipiell jede Datenquelle angesprochen werden Objektverwaltung höherer Ordnung (OHO) SS 2003 Kapitel 1: Vorlesung TP-Lite 12

13 CLI-Dialekte Neben standardisiertem SQL/CLI haben sich noch weitere Dialekte herausgebildet (war das ursprüngliche Ziel der SAG nicht die Definition einer einheitlichen Schnittstelle?) ODBC (Open Database Connectivity): Microsofts CLI-Variante Beinhaltet die meisten (nicht alle) API-Calls des CLI-Standards Zusätzlich: spezielle Calls zur Unterstützung von Microsoft- Programmen (Access, Excel, etc.) Proprietäre CLIs der DB-Hersteller ( Native API ) z.b. Oracle Call Interface (OCI) In der Regel werden mehrere CLI-Dialekte parallel unterstützt ODBC-API DBMS-Treiber SQL/CLI-API Native API Call Level Interface Runtime Library Objektverwaltung höherer Ordnung (OHO) SS 2003 Kapitel 1: Vorlesung TP-Lite 13

14 Kapitel 1: Vorlesung TP-Lite 14 Call Level Interface: SQL99 CLI #include "sqlcli.h" extern SQLHDBC hdbc; /* Verbindung steht schon */ extern SQLHENV henv; /* Umgebung */ void credit ( SQLHSTMT hstmt, int amount, int accountno, char *table) { /* hstmt wird von aussen gegeben, damit Transaktionskontrolle ausserhalb dieser Prozedur. "credit" ist Baustein */ char update[120]; SQLINTEGER NameParamLength1; SQLINTEGER NameParamLength2; sprintf(update, "UPDATE %s SET balance = balance +? WHERE account_number =? ", table); SQLPrepare(hstmt, update, SQL_NTS); SQLBindParameter(hstmt, 1, SQL_PARAM_MODE_IN, SQLCHAR, SQL_CHAR, NAME_LENGTH, 0 &amount, NAME_LENGTH, &NameParamLength1); SQLBindParameter(hstmt, 2, SQL_PARAM_MODE_IN, SQLCHAR, SQL_CHAR, NAME_LENGTH, 0 &accountno, NAME_LENGTH, &NameParamLength2); SQLExecute(hstmt); }

15 Kapitel 1: Vorlesung TP-Lite 15 Object CLI Weiterentwicklung von CLI zu Objektschnittstellen (SQL/CLI kennt nur prozedurale APIs) JDBC (Java Database Connection) ActiveX Data Objects (ADO) Unterstützung von JDBC Entweder direkt durch Native-API Oder Umweg über JDBC-ODBC-Bridge Java-Anwendung JDBC-Treiber-Manager JDBC-ODBC- Bridge JDBC-API JDBC-Native Treiber SQL/CLI-API ODBC-API Native API Call Level Interface Runtime Library DBMS-Treiber

16 Kapitel 1: Vorlesung TP-Lite 16 Zusammenfassung der Fat -Konzepte Jeder Anwender programmiert seine Anwendungen selbst (alle entwickeln ähnliche Bausteine) Alternative: Anwender benutzen vorgegebene Funktions-Bausteine Bausteine ändern sich (Systemwechsel oder Firmenpolitik) Folge: alle Anwender müssen ihre Programmierung ändern bzw. Module aus gemeinsamer Bibliothek holen. Alternative hierzu: Funktions-Bausteine in der Datenbank ablegen Alle s können dann darauf zugreifen Anwendungsentwicklung innerhalb der Datenbank, z.b. durch Stored Procedures ( TP-Lite ) Anwendungen in der DB ausführen und auch dort ablegen

17 Kapitel 1: Vorlesung TP-Lite 17 Anwendungsentwicklung Thin / Fat Server Prozedur- Aufruf SQL- FAP Rückgabewerte DBMS Stored Procedure UDT Trigger Server

18 Fat Server Anwendungslogik innerhalb der Datenbank Stored Procedures (TP-Lite) Verwendung einer 4GL (forth generation language) Turing-vollständiges SQL Speicherung und Ausführung in DB Standard unter SQL3 als SQL/PSM (= Persistent Stored Module) Kommerzielle DBMS verwenden jedoch proprietäre Dialekte, z.b. PL/SQL in Oracle (siehe Workshop & praktische Übung) TransactSQL in Sybase und MS SQL Server Trigger (ereignisgesteuerte Funktionen/Prozeduren) Benutzerdefinierte Datentypen (User Defined Types, UDTs) Bestandteil von SQL-99 Objektverwaltung höherer Ordnung (OHO) SS 2003 Kapitel 1: Vorlesung TP-Lite 18

19 Stored Procedures Stored Procedure Internal External Procedure Function Procedure Function CREATE PROCEDURE credit (amount NUMBER, accountno INTEGER) IS BEGIN UPDATE account SET balance = balance + amount WHERE account_number = accountno; END debit; Oracle PL/SQL CREATE LIBRARY C_utils AS '/DLLs/utils.so'; Einbindung von C-Funktionen in Oracle CREATE FUNCTION debit (amount NUMBER, accountno INT) RETURN INT AS LANGUAGE C LIBRARY C_utils NAME debit_func"; Objektverwaltung höherer Ordnung (OHO) SS 2003 Kapitel 1: Vorlesung TP-Lite 19

20 Kapitel 1: Vorlesung TP-Lite 20 Trigger Spezifizieren wann (Event) und unter welchen Bedingungen (Condition) eine Stored Procedure aufgerufen wird (Action) CREATE TRIGGER my_trigger AFTER UPDATE ON employees WHEN (new.salary > ) BEGIN UPDATE admin SET number_of_managers = number_of_managers + 1 WHERE dept = new.dept; END Event Condition Action (Stored Procedure) Werden automatisch vom Datenbanksystem aktiviert ( gefeuert ) nach dem Einfügen, Ändern bzw. Löschen von Tupeln Ausführung der Stored Procedure kann wiederum neue Trigger starten ( Trigger-Feuerwerk ) die dann alle innerhalb einer Transaktion ausgeführt werden

21 Kapitel 1: Vorlesung TP-Lite 21 Benutzerdefinierte Datentypen Benutzerdefinierte Typen besitzen Verhalten, das durch Methoden implementiert werden kann Methodenimplementierung in DB-eigner 4GL Teil der Typdefinition CREATE METHOD interest() RETURNS INTEGER FOR AccountType BEGIN DECLARE old_balance INTEGER; old_balance = SELF.balance; SET SELF.balance = old_balance * 1.03; RETURN SELF.balance; END;

22 Kapitel 1: Vorlesung TP-Lite 22 Zusammenfassung: Fat Server vs. Fat Fat -Architekturen Traditioneller Ansatz in der zweistufigen /Server-Welt + Ausnutzen der Datenunabhängigkeit, die vom DB-Server bereitgestellt wird + Standardisierte Schnittstellen + Gute Unterstützung eigener, individueller Anwendungen + Anwendungen lassen sich recht schnell entwickeln (z.b. mit Hilfe grafischer Entwicklungswerkzeuge) Problem der Wartung, Software-Verteilung, etc. (Upgrades von Anwendungen, die von vielen s verwendet werden, sind recht aufwändig) Fat Server-Architekturen + Einfachere Wartbarkeit + Weniger Netzwerkbelastung (durch stärkeren Abstraktionsgrad der bereitgestellten Prozeduren) Schlechte Unterstützung für individuelle, personalisierte Anwendungen

23 Kapitel 1: Vorlesung TP-Lite 23 Klassifikation von Datenbank-Servern DB-Server Monolithisch ein DBS-Prozess Multiple Server mehrere DBS-Prozesse Symmetrisch pro Anwendungsprozess ein DBS-Prozess Asymmetrisch dynamische Zuordnung von Anwendungsprozesse zu DBS-Prozessen

24 Kapitel 1: Vorlesung TP-Lite 24 Monolithischer Server Genau ein Server-Prozess für viele s Server verwendet mehrere Threads (Reentrant Code) Führt eigene Ressourcenverwaltung durch Einfache Kommunikation im Server durch Shared Memory Synchronisierter Zugriff auf Systempuffer und zentrale Systemtabellen Monolithische Architektur z.b. bei Sybase oder MS SQL Server zu finden AP 1 AP i AP n DBMS Server CL CL CL Betriebssystem 1 Betriebssystem m Netzwerk

25 Kapitel 1: Vorlesung TP-Lite 25 Multiple Server: Symmetrische Konfiguration DBMS ist ein Verbund von verschiedenen Prozessen Jedem ist genau ein Server Prozess zugeordnet Statische Zuordnung, feste Anzahl n Server vorgeneriert Maximaler Parallelitätsgrad ist n Zu finden unter UNIX bei Oracle im Dedicated Server-Mode, bei Informix und DB2 AP 1 CL AP i CL AP n CL DBMS Server n DBMS Server i DBMS Server 1 Betriebssystem 1 Betriebssystem m Netzwerk

26 Multiple Server: Asymmetrische Konfiguration Ein wird mit Hilfe des Dispatchers mit einem freien Server-Prozess verbunden Feste Anzahl Server ist vorgeneriert Der Parallelitätsgrad kann jedoch höher sein (da mehrere s sich einen Server-Prozess teilen können) Zu finden bei Oracle im Multi-Threaded-Server-Mode (unter UNIX) AP 1 CL AP i CL AP n CL Dispatcher DBMS Server 1 DBMS Server k Betriebssystem 1 Betriebssystem m Netzwerk Objektverwaltung höherer Ordnung (OHO) SS 2003 Kapitel 1: Vorlesung TP-Lite 26

27 Kapitel 1: Vorlesung TP-Lite 27 Call Level Interface: Oracle-Dialekt (OCI) #include oci.h extern static OCIEnv *envhp; void credit (OCIStmt *stmthp, int amount, int accountno, char *table) { char update[120]; static OCIBind *bnd1p = (OCIBind *) 0; sprintf(update, UPDATE %s SET balance = balance + :a WHERE account_number = :ano, table); OCIStmtPrepare(stmthp, errhp, update, (ub4) strlen((char *update), (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT)); OCIBindByName(stmthp, &bnd1p, errhp, (char *) ":A", -1, (dvoid *) &amount, (sword) sizeof(accountid), SQLT_INT, (dvoid *)0, (ub2 *)0, (ub2 *)0, (ub4)0, (ub4 *)0,OCI_DEFAULT); OCIBindByName(stmthp, &bnd1p, errhp, (char *) ":ANO", -1, (dvoid *) &accountno, (sword) sizeof(accountid), SQLT_INT, (dvoid *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT); OCIStmtExecute(svchp, stmthp, errhp, (ub4) 1, (ub4) 0, (CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT); }

Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme

Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme 1. Infrastruktur durch erweiterte Datenbankfunktionalität ( TP-Lite ) 2. Middleware-Infrastruktur durch TP-Monitore ( TP-Heavy

Mehr

Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme

Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme 1. Infrastruktur durch erweiterte Datenbankfunktionalität ( TP-Lite ) 2. Middleware-Infrastruktur durch TP-Monitore ( TP-Heavy

Mehr

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen

Mehr

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit

Mehr

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4) Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,

Mehr

Vorlesung DBIS I (SoSe2011) Teil 1: Einführung. Web & Datenbanken

Vorlesung DBIS I (SoSe2011) Teil 1: Einführung. Web & Datenbanken Web & Datenbanken Vorlesung Prof. Johann Christoph Freytag, Ph.D. Institut für Informatik, Humboldt-Universität zu Berlin SoSe2012 Bitte Handys ausschalten! 1.1 Ziel dieser Präsentation Grundkonzepte für

Mehr

Möglichkeiten der DB-Anwendungsprogrammierung

Möglichkeiten der DB-Anwendungsprogrammierung Herbstsemester 2013 CS261 Web Data Management Kapitel DB-6: DB-Anwendungsprogrammierung H. Schuldt Möglichkeiten der DB-Anwendungsprogrammierung SQL kann auf verschiedene Arten mit Programmiersprachen

Mehr

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher

Mehr

Wie kommen die Befehle zum DBMS

Wie kommen die Befehle zum DBMS Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Möglichkeiten der DB-Anwendungsprogrammierung

Möglichkeiten der DB-Anwendungsprogrammierung Herbstsemester 2010 Datenbanken mit Übungen Kapitel 7: DB-Anwendungsprogrammierung H. Schuldt Möglichkeiten der DB-Anwendungsprogrammierung SQL kann auf verschiedene Arten mit Programmiersprachen gekoppelt

Mehr

Datenbankprogrammierung 1

Datenbankprogrammierung 1 Datenbankprogrammierung 1 Die Folien basieren auf: Datenbanken: Konzepte und Sprachen, Andreas Heuer und Gunter Saake, mitp-verlag, 2. Auflage, 2000, http://wwwiti.cs.uni-magdeburg.de/biber/ Datenbanken

Mehr

11 Anwendungsprogrammierung

11 Anwendungsprogrammierung 11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:

Mehr

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig

Mehr

Klausur Datenbanken II

Klausur Datenbanken II Klausur Datenbanken II 8.3.2001 Name Vorname Semester Matrikelnr Aufgabe Punkte maximal 1 8 2 8 3 3 4 3 5 4 6 6 7 6 8 6 9 [Zusatz] [4] Summe 44 Punkte erreicht Bitte geben Sie die Lösungen möglichst direkt

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Grundlagen: Datenbankprogrammierung Literatur T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser, 2007 DB-Programmierung-2 Einbettungstechniken Einbettung in 3GL Embedded

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Kurzeinführung ODBC. 1 Codebeispiele. 1.1 Embedded SQL

Kurzeinführung ODBC. 1 Codebeispiele. 1.1 Embedded SQL Kurzeinführung ODBC ODBC (Open Database Connectivity) ist eine von Microsoft entworfene Anwendungsschnittstelle (Application Programming Interface, API), welche in der Lage ist, auf alle gebräuchlichen

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

Aufgabenstellung. Bekannte Lösungsansätze. Die Idee. Native Informix Architektur

Aufgabenstellung. Bekannte Lösungsansätze. Die Idee. Native Informix Architektur Herbert Birkenbach 28.03.2000 CSS Open Database Architecture CSS Open Database Architecture Die Firma CSS GmbH erstellt und vertreibt kaufmännische Standard-Software. Die Entwicklung basierte datenbankseitig

Mehr

PHP- Umgang mit Datenbanken (1)

PHP- Umgang mit Datenbanken (1) PHP- Umgang mit Datenbanken (1) Weitere Funktionen zum Umgang mit Datenbanken (Erzeugen, Löschen) und Tabellen (Erzeugen, Löschen) Zum Beispiel für das Erzeugen einer neuen Datenbank $dbname= blumendb

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

Daten Bank. 4. Vorlesung. Dr. Karsten Tolle PRG2 SS 2012

Daten Bank. 4. Vorlesung. Dr. Karsten Tolle PRG2 SS 2012 Daten Bank 4. Vorlesung Dr. Karsten Tolle PRG2 SS 2012 Beispiel Datum Buch verliehen an (0,1) (0,n) Entleiher BuchNr Titel Autor Nummer Name BUCH (BuchNr, Titel, Autor) ENTLEIHER (Nummer, Name) VERLIEHEN_AN(BuchNr,

Mehr

Kapitel 4 Dynamisches SQL

Kapitel 4 Dynamisches SQL Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2010/11 LMU München 2008 Thmas Bernecker, Tbias Emrich unter Verwendung der Flien des Datenbankpraktikums aus dem Wintersemester 2007/08

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Kap. 3 Evolution von TP-Monitoren zu Objekt-Monitoren

Kap. 3 Evolution von TP-Monitoren zu Objekt-Monitoren Kap. 3 Evolution von TP-Monitoren zu Objekt-Monitoren Vergleich TP-Lite versus TP-Heavy Objektorientierung: Object Request Brokers (ORBs) OMs: Object Monitors Kap3-1 3.1 TP-Lite oder TP-Heavy? Aktive Diskussion

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 Transaktionsverarbeitung Teil 2 SQL copyright W. G. Spruth,

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

Wie kommen die Befehle zum DBMS

Wie kommen die Befehle zum DBMS Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS MySQL Workbench / HeidiSQL Kommandozeile Weitere?

Mehr

Übung3. Test der Möglichkeiten des JDBC-Interfaces. Prof. Dr. Andreas Schmietendorf 1. Übung 3

Übung3. Test der Möglichkeiten des JDBC-Interfaces. Prof. Dr. Andreas Schmietendorf 1. Übung 3 Übung3 Test der Möglichkeiten des JDBC-Interfaces Prof. Dr. Andreas Schmietendorf 1 Überblick & Zielstellungen Prof. Dr. Andreas Schmietendorf 2 Überblick Die Verwendung eines Datenbankmanagementsystems

Mehr

Datenbank und Informationssysteme

Datenbank und Informationssysteme Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................

Mehr

Datenbanken. Autor Rainer Colgen (0171)

Datenbanken. Autor Rainer Colgen (0171) Autor Rainer Colgen (0171)8004088 - 2 - Inhaltsübersicht 1...3 2. SQL IN ENTWICKLUNGSUMGEBUNGEN...3 1. 2.1 EMBEDDED SQL...3 2.1.1 Einführung...3 2.1.2 Präprozessor...3 2.1.3 Statisches SQL...4 2.1.4 Dynamisches

Mehr

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java

Mehr

Datenbanksysteme 2011

Datenbanksysteme 2011 Datenbanksysteme 2011 Anfang von Kapitel 10: Datenbankapplikationen Vorlesung vom 06.06.2011 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access

Mehr

Willkommen. Datenbanken und Anbindung

Willkommen. Datenbanken und Anbindung Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein

Mehr

2 Anlegen und Konfigurieren von Datenbanken 35

2 Anlegen und Konfigurieren von Datenbanken 35 Inhalt 1 Einführung und Installation 9 1.1 Einführung 11 1.1.1 Aufbau 11 1.1.2 Schreibkonventionen 12 1.1.3 Zur Beispieldatenbank 13 1.1.4 Kurz-Installation 19 1.2 Die Oracle-Installation 20 1.3 Die Installation

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Oracle Application Server Oracle Application Server - 1 Gliederung Einführung Oracle Application Server (OAS) Praxis- und Diplomarbeitenverwaltung LiveHTML Kritik Becker,

Mehr

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP 8.4 Überblick und Vergleich weiterer ERP-Systeme G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP Kapitel 8: ERP-Einführung 32 Architektur von Oracle Applications 11 G Logische

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D. 1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme

Mehr

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

Strukturierte Objekttypen

Strukturierte Objekttypen Strukturierte Objekttypen Der Typ t approxmatch row des letzten Beispiels ist ein sogenannter Objekttyp. Definition: Ein Objekttyp ist ein Datentyp, bei dem (u.u. verschiedene) bekannte Datentypen zu einem

Mehr

vs. Fehler zur Übersetzungszeit

vs. Fehler zur Übersetzungszeit Client-Server-Architektur, Anbindung von Programmiersprachen, Call-Level-Schnittstellen: /, JDBC, :, J, gespeicherte Prozeduren, prozedurale Erweiterungen: /PSM, PL/. IPD, Forschungsbereich Systeme der

Mehr

Datenbanksysteme I Datenbankprogrammierung. 19.12.2007 Felix Naumann

Datenbanksysteme I Datenbankprogrammierung. 19.12.2007 Felix Naumann Datenbanksysteme I Datenbankprogrammierung 19.12.2007 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,

Mehr

Praktikum Datenbanksysteme

Praktikum Datenbanksysteme Praktikum Datenbanksysteme Herbstsemester 2012 Dr. Andreas Geppert Platform Architecture Technology Infrastructure Services Credit Suisse geppert@acm.org Herbstsemester 2012 Slide 1 Themenübersicht konzeptueller

Mehr

DBS: Anwendungsprogrammierung

DBS: Anwendungsprogrammierung Bisher: Grundlagen / Theorie DBS: Anwendungsprogrammierung Daten Schema Datenbank 1 Daten Schema Datenbank 2 DBMS Benutzer 1 Benutzer 2 Benutzer n Hier: Idee der Praxis Datenbanksysteme Benutzer Anwendungskontrollkomponenten

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

DB-Anwendungsprogrammierung

DB-Anwendungsprogrammierung Hauptaufgabe: Abbildung der unterschiedlichen Datenmodelle und Zugriffsparadigmen zwischen Programmiersprache und dem DBMS, z.b. C++ Basisdatentypen und flexible Typkonstruktoren wie Strukturen und Klassen

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken

Mehr

Embedded SQL in PostgreSQL

Embedded SQL in PostgreSQL 7. Dezember 2010 Michael Meskes Seit 1993 Freie Software Seit 1994 Linux Seit 1995 Debian GNU/Linux Seit 1998 PostgreSQL Michael Meskes 1992-1996 Promotion 1996-1998 Projektleiter 1998-2000 Niederlassungsleiter

Mehr

Kap. 3 Verteilte Objektverwaltung

Kap. 3 Verteilte Objektverwaltung Kap. 3 Verteilte Objektverwaltung G 3.1Einführung in die verteilte Objektverwaltung (Distributed Management, DOM) Anforderungen Kurzübersicht Java RMI Microsoft COM+ CORBA G 3.2Der CORBA-Standard G 3.3Iona

Mehr

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -

Mehr

Kap. 9 Datenmodellierung und verwaltung

Kap. 9 Datenmodellierung und verwaltung Kap. 9 Datenmodellierung und verwaltung 9.1 Abbildung von Anwendungsobjekten auf Datenbankobjekte in ERP-Systemen 9.2 Workshop: Datenmodell, Metadaten, & Abbildung auf RDBMS in SAP R/3 Kapitel 9: Datenmodell

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

Teil VIII. Weitere Datenbanksprachen

Teil VIII. Weitere Datenbanksprachen Teil VIII Weitere Datenbanksprachen Weitere Datenbanksprachen 1 Programmiersprachenanbindung 2 QBE 3 Änderungen in QBE 4 Anfragen in Access Sattler / Saake Datenbanksysteme Wintersemester 2010/11 8 1 Programmiersprachenanbindung

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

High End Application Server. Copyright 2009 FUJITSU TECHNOLOGY SOLUTIONS

High End Application Server. Copyright 2009 FUJITSU TECHNOLOGY SOLUTIONS High End Application Server openutm - in allen Branchen Industrie/Einzelhandel SIEMENS AG: weltweit Druckereien: Lynotype-Hell AG Reisebüros: START GmbH Energieversorgung: Stadtwerke München Pharmazie:

Mehr

3.2 Der CORBA-Standard Common Object Request Broker Architecture

3.2 Der CORBA-Standard Common Object Request Broker Architecture 3.2 Der CORBA-Standard Common Object Request Broker Architecture (Bildquelle: OMG) Kapitel 3.2: Vorlesung CORBA 1 CORBA Middleware im Ueberblick G CORBA = Common Object Request Broker Architecture. Standard

Mehr

PL/SQL-Web-Services (Teil I)

PL/SQL-Web-Services (Teil I) Best Practise Integrationstools PL/SQL-Web-Services (Teil I) Autor: Markus Fiegler, ORDIX AG, Paderborn Web-Services spielen in der heutigen Software- Architektur eine immer wichtigere Rolle. Ihr großer

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 Transaktionsverarbeitung Teil 3 Stored Procedures copyright

Mehr

Kapitel 8 Host Sprachen mit Embedded und Dynamic SQL

Kapitel 8 Host Sprachen mit Embedded und Dynamic SQL Kapitel 8 Host Sprachen mit Embedded und Dynamic SQL Kap. 8.1 Statisches SQL Problem: SQL ist nicht Turing-vollständig, z. B. keine Rekursion, keine teration, keine bedingten Anweisungen, keine bedingten

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung

Mehr

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Neue Möglichkeiten der Datenintegration Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Begriffsbestimmung ODBC, OLE DB, COM, ADO... Unterschiede zwischen

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Teil II: Architektur und Entwicklung (verteilter) Informationssysteme, Information Retrieval

Teil II: Architektur und Entwicklung (verteilter) Informationssysteme, Information Retrieval Teil II: Architektur und Entwicklung (verteilter) Informationssysteme, Information Retrieval Architektur - 1 Übersicht und Zielsetzung von Teil II Verstehen der Zusammenhänge, wenn man von der traditionellen

Mehr

Inhalt. Einbettungstechniken für SQL. 1. Datenbank-Programmierung. Statische Einbettung

Inhalt. Einbettungstechniken für SQL. 1. Datenbank-Programmierung. Statische Einbettung Vorbemerkungen Inhalt Einbettungstechniken für SQL 1. Datenbankprogrammierung auf der Client-Seite: Embedded SQL, JDBC und SQLJ 2. Datenbankprogrammierung auf der Server-Seite: Stored Procedures 3. Erweiterbarkeit

Mehr

Probeklausur Datenbanktechnologie

Probeklausur Datenbanktechnologie Probeklausur Datenbanktechnologie Prof. Dr. Ingo Claßen Name: Vorname: MatrNr: Bewertung 1 25 2 15 3 10 4 10 Übung 40 Σ = 100 Punkte Punkte: Note: Notenspiegel 100 95 1,0 94 90 1,3 89 85 1,7 84 80 2,0

Mehr

Vorwort 11. Eine neue Datenbank erstellen 79;

Vorwort 11. Eine neue Datenbank erstellen 79; Vorwort 11 Der SQL Server 2012 stellt sich vor 15] 1.1 SQL Server - wer ist das? 15 1.1.1 Der SQL Server im Konzert der Datenbanksysteme 16 1.1.2 Entscheidungsszenarien für Datenbanksysteme 17 1.1.3 Komponenten

Mehr

Einbettung in SQL. Zwei Prinzipien: (1) Statische Einbettung

Einbettung in SQL. Zwei Prinzipien: (1) Statische Einbettung Einbettung in SQL Zwei Prinzipien: (1) Statische Einbettung - Vorübersetzer-Prinzip (Pre-Compiler) - In Programmcode integrierte SQL-Anweisungen werden durch den Precompiler übersetzt, d.h. in Prozeduraufrufe

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

Mehr

6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung

6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung 6 Implementierung komplexer Systeme 6.2 Datenbank-Anbindung Analyse Entwurf Implementierung Test, Integration Wartung Literatur: Balzert LE 24-26, 31 Ambler Kap. 10 Einsatz von Datenbanksystemen Persistente

Mehr

Prozedurale SQL-Erweiterungen

Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen unterscheiden sich typischerweise durch die folgenden Punkte von dem Ansatz der Einbettung: Neue dedizierte Sprache mit direkter Integration

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VU Datenbanksysteme Wolfgang Fischl Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Oracle & Java HOW TO

Oracle & Java HOW TO Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau

Mehr

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT 1 Metadaten a) Wozu werden Metadaten im Umfeld von DBMS benötigt? b) Nennen Sie mindestens zwei weitere Anwendungsfelder, in denen Metadaten zum Einsatz kommen.

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte

Mehr

Java und Datenbanksysteme Datenbankanbindung mit JDBC

Java und Datenbanksysteme Datenbankanbindung mit JDBC Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von

Mehr

Isolationsstufen für Transaktionen. Dr. Karsten Tolle

Isolationsstufen für Transaktionen. Dr. Karsten Tolle Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)

Mehr

Übung 5. Implementierung einer Datenbank. Prof. Dr. Andreas Schmietendorf 1. Übung 5

Übung 5. Implementierung einer Datenbank. Prof. Dr. Andreas Schmietendorf 1. Übung 5 Implementierung einer Datenbank Prof. Dr. Andreas Schmietendorf 1 Aufgabenbeschreibung Prof. Dr. Andreas Schmietendorf 2 Zielstellung Nachdem innerhalb der Übung 4 das konzeptionelle Modell einer späteren

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

Mehr

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching Neuerungen in 12.2 Marco Patzwahl MuniQSoft GmbH Unterhaching Schlüsselworte Neuerungen in 12.2, DBA Einleitung Jede neue Datenbankversion bringt diverse Neuerungen mit. Nur welche sind wichtig und welche

Mehr

Übung Datenbanksysteme I JDBC. Thorsten Papenbrock

Übung Datenbanksysteme I JDBC. Thorsten Papenbrock Übung Datenbanksysteme I JDBC Thorsten Papenbrock Motivation: Grenzen von SQL 2 1. Bedingte Anweisungen Erhöhe das Gehalt eines Arbeitsnehmers um 2%, falls er eine Belobigung erhalten hat 2. Darstellung

Mehr

CLR-Integration im SQL-Server. Alexander Karl

CLR-Integration im SQL-Server. Alexander Karl CLR-Integration im SQL-Server Alexander Karl seit der Version SQL-Server 2005 können Programmierungen zusätzlich zum T-SQL auch mit.net-sprachen erfolgen. Data Types Stored Procedures Triggers Functions

Mehr

Oracle Forms und APEX

Oracle Forms und APEX Oracle Forms und APEX Gerd Volberg + Jan Winkels OPITZ CONSULTING Deutschland GmbH Gummersbach Schlüsselworte Oracle Forms, Oracle Application Express, APEX, PL/SQL, JavaScript-API Einleitung APEX wird

Mehr

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co. Security-Basics Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update Carsten Czarski, ORACLE Deutschland B.V. Co. KG Themen Rechte, Rollen und PL/SQL: Grundsätzliches Invokers vs.

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

Transaktionen in Praxis. Dr. Karsten Tolle Vorl Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15 Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von

Mehr