Datenbanken und Internet. SS2009 DBIS/Dr. Karsten Tolle

Größe: px
Ab Seite anzeigen:

Download "Datenbanken und Internet. SS2009 DBIS/Dr. Karsten Tolle"

Transkript

1 Datenbanken und Internet

2 3-Tier-Modell Applet, Java GUI, Client z.b. HTTP, RMI Servlet, Java Anwendung, Application Server Interface DBS DB-Server Drei-Schichten-Architektur (Three-Tier-Modell)

3 Struktur bei B2B Einsatzweise als Backend

4 Wichtige DBMS Oracle IBM DB2 SQL Server MySQL PostgreSQL Caché Frima Umsatz 2007 Marktanteil 2007 Oracle IBM Microsoft 8,343 Mrd. Dollar 4,879 Mrd. Dollar 4,670 Mrd. Dollar 37,6% 22,0% 21,0% Laut Computerwoche Nr. 3 vom 16. Januar 2009

5 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

6 Structured Query Language SQL ist für Standards: SQL-1 von 1986 bzw (ca. 120 Seiten) SQL-2 (SQL92) von 1992 (ca. 580 Seiten) SQL-3 (SQL99) von 2000 (ca Seiten) SQL ISO/IEC 9075:2003 SQL: ISO/IEC :2006 (SQL/XML)

7 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???

8 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.:

9 Weitere DBMS Unterschiede Tabelle mytable mit Attributen: a, b und c Einträge Index auf Attribut a Anfrage: SELECT a,b,c FROM mytable WHERE a > 19850

10 Weitere DBMS Unterschiede In einem Beispiel waren ca. 50% der Einträge unter Attribut a mit dem Wert 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 > Ausführungszeit ~15sec

11 embedded SQL Embedded SQL (abgekürzt: ESQL) ist eine Spracherweiterung von SQL, mit der es möglich ist, SQL-Anweisungen innerhalb einer strukturierten oder objektorientierten Programmiersprache (der Hostsprache) auszuführen. Embedded SQL wurde erstmals im SQL92- Standard definiert.

12 Embedded SQL und C - Beispiel EXEC SQL BEGIN DECLARE SECTION; char diebar[21], dasbier[21]; float preis; EXEC SQL END DECLARE SECTION; /* holen der Werte für diebar und dasbier */ EXEC SQL SELECT price INTO :preis FROM Verkauft WHERE bar = :diebar AND bier = :dasbier; /* die Variable preis kann nun verwendet werden*/

13 Quelltext mit SQL-Befehlen SQL LIB STD LIB Quelltext in reiner host language Objektdatei Ausführbares Programm Precompiler Compiler Linker

14 Definition Das Call Level Interface (kurz CLI) ist eine Datenbankschnittstellen-Spezifikation für den Zugriff auf RDBMS (baut auf SQL auf) aus anderen Anwendungen heraus. Weitere Details unter: PDF des Technical Standards von 1995! ~320 Seiten

15 Anwendung 1 Elementare Zugriffsoperationen Anwendung 2 Elementare Zugriffsoperationen Anwendung 3 Elementare Zugriffsoperationen Anwendung 1 Zugriffsoperation en in Progr.- Sprache enthalten Anwendung 2 Zugriffsoperation en in Progr.- Sprache enthalten Call Level Interface Anwendung 3 Zugriffsoperation en in Progr.- Sprache enthalten Datenbank- Managementsystem (DBMS) DBS Datenbank- Managementsystem (DBMS) DBS Datenbank (DB) Datenbank (DB)

16 Programmierschnittstellen, die das CLI- Konzept umsetzen (CLI-Implementierungen), sind z.b.: Open Database Connectivity (ODBC), Java Database Connectivity (JDBC).

17 Praxis 1. JDBC Treiber für DBMS in Classpath aufnehmen, Beispiel: set JDBC_Driver="C:\MySQL\mysql-connector-java bin.jar" java classpath %JDBC_Driver% MyAnwendung 2. Treiber im Program laden und aktivieren, Beispiel: try { Class.forName(jdbcdriver); } catch (Exception e) {} 3. Verbindung herstellen, Beispiel: try { Connection con = DriverManager.getConnection(dburl, username, passwd); } catch (Exception e) {}

18 Praxis 1. SQL Statement (Objekt) erzeugen Statement stmt = con.createstatement(); 2. SQL Anfrage erzeugen und an DBS schicken: ResultSet rs = stmt.executequery( select * from mytable ); 3. Mit dem Ergebnis arbeiten: while (rs.next()) { String name = rs.getstring( Name ); System.out.println( Name = +name); }

19 SQL-Injection SQL-Injection Einschleusen von zusätzlichem Code oder SQL-Befehlen Siehe Wikipedia für weitere Infos, Bsp. und Gegenmaßnahmen: Generell ist eine Webanwendung für die korrekte Prüfung der Eingabedaten verantwortlich. Geeignete Schutzmaßnahmen sind in erster Linie dort zu implementieren.

20 Mögliche Gefahren Zusätzliche Statements einzufügen: Eingabe: 1; drop mytable # Je nach DBMS kann das Kommentarzeichen (hier # ) anders sein. In DB2 z.b. --. select * from mytable where id = 1; drop mytable #?? Direkter Schaden an der Datenbank, eventuell Ausfall der Applikation.

21 Mögliche Gefahren Zusätzliche Bedingungen einzufügen: Eingabe: 1 or id > 1 or name like % select * from mytable where id = 1 or 1 or name like %?? Daten der Tabelle können ausgespäht werden.

22 Mögliche Gefahren Verknüpfung mit UNION: Eingabe: 1 union select * from yourtable where id = 1# select * from mytable where id = 1 union select * from yourtable where id = 1#?? Daten auch anderer Tabellen können ausgespäht werden. man beachte, dass beim UNION-Operator die Anzahl der Spalten und deren Typen gleich sein muss!

