Vorlesung Datenbankmanagementsysteme

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Datenbankmanagementsysteme"

Transkript

1 Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-1

2 Themen der Vorlesung Grundlagen Architekturen Modellierung Relationale Datenbanken Relationaler DB-Entwurf SQL zur Datendefinition Sichten, Zugriffskontrolle, Trigger SQL zur Datenabfrage/- manipulation SQL zur Datenanalyse Programmiersprachenanbindung Transaktionsverwaltung Nicht-relationale Inhalte Phys. Datenbankdesign und Zugriffsstrukturen Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-2

3 Wiederholung Gliederung der Vorlesung - Trigger, Sichten, Zugriffsschutz JAVA JDBC API - JDBC als abstrakte DBMS-API für JAVA - Cursor Konzept & ResultSets - Datentyp Abbildungen - Prepared Statements PHP OCI8 API Zusammenfassung Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-3

4 Wiederholung Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-4

5 Trigger in ORACLE Reaktion auf DML-Ereignisse Notation: create or replace trigger <triggername> before/after insert or update or delete on <tablename> REFERENCING NEW AS <newrow> OLD AS <oldrow> for each row/for each statement when (<Bedingung>) DECLARE variablen deklaration BEGIN if (INSERTING/UPDATING/DELETING) then... end if; END <triggername>; Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-5

6 Trigger in ORACLE Beispiel I Beispiel Kein Kundenkonto darf unter 0 absinken create or replace trigger bad_account after insert or update of Kto on KUNDE for each row when (:new.kto < 0) begin raise_application_error(-20221, Nicht unter 0 ); end; Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-6

7 Trigger in ORACLE Beispiel II CREATE OR REPLACE TRIGGER MEINTRIGGER BEFORE INSERT OR UPDATE ON MEINETABELLE REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN IF (INSERTING) THEN SELECT SYSDATE INTO :NEW.CHG_DATE FROM DUAL; SELECT SYSDATE INTO :NEW.CRE_DATE FROM DUAL; ELSIF (UPDATING) THEN SELECT SYSDATE INTO :NEW.CHG_DATE FROM DUAL; END IF; END; / Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-7

8 Trigger in OPRACLE Beispiel III Kein Kundenkonto darf unter 0 absinken create trigger bad_account after update of Kto on KUNDE referencing new as INSERTED when (exists (select * from INSERTED where Kto < 0) ) begin atomic rollback; end ähnlicher Trigger für insert Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-8

9 Sichten Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-9

10 Sichten = Externes Schema Externes Schema 1... Externes Schema n Anfragebearbeitung Konzeptuelles Schema Internes Schema Datendarstellung Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-10

11 Sichten: Definition durch SQL create view <Sichtname> [Schemadeklaration] as <SQL-Anfrage> [with check option] Sichtname: Name der virtuellen Relation Schemadeklaration (optional): Festlegung von Namen für berechnete Spalten SQL-Anfrage: Vorschrift zur Berechnung der Spalten Weitere optionaler Teil: Festlegung, ob Änderungen auch den nicht sichtbaren Teil der Datenbank beeinflussen können Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-11

12 Sichten Beispiele alle Alben aus Genre Rock : create view RockAlben as select Titel, Name, Jahr from Album, Musiker where Album.MNr = Musiker.MNr and Genre = Rock create view NeueMusiker as select Name, Land from Musiker where MNr in (select MNr from Album where Jahr = (select max(jahr) from Album)) Musiker mit Alben aus dem aktuellen Jahr Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-12

13 Projektionssicht MA := π Mitarbeiter,Abteilung (MGA) In SQL mit create view-anweisung: create view MA as select Mitarbeiter, Abteilung from MAG Änderungsanweisung für die Sicht MA: insert into MA values ( Zuse, Info ) Korrespondierende Anweisung auf der Basisrelation MGA: insert into MGA values ( Zuse, null, Info ) Problem der Konsistenzerhaltung, falls Gehalt als not null deklariert! Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-13

14 Selektionssicht MG := σ Gehalt>20 (π Mitarbeiter,Gehalt (MGA)) create view MG as select Mitarbeiter, Gehalt from MGA where Gehalt > 20 Tupelmigration: Ein Tupel MGA( Zuse, 25, Info ) wird aus der Sicht herausbewegt update MG set Gehalt = 15 where Mitarbeiter = Zuse Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-14

