Modifikation der Datenbank

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Modifikation der Datenbank"

Transkript

1 Modifikation der Datenbank Löschen Einfügen Änderungen Änderungen von Sichten 71

2 Löschen Wir haben bereits gesehen, dass wir den gesamten Inhalt einer Tabelle r löschen können durch das Kommando: delete from r Wir können aber auch selektiv Tupel (Zeilen) löschen, die eine bestimmte Bedingung P erfüllen: delete from r where P 72

3 Beispiele Löschen 73 Löschen aller Konten bei der Perryridge Filiale: delete from account where branch_name= Perryridge Löschen aller Kredite zwischen $1300 und $1500: delete from loan where amount between 1300 and 1500 Löschen aller Konten von Filialen in Brooklyn: delete from account where branch_name in (select branch_name from branch where branch_city= Brooklyn )

4 Bemerkung zu delete Beim Löschen von Tupeln ist es wichtig, dass zuerst alle Tupel ermittelt werden welche die Bedingung erfüllen und dann erst alle Tupel gelöscht werden. 74

5 Einfügen Wir können mit SQL Tupel direkt einfügen durch das insert into Kommando: insert into account values( A-9732, Perryridge,1200) Hierbei müssen wir allerdings die Reihenfolge der Attribute kennen! 75

6 Einfügen Man kann allerdings auch die Attributsnamen explizit angeben, dann kann die Reihenfolge variiert werden: insert into account (branch_name,account_number,balance) values( Perryridge, A-9732,1200) 76

7 Einfügen durch Select-Ausdrücke Wir können auch Tupel einfügen, die wir aus anderen Tabellen selektiert haben. Bsp: Wir erzeugen ein Konto mit 200$ Startguthaben für jeden Besitzer eines Kredites an der Perryridge Filiale. insert into account select loan_number, branch_name, 200 from loan where branch_name= Perryridge 77

8 Einfügen durch Select-Statements Auch hier ist es wichtig, dass der select - Teil vollkommen ausgewertet wird bevor die Tupel eingefügt werden. Bsp: insert into account select * from account 78

9 Änderung bestimmter Werte In manchen Fällen wollen wir den Wert eines Attributs ändern ohne die anderen Werte zu modifizieren. Das geht mit dem update-kommando: update account set balance = balance*

10 Änderungen mit update Änderungen mit update können wir auch selektiv für bestimmte Tupel machen: update account set balance = balance*1.05 where balance >=

11 Änderungen in Sichten Sichten stellen ein sehr wichtiges und praktisches Werkzeug dar; allerdings ist es problematisch, Sichten zu ändern. Betrachten wir z.b. folgende Sicht: create view loan_info as select customer_id, amount from borrower, loan where borrower.loan_number=loan.loan_number 81

12 Änderungen in Sichten Was passiert nun wenn wir versuchen, in die Sicht Zeilen einzufügen? insert into loan_info values ( Johnson,1900). Loan_info 82

13 Änderungen in Sichten Problem: diese Änderung hat nicht den erwünschten Effekt (warum?) 83

14 Änderbare Sichten (updatable) 84 Auf Grund der Probleme, die mit der Modifikation von Sichten einhergehen, verbieten einige Datenbanksysteme schlicht und einfach die Modifikation von Sichten. Im Allgemeinen können wir aber festlegen, dass eine Sicht änderbar (updatable) ist wenn folgende Bedingungen erfüllt sind: -Der from-teil bezieht sich auf nur eine Tabelle -Der select-teil beinhaltet nur Attribute der Tabelle aber keine komplexen Ausdrücke oder Aggregate -Jedes Attribut welches nicht im select-teil vorkommt kann auf null gesetzt werden. -Die Query verwendet nicht die Konstrukte group by oder having.

15 Änderbare Sichten 85 Auch änderbare Sichten garantieren nicht, dass die eingefügte Zeile dann auch wirklich in der Sicht enthalten ist. Man kann in SQL dann eine Sicht definieren als with check option. Dann wird ein Tupel nur eingefügt wenn auch sichergestellt ist, dass das Tupel in der Sicht auch enthalten ist. create view loan_info as select customer_id, amount from borrower, loan where borrower.loan_number=loan.loan_number with check option

16 Weitere Datentypen in SQL Zusätzlich zu den Datentypen, die wir bisher kennengelernt haben, unterstützt SQL auch folgende Datentypen: -Date: stellt einen Kalendertag dar, beschrieben durch ein Jahr (4 Ziffern), einen Monat (2 Ziffern) und einen Tag (2 Ziffern). -Time: repräsentiert eine Tageszeit mit Angabe der Stunde, Minute und Sekunde. -Timestamp: eine Kombination aus Date und Time, um einen Zeitpunkt eindeutig zu charakterisieren. 86

17 Datentypen in SQL SQL stellt uns auch Vergleichsoperatoren sowie arithmetische Operatoren für diese Datentypen bereit: > = true = Intervall von sieben Tagen Intervall von 7 Tagen =

18 User-definierte Datentypen In SQL können eigene Datentypen definiert werden, z.b. create type Euros as numeric(12,2) final Diese Typen können wir dann bei der Definition eines Schemas natürlich verwenden: 88 create table account (account_number char(10), branch_name balance char(15), Euros)

19 Integritätsbedingungen Integritätsbedingungen auf einer einzelnen Relation -Not Null -Eindeutigkeitsbedingung -Der Check-Konstrukt Referentielle Integrität 89

20 Integritätsbedingungen Beispiele für Integritätsbedingungen sind folgende: -Ein Kontostand kann nicht null sein. -Konten müssen unterschiedliche Kontonummern haben. -Jedes Konto in der depositor-relation muss auch einen entsprechenden Eintrag in der account-relation haben. 90

21 Integritätsbedingungen Integritätsbedingungen werden meistens bei der Erzeugung des Schemas einer Tabelle spezifiziert. Wir haben bisher dadurch Primärschlüssel von Relationen angegeben: create table customer (customer_name char(20), customer_street char(20), customer_city char(30), primary key (customer_name)) 91

22 Not null -Bedingung In manchen Fällen macht es keinen Sinn, null -values zuzulassen (z.b. beim Stand eines Kontos). Mit dem not null Ausdruck können wir null -values explizit verbieten: create table account ( account_number char(15) not null, branch_name char(3), balance numeric(16,2) not null, primary key (account_number)) 92

23 Eindeutigkeitsbedingung Man kann in SQL nicht nur den Primärschlüssel spezifizieren, sondern auch festlegen, dass keine zwei Tupel in der Datenbank die selben Werte für zwei Attribute haben sollen. Das geht mit dem unique-konstrukt: create table account ( account_number char(15) not null unique, branch_name char(3), balance numeric(16,2) not null ) 93

24 Weitere Bedingungen Es können weitere Bedingungen an eine Relation geknüpft werden. Das erfolgt durch das Keyword check. Bsp: Der Kontostand muss immer positiv sein: create table account (account_number char(10) not null, branch_name char(15), balance numeric(12,2) not null, primary key (account_number), check (balance >=0)) 94

25 Weitere Bedingungen Bsp: Die Branche eines Kontos muss in der branch-tabelle enthalten sein: create table account (account_number char(10) not null, branch_name char(15), balance numeric(12,2) not null, primary key (account_number), check (balance >=0), check branch_name in (select branch_name from branch)) 95

26 Referentielle Integrität Wir können auch mit Hilfe der DDL von SQL foreign keys definieren. Formale Definition eines foreign keys: -Gegeben zwei Relationen r 1 und r 2 mit Schemas R 1 (r 1 ) und R 2 (r 2 ) und Primärschlüsseln K 1 und K 2 jeweils. -Eine Teilmenge r der Attribute in R 1 nennen wir Fremdschlüssel (oder foreign key) mit Referenz auf R 2 wenn für jedes Tupel t 1 in r 1 ein Tupel t 2 in r 2 existiert so dass t 1 [r ]=t 2 [K 2 ]. -Wir können diese Bedingung auch äquivalent schreiben als: 96

27 Spezifikation von Fremdschlüssel-Verweisen Wir können Fremdschlüssel durch das Schlüsselwort references einführen: create table account (account_number char(10) not null, branch_name char(15) references branch, balance numeric(12,2) not null, primary key (account_number), check (balance >=0)) 97

28 Spezifikation von Fremdschlüssel-Verweisen Oder alternativ: create table account (account_number char(10) not null, branch_name char(15) balance numeric(12,2) not null, primary key (account_number), foreign key (branch_name) references branch check (balance >=0)) Damit müssen wir in der account-tabelle einen Filialennamen (branch_name) angeben, der in der branch-tabelle auch existiert. 98

29 Änderungen in der referenzierten Tabelle Frage: Was passiert wenn Branchen gelöscht werden? SQL stellt uns verschiedene Strategien zur Verfügung, wie bei der Löschung von referenzierten Tupeln verfahren werden soll. Verhalten im Löschen-Fall: - on delete cascade : wenn Tupel in der referenzierten Tabelle gelöscht werden, dann lösche alle Tupel in der referenzierenden Tabelle, die das gelöschte Tupel referenzieren. - on delete set null : wenn Tupel in der referenzierten Tabelle gelöscht werden dann setze die entsprechende Fremdschlüssel- Referenz in der referenzierenden Tabelle auf null. 99

30 Änderungen in der referenzierten Tabelle Frage: Was passiert wenn der Name einer Branche sich ändert? SQL stellt uns verschiedene Strategien zur Verfügung, wie bei einer Änderung der referenzierten Tupel verfahren werden soll. Verhalten im Fall einer Änderung - on update cascade : wenn Tupel in der referenzierten Tabelle geändert werden, dann ändere entsprechend alle Tupel in der referenzierenden Tabelle, die das Tupel referenzieren. - on update set null : wenn Tupel in der referenzierten Tabelle geändert werden (Primärschlüssel), dann setze die Referenzen in den Tupeln der referenzierenden Tabelle auf null. 100

31 Probleme mit referentieller Integrität Nehmen wir an, wir haben eine Tabelle person, die wie folgt aussieht: create table person (firstname char(10) not null, secondname char(15) not null, middlename char(10), birthday date, address char(50), marriedtopersonwithfirstname char(10), marriedtopersonwithsecondname char(15), marriedtopersonwithbirthday date primary key (firstname,secondname,birthday), foreign key(marriedtopersonwithfirstname, marriedtopersonwithsecondname,marriedtopersonwithbirthday) references person (firstname,secondname,birthday) ) 101

32 Aufschiebbar oder nicht aufschiebbar? 102 Was ist nun wenn wir zwei Personen hinzufügen wollen, die verheiratet sind (z.b. Mia und Vincent)? Unabhängig davon welche Person zuerst angelegt wird, werden wir die referentielle Integrität verletzen! In SQL kann man angeben, dass die Überprüfung bestimmter Integritätsbedingungen aufgeschoben werden kann (deferred) bis zum Ende einer Transaktion. In einigen Datenbanken (PostgreSQL, ORACLE) sagt initially deferred deferrable, dass der Fremdschlüsselcheck erst nach der Transaktion durchgeführt werden soll.

33 An unserem Beispiel create table person (firstname 103 secondname middlename birthday address marriedtopersonwithfirstname marriedtopersonwithsecondname marriedtopersonwithbirthday char(10) not null, char (15) not null, char(10), date not null, char(50), char(10), char(15), date primary key (firstname,secondname,birthday), foreign key(marriedtopersonwithfirstname, marriedtopersonwithsecondname, marriedtopersonwithbirthday) references people (firstname,secondname,birthday) on delete set null on update cascade initially deferred deferrable (PostgreSQL, ORACLE, aber nicht MySQL)

34 Zugriffsrechte In SQL kann man für jede Tabelle folgende Rechte vergeben: -Leserecht -das Recht, Daten einzufügen -das Recht, Daten zu ändern -das Recht, Daten zu löschen Diese Rechte werden in SQL privileges genannt. SQL unterscheidet folgende privileges : -select -insert -update -delete 104

35 Vergabe von Rechten (Authorisierung) Die Vergabe von Rechten auf einer Tabelle erfolgt durch den Befehl (DDL): grant <Privilege_List> on <Table> to <User> Bsp: grant select on account to John, Mary grant select, update(amount) on loan to John, Mary 105

36 Vergabe von Rechten Es können auch alle Rechte auf einer Tabelle mit dem keyword all vergeben werden: grant all on account to Philipp Rechte können natürlich auch wieder entzogen werden: revoke insert on account from Philipp 106

37 Embedded SQL und JDBC Oft will man auf eine Datenbank von der Programmiersprache aus zugreifen, in der man eine Anwendung entwickelt. Wenn SQL-Ausdrücke in eine Programmiersprache eingebettet sind, so spricht man von Embedded SQL. Für die Einbettung von SQL in eine Programmiersprache (z.b. Java) benötigt man Software (einen Connector) der zwischen dem Programm und der Datenbank vermittelt. Für Java gibt es z.b. die JDBC API (Java Database Connectivity). Für C gibt es die Open Database Connectivity (ODBC) API. Alle unsere Beispiele werden sich auf die JDBC API beziehen. 107

38 Wichtige Schritte um SQL in Java einzubetten 1. Eine Library importieren, die JDBC implementiert (z.b. von MySQL), siehe connector/j/3.1.html 2. Den richtigen Treiber laden. 3. Eine Verbindung zur Datenbank herstellen. 4. Los geht s! (Anfragen, Löschen, Änderungen etc.) 108

39 Imports in Java (siehe Example1.java) import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; import java.sql.statement; import java.sql.resultset; 109

40 Treiber laden (siehe Example1.java) public class Example1 { public static void main(string[] args) { Connection conn=null; Statement stmt; ResultSet rs; // load the driver 110 System.out.println("Loading driver..."); try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch(exception e) { System.out.println("Class strife. " + e); } System.out.println("Driver loaded!");... }

41 Verbindung zur Datenbank herstellen (siehe Example1.java) try{ conn = DriverManager.getConnection ("jdbc:mysql://localhost/banking?user=cimiano"); } catch (SQLException ex) {} 111

42 Syntax für URL in DriverManager.getConnection() jdbc:mysql://[hostname][:port]/dbname[? param1=value1][&param2=value2]... String url = jdbc:mysql://localhost/banking"; Connection con = DriverManager.getConnection(url, cimiano", "password"); 112

43 localhost Der Port wird per Default auf 3306 gesetzt (wenn nichts anderes angegeben wird!). Dementsprechend sind folgende Statements äquivalent: conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ Banking?user=cimiano&password=pass"); conn = DriverManager.getConnection("jdbc:mysql://localhost/ Banking?user=cimiano&password=pass"); conn = DriverManager.getConnection("jdbc:mysql://localhost/ Banking, cimiano, pass ); 113

44 Anfragen (siehe Example1.java) try { } stmt = conn.createstatement(); rs = stmt.executequery("select * from account"); int count=0; while (rs.next ()) { String account_no = rs.getstring ("account_number"); String balance = rs.getstring ("balance"); System.out.println ("account number = " + account_no+ ", balance = " + balance); count++; } rs.close (); System.out.println (count + " rows were retrieved"); 114

45 Updates (siehe Example2.java) stmt.executeupdate("insert into customer values (' ','John','5th Av.','New York')"); Siehe Example2.java auf teaching/datenbanken_ws09/ 115

46 Anfragen von Metadaten mit JDBC (siehe Example3.java) Metadaten sind Daten über Daten. Man kann z.b. zu den Ergebnissen einer Anfrage die Namen der Spalten (als Metadaten) besorgen (siehe Example3.java): 116 stmt = conn.createstatement(); rs = stmt.executequery("select * from account"); String column; int count=0; rsmd = (ResultSetMetaData) rs.getmetadata(); for (int i=1; i <= rsmd.getcolumncount(); i++) { } column = rsmd.getcolumnname(i); System.out.print(column+"\t");

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

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

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

Mehr

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

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

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

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

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

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

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

Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung Datenbanken I - SQL 5.11.2009 Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung 1 SQL 2 SQL steht für Structured Query Language. Als Vorgänger der SQL Sprache wurde Anfang der 70er die

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

Datenbanken & Informationssysteme Übungen Teil 1

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

Mehr

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

Oracle: Abstrakte Datentypen:

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

Mehr

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

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

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

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

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

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

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

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Kapitel 8: Datenintegrität

Kapitel 8: Datenintegrität Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:

Mehr

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

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

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

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

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

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

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

Datenschutz: Zugriffsrechte in SQL

Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-1 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt Datenschutz: Zugriffsrechte in SQL 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

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

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

Ü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

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

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

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

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape 6. Übung Aufgabe 1: In dieser Übung sollen Sie eine kleine Java-Anwendung schreiben, die auf die Oracle-Datenbank

Mehr

VO Datenmodellierung. Katrin Seyr

VO Datenmodellierung. Katrin Seyr Datenintegrität Datenintegrität VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenintegrität 1. Überblick Überblick 1 Überblick 2 Integritätsbedingungen

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

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

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL

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

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

Kapitel 7: Referentielle Integrität

Kapitel 7: Referentielle Integrität Kapitel 7: Referentielle Integrität Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen

Mehr

PostgreSQL unter Debian Linux

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

Mehr

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

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

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

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

Klausur Datenbanken II

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

Mehr

Sructred Query Language

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

Mehr

Labor 3 - Datenbank mit MySQL

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

Mehr

SQL. Fortgeschrittene Konzepte Auszug

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

Mehr

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

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //

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

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

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

Beispiel zur referentiellen Integrität

Beispiel zur referentiellen Integrität 3. Der SQL-Standard 3.14. Integrität und Trigger Seite 1 Beispiel zur referentiellen Integrität CREATE TABLE T1( k1 NUMERIC NOT NULL PRIMARY KEY); CREATE TABLE T2( k2 NUMERIC NOT NULL PRIMARY KEY, k1 NUMERIC,

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

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

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

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe MySQL 4, 5 Kapitel 16: Fremdschlüssel Gliederung 1 Gliederung 1 Fremdschlüssel sichern die Referenzielle Integrität voneinander abhängiger Tabellen. Um Fremdschlüssel definieren zu können, müssen Sie die

Mehr

Benutzerverwaltung, Sichten und Datenintegrität

Benutzerverwaltung, Sichten und Datenintegrität Benutzerverwaltung, Sichten und Einige Vergleiche zwischen MySQL, Oracle und PostgreSQL OStR Michael Dienert, StR Ahmad Nessar Nazar 29. November und 30. November 2011 1 von 113 OStR Michael Dienert, StR

Mehr

Beispiel: DB-Mock (1/7)

Beispiel: DB-Mock (1/7) Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau

Mehr

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

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

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007 PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =

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

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

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

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

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

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

5. Datendefinition in SQL

5. Datendefinition in SQL Datendefinition 5. Datendefinition in SQL Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

Erzeugen von Constraints

Erzeugen von Constraints Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

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

Wie definieren wir das Relationen-

Wie definieren wir das Relationen- Wie definieren wir das Relationen- schema für eine Datenbank? Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus C3 309 2136

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

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

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

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

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

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

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

Datenbanksysteme I Integrität und Trigger Felix Naumann

Datenbanksysteme I Integrität und Trigger Felix Naumann Datenbanksysteme I Integrität und Trigger 9.5.2011 Felix Naumann Motivation Aktive Datenbanken 2 Einzufügende Daten können fehlerhaft sein Typographische Fehler, logische Fehler Lösung 1: Bessere Anwendung

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

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

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr