15
Christmas at The O 2 Party like the stars

4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

  • Upload
    ngodien

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

4. Structured Query Language(SQL)

Page 2: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

2

Rückblick§ Konzeptuelles Modell (ERM) können wir nun in

(wenige) Relationen übersetzen

§ Relationale Algebra gibt uns eine Sprache an die Hand,mit der wir Anfragen auf Relationen formulieren können

§ Jetzt: Structured Query Language (SQL) als der Industriestandard zur Schemadefinition,Datenmanipulation und Anfrageformulierung

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 3: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

3

SQL vs. Relationales Modell & Relationenalgebra§ Relationales Modell und relationale Algebra bilden das

theoretische Fundament von SQL

§ Wichtige Unterschiede:

§ Relationales Modell sieht Relationen als Mengen von Tupeln, und es gibt somit keine Duplikate; per SQL definierte

Tabellen in RDBMS können jedoch Duplikate enthalten

§ Relationale Algebra gibt (implizit) einen Auswertungsplan für

die Anfrage vor; SQL ist rein deklarativ, d.h. das RDBMS

darf selbst entscheiden wie die Anfrage ausgewertet wird

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 4: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

4

Structured Query Language (SQL)§ Structured Query Language (SQL)

§ geht zurück auf den in IBM Almaden (San Jose)entwickelten Prototypen System R

§ ursprünglich: Structured English Query Language (SEQUEL)

§ auf Englisch wird SQL noch immer sequel gesprochen

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 5: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

5

SQL als Standard§ SQL standardisiert durch American National Standards

Institute (ANSI) und International Organization for

Standardization (ISO)

§ SQL-86 / SQL-89

§ SQL-92 (z.B. Datentypen für Daten, Mengenoperationen)

§ SQL-99 (z.B. rekursive Anfragen)

§ SQL-2003 (z.B. Unterstützung von XML)

§ SQL-2008 / SQL-2011

§ Oracle, IBM DB2 und Microsoft SQL Server unterstützen SQL-92 weitgehend und bieten darüber hinaus

proprietäre Funktionalität (z.B. XML-Unterstützung)

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 6: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

6

SQL Sprachbestandteile§ Data Definition Language (DDL) zur

Schemadefinition (z.B. Anlegen von Tabellen)

§ Data Query Language (DQL) zumAnfragen (z.B. Auswahl bestimmter Zeilen)

§ Data Manipulation Language (DML) zur Datenmanipulation (z.B. Einfügen von Daten in Tabellen)

§ Data Control Language (DCL) zurRechteverwaltung (z.B. Sperren des Zugriffs auf Tabelle)

§ Transaction Control Language (TCL) zurTransaktionsverwaltung (z.B. rückgängig machen)

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 7: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

7

4.1 Schemadefinition und -veränderung§ Data Definition Language (DDL) stellt Befehle zur

Schemadefinition und –veränderung bereit, z.B.

§ Anlegen, Ändern und Löschen von Tabellen§ Anlegen, Ändern und Löschen von Sichten (Kapitel 10)

§ Wie können wir zu Relationen unseres Schema, z.B.

entsprechende Tabelle anlegen?

Studenten :Ó

[ MatrNr : integer, Vorname : string, Name : string, Semester : integer ]Ô

Professoren :Ó

[ PersNr : integer, Vorname : string, Name : string, Fach : string ]Ô

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 8: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

8

Datentypen§ SQL kennt eine Vielzahl von Datentypen, u.a.

§ int, smallint, bigint für ganze Zahlen

§ float für Gleitkommazahlen

§ char(n) für Zeichenketten mit fixer Länge n

§ varchar(n) für Zeichenkette der maximalen Länge n

§ date, time, datetime für Datums- und Zeitangaben

§ money für Währungsangaben

§ blob / clob für große Binär- bzw. Textdaten

§ …

§ Verfügbarkeit und Benennung der Datentypen

unterscheidet sich (leider) zwischen RDBMSs

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 9: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

9

Datentypen in SQLite und MS SQL Server§ MS SQL Server und SQLite als die für unsere Vorlesung

relevanten RDBMSs kennen u.a. folgende Datentypen

§ int / smallint / integer für ganze Zahlen

§ float / real für Gleitkommazahlen

§ char / varchar(n) / text für Zeichenketten

§ varbinary(n) / blob für sehr große Binärdaten (bis 2 GB)

§ datetime / smalldatetime für Datumsangaben

§ money für Währungsangaben

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 10: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

10

NULL-Werte§ Weiterer Unterschied zum relationalen Modell:

RDBMSs unterstützen NULL-Werte für alle Datentypen

§ NULL-Wert zeigt an, dass der Wert des Attributs nicht bekannt ist oder dass das Attribut nicht anwendbar ist

§ NULL-Werte können bei der Schemadefinition (d.h. demAnlegen von Tabellen) erlaubt oder untersagt werden

§ Beispiel: Lieferdatum (nicht bekannt) und Bemerkung (nicht anwendbar) von Bestellungen dürfen NULL sein

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 11: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

11

Anlegen von Tabellen§ Tabellen lassen sich mittels CREATE TABLE anlegen

§ Beispiel: Tabelle Professoren

1 CREATE TABLE <Name der Tabelle > (2 <Name von Attribut 1> datentyp (NOT) NULL ,3 <Name von Attribut 2> datentyp (NOT) NULL ,4 ...5 )

1 CREATE TABLE Professoren (2 PersNr int NOT NULL ,3 Vorname varchar (30) NOT NULL ,4 Name varchar (30) NOT NULL ,5 Fach varchar (60) NULL

6 )

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 12: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

12

Anlegen von Tabellen§ NULL-Werte können erlaubt oder untersagt werden

§ NOT NULL lässt keine NULL-Werte zu

§ NULL (oder keine Angabe) lässt NULL-Werte zu

§ Diese Angaben sind Integritätsbedingungen, d.h. das RDBMS stellt sicher, dass sie eingehalten werden

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 13: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

13

Primärschlüssel§ Bisher kein Schlüssel definiert, d.h. die Tabelle

Professoren könnte mehrere identische Tupel enthalten

§ Primärschlüssel (mehr dazu in Kapitel 5) ist die Menge von Attributen, die als Schlüssel für Tabelle gewählt wurde

§ Primärschlüssel wird mittels PRIMARY KEY angegebenund kann ein oder mehrere Attribute umfassen

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 14: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

14

Primärschlüssel§ Beispiel: Tabelle Professoren

§ Erinnerung: Primärschlüssel stellen eine

Integritätsbedingung dar (mehr dazu in Kapitel 6),

um deren Einhaltung sich das RDBMS nun kümmert,

d.h. wir können nicht mehrere Tupel mit identischer

PersNr in die Tabelle einfügen

1 CREATE TABLE Professoren (2 PersNr int ,3 Vorname varchar (30) ,4 Name varchar (30) ,5 Fach varchar (60) ,6 PRIMARY KEY ( PersNr )7 )

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 15: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

15

Fremdschlüssel

§ Fremdschlüssel sind Gruppen von Attributen, die dem Primärschlüssel einer anderen Tabelle entsprechen und damit auf ein Tupel in der anderen Tabelle verweisen

§ Beispiel: Relation Vorlesung, nach Eliminierung des 1:n-Beziehungstyps lesen, enthält Attribut PersNr,welches auf einen Professor verweist

Datenbanken / Kapitel 4: Structured Query Language (SQL)

1 CREATE TABLE Vorlesungen (2 VorlNr int NOT NULL ,3 Bezeichnung varchar (60) NOT NULL ,4 SWS varchar (30) NOT NULL ,5 PersNr int NULL ,6 PRIMARY KEY ( VorlNr )7 )

Page 16: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

16

Fremdschlüssel§ Fremdschlüssel werden mittels FOREIGN KEY ... REFERENCES angegeben und können jeweils mehrere Attribute enthalten

§ Eine Tabelle kann höchstens einen Primärschlüssel,aber mehrere Fremdschlüssel besitzen

Datenbanken / Kapitel 4: Structured Query Language (SQL)

1 CREATE TABLE Vorlesungen (2 VorlNr int NOT NULL ,3 Bezeichnung varchar (60) NOT NULL ,4 SWS varchar (30) NOT NULL ,5 PersNr int NULL ,6 FOREIGN KEY ( PersNr ) REFERENCES Professoren ( PersNr ),7 PRIMARY KEY ( VorlNr )8 )

Page 17: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

17

Referentielle Integrität

§ Fremdschlüssel stellen eine Integritätsbedingung dar

§ RDBMS stellt referentielle Integrität der Daten sicher, d.h.

wenn die Attribute A1 ,…, An als Fremdschlüssel auf eine

andere Tabelle T markiert sind, dann

§ müssen alle Ai den Wert NULL haben (sofern erlaubt), oder

§ es muss ein entsprechendes Tupel mit den Werten der

Attribute Ai als Primärschlüssel in der Tabelle T existieren

§ Mehr zur referentiellen Integrität in Kapitel 6

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 18: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

18

Ändern von Tabellen§ Tabellen (d.h. ihr Schema, nicht ihr Inhalt) lassen sich

mittels ALTER TABLE verändern

§ Hinzufügen eines Attributs

§ Ändern eines Attributs1 ALTER TABLE <Name der Tabelle >2 ALTER COLUMN <Name des Attributs > datentyp

1 ALTER TABLE <Name der Tabelle >2 ADD COLUMN <Name des Attributs > datentyp

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 19: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

19

Löschen von Tabellen§ Tabellen lassen sich mittels DROP TABLE löschen

§ Beispiel: Tabelle Professoren

1 DROP TABLE <Name der Tabelle >

1 DROP TABLE Professoren

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 20: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

20

SQL-Syntaxdiagramme§ Dokumentation zu RDBMS veranschaulicht die Syntax

eines SQL Kommandos evtl. mittels Syntaxdiagramm

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Quelle: https://www.sqlite.org

Page 21: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

21

SQL-Grammatiken§ Grammatiken sind eine alternative, zu Syntaxdiagrammen

äquivalente, Darstellung der Syntax von SQL Kommandos

Datenbanken / Kapitel 4: Structured Query Language (SQL)

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(create_definition,...)[partition_options]

create_definition:col_name column_definition

| [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)[index_option] ...

| [CONSTRAINT [symbol]] FOREIGN KEY[index_name] (index_col_name,...) reference_definition

| CHECK (expr)

column_definition:data_type [NOT NULL | NULL] [DEFAULT default_value][AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY][COMMENT 'string'][COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}][STORAGE {DISK|MEMORY|DEFAULT}][reference_definition]

Quelle: http://docs.oracle.com

Page 22: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

22

Data Dictionary§ RDBMSs verwenden meist selbst eine Datenbank, das

sogenannte Data Dictionary, um Schemainformationen(z.B. welche Tabellen es gibt) zu verwalten

§ Namen der Tabellen, in denen das Data Dictionary selbst angelegt ist, sind (leider) systemabhängig

§ RDBMSs bieten teilweise eigene Kommandos, um auf das Data Dictionary zuzugreifen

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 23: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

23

Data Dictionary§ Zugriff auf Data Dictionary in SQLite:

§ .tables zeigt verfügbare Tabellen an

§ .schema zeigt Schema einer Tabelle an

§ Zugriff auf Data Dictionary in MS SQL Server:

§ sp_tables enthält verfügbare Tabellen

§ sp_columns <T> enthält Schema der Tabelle T

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 24: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

24

4.2 Anfragen auf einer Tabelle§ Anfragen lassen sich mittels des SELECT Kommandos

formulieren; dieses hat folgende Form

§ Beispiel: Vorname und Name von Professoren in Informatik

dies entspricht folgendem Ausdruck der Relationenalgebra

Datenbanken / Kapitel 4: Structured Query Language (SQL)

fi [ Vorname, Name ] ( ‡ [ Fach = “Informatik” ] ( Professoren ) )

1 SELECT <Attribute >2 FROM <Tabellen >3 WHERE <Bedingungen >4 ORDER BY <Attribute >

1 SELECT Vorname , Name2 FROM Professoren3 WHERE Fach = ’Informatik ’

Page 25: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

25

Duplikateneliminierung§ Anfrageergebnisse können, im Gegensatz zu

Ergebnisrelationen der Relationenalgebra,Duplikate enthalten

Datenbanken / Kapitel 4: Structured Query Language (SQL)

ProfessorenPersNr Vorname Name Fach

101101 Donald Knuth Informatik231011 Albert Einstein Physik300128 Alfred Nobel Chemie478122 Donald Kossmann Informatik600321 Carl Gauss Mathematik

1 SELECT Vorname2 FROM Professoren

Vorname

DonaldAlbertAlfredDonaldCarl

Page 26: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

26

Duplikateneliminierung§ Duplikate im Anfrageergebnis können durch Angabe von DISTINCT unterdrückt werden

Datenbanken / Kapitel 4: Structured Query Language (SQL)

ProfessorenPersNr Vorname Name Fach

101101 Donald Knuth Informatik231011 Albert Einstein Physik300128 Alfred Nobel Chemie478122 Donald Kossmann Informatik600321 Carl Gauss Mathematik

1 SELECT DISTINCT Vorname2 FROM Professoren

Vorname

DonaldAlbertAlfredCarl

Page 27: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

27

Sortierung

§ Anfrageergebnisse können, im Gegensatz zu Ergebnisrelationen der Relationenalgebra,eine Ordnung haben

§ Sortierung des Anfrageergebnis nach ein oder mehreren Attributen durch Angabe durch ORDER BY

§ Natürliche Ordnung der Attribute wird gemäß ihres Datentyps verwendet, d.h. numerische Attribute (z.B. intund float) werden nach numerischem Wert, textuelle Attribute (z.B. char und varchar) lexikografisch sortiert

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 28: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

28

Sortierung§ Angabe von ASC bzw. DESC bestimmt, ob nach einem

Attribut aufsteigend oder absteigend sortiert wird

§ ASC ist hier Vorgabewert (default) und kann entfallen

§ Beispiel: Vorname, Name und Fach von Professoren,aufsteigend sortiert nach Nachname und Vorname

Datenbanken / Kapitel 4: Structured Query Language (SQL)

1 SELECT Vorname , Name , Fach2 FROM Professoren3 WHERE Fach = ’Mathematik ’4 ORDER BY Name , Vorname

Page 29: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

29

Sortierung§ Beispiel: Vorname und Name von Studenten, absteigend

sortiert nach ihrer Anzahl von Semestern

Datenbanken / Kapitel 4: Structured Query Language (SQL)

1 SELECT Vorname , Name2 FROM Studenten3 ORDER BY Semester DESC

Page 30: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

30

Formatierung und Namenskonventionen

§ Ähnlich zu Programmiersprachen, gibt es auch für SQL verschiedene Konventionen zur Benennung von Bezeichnern und Formatierung von Kommandos

§ Schlüsselwörter (CREATE vs. create)

§ Attributnamen (Bestell_Nr vs. BestellNr)

§ Tabellennamen (Kunden vs. Kunde)

§ Formatierung von Kommandos (Klammern und Umbrüche)

§ Letztlich Geschmacksache,Konsistenz innerhalb eines Projekts ist jedoch wichtig

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 31: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

31

4.3 SQLite§ Im Softwarelabor verwenden wir MS SQL Server; zum

Üben zu Hause stellen wir unsere Beispieldatenbankfür SQLite zur Verfügung

§ Datenbanken und Software für Windows, Mac und Linuxstehen zum Download auf der Vorlesungswebseite bereit

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 32: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

32

SQLite Kommandos§ Starten von SQLite mit der Beispieldatenbank

§ Mac / Linux: ./sqlite3 dbs-versandhandel.sqlite

§ Windows: ./sqlite3.exe dbs-versandhandel.sqlite

§ Anzeigen verfügbarer Tabellen

§ .tables

§ Anzeigen des Schemas einer Tabelle

§ .schema <Tabelle>

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 33: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

33

SQLite Kommandos§ Anzeige von Attributnamen an-/ausschalten

§ .headers on|off

§ Trennzeichen für Spalten ändern

§ .separator ‘|‘ (trennt Spalten durch Vertikalstrich)

§ Hilfe anzeigen

§ .help

§ Beenden

§ .quit

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 34: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

34

SQLite Kommandos§ SQL Kommandos in SQLite durch Semikolon beendet

§ SELECT * FROM Artists;

§ Zahl der zurückgelieferten Zeilen durch LIMIT begrenzbar

§ SELECT * FROM Artists LIMIT 10;

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 35: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

35

Anfrageübung Musik-Streaming-Dienst

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Records :;5

MediumId : int, RecordId : int, DiscNumber : int, Name : str,TrackCount : int, Year : int, Note : str, ArtistId : int

6<

<latexit sha1_base64="3QCZUOdLvHeibZB+AzUAXYufbpE=">AAADdnicfVJbaxNBFJ5kvaTx0lR9EyQYRB9KdhMEpU8RfdCHlipNW8ksYXb2JB0yl2XmrBiW/aH9D/4A33SyqegmmMPA+TjfuXC+M0kmhcMoum40g1u379xt7bXv3X/wcL9z8OjcmdxyGHMjjb1MmAMpNIxRoITLzAJTiYSLZPF+xV98A+uE0We4zCBWbK7FTHCGPjQ9aFiK8B21sYrJ4gtwY1NXdo+6VMIMaVG5CU1gLnTBrGXLspAlzXUKdjWz+Lf8GFKRq09pWR5VYcRCaCwPu9szfNKOnA/C8ZNcJWB3ZZ0wBX95h7Y8pLSWcWYZ9yLkvnRHn6/Ads8xuDmnxr+z6A+1uREFnd4oRq2YX2G8drScdnpRfxitrLsNBv3KR73RE1LZ6bTzg6aG5wo0csmcmwyiDGPfHAWXULZp7iDzm7I5TFiUsQxsXMzBKEC7rNMeai+bi4vq79TIginnlirZCiqGV/VgYswCWeI2muPsbeyXz3IEzT1XwSIcO/8Dw4U/p38iPF6G08wH/E4ulMxrFirGrXF9D8u2l+ePBt3/g/Nhf+Dx59e90XCtE2mRp+Q5eUUG5A0ZkY/klIwJb1w3fjVbzb3mz+BZ8CJ4uU5tNm5qHpOaBdFvp6IvIQ==</latexit><latexit sha1_base64="3QCZUOdLvHeibZB+AzUAXYufbpE=">AAADdnicfVJbaxNBFJ5kvaTx0lR9EyQYRB9KdhMEpU8RfdCHlipNW8ksYXb2JB0yl2XmrBiW/aH9D/4A33SyqegmmMPA+TjfuXC+M0kmhcMoum40g1u379xt7bXv3X/wcL9z8OjcmdxyGHMjjb1MmAMpNIxRoITLzAJTiYSLZPF+xV98A+uE0We4zCBWbK7FTHCGPjQ9aFiK8B21sYrJ4gtwY1NXdo+6VMIMaVG5CU1gLnTBrGXLspAlzXUKdjWz+Lf8GFKRq09pWR5VYcRCaCwPu9szfNKOnA/C8ZNcJWB3ZZ0wBX95h7Y8pLSWcWYZ9yLkvnRHn6/Ads8xuDmnxr+z6A+1uREFnd4oRq2YX2G8drScdnpRfxitrLsNBv3KR73RE1LZ6bTzg6aG5wo0csmcmwyiDGPfHAWXULZp7iDzm7I5TFiUsQxsXMzBKEC7rNMeai+bi4vq79TIginnlirZCiqGV/VgYswCWeI2muPsbeyXz3IEzT1XwSIcO/8Dw4U/p38iPF6G08wH/E4ulMxrFirGrXF9D8u2l+ePBt3/g/Nhf+Dx59e90XCtE2mRp+Q5eUUG5A0ZkY/klIwJb1w3fjVbzb3mz+BZ8CJ4uU5tNm5qHpOaBdFvp6IvIQ==</latexit><latexit sha1_base64="3QCZUOdLvHeibZB+AzUAXYufbpE=">AAADdnicfVJbaxNBFJ5kvaTx0lR9EyQYRB9KdhMEpU8RfdCHlipNW8ksYXb2JB0yl2XmrBiW/aH9D/4A33SyqegmmMPA+TjfuXC+M0kmhcMoum40g1u379xt7bXv3X/wcL9z8OjcmdxyGHMjjb1MmAMpNIxRoITLzAJTiYSLZPF+xV98A+uE0We4zCBWbK7FTHCGPjQ9aFiK8B21sYrJ4gtwY1NXdo+6VMIMaVG5CU1gLnTBrGXLspAlzXUKdjWz+Lf8GFKRq09pWR5VYcRCaCwPu9szfNKOnA/C8ZNcJWB3ZZ0wBX95h7Y8pLSWcWYZ9yLkvnRHn6/Ads8xuDmnxr+z6A+1uREFnd4oRq2YX2G8drScdnpRfxitrLsNBv3KR73RE1LZ6bTzg6aG5wo0csmcmwyiDGPfHAWXULZp7iDzm7I5TFiUsQxsXMzBKEC7rNMeai+bi4vq79TIginnlirZCiqGV/VgYswCWeI2muPsbeyXz3IEzT1XwSIcO/8Dw4U/p38iPF6G08wH/E4ulMxrFirGrXF9D8u2l+ePBt3/g/Nhf+Dx59e90XCtE2mRp+Q5eUUG5A0ZkY/klIwJb1w3fjVbzb3mz+BZ8CJ4uU5tNm5qHpOaBdFvp6IvIQ==</latexit><latexit sha1_base64="3rmykwZYy4lMruoS+Yvl61Cl/5E=">AAADdnicfVJbaxNBFJ5kvaTxluqjIItB9KFkN0FQ+lTRB31oqdK0lcwSZmdP0iFzWWbOimHZH9r/4A/wTSfbiG6COQycj/OdC+c7k+ZSOIzj61Y7uHX7zt3OXvfe/QcPH/X2H587U1gOY26ksZcpcyCFhjEKlHCZW2AqlXCRLt6v+ItvYJ0w+gyXOSSKzbWYCc7Qh6b7LUsRvqM2VjFZfgFubOaq8DCkEmZIy9pNaApzoUtmLVtWpaxooTOwq5nlv+XHkIlCfcqq6rAOI5ZCY3UQbs/wSTtyPgjHTwqVgt2VdcIU/OUd2uqA0kbGmWXci1D40h19vgLbPcfg5pwG/86iP9TmRhR0tlaMWjG/wuTG0Wra68eDUbyycBsMB7WP+2Rtp9PeD5oZXijQyCVzbjKMc0x8cxRcQtWlhYPcb8rmMGFxznKwSTkHowDtskl7qL1sLinrv9MgS6acW6p0K6gYXjWDqTELZKnbaI6zt4lfPi8QNPdcDcto7PwPjBb+nP6J6HgZTXMf8Du5SDKvWaQYt8YNPKy6Xp4/GoT/B+ejwdDjz6/7R6O1UB3ylDwnr8iQvCFH5CM5JWPCW9etX+1Oe6/9M3gWvAhe3qS2W+uaJ6RhQfwbLP4uzQ==</latexit>

Artists :;5

Artistid : int, Name : str, BeginYear : int, EndYear : int,Location : str, Type : str, Gender : str

6<

<latexit sha1_base64="+1Q657yU0M2BDpHexSJxPr1026M=">AAADUnicfVJNb9NAEF3HfJRQIAVuXCxy4VDFTlQJ1FMAIThAVaSmLcpa0dqZuKvsh7U7RkSWfxb/hAviCjd+ASfWThF1Ax2ttE/vvZ3RPG2SC24xir56Hf/a9Rs3t251b2/fuXuvt3P/2OrCpDBJtdDmNGEWBFcwQY4CTnMDTCYCTpLly1o/+QjGcq2OcJVDLFmm+IKnDB012/EOKMInVNpIJsrnBt1IWwX7ARWwQFo215QmkHFVMmPYqipFRQs1B1PPLDef83lV7Tc0YskVVrvBRdMBk/BXt2iq3Yvyi3rSB2Dmqh6v1PwfFkpbprd6veSlYUHLdOQyudLwGupV25aAOvI8DWp4dobx+qLVrNePBqOormATDAfNHfXHD0lTh7PeTzrXaSFBYSqYtdNhlGPsmiNPBVRdWljIWbpkGUxZlLMcTFxmoCWgWbVlB5UL18Zl8y9aYsmktSuZbJCS4VmbTLReIkvspea4eBa7nPMCQaVOa2AZTqz7XeEyAeMOD9+twlnuCLeTDQVzoYWSpUbbgYNV18XzJ4Pg/+B4NBg6/H6vPx6tcyJb5BF5TJ6QIXlKxuQNOSQTknqfvW/ed+9H50vnl+/5/tra8c7fPCCt8rd/AyXaIfk=</latexit><latexit sha1_base64="+1Q657yU0M2BDpHexSJxPr1026M=">AAADUnicfVJNb9NAEF3HfJRQIAVuXCxy4VDFTlQJ1FMAIThAVaSmLcpa0dqZuKvsh7U7RkSWfxb/hAviCjd+ASfWThF1Ax2ttE/vvZ3RPG2SC24xir56Hf/a9Rs3t251b2/fuXuvt3P/2OrCpDBJtdDmNGEWBFcwQY4CTnMDTCYCTpLly1o/+QjGcq2OcJVDLFmm+IKnDB012/EOKMInVNpIJsrnBt1IWwX7ARWwQFo215QmkHFVMmPYqipFRQs1B1PPLDef83lV7Tc0YskVVrvBRdMBk/BXt2iq3Yvyi3rSB2Dmqh6v1PwfFkpbprd6veSlYUHLdOQyudLwGupV25aAOvI8DWp4dobx+qLVrNePBqOormATDAfNHfXHD0lTh7PeTzrXaSFBYSqYtdNhlGPsmiNPBVRdWljIWbpkGUxZlLMcTFxmoCWgWbVlB5UL18Zl8y9aYsmktSuZbJCS4VmbTLReIkvspea4eBa7nPMCQaVOa2AZTqz7XeEyAeMOD9+twlnuCLeTDQVzoYWSpUbbgYNV18XzJ4Pg/+B4NBg6/H6vPx6tcyJb5BF5TJ6QIXlKxuQNOSQTknqfvW/ed+9H50vnl+/5/tra8c7fPCCt8rd/AyXaIfk=</latexit><latexit sha1_base64="+1Q657yU0M2BDpHexSJxPr1026M=">AAADUnicfVJNb9NAEF3HfJRQIAVuXCxy4VDFTlQJ1FMAIThAVaSmLcpa0dqZuKvsh7U7RkSWfxb/hAviCjd+ASfWThF1Ax2ttE/vvZ3RPG2SC24xir56Hf/a9Rs3t251b2/fuXuvt3P/2OrCpDBJtdDmNGEWBFcwQY4CTnMDTCYCTpLly1o/+QjGcq2OcJVDLFmm+IKnDB012/EOKMInVNpIJsrnBt1IWwX7ARWwQFo215QmkHFVMmPYqipFRQs1B1PPLDef83lV7Tc0YskVVrvBRdMBk/BXt2iq3Yvyi3rSB2Dmqh6v1PwfFkpbprd6veSlYUHLdOQyudLwGupV25aAOvI8DWp4dobx+qLVrNePBqOormATDAfNHfXHD0lTh7PeTzrXaSFBYSqYtdNhlGPsmiNPBVRdWljIWbpkGUxZlLMcTFxmoCWgWbVlB5UL18Zl8y9aYsmktSuZbJCS4VmbTLReIkvspea4eBa7nPMCQaVOa2AZTqz7XeEyAeMOD9+twlnuCLeTDQVzoYWSpUbbgYNV18XzJ4Pg/+B4NBg6/H6vPx6tcyJb5BF5TJ6QIXlKxuQNOSQTknqfvW/ed+9H50vnl+/5/tra8c7fPCCt8rd/AyXaIfk=</latexit><latexit sha1_base64="z0BJ6RGqGXk08VFF7zuXC+G/Be0=">AAADUnicfVJBb9MwFHYaYKMM6ODIJaIXDlOTVkignTYQggNMQ1q3oTqqnPS1s+rYkf2CiCL/LP4JF8QVbvwCTjhpEcsKe7LkT9/3+T29T05ywQ1G0Vev49+4eWtr+3b3zs7de/d7uw9OjSp0CuNUCaXPE2ZAcAlj5CjgPNfAskTAWbJ8WetnH0EbruQJljnEGVtIPucpQ0dNd70jivAJpdIZE9WhRjfS2GA/oALmSKvmmtAEFlxWTGtW2kpYWsgZ6Hpmtfmcz6zdb2jEiku0e8Fl0xHL4K9uUNu9y/KLetIHYPq6Hq/k7B8WSlumt2q15JVhQct04jK51vAa6lXbloA6cp0G1XxxgfHqonba60eDUVRXsAmGg+aO+mRdx9PeTzpTaZGBxFQwYybDKMfYNUeeCrBdWhjIWbpkC5iwKGc56LhagMoAddmWHZQuXBNXzb9oiRXLjCmzZIPMGF60yUSpJbLEXGmO8+exyzkvEGTqtAZW4di43xUuE9Du8PBdGU5zR7idTCiYCy3MWKqVGThouy6ePxkE/weno8HQ4fdP+wejdVDb5BF5TJ6QIXlGDsgbckzGJPU+e9+8796PzpfOL9/z/ZW1463fPCSt8nd+A6snIaU=</latexit>

Songs :)

[SongId : int, Name : str, Length : int, Note : str]*

<latexit sha1_base64="CqhmPe+fqfcPPjQm3CQ3tiKy9Ss=">AAACt3icfVHbbhMxFPRuuZRwC4UneFmRFx5QdhMhAX2KxAtFgIogbaXsauV1TjZWfMM+WzWy9q/4Gf6Bj8DZgiCp4MiSRzPHI824MoI7zLLvUbx37fqNm/u3erfv3L13v//g4MTpxjKYMi20PauoA8EVTJGjgDNjgcpKwGm1erPRT8/BOq7VF1wbKCStFV9wRjFQZf9bjnCBSltJhf+sVe3a5DDJBSww97O8UXOwG2+/u3c0b9vDjkT0XGH7PPl75SOV8Ed3aHf096BqXP7XQeOOQ5FbXi8xb8v+IBuOs80kV8Fo2N3ZYPKIdHNc9n/kc80aCQqZoM7NRpnBwlOLnAloe3njwFC2ojXMaGaoAVv4GrQEtOttOUAVsrnCd+VviZ5K59ayukJKGrJukZXWK6SV2zHHxasidGEaBMWC1kGfTl34wnRVgQ2Hpx/WaWkCETK5VNBQUSops9oNA2x7oZ7fHST/Bifj4SjgTy8Gk/FlT2SfPCFPyTMyIi/JhLwlx2RKWPQ4mkRH0bv4dVzGi3h5uRpHv948JFsTf/0JC47hKw==</latexit><latexit sha1_base64="CqhmPe+fqfcPPjQm3CQ3tiKy9Ss=">AAACt3icfVHbbhMxFPRuuZRwC4UneFmRFx5QdhMhAX2KxAtFgIogbaXsauV1TjZWfMM+WzWy9q/4Gf6Bj8DZgiCp4MiSRzPHI824MoI7zLLvUbx37fqNm/u3erfv3L13v//g4MTpxjKYMi20PauoA8EVTJGjgDNjgcpKwGm1erPRT8/BOq7VF1wbKCStFV9wRjFQZf9bjnCBSltJhf+sVe3a5DDJBSww97O8UXOwG2+/u3c0b9vDjkT0XGH7PPl75SOV8Ed3aHf096BqXP7XQeOOQ5FbXi8xb8v+IBuOs80kV8Fo2N3ZYPKIdHNc9n/kc80aCQqZoM7NRpnBwlOLnAloe3njwFC2ojXMaGaoAVv4GrQEtOttOUAVsrnCd+VviZ5K59ayukJKGrJukZXWK6SV2zHHxasidGEaBMWC1kGfTl34wnRVgQ2Hpx/WaWkCETK5VNBQUSops9oNA2x7oZ7fHST/Bifj4SjgTy8Gk/FlT2SfPCFPyTMyIi/JhLwlx2RKWPQ4mkRH0bv4dVzGi3h5uRpHv948JFsTf/0JC47hKw==</latexit><latexit sha1_base64="CqhmPe+fqfcPPjQm3CQ3tiKy9Ss=">AAACt3icfVHbbhMxFPRuuZRwC4UneFmRFx5QdhMhAX2KxAtFgIogbaXsauV1TjZWfMM+WzWy9q/4Gf6Bj8DZgiCp4MiSRzPHI824MoI7zLLvUbx37fqNm/u3erfv3L13v//g4MTpxjKYMi20PauoA8EVTJGjgDNjgcpKwGm1erPRT8/BOq7VF1wbKCStFV9wRjFQZf9bjnCBSltJhf+sVe3a5DDJBSww97O8UXOwG2+/u3c0b9vDjkT0XGH7PPl75SOV8Ed3aHf096BqXP7XQeOOQ5FbXi8xb8v+IBuOs80kV8Fo2N3ZYPKIdHNc9n/kc80aCQqZoM7NRpnBwlOLnAloe3njwFC2ojXMaGaoAVv4GrQEtOttOUAVsrnCd+VviZ5K59ayukJKGrJukZXWK6SV2zHHxasidGEaBMWC1kGfTl34wnRVgQ2Hpx/WaWkCETK5VNBQUSops9oNA2x7oZ7fHST/Bifj4SjgTy8Gk/FlT2SfPCFPyTMyIi/JhLwlx2RKWPQ4mkRH0bv4dVzGi3h5uRpHv948JFsTf/0JC47hKw==</latexit><latexit sha1_base64="ToR8D6stQv5pAj5ufLMwR2V3104=">AAACt3icfVHbbhMxFPRuuZRwC+UNXlbkhQeU3USVoH2K1BeKABVB2krZ1crrnGys+Fb7LGpk7V/xM/wDH4ETgiCp4MiSRzPHI824MoI7zLLvUbx36/adu/v3OvcfPHz0uPvk4NzpxjIYMy20vayoA8EVjJGjgEtjgcpKwEW1OFnpF1/BOq7VF1waKCStFZ9xRjFQZfdbjnCNSltJhf+sVe3a5DjJBcww95O8UVOwK2+/u3c6bdvjNYnoucL2VfL3ykcq4Y/u0O7o70HVOP+vg8YdhyK3vJ5j3pbdXtYfZqtJboJBf31nPbKZs7L7I59q1khQyAR1bjLIDBaeWuRMQNvJGweGsgWtYUIzQw3YwtegJaBdbssBqpDNFX5d/pboqXRuKasbpKQh6xZZab1AWrkdc5y9KUIXpkFQLGhr6NOxC1+YLiqw4fD0wzItTSBCJpcKGipKJWVWu36AbSfU87uD5N/gfNgfBPzpsDcaboraJ8/JC/KSDMhrMiJvyRkZExY9i0bRafQuPorLeBbPf63G0ebNU7I18dVPkNvg1w==</latexit>

includes :)

[MediumId : int, SongId : int, Position : int]*

<latexit sha1_base64="j2WdG4WLJqSzIT9iiuZH4PKO3PE=">AAACoHicdVHLbtNAFB27QNvwaIDu2FjNBiQUOwGpqKtIbMqiIhWkrYitaDy+cUeZl2auq0aWP4UP4x/4CCYuSHUqrkaao3POvZp7JjeCO0ySX0G48+jxk929/d7TZ89fHPRfvrpwurIMZkwLba9y6kBwBTPkKODKWKAyF3CZrz5v9MsbsI5r9R3XBjJJS8WXnFH01KL/M0W4RaWtpKLmiomqANdEJ1EqYIlpPU8rVYDdjK/vW8+g4JX8UjQnLYvom7F5H933fNOq3HZsWaba8c1DuqYstby8xrRZ9AfJcJxsKnoIRsP2TgaTQ9LWdNH/nRaaVRIUMkGdm48Sg1lNLXImoOmllQND2YqWMKeJoQZsVpegJaBdd2UPFZXgsrpNuSPWVDq3lvkDUlK87pK51iukudsajstPmd/VVAiKea2FdTxz/q/iVQ7WHx6freOF8YTfycWC+ohiSZnVbuhh0/Px/Msg+j+4GA9HHp9/HEzGdzmRPfKGHJG3ZESOyYSckimZERbsBO+CcfAhPApPw6/h+Z01DP72vCadCn/8AVsR1uw=</latexit><latexit sha1_base64="j2WdG4WLJqSzIT9iiuZH4PKO3PE=">AAACoHicdVHLbtNAFB27QNvwaIDu2FjNBiQUOwGpqKtIbMqiIhWkrYitaDy+cUeZl2auq0aWP4UP4x/4CCYuSHUqrkaao3POvZp7JjeCO0ySX0G48+jxk929/d7TZ89fHPRfvrpwurIMZkwLba9y6kBwBTPkKODKWKAyF3CZrz5v9MsbsI5r9R3XBjJJS8WXnFH01KL/M0W4RaWtpKLmiomqANdEJ1EqYIlpPU8rVYDdjK/vW8+g4JX8UjQnLYvom7F5H933fNOq3HZsWaba8c1DuqYstby8xrRZ9AfJcJxsKnoIRsP2TgaTQ9LWdNH/nRaaVRIUMkGdm48Sg1lNLXImoOmllQND2YqWMKeJoQZsVpegJaBdd2UPFZXgsrpNuSPWVDq3lvkDUlK87pK51iukudsajstPmd/VVAiKea2FdTxz/q/iVQ7WHx6freOF8YTfycWC+ohiSZnVbuhh0/Px/Msg+j+4GA9HHp9/HEzGdzmRPfKGHJG3ZESOyYSckimZERbsBO+CcfAhPApPw6/h+Z01DP72vCadCn/8AVsR1uw=</latexit><latexit sha1_base64="j2WdG4WLJqSzIT9iiuZH4PKO3PE=">AAACoHicdVHLbtNAFB27QNvwaIDu2FjNBiQUOwGpqKtIbMqiIhWkrYitaDy+cUeZl2auq0aWP4UP4x/4CCYuSHUqrkaao3POvZp7JjeCO0ySX0G48+jxk929/d7TZ89fHPRfvrpwurIMZkwLba9y6kBwBTPkKODKWKAyF3CZrz5v9MsbsI5r9R3XBjJJS8WXnFH01KL/M0W4RaWtpKLmiomqANdEJ1EqYIlpPU8rVYDdjK/vW8+g4JX8UjQnLYvom7F5H933fNOq3HZsWaba8c1DuqYstby8xrRZ9AfJcJxsKnoIRsP2TgaTQ9LWdNH/nRaaVRIUMkGdm48Sg1lNLXImoOmllQND2YqWMKeJoQZsVpegJaBdd2UPFZXgsrpNuSPWVDq3lvkDUlK87pK51iukudsajstPmd/VVAiKea2FdTxz/q/iVQ7WHx6freOF8YTfycWC+ohiSZnVbuhh0/Px/Msg+j+4GA9HHp9/HEzGdzmRPfKGHJG3ZESOyYSckimZERbsBO+CcfAhPApPw6/h+Z01DP72vCadCn/8AVsR1uw=</latexit><latexit sha1_base64="MCf7XkU18epXea9o2dSptE8QtLc=">AAACoHicdVHLattAFB0pfSRO27jtMhsRb1IoluwUWrIKdJMuQhxSJ6GWMKPRtTJ4XsxclRqhT+mH9R/6ERk7DkQOuQzM4ZxzL3PP5EZwh0nyLwi3Xrx89Xp7p7P75u27ve77D1dOV5bBmGmh7U1OHQiuYIwcBdwYC1TmAq7z+felfv0brONa/cSFgUzSUvEZZxQ9Ne3+TRH+oNJWUlFzxURVgGui4ygVMMO0nqSVKsAux9ePrWdQ8Er+KJrjFYvom7H5HD32XGpVbjo2LCPt+PIhbVOWWl7eYtpMu72kP0yWFT0Fg/7qTnpkXaNp939aaFZJUMgEdW4ySAxmNbXImYCmk1YODGVzWsKEJoYasFldgpaAdtGWPVRUgsvqVcotsabSuYXMn5CS4m2bzLWeI83dxnCcfcv8rqZCUMxrK1jHY+f/Kp7nYP3h8dkinhpP+J1cLKiPKJaUWe36HjYdH89DBtHz4GrYH3h88aV3MlwHtU32yQE5JAPylZyQUzIiY8KCreBTMAyOwoPwNDwPL+6tYbDu+UhaFf66A+Be1pg=</latexit>

performs :)

[ArtistId : int, SongId : int, Description : str]*

<latexit sha1_base64="wclCZZ1NKGxopdWHkLW5A/UPnng=">AAACo3icdVFdaxNBFJ1dtdb40bT65stiEHwo2U1QW/qUog+KCFWbtpBdwuzkZjtkvpi5Kw3D/hf/lv/BH+Fkq9ikeBmYwzlnLveeKY3gDrPsZxTfuXtv6/72g87DR4+f7HR3986cri2DMdNC24uSOhBcwRg5CrgwFqgsBZyXi3cr/fw7WMe1OsWlgULSSvE5ZxQDNe3+yBGuUGkrqfAG7Dwg1yRHSS5gjrmf5LWagV219zetxx bDcB9nzVHLInqusNlPbnq+aVVtOjYs78Exy81qln8+h7YpcsurS8ybabeX9YfZqpLbYNBv76w3ekbaOpl2f+UzzWoJCpmgzk0GmcHC0zAwE9B08tqBoWxBK5jQzNCwdOEr0BLQLtflABWV4ArfBr0meiqdW8ryFikpXq6TpdYLpKXbaI7zwyJkYmoExYLWQp+OXfiudFGCDYenn5fp1AQi7ORSQUNEqaTMatcPsOmEeP5mkPwfnA37g4C/vO6Nhtc5kW3ynLwgr8iAHJAR+UBOyJiwaCvaj95Eb+OX8af4a3x6bY2jP2+ekrWKi9/sx9h0</latexit><latexit sha1_base64="wclCZZ1NKGxopdWHkLW5A/UPnng=">AAACo3icdVFdaxNBFJ1dtdb40bT65stiEHwo2U1QW/qUog+KCFWbtpBdwuzkZjtkvpi5Kw3D/hf/lv/BH+Fkq9ikeBmYwzlnLveeKY3gDrPsZxTfuXtv6/72g87DR4+f7HR3986cri2DMdNC24uSOhBcwRg5CrgwFqgsBZyXi3cr/fw7WMe1OsWlgULSSvE5ZxQDNe3+yBGuUGkrqfAG7Dwg1yRHSS5gjrmf5LWagV219zetxx bDcB9nzVHLInqusNlPbnq+aVVtOjYs78Exy81qln8+h7YpcsurS8ybabeX9YfZqpLbYNBv76w3ekbaOpl2f+UzzWoJCpmgzk0GmcHC0zAwE9B08tqBoWxBK5jQzNCwdOEr0BLQLtflABWV4ArfBr0meiqdW8ryFikpXq6TpdYLpKXbaI7zwyJkYmoExYLWQp+OXfiudFGCDYenn5fp1AQi7ORSQUNEqaTMatcPsOmEeP5mkPwfnA37g4C/vO6Nhtc5kW3ynLwgr8iAHJAR+UBOyJiwaCvaj95Eb+OX8af4a3x6bY2jP2+ekrWKi9/sx9h0</latexit><latexit sha1_base64="wclCZZ1NKGxopdWHkLW5A/UPnng=">AAACo3icdVFdaxNBFJ1dtdb40bT65stiEHwo2U1QW/qUog+KCFWbtpBdwuzkZjtkvpi5Kw3D/hf/lv/BH+Fkq9ikeBmYwzlnLveeKY3gDrPsZxTfuXtv6/72g87DR4+f7HR3986cri2DMdNC24uSOhBcwRg5CrgwFqgsBZyXi3cr/fw7WMe1OsWlgULSSvE5ZxQDNe3+yBGuUGkrqfAG7Dwg1yRHSS5gjrmf5LWagV219zetxx bDcB9nzVHLInqusNlPbnq+aVVtOjYs78Exy81qln8+h7YpcsurS8ybabeX9YfZqpLbYNBv76w3ekbaOpl2f+UzzWoJCpmgzk0GmcHC0zAwE9B08tqBoWxBK5jQzNCwdOEr0BLQLtflABWV4ArfBr0meiqdW8ryFikpXq6TpdYLpKXbaI7zwyJkYmoExYLWQp+OXfiudFGCDYenn5fp1AQi7ORSQUNEqaTMatcPsOmEeP5mkPwfnA37g4C/vO6Nhtc5kW3ynLwgr8iAHJAR+UBOyJiwaCvaj95Eb+OX8af4a3x6bY2jP2+ekrWKi9/sx9h0</latexit><latexit sha1_base64="bi9Y+cCx92nte1FI8evpThvaY+I=">AAACo3icdVHbahsxENVu0zRxb2762JclptCH4F2b3shTSvPQUAJJGycB72K08ngjrBvSbKgR+y/9rfxDP6Ky65DYoYNAh3OOhpmj0gjuMMtuovjRxuPNJ1vbrafPnr942X61c+50bRkMmBbaXpbUgeAKBshRwKWxQGUp4KKcfp3rF9dgHdfqDGcGCkkrxSecUQzUqP07R/iFSltJhTdgJwG5JtlPcgETzP0wr9UY7Ly9v2/9Yj EMdzRu9hcsoucKm73kvuenVtW6Y81yCI5Zbuaz3Pkc2qbILa+uMG9G7U7W7WfzSh6CXndxZx2yrJNR+08+1qyWoJAJ6tywlxksPA0DMwFNK68dGMqmtIIhzQwNSxe+Ai0B7WxVDlBRCa7wi6BXRE+lczNZPiAlxatVstR6irR0a81x8rkImZgaQbGgLaBPBy58VzotwYbD0+NZOjKBCDu5VNAQUSops9p1A2xaIZ7bDJL/g/N+txfw6fvOQX8Z1BZ5Q3bJO9Ijn8gB+UZOyICwaDPaiz5EH+O38ff4R3z2zxpHyzevyUrFxV9yI9gg</latexit>

Page 36: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

36

Anfrageübung Musik-Streaming-Dienst§ Geben Sie Namen von Künstlern mit Herkunftsland

Germany sortiert nach ArtistId aus

§ Geben Sie Jahre, in denen ein Album mit dem Namen„Best of“ veröffentlicht wurde, absteigend sortiert aus

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 37: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

37

Zusammenfassung§ Structured Query Language (SQL) als standardisierte

Anfragesprache für relationale Datenbanken

§ Data Definition Language zur Schemadefinition(z.B. CREATE TABLE zum Anlegen von Tabellen)

§ Data Query Language zum Formulieren von Anfragen(SELECT ... FROM ... WHERE ... ORDER BY ...)

Datenbanken / Kapitel 4: Structured Query Language (SQL)

Page 38: 4. Structured Query Language (SQL) - swl.htwsaar.de · 7 4.1 Schemadefinition und -veränderung § Data Definition Language(DDL) stellt Befehle zur Schemadefinition und –veränderungbereit,

38

Literatur[1] A. Kemper und A. Eickler: Datenbanksysteme – Eine

Einführung, De Gruyter Oldenbourg, 2015 (Kapitel 4)

[2] G. Saake, K.-U. Sattler und A. Heuer:Datenbanken - Konzepte und Sprachen,mitp Professional, 2013 (Kapitel 7)

Datenbanken / Kapitel 4: Structured Query Language (SQL)