15 Kontrolle Tupelmigration create view MG as select Mitarbeiter, Gehalt from MGA where Gehalt > 20 with check option with check option prüft die Einhaltung der where- Klausel beim Einfügen und Ändern Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-15

16 Verbundsichten I MGAL := MAG AL create view MGAL as select Mitarbeiter, Gehalt, MGA.Abteilung, Leiter from MGA, AL where MGA.Abteilung = AL.Abteilung Änderungsoperationen in der Regel nicht eindeutig übersetzbar insert into MGAL values ( Turing, 30, Info, Zuse ) Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-16

17 Verbundsichten II Transformation der Änderung zu und insert into MGA values ( Turing, 30, Info ) 1. Einfügen in AL insert into AL values ( Info, Zuse ) 2. oder alternativ: Änderung in AL update AL set Abteilung = Info where Leiter = Zuse Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-17

18 Aggregierungssichten create view AS (Abteilung, SummeGehalt) as select Abteilung, sum(gehalt) from MAG group by Abteilung Folgende Änderung ist nicht eindeutig umsetzbar: update AS set SummeGehalt = SummeGehalt where Abteilung = Info Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-18

19 Zusammenfassung der Sichten-Probleme Verletzung der Schemadefinition Vermeidung von Integritätsverletzungen (z.b. durch Einfügen von Nullwerten bei Projektionssichten) Datenschutz Seiteneffekte auf nicht-sichtbaren Teil der Datenbank vermeiden (z.b. Tupelmigration bei Selektionssichten) Auswahlproblem nicht immer eindeutige Transformation Aggregierungssichten keine sinnvolle Transformation möglich Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-19

20 Einschränkungen für Änderungsoperatione auf Sichten änderbar nur Selektions- und Projektionssichten (Verbund und Mengenoperationen nicht erlaubt) 1:1-Zuordnung von Sichttupeln zu Basistupeln: kein distinct in Projektionssichten Arithmetik und Aggregatfunktionen im select-teil sind verboten genau eine Referenz auf einen Relationsnamen im from-teil erlaubt (auch kein Selbstverbund) keine Unteranfragen mit Selbstbezug im where-teil erlaubt (Relationsname im obersten SFW-Block nicht in from-teilen von Unteranfragen verwenden) group by und having verboten Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-20

21 Rechtevergabe Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-21

22 Rechtevergabe in SQL grant <Rechte> on <Tabelle> to <BenutzerListe> [with grant option] In <Rechte>-Liste: all bzw. Langform all privileges oder Liste aus select, insert, update, delete Hinter on: Relationen- oder Sichtname Hinter to: Autorisierungsidentifikatoren (auch public, group) spezielles Recht: Recht auf die Weitergabe von Rechten (with grant option) Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie # Rechtevergabe zur Zugriffskontrolle

23 Authorisierung für public create view MeineAufträge as select * from AUFTRAG where KName = user; grant select, insert on MeineAufträge to public; Jeder Benutzer kann seine Aufträge sehen und neue Aufträge einfügen (aber nicht löschen!). Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-23

24 Zurücknahme von Rechten revoke <Rechte> on <Tabelle> from <BenutzerListe> [restrict cascade ] restrict: Falls Recht bereits an Dritte weitergegeben: Abbruch von revoke cascade: Rücknahme des Rechts mittels revoke an alle Benutzer propagiert, die es von diesem Benutzer mit grant erhalten haben Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-24

25 JDBC zur DBMS-Anbindung von JAVA Bildquellen: Heuer, Saake: Foliensatz Datenbanken I, 7-107; Schneider: Foliensatz Datenbanken Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-25

26 Kopplungsarten zw. DBMS und Programmiersprachen prozedurale bzw. CALL-Schnittstellen (call level interface) Beispiele: SQL/CLI, ODBC, JDBC, Einbettung einer DB-Sprache in Programmiersprachen statische Einbettung Vorübersetzer-Prinzip SQL-Anweisungen zur Übersetzungszeit festgelegt Beispiele: Embedded SQL, SQLJ dynamische Einbettung Konstruktion von SQL-Anweisungen zur Laufzeit Eingebettete Sprachen im DBMS Beispiele: JavaStoredProcedures, PL/SQL, Transact-SQL, PL/pgSQL Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-26

27 JDBC Anwendungsprogrammierschnittstelle (API), die es ermöglicht aus Java Programmen heraus SQL-Anweisungen auszuführen und mit jeder SQL-konformen DB zu interagieren DB-Anwendung kann auf unterschiedlichen Plattformen ausgeführt und mit unterschiedlichen DBS interagieren Entwickelt von JavaSoft, ein Tochterunternehmen von Sun Microsystems. - Handelsmarke von Sun Microsystems kein Akronym - Trotzdem häufig bezeichnet als Java DatabaseConnectivity Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-27

28 JAVA JDK Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-28

29 JDBC-API Integrierter Bestandteil der Sprache Java Enthalten in J2SE-und J2EE-Releases - Package java.sql - Package javax.sql Anwendung kann unabhängig vom DBS implementiert werden - Write Once, Run Anywhere - SQL-Anweisungen werden als Strings übertragen - JDBC-Treiber transformieren JDBC-SQL in DBMS-SQL DBMS-Anbieter implementieren und erweitern den Standard mit ihren eigenen JDBC-Treibern - JDBC Driver API zum Implementieren von Treibern! Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-29

30 JDBC Architektur Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-30

31 JDBC Treiberkonzept Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-31

32 JDBC Client-Server Szenario Eine Java-Anwendung hat n JDBC Verbindungen Eine Datenbank kann m JDBC-Clients verarbeiten Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-32

33 JDBC Cursor Konzept Problem bei Kopplung von SQL und Programmiersprachen: Unterschiedliche Datenstrukturkonzepte Relation vs. Tupel Impedance mismatch Lösung durch abstrakte Sichtweise auf Relation Realisierung der Relation als Liste Cursor als Iterator über dieser Liste von Tupeln Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-33

34 JDBC Überblick Datenbankzugriffsschnittstelle für Java abstrakte, datenbankneutrale Schnittstelle Low-Level-API: direkte Nutzung von SQL import java.sql.*: DriverManager Connection Statement, PreparedStatement ResultSet ResultSetMetadata SQLException Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-34

35 Struktur der JDBC-API Nutzung Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-35

36 JDBC Ablauf 1. Aufbau einer Verbindung zur Datenbank Angabe der Verbindungsinformationen Auswahl und Laden des Treibers 2. Senden einer SQL-Anweisung Definition der Anweisung Belegung von Parametern 3. Verarbeiten der Anfrageergebnisse Navigation über Ergebnisrelation Zugriff auf Spalten Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie # Datenbankzugriff mit JDBC und SQLJ

37 JDBC Verbindungsaufbau 1. Treiber laden Class.forName("com.company.DBDriver"); 2. Verbindung herstellen Connection con; String url = "jdbc:subprotocol:datasource"; con = DriverManager.getConnection(url, "scott", "tiger"); <protocol>:<sub-protocol>:<datasource> JDBC-URL Beispiele - - Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-37

38 JDBC Anfrageausführung Anweisungsobjekt (Statement) erzeugen Statement stmt = con.createstatement(); Anweisung ausführen String query = "SELECT MNr, Land from Musiker; ResultSet rset = stmt.executequery (query); Klasse java.sql.statement - Ausführung von Anfragen (SELECT) mit executequery - Ausführung von Änderungsanweisungen (DELETE, INSERT, UPDATE) mit executeupdate 102 Kanada 103 Finnland 104 Deutschland 105 Deutschland 106 Deutschland Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie # Datenbankzugriff mit JDBC und SQLJ

39 Verarbeitung JDBC-ResultSet 102 Kanada 103 Finnland 104 Deutschland 105 Deutschland 106 Deutschland next() == true next() == true next() == true next() == true next() == true next() == false while (res1.next()) { int id = res1.getint( MNr ); String land = res1.getstring(2); System.out.println( MNr.: +id+ Land: +land); } getxxx() Methoden für alle primitiven Java-Datentypen - getstring() funktioniert immer! getxxx(int pos): schneller, inkompatibel getxxx(string spalte): langsamer, kompatibel Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-39

40 Abbildung der Datentypen JDBC steht zwischen den Objekttypen aus Java und den unterschiedlichen Typen aus SQL Spezifikation der direkten Abbildungen, jedoch keine Zwang, welche Formate in Java für die SQL-Daten genutzt werden müssen Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-40

41 Prepared Statement Vorübersetzte Anfragen, die Parameter enthalten String multq = SELECT * FROM Vorlesung WHERE SWS =? AND DozentIn LIKE? ; PreparedStatement pstat1=conn1.preparestatement(multq); pstat1.setint(1,80); pstat1.setstring(2, Lange ); ResultSet res3=pstat1.executequery(); /* Verarbeite Result Set */ int i = 16 pstat1.setint(1,i); pstat1.setstring(2, Schneider ); ResultSet res3=pstat1.executequery(); /* Verarbeite Result Set */ pstat1.clearparameters(); Sehr gut bei Mehrfachausführung von Anfragen: Laufzeitverbesserung Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-41