23 Was möglich ist hängt ab von DBMS Erlaubt es mehrere SQL-Statements gleichzeitig auszuführen? Welche Zeichen werden als Kommentare interpretiert? (z.b.: -- oder #) Verbindungsart / Programmiersprache JDBC, ODBC,???

24 Gegenmaßnahmen DB-Verbindung nur mit den Rechten, die nötig sind aufbauen! Nutzung von Prepared Statements (in Java) Nutzung von Statischem SQL, z.b. SQLJ Möglichst wenig Informationen über die Datenbank nach außen geben! z.b. bei Fehlermeldungen Eingaben auf Sonderzeichen und ungültige Werte prüfen (möglichst zurückweisen!) Anwendung diesbezüglich testen (testen lassen)

25 Literaturhinweise Handling Java Web Application Input, Part 1 von Stephen Enright Advanced SQL Injection In SQL Server Applications von Chris Anley

26 Prepared Statements PreparedStatement stmt = null; stmt = con.preparestatement( select * from mytable where ID =? ); stmt.setint(1,4); ResultSet rs = stmt.executequery(); 1 erstes Fragezeichen wir mit Wert 4 gesetzt!

27 Stored Procedures SQL Statements werden auf der Serverseite gehalten Verbunden mit PL Schleifen etc. vorhanden Wann insb. ist dies von Vorteil?

28 Speicherung von XML XML-Datenbank Tamino, exist, Relationale Datenbank Wie? Abbildungen von XML auf Datenbanken Textbasiert Strukturbasiert Modellbasiert

29 Textbasiert Speicherung des Dokumentes als Einheit z.b. in einem CLOB. Unterstützung des Zugriffs durch Verwendung von Indizes Volltextindex Strukturindex

30 Strukturbasiert Abbildung auf mehrere Tabellen, die das Objektmodell wiederspiegeln. <?xml version="1.0"?> <contact> <address type="business"> <name>tolle</name> <firstname>karsten</firstname> <street>robert-mayer-str.</street> <town>frankfurt</town> </address> </contact> Address Name Firstname Street Town Type Tolle Karsten Robert-Mayer-Str. Frankfurt business

31 Strukturbasiert Abbildung kann automatisch oder manuell erfolgen DTD, XML Schema sollte vorhanden sein Beziehungen in der Baumhierarchie über Foreign Keys Reihenfolge der Elemente kann verloren gehen Verlust von PI (Processing Instructions) und Kommentaren

32 Modellbasiert Abbildung der Graphstruktur! (DOM) Reihenfolge der Elemente bleibt erhalten Kommentare und PI gehen verloren

33 Übersicht: Abbildungen Abbildungen von XML auf Datenbanken Textbasiert Strukturbasiert Modellbasiert

34 Baum in RDBMS? Jerry (1000) Bert (900) Chuck (950) Donna (700) Eddie (750) Fred (600)

35 z.b. Adjazenz Matrix als Tabelle Name Boss Gehalt Jerry NULL 1000 Bert Jerry 900 Chuck Jerry 950 Donna Chuck 700 Eddie Chuck 750 Fred Chuck 600

36 Adjazenz Matrix als Tabelle Jerry (1000) Bert (900) Chuck (950) Donna (700) Eddie (750) Fred (600) Anomalien möglich! Personal Name Boss Gehalt Jerry NULL 1000 Bert Jerry 900 Chuck Jerry 950 Donna Chuck 700 Eddie Chuck 750 Fred Chuck 600

37 Adjazenz Matrix als Tabelle Jerry (1000) Bert (900) Chuck (950) Donna (700) Eddie (750) Fred (600) Anfrage nach Namen des Boss? Personal ID Name Boss Gehalt 1 Jerry NULL Bert Chuck Donna Eddie Fred 3 600

38 Anfrage: Wer ist Boss? SELECT B1.Name, Boss von, E1.Name FROM Personal AS B1, Personal AS E1 WHERE B1.ID = E1.Boss Personal ID Name Boss Gehalt 1 Jerry NULL Bert Chuck Donna Eddie Fred 3 600

39 Anfrage: Wer ist Boss von Boss? SELECT B1.Name, Ober-Boss von, E2.Name FROM Personal AS B1, Personal AS E1, Personal AS E2 WHERE B1.ID = E1.Boss AND E1.ID = E2.Boss Ober- -Ober-Boss??? ancestor??? Personal ID Name Boss Gehalt 1 Jerry NULL Bert Chuck Donna Eddie Fred 3 600

40 Hilfe! 1 Jerry (1000) 12 Bert (900) Chuck (950) Donna (700) Eddie (750) Fred (600) Vergleiche: Traversierungs-Algorithmen für Bäume Inorder-, Preorder- und Postorder

41 als Tabelle 1 Jerry (1000) 12 Bert (900) Chuck (950) Donna (700) Eddie (750) Fred (600) Personal ID Name left right Gehalt 1 Jerry Bert Chuck Donna Eddie Fred

42 Anfragen Wer hat gar nix zu sagen? (Blätter) Wer ist der oberste Boss? (Wurzel) Alle Unterstellten von X? (Nachfahren) Alle Chefs von Y? (Vorfahren) Jerry (1000) 1 12 Bert (900) Chuck (950) Donna (700) Eddie (750) Fred (600)

43 Bäume in RDBMS Literatur: A Look at SQL Trees by Joe Celko, online under: Managing Hierarchical Data in MySQL by Mike Hillyer: Enthalten beide: Nested-Set Model of Trees

44 SQL 2003 Part 14: XML-Related Specifications (SQL/XML) This part of ISO/IEC 9075 defines ways in which Database Language SQL can be used in conjunction with XML. (Zitat aus der Einführung der Spezifikation) ~ 360 Seiten (Part 14) Spezifikation kostet Geld (nur Part 14) ~190 Euro als PDF Final Committee Draft Version online unter:

45 SQL/XML Mapping - XML-to-SQL Mapping Unicode to SQL character sets. Mapping XML Names to SQL <identifier>s. Also: SQL/XML konzentriert sich auf das Erzeugen von XML-Daten aus relationalen Datenbanken. link

46 Praxisbeispiel DB2 von IBM Basierend auf der SAMPLE Datenbank von DB2 Express SELECT XMLELEMENT ( NAME "Test", XMLATTRIBUTES (12 AS "Default12"), XMLCONCAT ( XMLELEMENT (NAME "ZUSATZ", XMLFOREST (t.lastname AS "Nachname", t.empno AS "ID") ), XMLELEMENT (NAME "ZUSATZ", XMLFOREST (t.firstnme AS "Vorname", t.empno AS "ID") ) ) ) from KARSTEN.EMPLOYEE AS t;

47 SQL/XML Funktionen Reservierte Schlüsselwörter: XML XMLAGG XMLATTRIBUTES XMLBINARY XMLCONCAT XMLCOMMENT XMLELEMENT XMLFOREST XMLNAMESPACES XMLPARSE XMLPI XMLROOT XMLSERIALIZE Funktionen: XMLELEMENT Konstruktion eines XML- Elements XMLATTRIBUTES Erzeugung eines XML-Attributes

48 SQL/XML Funktionen XMLFOREST Erzeugung einer Menge von XML-Elementen (Wald) XMLAGG Zusammenfassen von Ergebnissen (Nutzung von Group-By, für 1-n Relationen) XMLCONCAT fügt mehrere XML-Werte zusammen XMLCOMMENT, XMLPI,

49 Praxisbeispiel DB2 von IBM Basierend auf der SAMPLE Datenbank von DB2 Express SELECT XMLELEMENT ( NAME "Test", XMLATTRIBUTES (12 AS "Default12"), XMLCONCAT ( XMLELEMENT (NAME "ZUSATZ", XMLFOREST (t.lastname AS "Nachname", t.empno AS "ID") ), XMLELEMENT (NAME "ZUSATZ", XMLFOREST (t.firstnme AS "Vorname", t.empno AS "ID") ) ) ) from KARSTEN.EMPLOYEE AS t;

50 Ergebnis Relatation mit einer Spalte, die XML-Dateien folgender Form enthält: <?xml version="1.0" encoding="utf-16"?> <Test Default12="12"> <ZUSATZ> <Nachname>PULASKI</Nachname> <ID>000070</ID> </ZUSATZ> <ZUSATZ> <Vorname>EVA</Vorname> <ID>000070</ID> </ZUSATZ> </Test>

51 SELECT XMLELEMENT ( NAME "Test2", XMLATTRIBUTES (12 AS "Default12"), XMLCONCAT ( XMLELEMENT (NAME "ZUSATZ", XMLFOREST (t.lastname AS "Nachname", t.empno AS "ID") ), XMLELEMENT (NAME "ZUSATZ", XMLFOREST (t.firstnme AS "Vorname", t.empno AS "ID") ), XMLELEMENT (NAME "DEPARTMENT", (SELECT DEPTNAME from KARSTEN.DEPARTMENT where DEPTNO = t.workdept)) ) ) from KARSTEN.EMPLOYEE AS t;

52 SELECT xmlagg(xmlelement(name "root", xmlforest(e.empno, e.firstnme) )) FROM KARSTEN.EMPLOYEE e; Keine Baumstruktur! SELECT xmlelement(name "root", xmlagg(xmlforest(e.empno, e.firstnme) )) FROM KARSTEN.EMPLOYEE e;

53 weitere Erweiterungen in SQL Neuer Datentype: XML (Oracle: XMLType) Beispiel: CREATE TABLE StudentXML ( name VARCHAR(35), vorname VARCHAR(30), matrikel INTEGER, details XML);

54 weitere Erweiterungen in SQL Strukturierte Typen und Vererbung CREATE TYPE Person AS (ID INTEGER, Name VARCHAR(30)) NOT FINAL; CREATE TYPE Student UNDER Person (Semester Integer); Hierarchische Tabellen CREATE TABLE Personen OF Person REF IS OID SYSTEM GENERATED; CREATE TABLE Studenten OF Student UNDER Personen REF IS OID SYSTEM GENERATED;

55 Leseempfehlungen SQL/XML Tutorial: SQL/XML, XQuery, and Native XML Programming Languages von Jonathan Robie XML programming with SQL/XML and XQuery von J. E. Funderburk, S. Malaika, B. Reinwald

56 Kosten für Ausfallzeiten (Downtimes) Schwer zu schätzen, beinhaltet Kosten für: nicht getätigte Geschäfte Wiederherstellungskosten Verlust von Kunden Loyalität Strafen Fehler im Lagerbestand Geschäftsfeld Aktienhandel Kreditkarten-Gesellschaften Geschätzte Kosten pro Stunde $6,45 Millionen $2,6 Millionen Home Shopping Channel $ Katalog Verkaufs Center $ Fluglinien Reservierung $ Versand Service $ Geldautomat Service $ Nach: Craig S. Mullins Database Administration The Complete Guide to Practices and Procedures 2002 Addison-Wesley ISBN Stand: 2002!!!!

57 Kosten für Ausfallzeiten (Downtimes) Ausfallzeiten pro Jahr Verfügbarkeit Minuten Stunden Kosten pro Jahr* 99,999% 5 0, $ 99,99% 53 0, $ 99,9% 526 8, $ 99,5% , $ 99% , $ * Bei Kosten für eine Stunde Ausfallzeit von $ Nach: Craig S. Mullins Database Administration The Complete Guide to Practices and Procedures 2002 Addison-Wesley ISBN Stand: 2002!!!!

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

Bäume in RDBMS. Enthalten beide: Nested-Set Model of Trees

Bäume in RDBMS. Enthalten beide: Nested-Set Model of Trees Bäume in RDBMS Literatur: A Look at SQL Trees by Joe Celko, online under: http://www.dbmsmag.com/9603d06.html Managing Hierarchical Data in MySQL by Mike Hillyer: http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

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

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

embedded SQL Embedded SQL wurde erstmals im SQL92- Standard definiert.

embedded SQL Embedded SQL wurde erstmals im SQL92- Standard definiert. embedded SQL Embedded SQL (abgekürzt: ESQL) ist eine Spracherweiterung von SQL, mit der es möglich ist, SQL-Anweisungen innerhalb einer strukturierten oder objektorientierten Programmiersprache (der Hostsprache)

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr

Validating XML Parser. Application. XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei. XML-Schema oder DTD

Validating XML Parser. Application. XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei. XML-Schema oder DTD XML-Schema oder DTD XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei Validating XML Parser Application SQL 2003 Part 14: XML-Related Specifications (SQL/XML) This part of ISO/IEC 9075 defines ways in

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

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

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

Teil 2-7. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II

Teil 2-7. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II Teil 2-7. Vorlesung Modul: Programmierung B-PRG Grundlagen der Programmierung II Professur für Datenbanken und Informationssysteme Dr. Karsten Tolle tolle@dbis.cs.uni-frankfurt.de 1 Generalisierung ER

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 SQL -Anfragen join groupby groupby having select A 1,A 2,...,A n from R 1, R 2,...,R m [where conditions] [group by clause] [having clause] [order

Mehr

XSLT Beispiele. Cooktop -

XSLT Beispiele. Cooktop - XSLT Beispiele Cooktop - http://www.xmlcooktop.com/ Alternative zu XML JSON Alternative zu XML siehe: http://www.json.org/ oder http://de.wikipedia.org/wiki/json XML vs JSON Beispiel von: http://www.developer.com/lang/jscript/article.php/3596836

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

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

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

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 SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

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

Daten Bank. 5. Vorlesung

Daten Bank. 5. Vorlesung Daten Bank 5. Vorlesung 4. VL von bis Person (0,n) lebt_in (0,n) Ort AusweisNr. Name Vorname PLZ Ortsname SQL: create insert select 1. Normalform Schlüssel und Funktionale Abhängigkeiten Dr. Karsten Tolle

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Datenbanken & Informationssysteme Übungen Teil 1

Datenbanken & Informationssysteme Übungen Teil 1 Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank azamon ausgibt. Verwenden Sie dabei die SQL-Anweisung select * from

Mehr

Klausur Interoperabilität

Klausur Interoperabilität Klausur 21. Juni 2012 9.30 11.00 Uhr Workflow Systems and Technology Group Fakultät für Informatik Universität Wien Univ.-Prof. Dr. Stefanie Rinderle-Ma Allgemeine Hinweise: Die Bearbeitungszeit beträgt

Mehr

Teil 2-7. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II

Teil 2-7. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II Teil 2-7. Vorlesung Modul: Programmierung B-PRG Grundlagen der Programmierung II Professur für Datenbanken und Informationssysteme Dr. Karsten Tolle tolle@dbis.cs.uni-frankfurt.de 1 seit Person (u:v) (w:x)

Mehr

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133. Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

Mehr

Programmieren und DBMS. Dr. Karsten Tolle

Programmieren und DBMS. Dr. Karsten Tolle Programmieren und DBMS Dr. Karsten Tolle Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS MySQL Workbench / HeidiSQL Kommandozeile Weitere? Datenbank Administrator Fortgeschrittener

Mehr

MySQL Installation. AnPr

MySQL Installation. AnPr Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall

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

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

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

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

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

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

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

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

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

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

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

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

SQL-Injection. Seite 1 / 16

SQL-Injection. Seite 1 / 16 SQL-Injection Seite 1 / 16 Allgemein: SQL (Structured Query Language) Datenbanksprache zur Definition von Datenstrukturen in Datenbanken Bearbeiten und Abfragen von Datensätzen Definition: SQL-Injection

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015 SQLX. Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015 SQLX. Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14 SQLX Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14 SQLX Standard XML Standard für SQL Reihe von Funktionen zur Unterstützung der Ausgabe von XML mittels SQL- Select-Statements Momentan in

Mehr

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

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

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

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

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

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

DB2 Kurzeinführung (Windows)

DB2 Kurzeinführung (Windows) DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

XML und Datenbanken. Wintersemester 2003/2004. Vorlesung: Dienstag, 13:15-15:00 Uhr IFW A36. Übung: Dienstag, 15:15-16:00 Uhr IFW A36

XML und Datenbanken. Wintersemester 2003/2004. Vorlesung: Dienstag, 13:15-15:00 Uhr IFW A36. Übung: Dienstag, 15:15-16:00 Uhr IFW A36 XML und Datenbanken Wintersemester 2003/2004 Vorlesung: Dienstag, 13:15-15:00 Uhr IFW A36 Übung: Dienstag, 15:15-16:00 Uhr IFW A36 Dozenten: Dr. Can Türker IFW C47.2 Email: WWW: tuerker@inf.ethz.ch http://www.dbs.ethz.ch/~xml

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

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

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

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

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Einteilung von Datenbanken

Einteilung von Datenbanken Datenbanksysteme (c) A.Kaiser; WU-Wien 1 Einteilung von Datenbanken 1. formatierte Datenbanken 2. unformatierte Datenbanken Information Retrieval Systeme 2 Wozu Datenbanken? Speicherung und Verwaltung

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

XML - Extensible Markup Language. Agenda - Oracle XML DB

XML - Extensible Markup Language. Agenda - Oracle XML DB Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von Datenbanken 2005 in Wörlitz Annegret Warnecke Senior

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

Mehr

Verbinde die Welten. Von Oracle auf MySQL zugreifen

Verbinde die Welten. Von Oracle auf MySQL zugreifen Verbinde die Welten Von Oracle auf MySQL zugreifen Ronny Fauth DB Systel GmbH Zertifizierter MySQL 5.0 DBA Zertifizierter Oracle 11 DBA Einleitung: - keine Allroundlösungen mehr - Verbindungen zwischen

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

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

Verteidigung gegen SQL Injection Attacks

Verteidigung gegen SQL Injection Attacks Verteidigung gegen SQL Injection Attacks Semesterarbeit SS 2003 Daniel Lutz danlutz@watz.ch 1 Inhalt Motivation Demo-Applikation Beispiele von Attacken Massnahmen zur Verteidigung Schlussfolgerungen 2

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008 Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr