IV. Datenbankmanagement



Ähnliche Dokumente
SQL für Trolle. mag.e. Dienstag, Qt-Seminar

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

SQL structured query language

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Wirtschaftsinformatik (PWIN) 6. Mentorium. Wirtschaftsinformatik (PWIN), SS 2010, Professur für Mobile Business & Multilateral Security 1

Informatik 12 Datenbanken SQL-Einführung

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

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

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

Labor 3 - Datenbank mit MySQL

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Datumsangaben, enthält mindestens Jahr, Monat, Tag

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

SQL und MySQL. Kristian Köhntopp

Relationale Datenbanken in der Praxis

Sructred Query Language

Referenzielle Integrität SQL

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Übung 6: Datenbanken und Informationsmanagement

105.3 SQL-Datenverwaltung

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

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

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

SQL (Structured Query Language) Schemata Datentypen

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Bibliografische Informationen digitalisiert durch

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Erstellen einer Datenbank. Datenbankabfragen

SQL-Injection. Seite 1 / 16

Informatik Datenbanken SQL-Einführung

Unterabfragen (Subqueries)

Oracle: Abstrakte Datentypen:

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

Üben von DDL und DML. Ergebnis:

Michaela Weiss 01. April Lerneinheit 4: Relationale Datenbanken am Beispiel von MySQL

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: Übung WS 2014/2015

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

Deinstallationsanleitung

7. Übung - Datenbanken

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

MySQL Installation. AnPr

Fachhochschule Deggendorf Platzziffer:...

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

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

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

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

SQL. Fortgeschrittene Konzepte Auszug

Views in SQL. 2 Anlegen und Verwenden von Views 2

Datenbanken für Online Untersuchungen

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten:

Datenbanken. Ein DBS besteht aus zwei Teilen:

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Arbeiten mit einem lokalen PostgreSQL-Server

Kapitel DB:VI (Fortsetzung)

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

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

Wirtschaftsinformatik 2. Tutorium im WS 11/12

PostgreSQL in großen Installationen

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

1. Mentorium Einführung, Organisation und Aufgaben zur Architektur von Informationssystemen

SQL, MySQL und FileMaker

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Shopware 4.1 Kategorien

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Ein Beispiel: Tabelle DICHTER

Übersicht der wichtigsten MySQL-Befehle

SQL: statische Integrität

Klausur Interoperabilität

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

Beispiel 1: Filmdatenbank

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

Datenbanken mit OpenOffice-Base Tabellen und einfache Abfragen

Abfragen: Grundbausteine

Schlüssel bei temporalen Daten im relationalen Modell

MySQL 101 Wie man einen MySQL-Server am besten absichert

Kurzanleitung für Umsteiger von DataEase.

Datenbanken Microsoft Access 2010

MySQL: Einfaches Rechnen.

Abfrage-Befehle in MySQL -diverse Funktionen -

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Begleitskript. zum PHP/MySQL. Kurs

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

Datenmanagement in Android-Apps. 16. Mai 2013

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Oracle 10g Einführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.

Arbeiten mit ACCESS 2013

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

Transkript:

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

Agenda 1. Einleitung und Grundelemente (Select, From, Where) 2. Funktionen 3. JOINS 4. Weitere Arten von SQL-Befehlen (Create, Insert, Update, Delete, Drop) Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 2

Einführung - SQL SQL - Structured Query Language Mitte der 70er Jahre entwickelt Zurzeit Standard für relationale Datenbanken: o ANSI (American National Standards Institute) o ISO (International Standardization Organization), o Norm für SQL 2 liegt vor, Weiterentwicklung SQL 3 Nicht-prozedurale, deskriptive Datenbanksprache o Eine SQL-Anfrage drückt aus, wie das gewünschte Ergebnis aussehen soll, und nicht, wie das Resultat ermittelt werden soll. Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 3

Grundelemente Struktur der Grundelemente Struktur: o SELECT Attribut(e) o FROM Relation(en) o [ WHERE Bedingung ] o [ GROUP BY Attribut(e) ] o [ ORDER BY Attribut(e) ] Bedeutung: o Suche Attributwerte o in Relation(en) o [ wobei gilt: Bedingung ] o [ Aggregation nach ] o [ Sortierung nach ] Quelle: Laudon, K.C., Laudon, J.P., Schoder, D. (2006) Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 4

Beispiel: SELECT mit ORDER BY SELECT * Alle Spalten FROM Produkte Tabelle Produkte ORDER BY ID Sortierung über Spalte ID ID Produktname Farbe Artikelnummer Verkaufspreis Einkaufspreis Lagerbestand Verkaufte Einheiten 1 Monitor 17 weiß 1297812542 399,00 249,99 50 134 Frankfurt 2 Monitor 19 schwarz 2457897145 499,00 379,00 12 289 Berlin 3 Monitor 17 schwarz 1297467815 405,00 249,99 25 124 Frankfurt 4 Monitor 19 weiß 2459871327 509,00 389,99 150 12 Frankfurt 5 Monitor 20 schwarz 2789441512 799,00 599,00 520 1052 Berlin 6 Monitor 20 weiß 2799151424 829,00 549,99 100 26 Berlin 7 Monitor 20 anthrazit 2764657527 819,00 589,99 50 127 Nürnberg 8 Monitor 21 anthrazit 2845161215 999,00 799,99 100 279 Hamburg 9 Monitor 24 weiß 2945712415 1299,00 945,00 25 124 Berlin 10 Monitor 24 schwarz 2955745742 1350,00 956,00 450 1024 Hamburg Ort Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 5

Beispiel: SELECT mit ORDER BY SELECT ID, Ort, Lager FROM Produkte ORDER BY ID ID Ort Lager 1 Frankfurt 50 2 Berlin 12 3 Frankfurt 25 4 Frankfurt 150 5 Berlin 520 6 Berlin 100 7 Nürnberg 50 8 Hamburg 100 9 Berlin 25 10 Hamburg 450 Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 6

Beispiel: SELECT mit WHERE SELECT * FROM Produkte WHERE Einkaufspreis > 550 AND Ort = Berlin ID Produktname Farbe Artikelnummer Verkaufspreis Einkaufspreis Lagerbestand Verkaufte Einheiten Ort 5 Monitor 20 schwarz 2789441512 799,00 599,00 520 1052 Berlin 6 Monitor 20 weiß 2799151424 829,00 549,99 100 26 Berlin 9 Monitor 24 weiß 2945712415 1299,00 945,00 25 124 Berlin Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 7

SELECT FROM GROUP BY Ort Ort, SUM(Lagerbestand) Produkte Beispiel: SELECT mit SUM und GROUP BY Ort SUM(Lagerbestand) Frankfurt 225 Berlin 657 Nürnberg 50 Hamburg 550 225 = 50+25+150 657 = 12+520+100+25 50 550 = 100+450 Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 8

Exkurs - Datumsformat, Strings und Zahlen SELECT FROM WHERE Benutzername wonne nightmoon schubby sommergeflüster Benutzername Kundenstammdaten Geburtsdatum > '1974-12-31' AND Geburtsdatum < '1976-01-01' Das Datum wird in einfachen Hochkommata angegeben. Syntax: 'JJJJ-MM-TT' JJJJ = Jahr = 2007 MM = Monat = 12 TT = Tag = 24 Strings werden ebenfalls in Hochkommata angegeben. Beispiel: Where Hobby = 'Schwimmen' Zahlen werden ohne Hochkommata angegeben. Beispiel: Where Alter = 23 Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 9

Agenda 1. Einleitung und Grundelemente (Select, From, Where) 2. Funktionen 3. JOINS 4. Weitere Arten von SQL-Befehlen (Create, Insert, Update, Delete, Drop) Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 10

Funktionen im SELECT-Statement Weitere Funktionen, die im SELECT-Statement angegeben werden können: Funktion AVG(Spalte) COUNT(Spalte) MAX(Spalte) MIN(Spalte) Beschreibung Liefert den Durchschnittswert einer Spalte zurück Liefert die Anzahl der Zeilen in einer Spalte zurück Liefert den höchsten Wert einer Spalte zurück Liefert den niedrigsten Wert einer Spalte zurück Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 11

Beispiel: SELECT mit AVG oder MAX SELECT FROM AVG(Lager) Produkt Lager 153,2 ((50+12+25+150+520+100+50+100+25+450)/10) SELECT FROM MAX(Lager) Produkt Lager 520 Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 12

Agenda 1. Einleitung und Grundelemente (Select, From, Where) 2. Funktionen 3. JOINS 4. Weitere Arten von SQL-Befehlen (Create, Insert, Update, Delete, Drop) Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 13

JOINS JOINS werden verwendet, um Verknüpfungen zwischen zwei oder mehreren Tabellen zu realisieren. Tabellen werden durch die Verwendung von Schlüsseln miteinander in Bezug gesetzt. Ein Primärschlüssel ist eine Spalte mit einem eineindeutigen Wert für jede Zeile. Folgende Formen können u.a. unterschieden werden: INNER JOIN LEFT JOIN RIGHT JOIN Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 14

JOINS Ausgangstabellen Tabelle Produkt ID Produktname Farbe Artikelnummer Verkaufspreis Einkaufspreis Lagerbestand Verkaufte Einheiten Ort 1 Monitor 17 weiß 1297812542 399,00 249,99 50 134 Frankfurt 2 Monitor 19 schwarz 2457897145 499,00 379,00 12 289 Berlin 3 Monitor 17 schwarz 1297467815 405,00 249,99 25 124 Frankfurt 4 Monitor 19 weiß 2459871327 509,00 389,99 150 12 Frankfurt 5 Monitor 20 schwarz 2789441512 799,00 599,00 520 1052 Berlin.. Tabelle Details ID Artikelnummer Gewicht Auflösung Stromverbrauch 1 1297812542 4 1280X1024 26 2 2457897145 5 1280X1024 29 3 1297467815 4 1280X1024 27 4 2459871327 5,5 1280X1024 34 5 2789441512 8 1600x1280 53.. Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 15

SELECT mit INNER JOIN SELECT FROM Produkt.Produktname, Details.Gewicht Produkt INNER JOIN Details ON Produkt.Artikelnnummer = Details.Artikelnummer Produktname Gewicht Monitor 17 4 Monitor 19 5 Monitor 17 4 Monitor 19 5,5 Monitor 20 8 Der INNER JOIN liefert nur diejenigen Zeilen zurück, bei denen eine Übereinstimmung der Spalten innerhalb der Join-Bedingung besteht. Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 16

Agenda 1. Einleitung und Grundelemente (Select, From, Where) 2. Funktionen 3. JOINS 4. Weitere Arten von SQL-Befehlen (Create, Insert, Update, Delete, Drop) Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 17

INSERT INSERT INTO VALUES Details (2689875627,6,1280x1024,55) Tabelle Details ID Artikelnummer Gewicht Auflösung Stromverbrauch 1 1297812542 4 1280X1024 26 2 2457897145 5 1280X1024 29 3 1297467815 4 1280X1024 27 4 2459871327 5,5 1280X1024 34 5 2789441512 8 1600x1280 53 6 2689875627 6 1280X1024 55.. Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 18

INSERT INSERT INTO VALUES Details (Artikelnummer, Gewicht, Auflösung, Stromverbrauch) (2689875627,6,1280x1024,55) Tabelle Details ID Artikelnummer Gewicht Auflösung Stromverbrauch 1 1297812542 4 1280X1024 26 2 2457897145 5 1280X1024 29 3 1297467815 4 1280X1024 27 4 2459871327 5,5 1280X1024 34 5 2789441512 8 1600x1280 53 6 2689875627 6 1280X1024 55.. Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 19

UPDATE UPDATE Details SET Gewicht = 12 WHERE Artikelnummer = 2689875627 Tabelle Details ID Artikelnummer Gewicht Auflösung Stromverbrauch 1 1297812542 4 1280X1024 26 2 2457897145 5 1280X1024 29 3 1297467815 4 1280X1024 27 4 2459871327 5,5 1280X1024 34 5 2789441512 8 1600x1280 53 6 2689875627 12 1280X1024 55.. Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 20

UPDATE UPDATE Details SET Gewicht = 12, Auflösung = '1800x1400' WHERE Artikelnummer = 2689875627 Tabelle Details ID Artikelnummer Gewicht Auflösung Stromverbrauch 1 1297812542 4 1280X1024 26 2 2457897145 5 1280X1024 29 3 1297467815 4 1280X1024 27 4 2459871327 5,5 1280X1024 34 5 2789441512 8 1600x1280 53 6 2689875627 12 1800X1400 55.. Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 21

CREATE CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type,... ) Datentypen Datentyp integer(size) decimal(size,d) char(size) varchar(size) Bedeutung Integer, size gibt die Anzahl der Stellen an Dezimal, size gibt die Anzahl der Stellen und d die Anzahl der Nachkommastellen an Anzahl von Zeichen einer fixen Länge size Anzahl von Zeichen bis zu einer Länge size date(yyyymmdd) Annahme eines Datums z.b. 20070115 Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 22

Create CREATE TABLE Kunde ( Name varchar(30), Vorname varchar(15),... ) Tabelle Kunde ID Name Vorname Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 23

DELETE DELETE FROM Details WHERE Artikelnummer = 2689875627 Tabelle Details ID Artikelnummer Gewicht Auflösung Stromverbrauch 1 1297812542 4 1280X1024 26 2 2457897145 5 1280X1024 29 3 1297467815 4 1280X1024 27 4 2459871327 5,5 1280X1024 34 5 2789441512 8 1600x1280 53.. gelöscht 6 2689875627 12 1280X1024 55 Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 24

DROP DROP Table Tabellenname Löscht eine Tabelle in der Datenbank. DROP Database Datenbankname Löscht die gesamte Datenbank auf dem Datenbankserver. Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 25

SQL Spielwiese Zu Übungszwecken kann die E-Learning-Plattform des ISE für SQL verwendet werden: Die Felder WebCt-Login und Passwort sind leer zu lassen. www.ise.wiwi.uni-frankfurt.de/spielwiese Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 26