Modifikation der Datenbank
|
|
- Erwin Albert
- vor 8 Jahren
- Abrufe
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][¶m2=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");
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
MehrSQL: 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
MehrSQL 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-
Mehrseit 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
MehrOracle: 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
MehrReferenzielle 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
MehrJava 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
Mehr4.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
MehrJDBC. 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Ü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
MehrDatenbanken & 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
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
MehrUnterabfragen (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
MehrSemantische 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
MehrDatenbanken 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,
MehrNachtrag: 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
MehrDATENBANKEN 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.
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrSQL. 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
MehrIntegritä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
MehrEin Ausflug zu ACCESS
Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet
MehrProjektbericht 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
MehrReferentielle 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
MehrReferentielle 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
MehrBeispiel 1: Filmdatenbank
Beispiel 1: Filmdatenbank Die Filmdatenbank hat drei Tabellen (ACTOR, MOVIE, PLAYED) Aufgabe 1: Erstelle mit Hilfe der SQL-DDL die drei Tabellen und die Datenbank (MOVIEDB) ACTOR (ActorID, Name, Birthday,
MehrLabor 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.
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
MehrDatenintegritä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!
MehrUniversität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL
Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html
MehrSchlüssel bei temporalen Daten im relationalen Modell
Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrDatenintegritä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
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
MehrDatenintegrität. Bisherige Integritätsbedingungen
Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrGrundlagen 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
MehrViews 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
MehrBeispiel: 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
MehrDatenintegritä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!
MehrSQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I
SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit
MehrKapitel 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
Mehr6. 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
MehrPostgreSQL 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...
Mehr5.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
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrKapitel 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
MehrJDBC. 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
Mehr2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)
1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise
MehrUNIVERSITÄ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 //
MehrDBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt
DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller
Mehr3.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
MehrDatumsangaben, enthält mindestens Jahr, Monat, Tag
Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice
MehrFachhochschule Deggendorf Platzziffer:...
Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten
MehrEinfü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
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrDatenbanken: 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
MehrSructred 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
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrDas SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik
Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank
MehrIV. Datenbankmanagement
Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.
MehrDatenbanktechnologie 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
MehrWillkommen. 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
MehrBenutzerverwaltung, 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
MehrSQL. 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:
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrVorlesung Dokumentation und Datenbanken Klausur
Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises
Mehr7. Übung - Datenbanken
7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen
MehrMySQL Installation. AnPr
Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall
Mehr6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015
6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema
MehrS TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E
S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrSQL (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
MehrUpdatehinweise für die Version forma 5.5.5
Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x
MehrAnleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken
Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows
MehrPHPNuke Quick & Dirty
PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrOracle SQL Tutorium - Wiederholung DB I -
Oracle SQL Tutorium - Wiederholung DB I - (Version 2.6 vom 24.2.2015) Einleitung Im Folgenden sind zur Wiederholung eine Reihe von SQL-Übungsaufgaben zu lösen. Grundlage für die Aufgaben ist die Mondial
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrSQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:
SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In
MehrNeuanlage des Bankzugangs ohne das bestehende Konto zu löschen
1 Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen In moneyplex lässt sich ein Konto und ein Bankzugang nur einmal anlegen. Wenn sich der Bankzugang geändert hat oder das Sicherheitsmedium
MehrVerbinden von IBM Informix mit Openoffice mittels JDBC
Verbinden von IBM Informix mit Openoffice mittels JDBC Voraussetzungen Installierte und laufende IBM Informixdatenbank. Getestet wurde mit IDS 9.40 und 10.00. Sollte aber auch mit älteren Versionen funktionieren.
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrRelationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL
Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrArtikel Schnittstelle über CSV
Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte
MehrDatenbanksysteme 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
MehrGrundlagen der Informatik 2
Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung
MehrKonstante Relationen
Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrFolgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.
Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht
MehrElectronic Systems GmbH & Co. KG
Anleitung zum Anlegen eines IMAP E-Mail Kontos Bevor die detaillierte Anleitung für die Erstellung eines IMAP E-Mail Kontos folgt, soll zuerst eingestellt werden, wie oft E-Mail abgerufen werden sollen.
MehrUniversität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures
SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrHandbuch B4000+ Preset Manager
Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten
Mehr