Microsoft Access 2010 SQL nutzen

Ähnliche Dokumente
S(tructured)Q(uery)L(anguage)

Microsoft Access 2010 SQL nutzen

Microsoft Access Abfragen. Verknüpfung von Tabellen

Microsoft Access 2010 SQL nutzen

Praktische SQL-Befehle

Microsoft Access Abfragen: Informationen anzeigen und sortieren

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

SQL-Übungen. Nordwind-Datenbank Stefan Goebel

Abfragen (Queries, Subqueries)

Microsoft Access Relationen. Anja Aue

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

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

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Übersicht der wichtigsten MySQL-Befehle

Üben von DDL und DML. Ergebnis:

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Es geht also im die SQL Data Manipulation Language.

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

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

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

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbank und Tabelle mit SQL erstellen

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

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

Datenbanken im WI-Unterricht mit

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

Oracle 10g Einführung

Einführung in SQL Datenbanken bearbeiten

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

SQL Data Manipulation Language (DML) und Query Language (QL)

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

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

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

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

Folien php/mysql Kurs der Informatikdienste

Access Grundkurs. M. Eng. Robert Maaßen

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

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

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

Schnellübersichten. SQL Grundlagen und Datenbankdesign

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

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

ARBEITSBLATT ZUR SQL-BEFEHLEN

Lösungen der Übungsaufgaben von Kapitel 10

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

1. Abfragen. Erstellen neuer Abfragen

Relationale Datenbanken

SQL structured query language

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar

SQL. Automatisierung: Trigger

Inhaltsverzeichnis. 1 Wie und warum Access lernen? Arbeiten mit Access

Wiederholung VU Datenmodellierung

ACCESS SQL ACCESS SQL

Arbeiten mit ACCESS 2010

Abfragen aus mehreren Tabellen (mit join)

Abfragen mit Platzhaltern

Datenbanken mit OpenOffice.org 3 Base und HSQLDB

Prof. Dr. Bernd Blümel Prof. Dr. Volker Klingspor. Datenbanken und SQL

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

Microsoft Access 2010 Auswahlabfragen erstellen. Leibniz Universität IT Services Anja Aue

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Datenbanken mit OpenOffice.org 2.3 Base und HSQLDB

Whitepaper. Produkt: combit Relationship Manager Import von relationalen Daten. combit GmbH Untere Laube Konstanz

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

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme

SQL - Datenbankdesign - Aufbau

Übung ERM. Beispiel: Erstellung einer relationalen Datenbank

IBM Informix SQL. Seminarunterlage. Version vom

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

Vorlesung Software-Engineering I

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

Inhaltsverzeichnis. Einleitung

Datenzugriffskomponente mit JPA 2.1

SQL. erfolgreich Madrid Amsterdam An imprint of Pearson

Wiederholung VU Datenmodellierung

Datenbanken. Heute dreht sich alles um SELECT

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

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

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

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

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

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Tabellen verknüpfen: Joins

Datenbanken. Heute dreht sich alles um SQL-Abfragen mit JOINS

Microsoft Access 2010 SQL nutzen

Datenmodelle und Datenbanken 2

Informatik 12 Datenbanken SQL-Einführung

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Transkript:

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) Standardsprache für relationale Datenbanken. Daten in Tabellen manipulieren, aktualisieren, eintragen und löschen. Beschreibung im aktuellen Standard SQL:2011 ISO/IEC 9075:2011. Access SQL in Abfragen nutzen, 29.08.14 Seite 2

Informationen im Web http://www.sql-und-xml.de/sql-tutorial/ http://de.wikibooks.org/wiki/einf%c3%bchrung_in_sql http://www.1keydata.com/de/sql/ http://sql.lernenhoch2.de/lernen/ http://www.schulserver.hessen.de/darmstadt/lichtenberg/ SQLTutorial/ http://msdn.microsoft.com/dede/library/cc451081%28v=vs.71%29.aspx http://www.trivadis.com/fileadmin/user_upload/ email4download_pflicht/ PLSQL_Coding_Guidelines_101125.pdf Access SQL in Abfragen nutzen, 29.08.14 Seite 3

Handbücher etc. Handbuch des RRZN: SQL. Grundlagen und Datenbankdesign. Alan Beaulieu: Einführung in SQL. O'Reilly Access SQL in Abfragen nutzen, 29.08.14 Seite 4

Bereiche DML (Data Manipulation Language). DDL (Data Definition Language). DCL (Data Controlling Language). TCL (Transaction Control Language). Access SQL in Abfragen nutzen, 29.08.14 Seite 5

Data Definition Language Definition des Datenbankschemas. Erzeugen von Tabellen. Befehle: CREATE, ALTER, DROP. Microsoft Access: Menüband Erstellen Tabelle. Access SQL in Abfragen nutzen, 29.08.14 Seite 6

Data Controlling Language Rechteverwaltung. Zugriffsrechte auf eine Tabelle. Befehle: GRANT, REVOKE. Access SQL in Abfragen nutzen, 29.08.14 Seite 7

Transaction Control Language Ablaufsteuerung. Jede SQL-Anweisung ist eine Transaktion. Oder: Mehrere Befehle werden zu einer Transaktion zusammengefasst. Befehle: COMMIT, ROLLBACK, SAVEPOINT. Access SQL in Abfragen nutzen, 29.08.14 Seite 8

Data Manipulation Language Daten auswählen, einfügen, aktualisieren oder löschen. Befehle: SELECT, INSERT, UPDATE, DELETE. Microsoft Access: Abfragen, Datensatzquelle für Formulare / Berichte und Listensteuerelementen. Access SQL in Abfragen nutzen, 29.08.14 Seite 9

ER-Modell und SQL Kunde 1 n n gibt auf Bestellung nimmt an 1 Mitarbeiter Nordwind. Kunden Nordwind. Bestellungen Nordwind. Personal Zeige alle Bestellungen der Firma A an. Alle Vertriebsmitarbeiter. Access SQL in Abfragen nutzen, 29.08.14 Seite 10

Beispiele Zeige alle Kunden an. SELECT * FROM Kunden; Zeige alle Vertriebsmitarbeiter an. SELECT Nachname, Vorname FROM Personal WHERE (Position LIKE "Vertriebsmitarbeiter*"); Zeige alle Bestellungen der Firma A an. SELECT * FROM Bestellungen INNER JOIN Kunden ON Bestellungen.[Kunden-Code] = Kunden.ID WHERE (Kunden.Firma LIKE "Firma A"); Access SQL in Abfragen nutzen, 29.08.14 Seite 11

Auswahlabfragen Sortierung und Filterung von Informationen. Rechenoperationen mit Hilfe der vorhandenen Daten. Verknüpfung von Tabellen über ein Schlüsselwert. Access SQL in Abfragen nutzen, 29.08.14 Seite 12

in Microsoft Access erstellen Menüband Erstellen. Klick auf Abfrageentwurf in der Gruppe Abfragen. Menüband Abfragetools Entwurf. Ansicht SQL-Ansicht in der Gruppe Ergebnisse. Access SQL in Abfragen nutzen, 29.08.14 Seite 13

speichern <STRG>+<S>. Oder: Datei Objekt speichern unter. In dem Dialog Speichern unter wird in dem ersten Textfeld der Name der Abfrage eingegeben. Jede Bezeichnung in Access ist eindeutig. Der Name sollte das Ergebnis der Abfrage widerspiegeln. Access SQL in Abfragen nutzen, 29.08.14 Seite 14

ausführen Menüband Abfragetools Entwurf. Ausführen in der Gruppe Ergebnisse. In Abhängigkeit der vorhandenen Daten wird das Ergebnis in Tabellenform dargestellt. Die Tabelle ist leer, wenn keine passenden Daten vorhanden sind. Access SQL in Abfragen nutzen, 29.08.14 Seite 15

Relationen Tabellen in einer Datenbank werden mit Hilfe von Schlüsseln verknüpft. 1 : n Beziehungen oder 1 : 1 Beziehungen zwischen zwei Tabellen. m : n Beziehungen werden mit Hilfe einer dritten Tabelle realisiert. Access SQL in Abfragen nutzen, 29.08.14 Seite 16

Relationen zwischen Tabellen Kunde 1 n n gibt auf Bestellung nimmt an 1 Mitarbeiter Nordwind. Kunden Nordwind. Bestellungen Nordwind. Personal Bestell-Nr Zeige ID alle Bestellungen der Firma A an. Personal-Nr Firma n Kunden-Code Nachname Bestelldatum...... 1 1 n Alle ID Vertriebsmitarbeiter. Firma Nachname... Access SQL in Abfragen nutzen, 29.08.14 Seite 17

1 : 1 - Kardinalität Einem Datensatz aus Tabelle A ist exakt ein Datensatz aus der Tabelle B zugeordnet. Kunden Bankverbindung Zeige ID alle Bestellungen der Firma A an. ID Firma Nachname Anrede Titel 1 1 Kunden-Code IBAN BIC Bankname Access SQL in Abfragen nutzen, 29.08.14 Seite 18

Nutzung Es werden zu viele Felder benötigt. Die Information ist sehr komplex. Implementierung von Zugriffsrechten. Zum Beispiel: Die Bankinformationen darf nur die Buchhaltung sehen, aber nicht der Bestellnehmer. Access SQL in Abfragen nutzen, 29.08.14 Seite 19

1 : n - Kardinalität Einem Datensatz aus Tabelle A sind beliebig viele Datensatz aus der Tabelle B zugeordnet. Einem Datensatz aus der Tabelle B ist immer exakt ein Datensatz aus der Tabelle A zugeordnet. Kunden Bestellungen 1 Bestell-Nr Zeige ID alle Bestellungen der Firma A an. Personal-Nr Firma n Kunden-Code Nachname Bestelldatum...... Access SQL in Abfragen nutzen, 29.08.14 Seite 20

m : n - Kardinalität Viele Datensätze aus der Tabelle A können viele Datensätze aus der Tabelle B zugeordnet werden. Teilnehmer Teilnehmer in Kursen Kurs m ID Zeige ID alle Bestellungen der Firma A an. n Teilnehmer Firma Nachname Kurs... eingetragen am... n m ID Kursnr. Kursname... Access SQL in Abfragen nutzen, 29.08.14 Seite 21

Primär- und Fremdschlüssel Jeder Datensatz in einer Tabelle wird eindeutig durch ein Schlüssel identifiziert. Der Schlüssel wird als Primärschlüssel bezeichnet. Fremdschlüssel in einer Tabelle sind Schlüsselwerte, die in einer anderen Tabelle als Primärschlüssel definiert sind. Access SQL in Abfragen nutzen, 29.08.14 Seite 22

Primär- und Detailtabelle Eine Tabelle mit einem Primärschlüssel wird als Primärtabelle oder Mastertabelle bezeichnet. Eine Tabelle, die Fremdschlüssel enthält, wird als Detailtabelle bezeichnet. Kunden Primärtabelle Bestellungen Detailtabelle 1 Bestell-Nr Zeige ID alle Bestellungen der Firma A an. Personal-Nr Firma n Kunden-Code Nachname Bestelldatum...... Access SQL in Abfragen nutzen, 29.08.14 Seite 23

Syntax der Auswahlabfrage SELECT [Feld, Feld] FROM [Tabelle] INNER LEFT RIGHT JOIN [Tabelle] ON [Bedingung] WHERE [Bedingung] ORDER BY [Feld] ASC DESC, [Feld] ASC DESC; Die Auswahlabfrage basiert auf eine 1 : n - Relation Access SQL in Abfragen nutzen, 29.08.14 Seite 24

Join Über den Fremdschlüssel in der Tabelle B wird die Tabelle A mit B verbunden. Die Felder aus Tabelle A und B werden verbunden. Tabelle A und B haben eine Beziehung zueinander. Access SQL in Abfragen nutzen, 29.08.14 Seite 25

INNER JOIN Ein gemeinsames Feld der Tabellen A und B haben gleiche Werte. Der Primärschlüssel aus der Tabelle A muss mindestens einmal als Fremdschlüssel in Tabelle B genutzt werden. Andernfalls wird der Datensatz nicht angezeigt. Access SQL in Abfragen nutzen, 29.08.14 Seite 26

Beispiel ID Firma Nachname 1 A Müller 2 B Meier 3 C Schmidt Bestellnr. Kunde Bestelldatum 001_1 1 24.08.2013 002_3 3 25.08.2013 003_1 1 25.08.2013 FROM Kunde INNER JOIN Bestellung 001_1 Müller 24.08.2013 002_3 Schmidt 25.08.2013 003_1 Müller 25.08.2013 Access SQL in Abfragen nutzen, 29.08.14 Seite 27

in SQL SELECT Bestellungen.[Bestell-Nr], Kunden.Firma, Kunden.Nachname, Bestellungen.Versanddatum FROM KUNDEN INNER JOIN Bestellungen ON Kunden.ID = Bestellungen.[Kunden-Code] ORDER BY Bestellungen.[Bestell-Nr]; Die Tabelle Kunden und Bestellungen werden verbunden. Als Primärschlüssel wird Kunden.ID und als Fremdschlüssel Bestellungen.[Kunden-Code] genutzt. Access SQL in Abfragen nutzen, 29.08.14 Seite 28

Erläuterung FROM Kunden INNER JOIN Bestellungen. Die Tabelle Kunden wird mit der Tabelle Bestellungen verbunden. ON Kunden.ID = Bestellungen.[Kunden-Code]. Als Primärschlüssel wird Kunden.ID und als Fremdschlüssel Bestellungen.[Kunden-Code] genutzt. Es werden Informationen aus den Tabellen Kunden und Bestellungen angezeigt Die Felder [Kunden-Code] und das Feld ID haben gleiche Werte. Access SQL in Abfragen nutzen, 29.08.14 Seite 29

LEFT oder RIGHT JOIN Inklusionsverknüpfung. Die Datensätze der linken oder rechten Tabelle werden mit in das Ergebnis eingeschlossen, auch wenn der Wert in der anderen Tabelle nicht vorkommt. Der Primärschlüssel aus der linken / rechten Tabelle muss einmal oder kein Mal als Fremdschlüssel in der anderen Tabelle genutzt werden. Access SQL in Abfragen nutzen, 29.08.14 Seite 30

LEFT JOIN ID Firma Nachname 1 A Müller 2 B Meier 3 C Schmidt Bestellnr. Kunde Bestelldatum 001_1 1 24.08.2013 002_3 3 25.08.2013 003_1 1 25.08.2013 FROM Kunde LEFT JOIN Bestellung 001_1 Müller 24.08.2013 002_3 Schmidt 25.08.2013 003_1 Müller 25.08.2013 Meier Access SQL in Abfragen nutzen, 29.08.14 Seite 31

in SQL SELECT Bestellungen.[Bestell-Nr], Kunden.Firma, Kunden.Nachname, Bestellungen.Versanddatum FROM KUNDEN LEFT JOIN Bestellungen ON Kunden.ID = Bestellungen.[Kunden-Code] ORDER BY Bestellungen.[Bestell-Nr]; Alle Kunden und deren Bestellung. Access SQL in Abfragen nutzen, 29.08.14 Seite 32

RIGHT JOIN ID Firma Nachname 1 A Müller 2 B Meier 3 C Schmidt Bestellnr. Kunde Bestelldatum 001_1 1 24.08.2013 002_3 3 25.08.2013 003_1 1 25.08.2013 FROM Kunde RIGHT JOIN Bestellung Access SQL in Abfragen nutzen, 29.08.14 Seite 33

in SQL SELECT Bestellungen.[Bestell-Nr], Kunden.Firma, Kunden.Nachname, Bestellungen.Versanddatum FROM KUNDEN RIGHT JOIN Bestellungen ON Kunden.ID = Bestellungen.[Kunden-Code] ORDER BY Bestellungen.[Bestell-Nr]; Alle Bestellungen und deren Kunden. Access SQL in Abfragen nutzen, 29.08.14 Seite 34

Sortierung von Informationen SELECT Bestellungen.[Bestell-Nr], Kunden.Firma, Bestellungen.Versanddatum, Kunden.Nachname FROM KUNDEN INNER JOIN Bestellungen ON Kunden.ID = Bestellungen.[Kunden-Code] ORDER BY Bestellungen.Versanddatum DESC, Kunden.Nachname; ORDER BY [Feld] ASC DESC, [Feld] ASC DESC; Felder zur Sortierung können aus beiden Tabellen kommen. Die Felder werden von links nach rechts sortiert. Access SQL in Abfragen nutzen, 29.08.14 Seite 35

Informationen filtern SELECT Bestellungen.[Bestell-Nr], Kunden.Firma, Bestellungen.Versanddatum, Kunden.Nachname FROM KUNDEN LEFT JOIN Bestellungen ON Kunden.ID = Bestellungen.[Kunden-Code] WHERE (Bestellungen.[Bestell-Nr] IS NULL) ORDER BY Kunden.Nachname; WHERE [Bedingung] Felder zur Filterung können aus beiden Tabellen kommen. Access SQL in Abfragen nutzen, 29.08.14 Seite 36

Ausblenden von mehrfach auftretende Werte SELECT DISTINCT Kunden.Firma, Kunden.Nachname FROM KUNDEN INNER JOIN Bestellungen ON Kunden.ID = Bestellungen.[Kunden-Code] ORDER BY Kunden.Nachname; SELECT DISTINCT blendet alle Datensätze mit mehrfach vorkommenden Werten aus. Das Schlüsselwort DISTINCT bezieht sich immer auf die gesamte Ergebnismenge und nicht auf einzelne Felder. Access SQL in Abfragen nutzen, 29.08.14 Seite 37

Filterung mit Hilfe einer Liste SELECT * FROM Kunden WHERE ( Kunden.ID IN ( SELECT DISTINCT Kunden.ID FROM KUNDEN LEFT JOIN Bestellungen ON Kunden.ID = Bestellungen.[Kunden-Code] WHERE (Bestellungen.[Bestell-Nr] IS NULL) ) ) ORDER BY Kunden.Firma, Kunden.Nachname; Access SQL in Abfragen nutzen, 29.08.14 Seite 38

Hinweise Kunden.ID IN ( SELECT DISTINCT Kunden.ID Es darf nur ein Feld in der SELECT-Anweisung angezeigt werden. Das angezeigte Feld enthält die Vergleichswerte für Kunden.ID. Mit Hilfe der Anweisung DISTINCT kommt jeder Wert in der Liste nur einmal vor. Access SQL in Abfragen nutzen, 29.08.14 Seite 39

Mehrfach-Verbindungen SELECT Personal.Firma, Personal.Nachname, Kunden.Firma, Kunden.Nachname, Bestellungen.[Bestell-Nr], Bestellungen.Bestelldatum FROM Kunden INNER JOIN (Personal INNER JOIN Bestellungen ON Personal.ID = Bestellungen.[Personal-Nr]) ON Kunden.ID = Bestellungen.[Kunden-Code]; Access SQL in Abfragen nutzen, 29.08.14 Seite 40

Erläuterung Personal ID Firma Nachname 1 A Müller 2 B Meier 3 C Schmidt Bestellnr. Personal Kunde 001_1 1 1 002_3 3 2 003_1 1 2 Personal INNER JOIN Bestellung 001_1 A 1 002_3 C 2 003_1 A 2 Access SQL in Abfragen nutzen, 29.08.14 Seite 41

Erläuterung Personal INNER JOIN Bestellung 001_1 A 1 002_3 C 2 003_1 A 2 Kunden ID Firma Nachname 1 X Schulz 2 Y Müller 3 Z Scholz Kunden INNER JOIN... 001_1 A X 002_3 C Y 003_1 A Y Access SQL in Abfragen nutzen, 29.08.14 Seite 42