Datenbanken SQL-Grundlagen JDBC SQL-Constraints. Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Größe: px
Ab Seite anzeigen:

Download "Datenbanken SQL-Grundlagen JDBC SQL-Constraints. Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011"

Transkript

1 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011

2 1 Datenbanken 2 SQL-Grundlagen 3 JDBC 4 SQL-Constraints

3 Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung von (großen) Datenmengen: effizient, widerspruchsfrei, dauerhaft

4 Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung von (großen) Datenmengen: effizient, widerspruchsfrei, dauerhaft Benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen werden für Benutzer und Anwendungsprogramme bereit gestellt.

5 Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung von (großen) Datenmengen: effizient, widerspruchsfrei, dauerhaft Benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen werden für Benutzer und Anwendungsprogramme bereit gestellt. Hierbei sind relationale Datenbankmanagementsysteme (RDBMS) weit verbreitet.

6 Beispiele für RDBMS JavaDB (ehemals Apache Derby, jetzt in Java integriert)

7 Beispiele für RDBMS JavaDB (ehemals Apache Derby, jetzt in Java integriert) Oracle (kommerziell)

8 Beispiele für RDBMS JavaDB (ehemals Apache Derby, jetzt in Java integriert) Oracle (kommerziell) DB 2 (IBM, kommerziell)

9 Beispiele für RDBMS JavaDB (ehemals Apache Derby, jetzt in Java integriert) Oracle (kommerziell) DB 2 (IBM, kommerziell) MySQL (Open Source, Oracle)

10 Beispiele für RDBMS JavaDB (ehemals Apache Derby, jetzt in Java integriert) Oracle (kommerziell) DB 2 (IBM, kommerziell) MySQL (Open Source, Oracle) PostgreSQL (Open Source)

11 Beispiele für RDBMS JavaDB (ehemals Apache Derby, jetzt in Java integriert) Oracle (kommerziell) DB 2 (IBM, kommerziell) MySQL (Open Source, Oracle) PostgreSQL (Open Source) MS SQL-Server (Microsoft, kommerziell)

12 Beispiele für RDBMS JavaDB (ehemals Apache Derby, jetzt in Java integriert) Oracle (kommerziell) DB 2 (IBM, kommerziell) MySQL (Open Source, Oracle) PostgreSQL (Open Source) MS SQL-Server (Microsoft, kommerziell) Access (kommerziell, Teil von Microsoft Office)

13 Beispiele für RDBMS JavaDB (ehemals Apache Derby, jetzt in Java integriert) Oracle (kommerziell) DB 2 (IBM, kommerziell) MySQL (Open Source, Oracle) PostgreSQL (Open Source) MS SQL-Server (Microsoft, kommerziell) Access (kommerziell, Teil von Microsoft Office) HSQLDB (Open Source)

14 Organisation von RDBMS Eine relationale Datenbank ist eine eine Sammlung von Tabellen (Relationen), in welchen Datensätze abgespeichert sind.

15 Organisation von RDBMS Eine relationale Datenbank ist eine eine Sammlung von Tabellen (Relationen), in welchen Datensätze abgespeichert sind. Jeder Datensatz (record) ist eine Zeile (Tupel) in einer Tabelle. Jedes Tupel besteht aus einer Menge von Attributwerten, den Spalten der Tabelle.

16 Organisation von RDBMS Eine relationale Datenbank ist eine eine Sammlung von Tabellen (Relationen), in welchen Datensätze abgespeichert sind. Jeder Datensatz (record) ist eine Zeile (Tupel) in einer Tabelle. Jedes Tupel besteht aus einer Menge von Attributwerten, den Spalten der Tabelle. In praktischen Anwendungen besteht eine Datenbank aus mehreren Relationen, die miteinander verknüpft sind.

17 Schaubild Quelle: Wikipedia

18 Eigenschaften von Datenbanken Moderne Datenbanken arbeiten in einem Transaktionsmodell, das die mit dem Acronym ACID beschriebenen Eigenschaften erfüllt:

19 Eigenschaften von Datenbanken Moderne Datenbanken arbeiten in einem Transaktionsmodell, das die mit dem Acronym ACID beschriebenen Eigenschaften erfüllt: Atomarität (atomicity) Eine Aktion wird entweder ganz oder gar nicht durchgeführt. Nicht zu Ende geführte Aktionen erzwingen automatisch einen Rollback Zustand vor Start der Aktion.

20 Eigenschaften von Datenbanken Moderne Datenbanken arbeiten in einem Transaktionsmodell, das die mit dem Acronym ACID beschriebenen Eigenschaften erfüllt: Atomarität (atomicity) Eine Aktion wird entweder ganz oder gar nicht durchgeführt. Nicht zu Ende geführte Aktionen erzwingen automatisch einen Rollback Zustand vor Start der Aktion. Konsistenz (consistency) Jede Transaktion hinterlässt die Datenbank in einem konstistenten Zustand.

21 Eigenschaften von Datenbanken Moderne Datenbanken arbeiten in einem Transaktionsmodell, das die mit dem Acronym ACID beschriebenen Eigenschaften erfüllt: Atomarität (atomicity) Eine Aktion wird entweder ganz oder gar nicht durchgeführt. Nicht zu Ende geführte Aktionen erzwingen automatisch einen Rollback Zustand vor Start der Aktion. Konsistenz (consistency) Jede Transaktion hinterlässt die Datenbank in einem konstistenten Zustand. Isolation Transaktionen beeinflussen sich gegenseitig nicht!

22 Eigenschaften von Datenbanken Moderne Datenbanken arbeiten in einem Transaktionsmodell, das die mit dem Acronym ACID beschriebenen Eigenschaften erfüllt: Atomarität (atomicity) Eine Aktion wird entweder ganz oder gar nicht durchgeführt. Nicht zu Ende geführte Aktionen erzwingen automatisch einen Rollback Zustand vor Start der Aktion. Konsistenz (consistency) Jede Transaktion hinterlässt die Datenbank in einem konstistenten Zustand. Isolation Transaktionen beeinflussen sich gegenseitig nicht! Dauerhaftigkeit (durability) Transaktionen sind nach Abschluss dauerhaft, auch bei Systemabstürzen.

23 SQL Die meisten RDBMS werden über SQL (structured query language) gesteuert.

24 SQL Die meisten RDBMS werden über SQL (structured query language) gesteuert. Die Funktionalität geht hierbei über den Namen hinaus: Erzeugen/Entfernen von Tabellen,

25 SQL Die meisten RDBMS werden über SQL (structured query language) gesteuert. Die Funktionalität geht hierbei über den Namen hinaus: Erzeugen/Entfernen von Tabellen, Einfügen, Ändern, Löschen von Datensätzen,

26 SQL Die meisten RDBMS werden über SQL (structured query language) gesteuert. Die Funktionalität geht hierbei über den Namen hinaus: Erzeugen/Entfernen von Tabellen, Einfügen, Ändern, Löschen von Datensätzen, Abfragen von Datensätzen

27 SQL Die meisten RDBMS werden über SQL (structured query language) gesteuert. Die Funktionalität geht hierbei über den Namen hinaus: Erzeugen/Entfernen von Tabellen, Einfügen, Ändern, Löschen von Datensätzen, Abfragen von Datensätzen Definition von Indizes, Constraints,...

28 SQL Die meisten RDBMS werden über SQL (structured query language) gesteuert. Die Funktionalität geht hierbei über den Namen hinaus: Erzeugen/Entfernen von Tabellen, Einfügen, Ändern, Löschen von Datensätzen, Abfragen von Datensätzen Definition von Indizes, Constraints,...

29 SQL Die meisten RDBMS werden über SQL (structured query language) gesteuert. Die Funktionalität geht hierbei über den Namen hinaus: Erzeugen/Entfernen von Tabellen, Einfügen, Ändern, Löschen von Datensätzen, Abfragen von Datensätzen Definition von Indizes, Constraints,... Leider verwenden die einzelnen RDBMS leicht unterschiedliche SQL-Dialekte.

30 Wichtige SQL-Befehle CREATE TABLE <table> <columns> Erzeugt eine neue Tabelle mit den angegebenen Spaltendefinitionen.

31 Wichtige SQL-Befehle CREATE TABLE <table> <columns> Erzeugt eine neue Tabelle mit den angegebenen Spaltendefinitionen. INSERT INTO <table> (<columns>) values (<values>) Fügt einen neuen Datensatz in die angebene Tabelle ein.

32 Wichtige SQL-Befehle CREATE TABLE <table> <columns> Erzeugt eine neue Tabelle mit den angegebenen Spaltendefinitionen. INSERT INTO <table> (<columns>) values (<values>) Fügt einen neuen Datensatz in die angebene Tabelle ein. UPDATE <table> SET <column>=<value> where <constraint> ändert in den vorhandenen, über die Bedingung ausgewählten Datensätzen die angegebene(n) Spalte(n).

33 Wichtige SQL-Befehle CREATE TABLE <table> <columns> Erzeugt eine neue Tabelle mit den angegebenen Spaltendefinitionen. INSERT INTO <table> (<columns>) values (<values>) Fügt einen neuen Datensatz in die angebene Tabelle ein. UPDATE <table> SET <column>=<value> where <constraint> ändert in den vorhandenen, über die Bedingung ausgewählten Datensätzen die angegebene(n) Spalte(n). DELETE FROM <table> where <constraint> entfernt die betreffenden Datensätze.

34 Wichtige SQL-Befehle CREATE TABLE <table> <columns> Erzeugt eine neue Tabelle mit den angegebenen Spaltendefinitionen. INSERT INTO <table> (<columns>) values (<values>) Fügt einen neuen Datensatz in die angebene Tabelle ein. UPDATE <table> SET <column>=<value> where <constraint> ändert in den vorhandenen, über die Bedingung ausgewählten Datensätzen die angegebene(n) Spalte(n). DELETE FROM <table> where <constraint> entfernt die betreffenden Datensätze. SELECT <column> FROM <table> fragt Datensätze ab, optional eingeschränkt mit WHERE <constraint> und geordnet gemäß ORDER BY <column>

35 Beispieltabelle Im folgenden Abschnitt wird eine einfache Beispieltabelle für Java-Anwendungen benutzt: CREATE TABLE person ( nachname varchar ( 4 0) NOT NULL, vorname varchar ( 4 0) NOT NULL, firma varchar (20) )

36 Datenbank-Konnektierung in Java Eine Standardmethode zur Konnektierung mit RDBMS in Java stellt dar. JDBC (Java Database Connectivity)

37 Datenbank-Konnektierung in Java Eine Standardmethode zur Konnektierung mit RDBMS in Java stellt dar. JDBC (Java Database Connectivity) JDBC stellt hierbei eine standardisierte Zugriffs-Schnittstelle dar, über die auf eine Vielzahl von RDBMS zugegriffen werden kann. Hiermit entspricht JDBC in etwa ODBC für Windowsanwendungen und DBI für Perl.

38 Grundsätzliches Vorgehen Für ein erfolgreiches Arbeiten mit einer Datenbank über JDBC sind folgende Schritte notwendig: 1 Datenbanktreiber laden Dieser sorgt für die Anbindung an die eigentliche Datenbank.

39 Grundsätzliches Vorgehen Für ein erfolgreiches Arbeiten mit einer Datenbank über JDBC sind folgende Schritte notwendig: 1 Datenbanktreiber laden Dieser sorgt für die Anbindung an die eigentliche Datenbank. 2 Connection-Objekt erzeugen Hiebei sind i. A. Typ, Name der Datenbank und Username, Passwort notwendig.

40 Grundsätzliches Vorgehen Für ein erfolgreiches Arbeiten mit einer Datenbank über JDBC sind folgende Schritte notwendig: 1 Datenbanktreiber laden Dieser sorgt für die Anbindung an die eigentliche Datenbank. 2 Connection-Objekt erzeugen Hiebei sind i. A. Typ, Name der Datenbank und Username, Passwort notwendig. 3 Einen SQL-Befehl über ein Statement absetzen.

41 Grundsätzliches Vorgehen Für ein erfolgreiches Arbeiten mit einer Datenbank über JDBC sind folgende Schritte notwendig: 1 Datenbanktreiber laden Dieser sorgt für die Anbindung an die eigentliche Datenbank. 2 Connection-Objekt erzeugen Hiebei sind i. A. Typ, Name der Datenbank und Username, Passwort notwendig. 3 Einen SQL-Befehl über ein Statement absetzen. 4 Gegebenenfalls den ResultSet auswerten.

42 Beispiel: Mit der Datenbank verbinden import java. s q l. * ; p u b l i c c l a s s Main { p u b l i c s t a t i c void main ( S t r i n g [ ] args ) { try { Class. forname ( " org. hsqldb. jdbcdriver " ) ; } catch ( ClassNotFoundException e ) { System. e x i t ( 1 ) ; } } } try { Connection con = DriverManager. getconnection ( " jdbc : hsqldb : f i l e : data /mydb ; shutdown=true ", "SA",... con. c l o s e ( ) ; } catch ( SQLException e ) { e. printstacktrace ( ) ; }

43 Analyse Im vorigen Beispiel soll eine HSQLDB-Datenbank konnektiert werden. Hierzu muss zunächst der JDBC-Treiber für HSQLDB geladen werden. Dies geschieht mit dem Befehl Class.forName("org.hsqldb.jdbcDriver"), der die entsprechende Klasse sucht und in die Laufzeitumgebung lädt.

44 Analyse Im vorigen Beispiel soll eine HSQLDB-Datenbank konnektiert werden. Hierzu muss zunächst der JDBC-Treiber für HSQLDB geladen werden. Dies geschieht mit dem Befehl Class.forName("org.hsqldb.jdbcDriver"), der die entsprechende Klasse sucht und in die Laufzeitumgebung lädt. Dafür muss sich die Datei hsqldb.jar im CLASSPATH befinden.

45 Analyse Im vorigen Beispiel soll eine HSQLDB-Datenbank konnektiert werden. Hierzu muss zunächst der JDBC-Treiber für HSQLDB geladen werden. Dies geschieht mit dem Befehl Class.forName("org.hsqldb.jdbcDriver"), der die entsprechende Klasse sucht und in die Laufzeitumgebung lädt. Dafür muss sich die Datei hsqldb.jar im CLASSPATH befinden. Danach wird das Connection-Objekt erzeugt: DriverManager.getConnection("jdbc:hsqldb:le:mydb", user, passwd) (die Syntax zur Angabe von Server und Name der Datenbank variiert leider zwischen den Treibern).

46 Liste von JDBC-Treibern DB JavaDB HSQLDB MySQL PostgreSQL JDBC-Treiber org.apache.derby.jdbc.embeddeddriver org.hsqldb.jdbc.driver com.mysql.jdbc.driver org.postgresql.driver

47 Einfügen eines Datensatzes Im Folgenden wird nun nach Aufbau der Verbindung ein Datensatz in die Tabelle eingefügt: Statement s t = con. createstatement ( ) ; s t. executeupdate ( " i n s e r t i n t o person ( nachname, vorname, firma ) v alues ( ' Meier ', ' Kurt ', ' GSI ' ) " ) ; s t. c l o s e ( ) ;

48 Einfügen eines Datensatzes Im Folgenden wird nun nach Aufbau der Verbindung ein Datensatz in die Tabelle eingefügt: Statement s t = con. createstatement ( ) ; s t. executeupdate ( " i n s e r t i n t o person ( nachname, vorname, firma ) v alues ( ' Meier ', ' Kurt ', ' GSI ' ) " ) ; s t. c l o s e ( ) ; Hierzu wird ein Statement-Objekt erzeugt. Dessen Methode executeupdate(...) darf die Befehle INSERT, UPDATE, und DELETE enthalten.

49 Abfragen von Datensätzen Nun werden die Datensätze und zeilenweise ausgegeben: Statement s t = con. createstatement ( ) ; ResultSet r s = s t. executequery ( " s e l e c t * from person " ) ; ResultSetMetaData meta = r s. getmetadata ( ) ; while ( r s. next ( ) ) { System. out. p r i n t l n ( " Z e i l e : "+r s. getrow ( ) ) ; f o r ( i n t i =1; i<=meta. getcolumncount ( ) ; i++) { System. out. p r i n t l n ( " Spalte "+meta. getcolumnlabel ( i ) +" : "+r s. g e t S t r i n g ( i ) ) ; } } r s. c l o s e ( ) ; s t. c l o s e ( ) ;

50 Analyse Die Methode executequery dient Abfragen, die einen ResultSet zurück geben.

51 Analyse Die Methode executequery dient Abfragen, die einen ResultSet zurück geben. Hierbei sind über die Methode getmetadata() die Metadaten des ResultSet zugänglich (insbes. Spaltenzahl und -namen).

52 Analyse Die Methode executequery dient Abfragen, die einen ResultSet zurück geben. Hierbei sind über die Methode getmetadata() die Metadaten des ResultSet zugänglich (insbes. Spaltenzahl und -namen). Über den ResultSet kann iteriert werden, solange rs. next() wahr ist.

53 Analyse Die Methode executequery dient Abfragen, die einen ResultSet zurück geben. Hierbei sind über die Methode getmetadata() die Metadaten des ResultSet zugänglich (insbes. Spaltenzahl und -namen). Über den ResultSet kann iteriert werden, solange rs. next() wahr ist. Die Werte zu den einzelnen Spalten sind auf zwei Wege zugänglich:

54 Analyse Die Methode executequery dient Abfragen, die einen ResultSet zurück geben. Hierbei sind über die Methode getmetadata() die Metadaten des ResultSet zugänglich (insbes. Spaltenzahl und -namen). Über den ResultSet kann iteriert werden, solange rs. next() wahr ist. Die Werte zu den einzelnen Spalten sind auf zwei Wege zugänglich: Über die Spaltennr. mit rs. getstring(index),

55 Analyse Die Methode executequery dient Abfragen, die einen ResultSet zurück geben. Hierbei sind über die Methode getmetadata() die Metadaten des ResultSet zugänglich (insbes. Spaltenzahl und -namen). Über den ResultSet kann iteriert werden, solange rs. next() wahr ist. Die Werte zu den einzelnen Spalten sind auf zwei Wege zugänglich: Über die Spaltennr. mit rs. getstring(index), Über den Spaltennamen mit rs. getstring(name),

56 Analyse Die Methode executequery dient Abfragen, die einen ResultSet zurück geben. Hierbei sind über die Methode getmetadata() die Metadaten des ResultSet zugänglich (insbes. Spaltenzahl und -namen). Über den ResultSet kann iteriert werden, solange rs. next() wahr ist. Die Werte zu den einzelnen Spalten sind auf zwei Wege zugänglich: Über die Spaltennr. mit rs. getstring(index), Über den Spaltennamen mit rs. getstring(name), Zeilen- und Spaltennummern beginnen bei 1!

57 Das Interface Connection Das Interface Connection bietet im Wesentlichen folgende Methoden: Statement createstatement() erzeugt ein Statement-Object.

58 Das Interface Connection Das Interface Connection bietet im Wesentlichen folgende Methoden: Statement createstatement() erzeugt ein Statement-Object. void commit() schließt die Transaktion ab.

59 Das Interface Connection Das Interface Connection bietet im Wesentlichen folgende Methoden: Statement createstatement() erzeugt ein Statement-Object. void commit() schließt die Transaktion ab. void rollback() macht alle Aktionen der Transaktion rückgängig.

60 Das Interface Connection Das Interface Connection bietet im Wesentlichen folgende Methoden: Statement createstatement() erzeugt ein Statement-Object. void commit() schließt die Transaktion ab. void rollback() macht alle Aktionen der Transaktion rückgängig. void setautocommit(boolean) bestimmt, ob nach jedem Statement automatisch ein Commit durchgeführt wird.

61 Das Interface Connection Das Interface Connection bietet im Wesentlichen folgende Methoden: Statement createstatement() erzeugt ein Statement-Object. void commit() schließt die Transaktion ab. void rollback() macht alle Aktionen der Transaktion rückgängig. void setautocommit(boolean) bestimmt, ob nach jedem Statement automatisch ein Commit durchgeführt wird. void close() beendet die Verbindung.

62 Das Interface Connection Das Interface Connection bietet im Wesentlichen folgende Methoden: Statement createstatement() erzeugt ein Statement-Object. void commit() schließt die Transaktion ab. void rollback() macht alle Aktionen der Transaktion rückgängig. void setautocommit(boolean) bestimmt, ob nach jedem Statement automatisch ein Commit durchgeführt wird. void close() beendet die Verbindung. PreparedStatement preparestatement(string sql) bereitet eine SQL-Anweisung vor.

63 Das Interface ResultSet Mit den Methoden von ResultSet kann man sich zeilenweise durch die Ergebnisse eines SQL-Statement durcharbeiten. Hierbei sind relative Bewegungen (next() und previous() und absolute Bewegungen ( rst (), last (), absolute( int row)) möglich. Achtung, nicht jeder JDBC-Treiber unterstützt die komplette Funktionalität!

64 Das Interface ResultSet Mit den Methoden von ResultSet kann man sich zeilenweise durch die Ergebnisse eines SQL-Statement durcharbeiten. Hierbei sind relative Bewegungen (next() und previous() und absolute Bewegungen ( rst (), last (), absolute( int row)) möglich. Achtung, nicht jeder JDBC-Treiber unterstützt die komplette Funktionalität! Zum Lesen der Daten stehen die Methode getxxx(int index) und getxxx(string label) zur Verfügung. Diese bilden die SQL-Datentypen auf die Java-Datentypen ab.

65 Datentypen Methode SQL-Typ Java-Typ getint() INTEGER int getlong() BIG INT long getfloat() REAL float getdouble() FLOAT double getboolean() BIT boolean getstring() VARCHAR String getstring() CHAR String getdate() DATE java.sql.date gettime() TIME java.sql.time gettimestamp() TIME STAMP java.sql.timestamp

66 SQL-Constraints Wie im Bereich SQL-Grundlagen schon angedeutet können bestimmte Regeln (Constraints) für die Daten in einer Tabelle erstellt werden. In der Beispieltabelle wurde schon eines dieser Constraints angewendet: NOT NULL Auf den folgenden Folien werden noch einige weitere wichtige Constraints vorgestellt. Die angegebenen Constraints sind Spaltenconstraints, die jeweils an die Spaltendefinition angehängt werden. Daneben gibt es noch Tabellenconstraints, diese werden hier jedoch nicht behandelt.

67 Wichtige SQL-Constraints (1/2) NOT NULL Die Spalte darf nicht NULL sein.

68 Wichtige SQL-Constraints (1/2) NOT NULL Die Spalte darf nicht NULL sein. UNIQUE Ein Wert darf innerhalb der Spalte nicht mehrfach vorkommen.

69 Wichtige SQL-Constraints (1/2) NOT NULL Die Spalte darf nicht NULL sein. UNIQUE Ein Wert darf innerhalb der Spalte nicht mehrfach vorkommen. PRIMARY KEY Definiert einen Primärschlüssel, d.h. das primäre Identifikationsmerkmal eines Datensatzes.

70 Wichtige SQL-Constraints (1/2) NOT NULL Die Spalte darf nicht NULL sein. UNIQUE Ein Wert darf innerhalb der Spalte nicht mehrfach vorkommen. PRIMARY KEY Definiert einen Primärschlüssel, d.h. das primäre Identifikationsmerkmal eines Datensatzes. Oftmals eine Nummer (z.b. Kundennummer in der Tabelle Kunde).

71 Wichtige SQL-Constraints (1/2) NOT NULL Die Spalte darf nicht NULL sein. UNIQUE Ein Wert darf innerhalb der Spalte nicht mehrfach vorkommen. PRIMARY KEY Definiert einen Primärschlüssel, d.h. das primäre Identifikationsmerkmal eines Datensatzes. Oftmals eine Nummer (z.b. Kundennummer in der Tabelle Kunde). Impliziert NOT NULL und UNIQUE

72 Wichtige SQL-Constraints (2/2) REFERENCES <tabelle> (<spalte>) Fremdschlüssel, durch den Werte einer anderen Tabelle referenziert werden. Z.B. ein Auftrag enthält die Kundennummer, durch die auf den entsprechenden Kunden verwiesen wird. Es dürfen nur Werte eingetragen werden, die in der referenzierten Tabelle auch tatsächlich vorkommen. CHECK (expression) Prüft, ob die angegebene Bedingung erfüllt ist (z.b. CHECK (stundenlohn > 8.5))

73 Beispiel (1/2) CREATE TABLE customer ( customer_id INTEGER PRIMARY KEY, company varchar ( 2 0) UNIQUE, contact_ lastname varchar ( 4 0) NOT NULL, contact_ firstname varchar ( 4 0) NOT NULL )

74 Beispiel (2/2) CREATE TABLE o r d e r s ( order_ id INTEGER PRIMARY KEY, customer_id INTEGER REFERENCES customer ( customer_id ), delivery_date DATE, d e s c r i p t i o n CLOB, hourly_ rate FLOAT CHECK( hourly_ rate > 8. 5 ) )

Datenbanken SQL JDBC. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 21

Datenbanken SQL JDBC. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 21 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 21 Datenbanken SQL JDBC 2 / 21 Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung von (großen) Datenmengen:

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

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

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

Client/Server-Programmierung

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

Mehr

Willkommen. Datenbanken und Anbindung

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

Mehr

Java Database Connectivity-API (JDBC)

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

Mehr

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

Java Database Connectivity-API (JDBC)

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

Mehr

Musterlösung Übungsblatt 11

Musterlösung Übungsblatt 11 Julia Wolters Abgabe: 06.07.2009 Aufgabe 41 1 Aufgabe 41 2 3 CREATE TABLE auftraege ( 4 anfang TIMESTAMP NOT NULL, 5 ende TIMESTAMP, 6 kunde VARCHAR, 7 beschreibung VARCHAR, 8 PRIMARY KEY ( anfang, kunde,

Mehr

Java Database Connectivity-API (JDBC)

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

Mehr

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

Einführung in JDBC. IFIS Universität zu Lübeck 18.04.2007

Einführung in JDBC. IFIS Universität zu Lübeck 18.04.2007 Einführung in JDBC IFIS Universität zu Lübeck 18.04.2007 1 Was ist JDBC Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle

Mehr

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen Datenbankentwurf & Datenbankzugriff mit JDBC Georg Köster Sven Wagner-Boysen 6. November 2007 Gliederung 2 Datenbankentwurf für ProminentPeople.info ER-Modell Relationaler Entwurf Normalisierung Datenbankzugriff

Mehr

Webbasierte Informationssysteme

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

Mehr

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

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Aufgabe 2 + 3: Datenbanksysteme I import java.sql.*; import oracle.jdbc.driver.*;

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

Datenbanken (Übung 12)

Datenbanken (Übung 12) Datenbanken (Übung 12) Prof. Dr.-Ing. Norbert Fuhr Dipl.-Inform. Thomas Beckers (tbeckers@is.inf.uni-due.de) Universität Duisburg-Essen Fachgebiet Informationssysteme 1. 2. Februar 2012 Dipl.-Inform. Thomas

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

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

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

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

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

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

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

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

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

Oracle & Java HOW TO

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

Mehr

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

JDBC. Java DataBase Connectivity

JDBC. Java DataBase Connectivity JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1 Andreas Heß Hochschule Furtwangen Inhalte heute Einführung ins Entity-Relationship-Modell Einführung ins relationale Modell Umsetzung vom E/R-

Mehr

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

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

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

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

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

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

Webbasierte Informationssysteme

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

Mehr

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

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

Java Database Connectivity API / JDBC

Java Database Connectivity API / JDBC Java Database Connectivity API / JDBC Motivation Design Treiber Grundlagen Metadaten Transaktionen Exceptions Praktikum aus Softwareentwicklung 2 Markus Löberbauer 1 Motivation Problem: Zugriff auf DBMS

Mehr

Wie kommen die Befehle zum DBMS

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

Mehr

Die Anweisung create table

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

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

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

3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java)

3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java) 3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

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

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

Modifikation der Datenbank

Modifikation der Datenbank Modifikation der Datenbank Löschen Einfügen Änderungen Änderungen von Sichten 71 Löschen Wir haben bereits gesehen, dass wir den gesamten Inhalt einer Tabelle r löschen können durch das Kommando: delete

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

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

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

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

Mehr

Bauinformatik 1. Teil 1 / Übungen. Ernst Baeck. Fachgebiet Statik und Dynamik der Flächentragwerke. 31. Mai 2017

Bauinformatik 1. Teil 1 / Übungen. Ernst Baeck. Fachgebiet Statik und Dynamik der Flächentragwerke. 31. Mai 2017 Bauinformatik 1 Teil 1 / Übungen Ernst Baeck Fachgebiet Statik und Dynamik der Flächentragwerke 31. Mai 2017 E. Baeck (Uni-DUE) Folien-Skript (U) 1 / 19 Datenbankprogrammierung mit VBA, SQL und E. Baeck

Mehr

PHP- Umgang mit Datenbanken (1)

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

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

Mehr

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer DB-Datenbanksysteme DB-13 043-SQL-DML 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

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

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

Mehr

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

Management of Information Systems. Tutorat: Session 3 Einführung in SQL

Management of Information Systems. Tutorat: Session 3 Einführung in SQL Management of Information Systems Tutorat: Session 3 Einführung in SQL 2 Setup 1. XAMPP-Console starten in C:\xampp\ 1. Apache starten bis erscheint 2. MySQL starten bis erscheint 3. An den Rechnern im

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) 4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

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

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

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 Objekt-relationales Mapping 2 Objekt-relationales Mapping Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Objekt-relationales

Mehr

Übersicht. Relationale Datenbanken SQL - Structured Query Language JDBC - Java Datenbank Schnittstelle Beispielanwendung. R. Kopetzky 7.

Übersicht. Relationale Datenbanken SQL - Structured Query Language JDBC - Java Datenbank Schnittstelle Beispielanwendung. R. Kopetzky 7. Informatik Verbund Stuttgart der Universität Stuttgart Tutorium Java Anbindung von Datenbanken mit JDBC (kopetzky@ike.uni-stuttgart.de) Übersicht Relationale Datenbanken SQL - Structured Query Language

Mehr

Folien php/mysql Kurs der Informatikdienste

Folien php/mysql Kurs der Informatikdienste Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

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

Ziel: wie kann man in Java auf Datenbanken zugreifen und Daten manipulieren? dazu brauchen wir:

Ziel: wie kann man in Java auf Datenbanken zugreifen und Daten manipulieren? dazu brauchen wir: Datenbanken - SQL und JDBC Projektseminar Seite 1 Was passiert heute? Ziel: wie kann man in Java auf Datenbanken zugreifen und Daten manipulieren? dazu brauchen wir: Kenntnisse in SQL Kenntnisse von JDBC

Mehr

DB1. DB SQL-DQL 1 Mario Neugebauer

DB1. DB SQL-DQL 1 Mario Neugebauer DB1 DB1-12 041-SQL-DQL 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache - DDL Daten-Manipulations-Sprache

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte

Mehr

Garten - Daten Bank. - survival pack -

Garten - Daten Bank. - survival pack - Garten - Daten Bank - survival pack - Dr. Karsten Tolle PRG2 SS 2017 Inhalt heute Kurz: Motivation und Begriffe SQL (survival pack) create table (Tabelle erzeugen) insert into (Einfügen) select (Anfragen)

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

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

Es geht also um die sogenannte SQL- Data Definition Language.

Es geht also um die sogenannte SQL- Data Definition Language. In diesem Abschnitt werden wir uns die SQL Befehle ansehen, mit denen ein sogenanntes Datenbankschema angelegt, gepflegt und auch wieder gelöscht werden kann. Es geht also um die sogenannte SQL- Data Definition

Mehr

Udo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik

Udo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik Udo Matthias Munz Datenbanken und SQL mit Einführung Informationstechnik Zugriff auf eine Datenbank... 2 ODBC... 2 Eine DSN einrichten... 3 Verbindung zu einer Datenbank... 4 Datenbank... 4 Metadaten der

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

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

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

Java Database Connectivity-API (JDBC)

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

Mehr

Web Technologien Klassische Datenbanken am Beispiel von MySQL

Web Technologien Klassische Datenbanken am Beispiel von MySQL Web Technologien Klassische Datenbanken am Beispiel von MySQL Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00

Mehr

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

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

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Datenbanksysteme I Übung: JDBC. Jana Bauckmann

Datenbanksysteme I Übung: JDBC. Jana Bauckmann Datenbanksysteme I Übung: JDBC Jana Bauckmann Wo reicht SQL alleine nicht? 2 Web-Anwendungen Daten übersichtlich und schön präsentieren Komplizierte Fragestellungen Sind sich 2 Tupel ähnlich? Duplikaterkennung

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr. Praktikum: Datenbanken Woche 9: Wiederholung, Transaktionskonzept,

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr. Praktikum: Datenbanken Woche 9: Wiederholung, Transaktionskonzept, Praktikum: Datenbanken Raum: LF230 Bearbeitung: 20.-22.6. 2005 Datum Gruppe Vorbereitung Präsenz Transaktionen Transaktionen in Datenbanken sind charakterisiert durch die sogenannten ACID-Eigenschaften.

Mehr

MySQL mit MyLinux. boehm@2xp.de. 2/2003 boehm@2xp.de Java unter Linux

MySQL mit MyLinux. boehm@2xp.de. 2/2003 boehm@2xp.de Java unter Linux Bild: www.carsten-lehmann.de MySQL mit MyLinux boehm@2xp.de 1 MySQL mit MyLinux Überblick über MySQL & Co Überblick über MySQL MySQL in 5 Minuten JDBC mit MySQL Ende 2 Überblick über MySQL & Co 3 Datenbanken

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach)

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach) Multimedia im Netz Wintersemester 2013/14 Übung 03 (Nebenfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 3-1 Datenbanken und SQL Mit Hilfe von Datenbanken kann man Daten

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

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