42 Result Set Meta Data Abfrage von Beschreibungen eines ResultSet-Objektes ResultSetMetaData rsmd1 = res1.getmetadata(); int nofcolumns = rsmd1.getcolumncount(); String columnname1 = rsmd1.getcolumnname(1); String suggestedtitle1 = rsmd1.getcolumnlabel(1); int columnsqltype1 = rsmd1.getcolumntype(1); String columndbtype1 = rsmd1.getcolumntypename(1); Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-42

43 Änderungsoperationen mit JDBC DDL- und DML-Operationen mittels executeupdate liefert Anzahl der betroffenen Zeilen (für DML-Operationen) Liefert 0 für DDL-Operationen Statement stmt = con.createstatement(); int rows = stmt.executeupdate( "UPDATE Album " + "SET Preis = Preis * 0.9 " + "WHERE ANr = 1014"); Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-43

44 JDBC Fehlerbehandlung Fehlerbehandlung mittels Exception-Mechanismus SQLException für alle SQL- und DBMS-Fehler try { // Aufruf von JDBC-Methoden... } catch (SQLException exc) { System.out.println("SQLException: "+ exc.getmessage()); } Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-44

45 JDBC: Manuelle Ressourcenfreigabe! Ressourcen von JDBC Objekten manuell freigeben! - ResultSet - Statement - Connection Connection con = DriverManager.getConnection(<url>,<userId>,<password>); Statement sta = conn.createstatement(); ResultSet rs = sta.executequery(<sql>); /* result set verarbeitung*/ ss.close(); sta.close(); con.close(); Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-45

46 JDBC Transaktionssteuerung Methoden von Connection commit() rollback() Auto-Commit-Modus implizites Commit nach jeder Anweisung Transaktion besteht nur aus einer Anweisung Umschalten mittels setautocommit(boolean) Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-46

47 OCI8, ADOdb zur DBMS-Anbindung von PHP Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-47

48 PHP Einführung Einbindung von Code in HTML über Pseudo-Tags <?php Quelltext?> <H1> <?php print( Hello World. );?> </H1> <H1> Hello World. </H1> Web-Server Web-Browser Sprachüberblick Variablen mit $ eingeleitet Datentypen integer, double, string, boolean, array, object Operatoren Kontrollstrukturen if, switch, while, do, for, foreach Funktionen function Name (Parameter) {Anweisungen} Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-48

49 PHP Datenbankschnittstellen Weitreichende Datenbankunterstützung Ausschnitt unterstützter DBS (jeweils eine Funktionsbibliothek) - MySQL, Oracle, DB2 - ODBC, Schrittweiser Datenbankzugriff 1. Aufbau einer DB-Verbindung 2. Senden eines SQL-Statements 3. Verarbeiten der Ergebnisse 4. Abbau der DB-Verbindung Datenbankabstraktion z.b. mit ADOdb durch - Automatische Verbindungsaufnahme - Speicherung der Zugriffsparameter - Verbergen der datenbankspezifischen Eigenschaften Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-49

50 OCI8 als Oracle Schnittstelle Properitäre API (funktioniert nur für ORACLE) Einkompilierung in Apache-PHP Module -./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib Schnelle Erfolge für einfache Web-Applikationen Umfangreiche Dokumentation: Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-50

51 PHP Datenbankzugriff mit OCI8 <?php $connection = 0; $connection = ocilogon($user, $pass, $host) or die; if ($connection) { $query = "SELECT name, firstname FROM users"; $stmt = OCIParse($connection, $query) or die; OCIExecute($stmt); print("<table>"); while(ocifetch($stmt)) { $data1 = trim(ociresult($stmt, 0)); $data2 = trim(ociresult($stmt, 1)); print("<tr><td>$data1</td><td>$data2</td><td></td></tr>"); } print("</table>"); OCIFreeStatement($stmt); } OCILogoff($connection);?> Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-51

52 PHP Datenbankzugriff mit ADOdb <?php include("/inc/adodb.inc.php"); $db = &ADONewConnection("oracle"); $db->connect("localhost","user","passwd","db"); $result = $db->execute("select name, firstname FROM users"); print("<table>"); if ($result) while ($data = $result->fetchrow()) print("<tr><td>$data[0]</td><td>$data[1]</td><td></td></tr>"); print("</table>"); $result->close(); $db->close();?> Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-52

53 PHP Fazit Einfach und leicht erlernbar Plattformunabhängig Zuverlässige Zusammenarbeit mit Apache Web-Server Umfangreiche Funktionsbibliothek, z.b. DB, XML, PDF, Grafiken Verwaltung von Benutzersitzungen durch Session- Unterstützung Nachteil unzureichende Trennung von Präsentation und Code Vielzahl und Unübersichtlichkeit verfügbarer Module Performance nimmt mit zunehmender Komplexität schnell ab Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-53

54 Zusammenfassung JDBC API als Teil des JAVA-JDK API Interfaces durch Treiber Implementiert -> DBMS spezifisch Cursor-Konzept, ResultSet Datentypabbildungen Einführung PHP - Sprache für WebAnwendungen - Datenbankkopplung über ADOdb und ORACLE OCI8 Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-54

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle M. Lange, S. Weise Folie #10-1

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

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Sichten II logische Datenunabhängigkeit (Sichten stabil bei Änderungen der Datenbankstruktur) Beschränkung von Zugriffen (Datenschutz) Definition

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

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines

Mehr

Datenbankzugriff mit JDBC

Datenbankzugriff mit JDBC Java: Kapitel 8 Datenbankzugriff mit JDBC Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 8 Einführung in SQL und JDBC Verbindung zur Datenbank

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

Datenbankanwendungen (JDBC)

Datenbankanwendungen (JDBC) Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau

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

DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren

DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren DB-Programmierung Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele static SQL verstehen Build-Prozess / Art des Datenzugriffs Host-Variablen Vor- / Nachteile dynamic SQL verstehen

Mehr

10. Anwendungsprogrammierung. Client-Server-Architektur

10. Anwendungsprogrammierung. Client-Server-Architektur 10. Anwendungsprogrammierung Client-Server-Architektur Anbindung von Programmiersprachen Call-Level-Schnittstellen: SQL/CLI, JDBC Einbettung: Embedded SQL, SQLJ Gespeicherte Prozeduren Prozedurale Erweiterungen:

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

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

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

Programmieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011.

Programmieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Datenbanken SQL-Grundlagen JDBC SQL-Constraints 2 / 26 Relationale Datenbanken Ein Datenbanksystem ist ein System zur

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Sommersemester 2011 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 10. Java: Datenhaltung mit Datenbanken 1 Datenbank-Programme Derby (Hersteller: Apache

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL als Anfrage- und Datenmanipulationssprache (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL als DQL und DML M. Lange, S. Weise Folie #8-1 Themen

Mehr

Datenbanken 1 für Mediennformatiker WS 06. 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme

Datenbanken 1 für Mediennformatiker WS 06. 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme Datenbanken 1 für Mediennformatiker WS 06 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme Der letzte Schritt Diese grafische Oberfläche mit der Ebay-Datenbank verbinden... Anwendungen

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken http://galahad.informatik.fh-kl.de/~miesel/index.html PHP -1 Gliederung Einführung PHP3 Datenbankanbindung mit PHP3 Sicherheitsprobleme Realisierung mit PHP3 Probleme

Mehr

Datenbankprogrammierung 2

Datenbankprogrammierung 2 Datenbankprogrammierung 2 JDBC Java Database Connectivity Call Level Interface Schnittstelle zwischen DBMS und Applikation JDBC API ist seit JDK1.1 inkludiert Ermöglicht Zugriff aus Java-Applikationen

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

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

Zugriff auf die Datenbank. Ulf Leser Wissensmanagement in der Bioinformatik

Zugriff auf die Datenbank. Ulf Leser Wissensmanagement in der Bioinformatik Zugriff auf die Datenbank Ulf Leser Wissensmanagement in der Bioinformatik Wie komme ich an die Datenbank? Alternativen Alles in Java machen JDBC Treiber von Oracle herunterladen Java programmieren Java-basierte

Mehr

Übung: Data Warehousing und Data Mining

Übung: Data Warehousing und Data Mining Übung: Data Warehousing und Data Mining Sebastian Wandelt 20. Oktober 2011 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Kurze Einführung JDBC PL/SQL 1. Aufgabenblatt Ablauf des Semesters

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

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

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Vorlesung Datenbankmanagementsysteme. Vorlesung Datenbankmanagementsysteme Überblick M. Lange, S. Weise Folie #0-1

Vorlesung Datenbankmanagementsysteme. Vorlesung Datenbankmanagementsysteme Überblick M. Lange, S. Weise Folie #0-1 Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Überblick M. Lange, S. Weise Folie #0-1 Vorlesung Datenbankmanagementsysteme Überblick M. Lange, S. Weise Folie #0-2 Bioinformatik:

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Institut für Programmstrukturen und Datenorganisation (IPD) Kommunikation und Datenhaltung Datenbankanwendungsentwicklung Institut für Programmstrukturen und Datenorganisation (IPD) Überblick über den

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

Datenbank Anbindung. Arthur Zaczek. Nov 2014

Datenbank Anbindung. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Datenbank Anbindung 1.1 Übersicht Datenbankanbindung mit JDBC und ADO.NET. 1.2.NET ADO.NET Kein Treiberkonzept. Jede Datenbank hat eigenes Set an Klassen. Meistens wird für nur

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Java und Datenbanken Ein Überblick

Java und Datenbanken Ein Überblick Java und Datenbanken Ein Überblick Benjamin Lietzau & Philipp Meyer Sommersemester 2011 1 Themenüberblick 29.03.11 - Benjamin Lietzau & Philipp Meyer - Java und Datenbanken 2 Themenüberblick 1. Einführung

Mehr

Datenbankzugriff mit JDBC

Datenbankzugriff mit JDBC Datenbankzugriff mit JDBC Praktikum aus Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Datenbankzugriff mit JDBC HSQLDB Installation und Anwendung JDBC Grundlagen, DriverManager, Connection, Java

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

Vorlesung Datenbanken

Vorlesung Datenbanken Vorlesung Datenbanken Kapitel 6 Institut für Informatik 2 Überblick Assertions Trigger und Regeln Zugriffsrechte 3 Zugriffsrechte und Integritätsbedingungen Zugriffsrechte gewährleisten, dass nur autorisierte

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

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

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

JDBC. Allgemeines ODBC. java.sql. Beispiele

JDBC. Allgemeines ODBC. java.sql. Beispiele JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet

Mehr

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac.

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac. Datenbanksysteme Dominic Pacher Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck dbis-informatik.uibk.ac.at 1 Übersicht Was passiert in den kommenden 90 Minuten?

Mehr

Entwicklung von Web-Anwendungen mit JAVA EE

Entwicklung von Web-Anwendungen mit JAVA EE Entwicklung von Web-Anwendungen mit JAVA EE Grundlagen: Datenbankprogrammierung Literatur T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser, 2007 DB-Programmierung-2 Einbettungstechniken Einbettung in

Mehr

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL

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

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

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

Mehr

Interaktive Webseiten mit PHP und MySQL

Interaktive Webseiten mit PHP und MySQL Interaktive Webseiten mit PHP und Vorlesung 4: PHP & Sommersemester 2003 Martin Ellermann Heiko Holtkamp Sommersemester 2001 Hier noch ein wenig zu (My)SQL: SHOW INSERT SELECT ORDER BY GROUP BY LIKE /

Mehr

Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können!

Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! Datenbanken: Standard CLI und JDBC Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! (Endanwendern ist nicht zuzumuten, SQL zu lernen

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

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

Hauptschritte einer JDBC-App

Hauptschritte einer JDBC-App JDBC Java DataBase Connectivity Sammlung von Klassen und Interfaces zur Arbeit mit Datenbanken auf Basis von SQL Package java.sql Datenbankmanagementsystem und eine oder mehrere Datenbanken Jdbc Driver,

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

Java-Datenbankzugriff mit JDBC

Java-Datenbankzugriff mit JDBC Java-Datenbankzugriff mit JDBC Vorlesungsmaterial zu JDBC von Prof. Dr. Stefan Böttcher Inhaltsverzeichnis: 1. Praktische Hinweise zum Arbeiten mit JDBC, ODBC und dem Datenbanksystem 2. Übungsaufgaben

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Übersicht der (kommenden) Vorlesungen ˆ Embedded SQL (in Java und C++) ˆ Stored Procedures

Mehr

SQL-Anweisungen. SELECT (SQL Data Query Language)

SQL-Anweisungen. SELECT (SQL Data Query Language) SQL-Anweisungen SELECT (SQL Data Query Language) SELECT * SELECT * FROM "meine Tabelle"; SELECT feldname1, feldname2 SELECT feldname1, feldname2 FROM meinetabelle ORDER BY feldname2, feldname1 DESC; WHERE

Mehr

Advanced SQL verstehen und einsetzen 10.06.2009. SQL-Implementierungen kennen und bewerten

Advanced SQL verstehen und einsetzen 10.06.2009. SQL-Implementierungen kennen und bewerten 1/47 PHP-User-Group Stuttgart 10.06.2009 Aktuelle Datenbank-Features verstehen und nutzen SQL-Power aktivieren anstatt Arrays sortieren Valide Daten garantieren und performante DB-Zugriffe sicherstellen

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

Struktur von PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle. Ein Beispiel. Bildschirmausgabe. Using Oracle PL/SQL.

Struktur von PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle. Ein Beispiel. Bildschirmausgabe. Using Oracle PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle Struktur von PL/SQL Using Oracle PL/SQL http://www-db.stanford.edu/~ullman/fcdb/oracle/or-plsql.html Constraints and Triggers http://www-db.stanford.edu/~ullman/fcdb/oracle/or-triggers.html

Mehr

Einführung in PHP 5 und IBM DB2

Einführung in PHP 5 und IBM DB2 Einführung in PHP 5 und IBM DB2 Webapplikationen mit PHP 5.2 und IBM DB2 PHP Conference 2006-08.11.2006 Themenübersicht PHP 5.2 und Datenbanken PDO Warum IBM DB2? PHP und IBM DB2 Installation / Konfiguration

Mehr

A Generic Database Web Service for the Venice Lightweight Service Grid

A Generic Database Web Service for the Venice Lightweight Service Grid A Generic Database Web Service for the Venice Lightweight Service Grid Michael Koch Bachelorarbeit Michael Koch University of Kaiserslautern, Germany Integrated Communication Systems Lab Email: m_koch2@cs.uni-kl.de

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

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht Dipl. Inf. Eric Winter Entwicklungsleiter PTC GPS-Services GmbH PostgreSQLals HugeData Storage Ein Erfahrungsbericht Inhalt 1. Problembeschreibung 2. Partielle Indexierung 3. Partitionierung 1. Vererbung

Mehr

Tag 5 Inhaltsverzeichnis

Tag 5 Inhaltsverzeichnis Tag 5 Inhaltsverzeichnis ODBC / JDBC: Ziel und Prinzip JDBC Überblick Erstes Beispiel Queries (Execute- und UpdateQuery) Der Typ "ResultSet" Diverses Metadata PreparedStatement Transaktionen und Batches

Mehr

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 7. 5. 2014 Kennnr. Matrikelnr.

Mehr

PL/SQL Einführung 1.2.066 / 4053 1-1

PL/SQL Einführung 1.2.066 / 4053 1-1 1 PL/SQL Einführung 1.1 Einleitung... 1-4 1.2 Funktionsweise von PL/SQL... 1-6 1.3 Initialisierungsparameter in ORACLE 10g... 1-8 1.4 PL/SQL-Blockstruktur... 1-14 1.5 Arten von PL/SQL-Programmkonstrukten...

Mehr

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

SQL und Java. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 5 SQL und Java Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester 2007/08

Mehr

Object Relational Mapping Layer

Object Relational Mapping Layer Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung

Mehr

Übungen. DI (FH) Levent Öztürk

Übungen. DI (FH) Levent Öztürk Übungen DI (FH) Levent Öztürk Übersicht Entwicklungsumgebung PHPMYADMIN Datenbank anlegen User anlegen Tabellen Anlegen Datenbankzugriffe über PHP 01.04.2014 DI (FH) Levent Öztürk 2 Entwicklungsumgebung

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

SQLJ SQLJ. SQL-Klauseln. Embedded SQL für Java. Einbettungsprinzip. Host-Variablen. SQLJ ist in 3 Teile gegliedert: Stefan Böttcher Sven Groppe

SQLJ SQLJ. SQL-Klauseln. Embedded SQL für Java. Einbettungsprinzip. Host-Variablen. SQLJ ist in 3 Teile gegliedert: Stefan Böttcher Sven Groppe Datenbanken und Informationsysteme I Stefan Böttcher Sven Groppe Universität Paderborn ist in 3 Teile gegliedert: Part 0: Embedded SQL für Java ANSI-Standard Baut auf die JDBC API auf Part 1: Java Stored

Mehr

1001 Möglichkeiten eine Staging Area zu füllen. Sven Bosinger its-people GmbH

1001 Möglichkeiten eine Staging Area zu füllen. Sven Bosinger its-people GmbH Ausgangslage Szenarien Populate the Stage - 1001 Möglichkeiten eine Staging Area zu füllen Sven Bosinger its-people GmbH 1 Sven Bosinger Solution Architect BI und Portfoliomanagement BI its-people GmbH

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

Performance Tuning mit @enterprise

Performance Tuning mit @enterprise @enterprise Kunden-Forum 2005 Performance Tuning mit @enterprise Herbert Groiss Groiss Informatics GmbH, 2005 Inhalt Datenbank RMI JAVA API HTTP Konfiguration Analyse Groiss Informatics GmbH, 2005 2 Datenbank

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

ODBC/JDBC. Vortrag im Rahmen der Projektgruppe Intelligente Datenbanken Prof. Dr. Manthey SS2003. Von. Margret Claaßen

ODBC/JDBC. Vortrag im Rahmen der Projektgruppe Intelligente Datenbanken Prof. Dr. Manthey SS2003. Von. Margret Claaßen ODBC/JDBC Vortrag im Rahmen der Projektgruppe Intelligente Datenbanken Prof. Dr. Manthey SS2003 Von Margret Claaßen 1 Einleitung SQL wurde speziell als Anfrage- und Manipulationssprache für relationale

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

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

SQL, MySQL und FileMaker

SQL, MySQL und FileMaker SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer Was ist SQL? «Structured Query Language» Sprache

Mehr

IBM Informix SQL. Seminarunterlage. Version 11.04 vom

IBM Informix SQL. Seminarunterlage. Version 11.04 vom Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

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

Datenbanksysteme 2015

Datenbanksysteme 2015 Datenbanksysteme 2015 noch Kapitel 09: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen MS Visio MS Access Embedded SQL im C-Programm JDBC /

Mehr

Themenblock: Erstellung eines Cube

Themenblock: Erstellung eines Cube Themenblock: Erstellung eines Cube Praktikum: Data Warehousing und Data Mining Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Idee Speicherung der Daten in Form von Tabellen

Mehr

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen Architekturen ƒ Datenbankanwendungen Aufgaben und Komponenten Aufteilung ƒ Architektur Web-basierter Anwendungen HTTP-basierte Architekturen Applet-basierte Architekturen Vorlesung Internet-Datenbanken

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

Kuriositäten in der Oracle-Datenbank

Kuriositäten in der Oracle-Datenbank Kuriositäten in der Oracle-Datenbank 19. Deutsche ORACLE-Anwenderkonferenz Do. 16.11., 14.00 Uhr, Variohalle 1 Dr. Peter Alteheld, Systemberater MT AG, Bereich Solutions Development, FB Plattform Services

Mehr

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL . Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL Johannes Gritsch Themenübersicht Neue Scheduler Job Typen SQL_SCRIPT und BACKUP_SCRIPT SQL RowLimit: PERCENT und TIES WITH-Klausel mit

Mehr

SQL. Abfragesprache Datenmanipulation - DML

SQL. Abfragesprache Datenmanipulation - DML SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Python und CGI CGI und Perl-1 Gliederung Die Programmiersprache Python CGI in Python Datenbankanbindung Umsetzungskonzepte Zusammenfassung Realisierung Python und CGI-2

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

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

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs Betrifft Art der Info Quelle WHERE Klausel Generierung mit.net und Oracle Technical Info Aus unserer Projekterfahrung und Architektur-Kurs Where ist the WHERE? Der Artikel untersucht die Möglichkeiten,

Mehr

Objekt-relationales Mapping und Performance-Tuning

Objekt-relationales Mapping und Performance-Tuning Objekt-relationales Mapping und Performance-Tuning Thomas Krüger tkrueger@vanatec.com Agenda Wege um Daten zu lesen Wege um Daten zu modellieren Wege um Datenbanken effizient zu nutzen 2 2 Wege, Daten

Mehr

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen?

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen? Betrifft Autor Oracle und.net im n-tier Umfeld Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (April 2003) Quelle Aus unserer Projekterfahrung Einführung Oracle und.net sind ein populäres

Mehr

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten CGI einfach PHP Dynamik bis zur DB-Interaktion 1 CGI Möglichkeiten Das Common Gateway Interface (CGI) ermöglicht den Entwurf von interaktiven, benutzergesteuerten Web-Applikationen. Der WWW-Server ruft

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr