SQL als Abfragesprache

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

ER-Datenmodell und Abfragen in SQL
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Prof. Dr. Andreas Schmietendorf
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
FH-Hof Effizienz - Anweisungen für Indexstrukturen Richard Göbel.
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
SQL als Abfragesprache
MySQL Der Einstieg.
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Datenintegrität Referentielle Integrität create table
Datenbanken 10: Einfügen, Ändern, Löschen
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern © Erhard Künzel.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
3.5.2 Fremdschlüssel/ Referentielle Integrität (6/9)
2.2 Definition eines Datenbankschemas (SQL-DDL)
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Datenbankentwicklung IV-LK
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Relationale Datenbanken III
O.Univ.-Prof. Dr. Dimitris Karagiannis Datenbanken administrieren mit phpMyAdmin Martin Marinschek
Datenbanken?.
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
SQL Überblick Abfragen aus einer Tabelle
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
JDBC (Java DataBase Connectivity)
Befehle in SQL Erläuterungen.
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
Freiwillige Feuerwehr der Stadt Perg
Aggregatsfunktion SQL = Structured Query Language.
Relationales Datenmodell und DDL
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Am Beispiel der Tabelle Crew des Raumschiffes Enterprise
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Integritätsbedingungen (Constraints)
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
Datenbank für Skriptenverkauf
PHPmyadmin Maya Kindler 6c.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Wirtschaftsinformatik
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Sichten.
Beispiele zur Datenänderung
Create Table, Rechte und Rollen
(Structured Query Language)
 Präsentation transkript:

SQL als Abfragesprache

Allgemeines Zitat Wikipedia: SQL ist eine Datenbanksprache zur Definition Abfrage Manipulation von Daten in relationalen Datenbanken. Für folgende und weitere Infos siehe auch: http://de.wikipedia.org/wiki/SQL

Allgemeines SQL umfasst drei Arten von Datenbanksprachen: Datamanipulation Language (wird zum lesen/schreiben/ändern und löschen von Datenbankinhalten benutzt) Data Definition Language (wird zum Definieren der Datenstruktur benötigt) Data Control Language (wird zur Vergabe von Zugriffsrechten innerhalb der Datenbank benötigt)

Praktischer Teil ...oder: „Wie fange ich überhaupt an wenn ich wollte?“ XAMPP starten Bei MySQL auf „Admin...“ klicken Links im Menu auf „mysql“ Oben auf den Reiter „Abfrageeditor“ Unten rechts können wir jetzt die SQL-Befehle in das Feld eingeben

Praktischer Teil Mini-Wiederholung: Relationale Datenbanken Playlist Merke: Relationale Datenbanken sind Daten in tabellarischer Form, jede Zeile (Tupel) kann durch einen eindeutigen Index (Primary Key) identifiziert werden Nummer Interpret Songtitel 1 Musiker1 Musiker1LiedA 2 Musiker2 Musiker2LiedA 3 Musiker1LiedB

Praktischer Teil Schritt 1: Die Playlist als Tabelle in SQL anlegen Eingeben und auf „ok“ klicken: Wir haben jetzt eine leere Tabelle mit 3 Spalten und einem zugehörigen Datentyp erzeugt (genauere Erklärungen zu den Folien siehe Handout) CREATE TABLE Playlist ( Nummer INT NOT NULL PRIMARY KEY, Interpret varchar(50) NOT NULL, Songtitel varchar (50) NOT NULL ) Für weitere Erklärungen siehe Handout

Praktischer Teil Schritt 2: Die Tabelle mit Inhalt füllen: Wir haben jetzt eine Mini-Datenbank angelegt, die wir zum Beispiel per Select-Anweisung abfragen können. INSERT INTO Playlist (Nummer, Interpret, Songtitel) VALUES (1, 'Musiker1', 'Musiker1LiedA'), (2, 'Musiker2', 'Musiker1LiedA'), (3, 'Musiker1', 'Musiker1LiedB')

Praktischer Teil Beispiel 1: Gibt alle Songtitel aus Playlist aus Beispiel 2: Gibt alle Nummer(n) und Songtitel aus, wo Interpret den Wert ‘Musiker1‘ hat: SELECT Songtitel FROM Playlist SELECT Nummer, Songtitel FROM Playlist WHERE Interpret = ‘Musiker1‘

Praktischer Teil Schritt 3: Die Tabelle verändern Problem: Wir haben auf einmal eine Albumangabe, für die ja keine „Spalte“ in unserer Datenbank vorhanden ist. Dies fügt eine weitere (noch leere) Spalte Album in unsere Tabelle ein. ALTER TABLE Playlist ADD Album varchar(50)

Praktischer Teil Schritt 4: Den Namen des Albums einfügen Fügt in der Zeile, in der Nummer den Wert 1 hat, in der Spalte Album den Wert ‘AlbumIMusiker1‘ ein. UPDATE Playlist SET Album=‘AlbumIMusiker1‘ WHERE Nummer = 1

Theoretischer Teil ...oder: „Was sonst noch möglich ist.“ Datamanipulation Language Wichtigste Befehle: SELECT* INSERT* UPDATE* DELETE *siehe praktisches Beispiel

Theoretischer Teil Allgemeine Form der Select-Anweisung: SELECT SpaltennameA, SpaltennameB FROM Tabellenname (oder auch Relationsname genannt) WHERE Bool‘sche Bedingung (zum Beispiel=, <, >, AND, OR, usw.) Wählt nur jene Spalten, bei denen eine vorher angegebene Bedingung erfüllt ist.

Theoretischer Teil SELECT SpaltennameA, SpaltennameB FROM Tabellenname GROUP BY Anweisung (zum Beispiel COUNT, MAX, MIN, usw.) Wählt die jeweiligen Spalten aus und führt anschließend eine mathematische Funktion aus.

Theoretischer Teil SELECT SpaltennameA, SpaltennameB FROM Tabellenname ORDER BY Spaltenname Anweisung (zum Beispiel asc desc) Gibt die Spalten aus und ordnet sie nach ihrer Reihenfolge (asc= aufsteigend, desc= absteigend)

Theoretischer Teil INSERT INTO Tabellenname (Spaltenname) VALUES (Wert1, Wert2, Wert3) WHERE Bool‘sche Bedingung Fügt in die Spalte der Tabelle Werte ein, bei der eine bestimmte Bedingung erfüllt ist (siehe Beispiel im praktischen Teil)

Theoretischer Teil UPDATE Tabellenname SET Spaltenname = Wert WHERE Bool‘sche Bedingung Ändert den Wert jener Tupel (Zeilen), bei denen eine bestimmte Bedingung erfüllt ist.

Theoretischer Teil DELETE FROM Tabellenname WHERE Bool‘sche Bedingung Löscht den/die Tupel(Zeilen), bei denen eine bestimmte Bedingung erfüllt ist

Theoretischer Teil 2. Data Definition Language Wichtigste Befehle: CREATE (erzeugt)* DROP (löscht) ALTER (ändert)* *siehe praktisches Beispiel

Theoretischer Teil CREATE TABLE Tabellenname (Spaltenname1 Datentyp, Spaltenname2 Datentyp, Spaltenname3 Datentyp) Erzeugt eine Tabelle mit 3 Spalten und den zugehörigen Datentypen (für eine Liste der möglichen Datentypen siehe Handout)

Theoretischer Teil Löscht die betreffende Tabelle DROP TABLE Tabellenname Löscht die betreffende Tabelle ALTER TABLE Tabellenname ADD Spaltenname4 Datentyp, Spaltenname5 Datentyp Fügt in die betreffende Tabelle zwei neue Spalten mit entsprechendem Datentyp ein

Theoretischer Teil 3. Data Control Language Wichtige Befehle: GRANT REVOKE

Theoretischer Teil GRANT Befehl1 (z.B. SELECT), Befehl2 (z.B. UPDATE) ON TABLE Tabellenname TO Benutzername Dem betreffenden Benutzer (oder Benutzergruppe) wird das Recht zugesprochen, eine bestimmte Tabelle auszulesen (SELECT) und deren Inhalt zu verändern (UPDATE) Ersetzt man GRANT durch REVOKE, werden die entsprechenden Rechte wieder genommen

SQL als Abfragesprache ENDE