C++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision

Größe: px
Ab Seite anzeigen:

Download "C++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision"

Transkript

1 C++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision 15. März 2018 C++ Anwendungskurs 15. März 2018 Daniela Horn 1

2 Übersicht 1 Motivation 2 Relationale Datenbanken 3 SQL-Befehle 4 SQLite 5 Aufgabe C++ Anwendungskurs 15. März 2018 Daniela Horn 2

3 Übersicht 1 Motivation 2 Relationale Datenbanken 3 SQL-Befehle 4 SQLite 5 Aufgabe C++ Anwendungskurs 15. März 2018 Daniela Horn 3

4 Motivierendes Beispiel Programm A Datei A C++ Anwendungskurs 15. März 2018 Daniela Horn 4

5 Motivierendes Beispiel Programm A' Datei A' C++ Anwendungskurs 15. März 2018 Daniela Horn 5

6 Motivierendes Beispiel Programm A Programm B Datei A C++ Anwendungskurs 15. März 2018 Daniela Horn 6

7 Motivierendes Beispiel Programm A' Programm B Datei A' C++ Anwendungskurs 15. März 2018 Daniela Horn 7

8 Motivierendes Beispiel Programm A' Programm B Datei A' C++ Anwendungskurs 15. März 2018 Daniela Horn 8

9 Lösungsansätze Dateiversionsnummer verwalten (Minimum!) C++ Anwendungskurs 15. März 2018 Daniela Horn 9

10 Lösungsansätze Dateiversionsnummer verwalten (Minimum!) Semantik abspeichern Datei enthält Informationen über ihren Inhalt XML / JSON XML in Qt C++ Anwendungskurs 15. März 2018 Daniela Horn 9

11 Lösungsansätze Dateiversionsnummer verwalten (Minimum!) Semantik abspeichern Datei enthält Informationen über ihren Inhalt XML / JSON XML in Qt Heute: Datenbanken C++ Anwendungskurs 15. März 2018 Daniela Horn 9

12 Übersicht 1 Motivation 2 Relationale Datenbanken 3 SQL-Befehle 4 SQLite 5 Aufgabe C++ Anwendungskurs 15. März 2018 Daniela Horn 10

13 (Relationale) Datenbanken (Relationale) Datenbanken Speichern Semantik und Relationen zwischen Datenelementen Relation entspricht Tabelle Semantik entspricht Spaltenbenennung und Verknüpfung der Tabellen C++ Anwendungskurs 15. März 2018 Daniela Horn 11

14 (Relationale) Datenbanken (Relationale) Datenbanken Speichern Semantik und Relationen zwischen Datenelementen Relation entspricht Tabelle Semantik entspricht Spaltenbenennung und Verknüpfung der Tabellen Transaktionskontrolle C++ Anwendungskurs 15. März 2018 Daniela Horn 11

15 (Relationale) Datenbanken (Relationale) Datenbanken Speichern Semantik und Relationen zwischen Datenelementen Relation entspricht Tabelle Semantik entspricht Spaltenbenennung und Verknüpfung der Tabellen Transaktionskontrolle Benutzerverwaltung C++ Anwendungskurs 15. März 2018 Daniela Horn 11

16 (Relationale) Datenbanken (Relationale) Datenbanken Speichern Semantik und Relationen zwischen Datenelementen Relation entspricht Tabelle Semantik entspricht Spaltenbenennung und Verknüpfung der Tabellen Transaktionskontrolle Benutzerverwaltung Konsistenzprüfung C++ Anwendungskurs 15. März 2018 Daniela Horn 11

17 (Relationale) Datenbanken (Relationale) Datenbanken Speichern Semantik und Relationen zwischen Datenelementen Relation entspricht Tabelle Semantik entspricht Spaltenbenennung und Verknüpfung der Tabellen Transaktionskontrolle Benutzerverwaltung Konsistenzprüfung Sichtprüfung C++ Anwendungskurs 15. März 2018 Daniela Horn 11

18 (Relationale) Datenbanken (Relationale) Datenbanken Speichern Semantik und Relationen zwischen Datenelementen Relation entspricht Tabelle Semantik entspricht Spaltenbenennung und Verknüpfung der Tabellen Transaktionskontrolle Benutzerverwaltung Konsistenzprüfung Sichtprüfung Zugriffskontrolle C++ Anwendungskurs 15. März 2018 Daniela Horn 11

19 (Relationale) Datenbanken (Relationale) Datenbanken Speichern Semantik und Relationen zwischen Datenelementen Relation entspricht Tabelle Semantik entspricht Spaltenbenennung und Verknüpfung der Tabellen Transaktionskontrolle Benutzerverwaltung Konsistenzprüfung Sichtprüfung Zugriffskontrolle Optimierung von Zugriffen C++ Anwendungskurs 15. März 2018 Daniela Horn 11

20 (Relationale) Datenbanken (Relationale) Datenbanken Speichern Semantik und Relationen zwischen Datenelementen Relation entspricht Tabelle Semantik entspricht Spaltenbenennung und Verknüpfung der Tabellen Transaktionskontrolle Benutzerverwaltung Konsistenzprüfung Sichtprüfung Zugriffskontrolle Optimierung von Zugriffen (Berechnung von Zwischenergebnissen) C++ Anwendungskurs 15. März 2018 Daniela Horn 11

21 Motivierendes Beispiel Programm A Programm B Datenbankmanagementsystem Tabelle A Tabelle B C++ Anwendungskurs 15. März 2018 Daniela Horn 12

22 Inhalt (Relationale) Datenbanken Crash-Course SQL SELECT FROM, Joins CREATE TABLE, DROP TABLE UPDATE, INSERT, DELETE C++ Anwendungskurs 15. März 2018 Daniela Horn 13

23 Inhalt (Relationale) Datenbanken Crash-Course SQL SQLite SELECT FROM, Joins CREATE TABLE, DROP TABLE UPDATE, INSERT, DELETE Was ist das? Verwendung mit Qt C++ Anwendungskurs 15. März 2018 Daniela Horn 13

24 Übersicht 1 Motivation 2 Relationale Datenbanken 3 SQL-Befehle 4 SQLite 5 Aufgabe C++ Anwendungskurs 15. März 2018 Daniela Horn 14

25 CREATE TABLE 1 CREATE TABLE countries ( 2 name varchar(80), -- Name des Landes 3 population int, -- Bevoelkerung 4 area real -- Flaeche in Quadratkilometer 5 ); Datentypen: varchar(len) int real date point... countries name population area C++ Anwendungskurs 15. März 2018 Daniela Horn 15

26 CREATE TABLE IF NOT EXISTS 1 CREATE TABLE IF NOT EXISTS countries ( 2 name varchar(80), 3 population int, 4 area real 5 ); -- tja, gibt s aber schon Datentypen: varchar(len) int real date point... countries name population area C++ Anwendungskurs 15. März 2018 Daniela Horn 16

27 INSERT INTO 1 INSERT INTO countries (name, population, area) 2 VALUES ( Belize, , ); 3 INSERT INTO countries (name, population, area) 4 VALUES ( Palau, 20750, 459.0); 5 INSERT INTO countries (name, population, area) 6 VALUES ( Osttimor, , ); Datentypen: varchar(len): Hallo int: -123 real: e-5 date: point: (12.3, 45.6)... countries name population area Belize ,0 Palau ,0 Osttimor ,44 C++ Anwendungskurs 15. März 2018 Daniela Horn 17

28 SELECT FROM 1 SELECT name, population, area FROM countries WHERE population > ; SELECT * um alle Spalten auszuwählen (schlechter Stil) countries name population area Belize ,0 Palau ,0 Osttimor ,44 C++ Anwendungskurs 15. März 2018 Daniela Horn 18

29 SELECT mit Operationen 1 SELECT name, population / area FROM countries 2 WHERE population / area > 40; SELECT * um alle Spalten auszuwählen (schlechter Stil als Code) SELECT DISTINCT um doppelte Zeilen aus der Antwort zu löschen countries name population area Belize ,0 Palau ,0 Osttimor ,44 name Antwort population / area Palau 45,20697 Osttimor 74, C++ Anwendungskurs 15. März 2018 Daniela Horn 19

30 SELECT mit ORDER BY 1 SELECT name FROM countries ORDER BY population ASC; Sortierung von Einträgen in aufsteigender / abfallender Reihenfolge mitorder BY ASC um aufsteigend zu sortieren (Standard) DESC um absteigend zu sortieren Antwort name Palau Belize Osttimor C++ Anwendungskurs 15. März 2018 Daniela Horn 20

31 SELECT mit Join 1 CREATE TABLE capitals ( 2 name varchar(80), 3 country varchar(80), 4 population real 5 ); 6 7 INSERT INTO capitals (name, country, population) 8 VALUES ( Melekeok, Palau, 391),( Dili, Osttimor, ), 9 ( Naypyidaw, Myanmar, ); SELECT countries.name AS Land, capitals.population AS CapPop 12 FROM countries, capitals 13 WHERE countries.name = capitals.country 14 AND capitals.population / countries.population >= 0.1; capitals name country population Melekeok Palau 391 Dili Osttimor Naypyidaw Myanmar Antwort Land CapPop Osttimor C++ Anwendungskurs 15. März 2018 Daniela Horn 21

32 SELECT mit anderen Joins 1 SELECT * FROM countries INNER JOIN capitals ON (countries.name = capitals.name) 2 WHERE capitals.population / countries.population >= 0.1; 3 4 SELECT * FROM countries LEFT OUTER JOIN capitals ON (countries.name = capitals.name) 5 WHERE capitals.population / countries.population >= 0.1; 6 7 SELECT * FROM countries RIGHT OUTER JOIN capitals ON (countries.name = capitals.name) 8 WHERE capitals.population / countries.population >= 0.1; 9 10 SELECT * FROM countries FULL OUTER JOIN capitals ON (countries.name = capitals.name) 11 WHERE capitals.population / countries.population >= 0.1; C++ Anwendungskurs 15. März 2018 Daniela Horn 22

33 UPDATE 1 UPDATE countries 2 SET population = population WHERE name = Belize ; countries name population area Belize ,0 Palau ,0 Osttimor ,44 C++ Anwendungskurs 15. März 2018 Daniela Horn 23

34 DELETE FROM 1 DELETE FROM countries WHERE population < ; countries name population area Belize ,0 Osttimor ,44 C++ Anwendungskurs 15. März 2018 Daniela Horn 24

35 DROP COLUMN / TABLE 1 DROP COLUMN area FROM countries; 2 3 DROP TABLE countries; countries name population Belize Osttimor C++ Anwendungskurs 15. März 2018 Daniela Horn 25

36 VIEW 1 CREATE TABLE countries ( 2 name varchar(80), -- country s name 3 population int, -- its population 4 area real -- its land area in square km 5 ); 6 7 INSERT INTO countries (name, bevoelkerung, area) 8 VALUES ( Belize, , ), ( Palau, 20750, 459.0), 9 ( Osttimor, , ); ALTER TABLE countries RENAME COLUMN population AS bevoelkerung ; CREATE VIEW mycountries AS 14 SELECT name, bevoelkerung AS population, area 15 FROM countries; countries name bevoelkerung area Belize ,0 Palau ,0 Osttimor ,44 C++ Anwendungskurs 15. März 2018 Daniela Horn 26

37 Update VIEW 1 CREATE VIEW mycountries AS 2 SELECT name, bevoelkerung AS population, area 3 FROM countries; 4 5 SELECT * FROM mycountries; verhält sich wie eine Tabelle (fürselect) kann ggf. Programmänderungen bei Datenbankänderungen vermeiden UPDATE und INSERT INTO sind unter Einschränkungen möglich aber in SQLite nicht implementiert C++ Anwendungskurs 15. März 2018 Daniela Horn 27

38 Constraints 1 CREATE TABLE countries ( 2 Id INTEGER PRIMARY KEY, -- Primaerschluessel, muss eindeutig und!= null sein 3 -- Default wird gesetzt 4 Name VARCHAR(100) NOT NULL UNIQUE, -- eindeutig und nicht null 5 Population INTEGER DEFAULT 0, -- Defaultwert 6 PopCapital INTEGER DEFAULT 0, 7 CHECK (PopCapital <= Population) -- Konsistenzpruefung 8 ); kann (zum Teil) verhindern, dass die Daten in einen ungültigen Zustand geraten C++ Anwendungskurs 15. März 2018 Daniela Horn 28

39 Übersicht 1 Motivation 2 Relationale Datenbanken 3 SQL-Befehle 4 SQLite 5 Aufgabe C++ Anwendungskurs 15. März 2018 Daniela Horn 29

40 SQLite - Was ist das? Datenbank für Arme Kommandozeilenprogramm, das Datenbank in eine Datei schreibt keine Transaktionskontrolle keine Benutzerverwaltung mittelmäßig performant C++ Anwendungskurs 15. März 2018 Daniela Horn 30

41 SQLite - Was ist das? Aber: Datenbank für Arme Kommandozeilenprogramm, das Datenbank in eine Datei schreibt keine Transaktionskontrolle keine Benutzerverwaltung mittelmäßig performant ideal, um schnell was auszuprobieren von Vornherein in Qt 5.3 integriert C++ Anwendungskurs 15. März 2018 Daniela Horn 30

42 CMake-Anbindung Folgende Variablen/ Funktionen müssen gesetzt / ausgeführt werden: CMake FIND_PACKAGE(Qt5Sql) Sql zu QT5_USE_MODULES hinzufügen bzw. Qt5::Sql zu TARGET_LINK_LIBRARIES hinzufügen C++ Anwendungskurs 15. März 2018 Daniela Horn 31

43 SQLite in Qt - Header 1 #include <QtSql/QSqlDatabase> // verwaltet die Verbindung zur Datenbank 2 #include <QtSql/QSqlQuery> // stellt einen SQL-Befehl bzw. eine SQL-Abfrage dar 3 #include <QtSql/QSqlError> // stellt einen SQL-Fehler dar 4 //(Kommunikation mit Treiber) 5 #include <QtSql/QSqlRecord> // stellt eine Zeile einer SQL-Abfrage dar C++ Anwendungskurs 15. März 2018 Daniela Horn 32

44 SQLite in Qt - Verbindung mit der Datenbank 1 #include <QtSql/QSqlDatabase> // verwaltet die Verbindung zur Datenbank 2 #include <QtSql/QSqlQuery> // stellt einen SQL-Befehl bzw. eine SQL-Abfrage dar 3 #include <QtSql/QSqlError> // stellt einen SQL-Fehler dar 4 //(Kommunikation mit Treiber) 5 #include <QtSql/QSqlRecord> // stellt eine Zeile einer SQL-Abfrage dar QSqlDatabase database; 9 10 database = QSqlDatabase::addDatabase("QSQLITE"); 11 database.sethostname("localhost"); 12 database.setdatabasename("d:/mydatabase.db"); bool ok = database.open(); // hier kann mit der Datenbank gearbeitet werden database.close(); Bei anderen Datenbankmanagementsystemen funktioniert es nahezu genauso. C++ Anwendungskurs 15. März 2018 Daniela Horn 33

45 SQLite in Qt - Absetzen einer Query 1 2 QSqlDatabase database; QSqlQuery query("create TABLE test(id INTEGER PRIMARY KEY," 5 "Name VARCHAR(100))", database); 6 // wird sofort ausgefuehrt 7 8 QSqlQuery delayedquery(database); // wird spaeter ausgefuehrt 9 10 delayedquery.prepare("select Name FROM test"); bool ok = delayedquery.exec(); // ob Anfrage abgesetzt werden konnte if (!ok) 15 { 16 std::cout << delayedquery.lasterror().text().tostdstring() 17 << std::endl; 18 } C++ Anwendungskurs 15. März 2018 Daniela Horn 34

46 SQLite in Qt - Iterieren eines SELECT-Resultats 1 2 QSqlDatabase database; QSqlQuery query("select Name FROM test", database); 5 6 while (query.next()) 7 { 8 int colidx = 0; 9 std::cout << query.value(colidx).tostring() << std::endl; 10 // oder auch 11 std::cout << query.value(query.record().indexof("name")).tostring() 12 << std::endl; 13 } C++ Anwendungskurs 15. März 2018 Daniela Horn 35

47 SQLite in Qt - bindvalue() 1 QSqlDatabase database; 2 QString dataname; QSqlQuery insertquery(database); // wird spaeter ausgefuehrt 5 6 insertquery.prepare("insert INTO table(name) VALUES(:nameInsert)"); 7 8 insertquery.bindvalue(":nameinsert", dataname); 9 10 bool ok = insertquery.exec(); // ob Anfrage abgesetzt werden konnte Zeichenketten nicht einfach in SQL-Statements einfügen! (SQL Injection) falls z.b.dataname = Robert ); DROP TABLE Students; ist, wird weiterer Code ausgeführt C++ Anwendungskurs 15. März 2018 Daniela Horn 36

48 SQLite in Qt - bindvalue() 1 QSqlDatabase database; 2 QString dataname; 3 QString colname("name"); QSqlQuery insertquery(database); // wird spaeter ausgefuehrt 6 7 insertquery.prepare(qstring( 8 "INSERT INTO table(%1) VALUES(:nameInsert)").arg(colName) ); 9 10 insertquery.bindvalue(":nameinsert", dataname); bool ok = insertquery.exec(); // ob Anfrage abgesetzt werden konnte std::cout << insertquery.executedquery().tostdstring() << std::endl; 15 // zeigt ausgefuehrte Anweisung an SQL-Binding kann nur Werte ersetzen, andere Teile der SQL-Anweisung müssen über klassische Zeichenketten-Operationen eingefügt werden. C++ Anwendungskurs 15. März 2018 Daniela Horn 37

49 Übersicht 1 Motivation 2 Relationale Datenbanken 3 SQL-Befehle 4 SQLite 5 Aufgabe C++ Anwendungskurs 15. März 2018 Daniela Horn 38

50 Aufgabe Ändern sie die Adressverwaltung aus der Aufgabe von Tag 3 und ersetzen Sie den Datenzugriff durch den Zugriff auf eine Datenbank. Beachten Sie dabei folgende Hinweise zur Implementierung: Implementieren Sie den Datenbankzugriff als einen Cache, bei dem initial die gesamten Daten aus der Datenbank eingelesen werden und der bei lesendem Zugriff die Daten allein aus dem Hauptspeicher bereitstellt. Bei schreibendem Zugriff sollen die Änderungen sowohl im Hauptspeicher als auch in der Datenbank vorgenommen werden. Sie können die benötigten Tabellen zunächst von Hand erstellen. Wenn der Rest funktioniert, lassen Sie die Tabellen vom Programm erstellen, wenn Sie noch nicht existieren. C++ Anwendungskurs 15. März 2018 Daniela Horn 39

51 Aufgabe Hinweis: Sie können für Testzwecke die Command-Line Shellsqlite3.exe verwenden, um Queries in ihrer Datenbank abzusetzen. Das Programm kann HIER heruntergeladen und ohne weitere Installation verwendet werden. C++ Anwendungskurs 15. März 2018 Daniela Horn 40

Ü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

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

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

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

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

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp 5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries

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

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

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

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

Wiederholung VU Datenmodellierung

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

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

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

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

Datenbanken im WI-Unterricht mit

Datenbanken im WI-Unterricht mit Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................

Mehr

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

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

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

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

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

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

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

Schnellübersichten. SQL Grundlagen und Datenbankdesign

Schnellübersichten. SQL Grundlagen und Datenbankdesign Schnellübersichten SQL Grundlagen und Datenbankdesign 5 Datenbanken 2 6 Tabellen erstellen und verwalten 3 7 Daten einfügen, aktualisieren, löschen 4 8 Einfache Datenabfragen 5 9 Schlüsselfelder und Indizes

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

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

SQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT

SQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT Allgemeines DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT Gute Tabellen sollen nun in eine DB auf den Rechner. Verwenden dazu DBMS ite. Verwenden Datenbanksprache (structured query language).

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

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

Praktische SQL-Befehle

Praktische SQL-Befehle Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/

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

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47 SQL-Sprachvielfalt DML Data Manipulation Language: Daten einfügen, ändern und löschen DQL Data Query Language: Daten abfragen DDL Data Definition Language: Tabellen und andere Strukturelemente erzeugen,

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

MySQL. MySQL ist ein Datenbanksystem. Es besteht aus einem zentralen Server und aus (mehreren) Clients. Es benutzt einen Dialekt der Sprache SQL.

MySQL. MySQL ist ein Datenbanksystem. Es besteht aus einem zentralen Server und aus (mehreren) Clients. Es benutzt einen Dialekt der Sprache SQL. MySQL Was bieten Datenbanken? Zentralisation von Daten Maschinenunterstützte Weiterverarbeitung Daten werden vielen Benutzern gleichzeitig zur Verfügung gestellt Ausschalten von konkurrierenden Zugriffen

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

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

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

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

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

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

Mehr

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken. Zusammenfassung. Datenbanksysteme Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

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 fett und in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche

Mehr

A Datendenition in SQL ( Punkte)

A Datendenition in SQL ( Punkte) A Datendenition in SQL (5 + 2 + 1 Punkte) Eine Sportredaktion verwaltet die Ergebnisse der Fuball-Bundesliga in einer Datenbank mit folgendem Schema: Mannschaften (MannschaftID, MannschaftName) Spiele

Mehr

SQL und MySQL. Kristian Köhntopp

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

Mehr

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

Erstellen und Verwalten von Tabellen

Erstellen und Verwalten von Tabellen Erstellen und Verwalten von Tabellen Als nächstes müssen die Tabellen der Datenbank Personalwesen erzeugt werden. Die Syntax dazu lautet: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(TABELLENDEFINITION,

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

Lösungen der Übungsaufgaben von Kapitel 10

Lösungen der Übungsaufgaben von Kapitel 10 Lösungen der Übungsaufgaben von Kapitel 10 1. Legen Sie mit einem SQL - Befehl eine neue Tabelle PERSON_KURZ mit den Feldern Kurz_Id, Kurz_Name an. Machen Sie das so, dass Kurz_Id der Primärschlüssel wird

Mehr

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press Marcus Throll, Oliver Bartosch Einstieg in SQL Verstehen, einsetzen, nachschlagen Galileo Press Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung und Veränderung von Tabellen Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen

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

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse

Mehr

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

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr

dbis Praktikum DBS I SQL Teil 2

dbis Praktikum DBS I SQL Teil 2 SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 7a: Structured Query Language (SQL) MySQL 5.0 (enthalten in: http://www.apachefriends.org/de/xampp.html)

Mehr

SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion.

SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion. SQL,Teil 2: SELECT W. Spiegel Übersicht SELECT Mehrfache Werte vermeiden: SELECT DISTINCT Ausgabe ordnen: ORDER BY Projektion Selektion: WHERE Join mit SELECT Beispiel Aufgaben 1 SELECT Die SELECT-Anweisung

Mehr

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 30.5.2016 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Datentypen character (n),

Mehr

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung }

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } Create-Table-Befehl CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } [, ] ) Liste der wichtigsten Datentypen in SQL INTEGER INT SMALLINT NUMERIC(x,y)

Mehr

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: U 8 SQL = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: - Abfragesprache für relationale Datenbanken, die plattformübergreifend verwendet wird - Vereinfachte Verwendung über

Mehr

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

Mehr

Garten -Daten Bank. Was ist das? Dr. Karsten Tolle PRG2 SS 2014

Garten -Daten Bank. Was ist das? Dr. Karsten Tolle PRG2 SS 2014 Garten -Daten Bank Was ist das? Dr. Karsten Tolle PRG2 SS 2014 Inhalt heute Kurz: Motivation und Begriffe SQL (survival package) create table(tabelle erzeugen) insert into(einfügen) select (Anfragen) Struktur

Mehr

Übung PL/SQL Trigger Lösungen

Übung PL/SQL Trigger Lösungen Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde

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

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

Eine neue Datenbank erstellen

Eine neue Datenbank erstellen Eine neue Datenbank erstellen Eine neue Datenbank erstellen Eine Tabelle in der Entwurfsansicht erstellen Eine Tabelle in der Entwurfsansicht erstellen Eine Tabelle in der Entwurfsansicht erstellen Das

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

Datenbank- und Informationssysteme - Übungsblatt 6 -

Datenbank- und Informationssysteme - Übungsblatt 6 - Datenbank- und Informationssysteme - Übungsblatt 6 - Prof. Dr. Klaus Küspert Dipl.-Inf. Andreas Göbel Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken und Informationssysteme 0) Vorbereitung

Mehr

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Anlegen einer Tabelle create

Mehr

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien CREATE TABLE SPEND_STAT ( S_STATUS VARCHAR2(1), STAT_TXT VARCHAR2(15), PRIMARY KEY (S_STATUS) ENABLE ) ; 3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien DDL:

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

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

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221) Erstellen einer Mitarbeiter-Datenbank 1 Erstellen einer Mitarbeiter-Datenbank Arbeitsauftrag Ziel der Übung Erstellen von Datenbanken mit Hilfe von SQL-Abfragen Aufgabe (1.) Erstellen Sie eine neue Datenbank

Mehr

Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6

Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6 Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6 Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke DBS1 Blatt 4 Mitschreibbar 2 Welche Autoren

Mehr

Inhaltsverzeichnis. Einleitung

Inhaltsverzeichnis. Einleitung vn Inhaltsverzeichnis Einleitung Kapitel 1: Eine Einführung in relationale Datenbanken 7 Was ist eine relationale Datenbank? 9 Verknüpfen der einzelnen Tabellen 10 Die Reihenfolge der Zeilen ist beliebig

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

IV. Datenbankmanagement

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

Mehr

Übung 01 Tabellen erstellen

Übung 01 Tabellen erstellen UEB-01-1 Übung 01 Tabellen erstellen Die folgende Musterrechnung dokumentiert eine Miniwelt "Rechnung" in einer Firma. 1. Welche Objekte und Beziehungen lassen sich daraus ableiten? 2. Erstellen Sie ein

Mehr

4. Datenbanksprache SQL

4. Datenbanksprache SQL 4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS Metadaten. Andreas Schmidt Metadaten 1/17

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS Metadaten. Andreas Schmidt Metadaten 1/17 Metadaten Andreas Schmidt Metadaten 1/17 Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär- und Fremdschlüssel,

Mehr

Tag 2 Inhaltsverzeichnis

Tag 2 Inhaltsverzeichnis Tag 2 Inhaltsverzeichnis Relationales Modell Relation und Schema Umsetzung ER-Modell --> relationales Schema DB Schema: Empfehlungen Typen von Abfragesprachen SQL Teil 1 Ziel und Geschichte Daten- und

Mehr

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer

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

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

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

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

Am Campus Bockenheim, im Sozialzentrum/Neue Mensa Foyer. zwischen 10 Uhr und 16 Uhr Der Eintritt ist kostenfrei.

Am Campus Bockenheim, im Sozialzentrum/Neue Mensa Foyer. zwischen 10 Uhr und 16 Uhr Der Eintritt ist kostenfrei. Am Campus Bockenheim, im Sozialzentrum/Neue Mensa Foyer. zwischen 10 Uhr und 16 Uhr Der Eintritt ist kostenfrei. Garten - Daten Bank - survival pack - Dr. Karsten Tolle PRG2 SS 2018 Inhalt heute Kurz:

Mehr

Datenmanipulation in SQL (1): Subselect:

Datenmanipulation in SQL (1): Subselect: Datenmanipulation in SQL (1): Unter Datenmanipulation wird sowohl der lesende Zugriff auf die Daten (Select Statement) als auch die Änderung von Daten (Insert, Delete, Update) subsummiert. Wir beginnen

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

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

Mehr

Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6

Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez. 2011 Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Datenbanksysteme I Aufgabe 1: Deklarative Änderungsoperationen

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

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten Seminararbeit vorgelegt von: Gutachter: Studienbereich: Christian Lechner Dr. Georg Moser Informatik Datum: 6. Juni 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung in Datenbanken 1 1.1 Motivation....................................

Mehr

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

Mehr

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Datenmanagement I SoSe 2006 Aufgabenblatt 4 Datenmanagement I SoSe 2006 Aufgabenblatt 4 June 11, 2009 Versuchen Sie, einige der Anfragen zu formulieren (ab Punkt 6), die im Tutorium stehen, das hier zu finden ist: http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/dm/tut/tutorium.html.

Mehr

Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia)

Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia) Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia) Dr. Christian Senger Metadaten 1 Vorgehen bei ER Modellierung

Mehr