Prof. Dr. Bernd Blümel

Werbung
Prof. Dr. Bernd Blümel
Prof. Dr. Volker Klingspor
Datenbanken und SQL
FB W
Falsche Datenstruktur
2012-03-26
Datenbanken und SQL
2
FB W
Optimierte Struktur
2012-03-26
Datenbanken und SQL
3
FB W
Tabellen der campusInfo-Datenbank
2012-03-26
Datenbanken und SQL
4
FB W
Elemente einer Tabelle
2012-03-26
Datenbanken und SQL
5
FB W
Der Fremdschlüssel
2012-03-26
Datenbanken und SQL
6
FB W
Beispiele
•
Beispiel1:
Kunden können Aufträge erteilen, Aufträge enthalten
Artikel.
• Beispiel2:
In den Veranstaltungsräumen der FH sind Ressourcen
installiert. Damit sind Beamer, Tafeln, PC's usw. gemeint.
Räume besitzen darüber hinaus eine Kapazitätsklasse.
Damit ist eine Klassifizierung in Bezug auf ihre Anzahl an
Sitzplätzen gemeint. Professoren der FH führen
Veranstaltungen in festgelegten Zeitblöcken an
Wochentagen in den Vorlesungsräumen durch. Die Benutzer
des Informationssystems sind die Professoren und
Studenten.
• Beispiel3:
Mitarbeiter arbeiten in Abteilungen, Abteilungen werden
von Mitarbeitern geleitet.
Mitarbeiter
können mit
2012-03-26
Datenbanken
und SQL
7
FB W
Entities Beispiel 1
•
Kunden können Aufträge erteilen, Aufträge enthalten
Artikel.
2012-03-26
Datenbanken und SQL
8
FB W
Entities Beispiel 2
•
In den Veranstaltungsräumen der FH sind Ressourcen
installiert. Damit sind Beamer, Tafeln, PC's usw. gemeint.
Räume besitzen darüber hinaus eine Kapazitätsklasse.
Damit ist eine Klassifizierung in Bezug auf ihre Anzahl an
Sitzplätzen gemeint. Professoren der FH führen
Veranstaltungen in festgelegten Zeitblöcken an
Wochentagen in den Vorlesungsräumen durch. Die Benutzer
des Informationssystems sind die Professoren und
Studenten.
2012-03-26
Datenbanken und SQL
9
FB W
Entities Beispiel 3
•
Mitarbeiter arbeiten in Abteilungen, Abteilungen werden
von Mitarbeitern geleitet. Mitarbeiter können mit
Mitarbeitern verheiratet sein.
2012-03-26
Datenbanken und SQL
10
FB W
Beziehungen
•
Beziehung zwischen Kunde und Auftrag:
 Kunde erteilt Auftrag.
•
Beziehung zwischen Raum und Ressource:
 Raum besitzt Ressource.
2012-03-26
Datenbanken und SQL
11
FB W
1:N Beziehung
2012-03-26
Datenbanken und SQL
12
FB W
m:n Beziehung
2012-03-26
Datenbanken und SQL
13
FB W
1:1 Beziehung
ABER:
2012-03-26
Datenbanken und SQL
14
FB W
Beziehungen zwischen mehr als zwei Entities
2012-03-26
Datenbanken und SQL
15
FB W
Rekursive Beziehung
2012-03-26
Datenbanken und SQL
16
FB W
is-a Beziehung
2012-03-26
Datenbanken und SQL
17
FB W
ERM Kunde
2012-03-26
Datenbanken und SQL
18
FB W
ERM CampusInfo
2012-03-26
Datenbanken und SQL
19
FB W
ERM Unternehmen
2012-03-26
Datenbanken und SQL
20
FB W
ERM Promotoren
2012-03-26
Datenbanken und SQL
21
FB W
Entities zu Tabellen
Jede Entity aus dem ERM führt zu
einer Tabelle in der Datenbank
2012-03-26
Datenbanken und SQL
22
FB W
1:N Beziehung zu Tabellen
•
Bei einer 1:N Beziehung wird der Primärschlüssel der zur 1Entity gehörigen Tabelle Fremdschlüssel in der zu n-Entity
gehörenden Tabelle
2012-03-26
Datenbanken und SQL
23
FB W
1:N Beziehung zu Tabellen – Beispiel campusInfo
2012-03-26
Datenbanken und SQL
24
FB W
m:n Beziehung zu Tabellen
2012-03-26
Datenbanken und SQL
25
FB W
m:n Beziehung zu Tabellen: Regel
•
•
•
•
•
Bei der Auflösung einer n:m-Beziehung ensteht aus dieser
Beziehung eine weitere Tabelle.
Diese Tabelle besitzt einen zusammengesetzten
Primärschlüssel.
Bestandteile des zusammengesetzten Primärschlüssel sind
die Primärschlüssel der Grundtabellen der n:m-Beziehung.
Der Primärschlüssel der Verbindungstabelle kann weitere
Attribute enthalten.
Die Tabelle selber kann ebenfalls weitere Attribute
enthalten, diese müssen aber vom Primärschlüssel
insgesamt abhängig sein.
2012-03-26
Datenbanken und SQL
26
FB W
m:n Beziehung zu Tabellen: Auftrag Produkt
2012-03-26
Datenbanken und SQL
27
FB W
m:n Beziehung zu Tabellen: Auftrag Produkt 2.
Lösung
2012-03-26
Datenbanken und SQL
28
FB W
1:1 Beziehung zu Tabellen: Regel
•
Bei einer 1:1 Beziehung hat man freie Auswahl in welche
Tabelle man den Primärschlüssel der anderen Tabelle als
Fremdschlüssel einfügt.
2012-03-26
Datenbanken und SQL
29
FB W
Beziehungen zwischen mehr als 2 Entities zu
Tabellen: Regel
•
•
•
•
Bei der Auflösung einer Beziehung zwischen mehr als 2
Entities ensteht aus dieser Beziehung eine weitere Tabelle.
Diese Tabelle besitzt einen zusammengesetzten
Primärschlüssel. Bestandteile des zusammengesetzten
Primärschlüssels sind die Primärschlüssel der Grundtabellen
der Beziehung.
Der Primärschlüssel der Verbindungstabelle kann weitere
Attribute enthalten.
Die Tabelle selber kann ebenfalls weitere Attribute
enthalten, diese müssen aber vom Primärschlüssel
insgesamt abhängig sein.
2012-03-26
Datenbanken und SQL
30
FB W
Beziehungen zwischen mehr als 2 Entities zu
Tabellen: Beispiel
2012-03-26
Datenbanken und SQL
31
FB W
is-a Beziehung zu Tabellen: Regel
•
•
•
Bei der Auflösung einer is-a-Beziehung werden die
Attribute, die allen Spezialisierungen gemeinsam sind in die
Tabelle der Generalisierungs-Entity aufgenomen.
Die Attribute, die die Spezialisierungen kennzeichnen in
ihren jeweiligen Tabellen.
Der Primärschlüssel aller drei Tabellen ist der
Primärschlüssel der Tabelle der Generalisierungs-Entity.
2012-03-26
Datenbanken und SQL
32
FB W
is-a Beziehung zu Tabellen: Beispiel
2012-03-26
Datenbanken und SQL
33
FB W
Tabellen Kunde, Auftrag, Produkt – 3 Lösungen
möglich
1. Lösung
2. Lösung
3. Lösung
2012-03-26
Datenbanken und SQL
34
FB W
Tabellen campusInfo
2012-03-26
Datenbanken und SQL
35
FB W
Tabellen Unternehmen
2012-03-26
Datenbanken und SQL
36
FB W
Tabellen Promotoren
2012-03-26
Datenbanken und SQL
37
FB W
SQL – Structured Query Language
•
Kommandos zum:
– Datenbanken anlegen
– Tabellen anlegen
– Datensätze in Tabellen eintragen
– Datensätze aus Tabellen löschen
– Datensätze in Tabellen ändern
– Datensätze aus Tabellen selektieren
2012-03-26
Datenbanken und SQL
38
FB W
SQL-1 | Select mit Wildcard
SQL Statement
Select * from Kunde
Ergebnis
2012-03-26
Datenbanken und SQL
39
FB W
SQL-2 | Spalten auswählen
SQL Statement
Select Nachname, Vorname from Kunde
Ergebnis
2012-03-26
Datenbanken und SQL
40
FB W
SQL-3 | Sortierung aufsteigend
2012-03-26
Datenbanken und SQL
41
FB W
SQL-4 | Ergebnisse absteigend sortieren
2012-03-26
Datenbanken und SQL
42
FB W
SQL-5 | Distinct- doppelte Werte vermeiden
2012-03-26
Datenbanken und SQL
43
FB W
SQL-6 | Sortierung nach mehreren Spalten
2012-03-26
Datenbanken und SQL
44
FB W
SQL-7 | Mehrere Bedingungen
2012-03-26
Datenbanken und SQL
45
FB W
SQL-8 | Not-Operator
2012-03-26
Datenbanken und SQL
46
FB W
SQL-9 | Klammersetzung in der Bedingung
2012-03-26
Datenbanken und SQL
47
FB W
SQL-10 | Verknüpfung von Ausdrücken
2012-03-26
Datenbanken und SQL
48
FB W
SQL-11 | Rechnen mit SQL
2012-03-26
Datenbanken und SQL
49
FB W
SQL-12 | Rechnen mit SQL ohne Tabellen
2012-03-26
Datenbanken und SQL
50
FB W
SQL-13 | Funktionen
2012-03-26
Datenbanken und SQL
51
FB W
SQL-14 | Suche nach Text mit Platzhaltern Teil 1
2012-03-26
Datenbanken und SQL
52
FB W
SQL-15 | Suche nach Text mit Platzhaltern Teil 2
2012-03-26
Datenbanken und SQL
53
FB W
SQL-16 | Suche nach leeren Zellen
2012-03-26
Datenbanken und SQL
54
FB W
SQL-17 | Zählen von Datensätzen
2012-03-26
Datenbanken und SQL
55
FB W
SQL-18 | Gruppieren von Datensätzen
2012-03-26
Datenbanken und SQL
56
FB W
SQL-19 | Falsches Gruppieren von Datensätzen
2012-03-26
Datenbanken und SQL
57
FB W
SQL-20 | Having – Einschränkung beim Gruppieren
2012-03-26
Datenbanken und SQL
58
FB W
SQL-21 | Select über zwei Tabellen
2012-03-26
Datenbanken und SQL
59
FB W
SQL-21a | Select über zwei Tabellen
2012-03-26
Datenbanken und SQL
60
FB W
SQL-22 | Weitere Abfrage über zwei Tabellen
2012-03-26
Datenbanken und SQL
61
FB W
SQL-23 | Weitere Abfrage über zwei Tabellen mit
Bedingungen
2012-03-26
Datenbanken und SQL
62
FB W
SQL-24 | Alternative Möglichkeit zur Abfrage über
zwei Tabellen
2012-03-26
Datenbanken und SQL
63
FB W
SQL-25 | Abfragen über drei Tabellen
2012-03-26
Datenbanken und SQL
64
FB W
SQL-25a| Abfragen über drei Tabellen Teil 2
2012-03-26
Datenbanken und SQL
65
FB W
SQL-26 | Abfragen über vier Tabellen
2012-03-26
Datenbanken und SQL
66
FB W
SQL-27 | Joins weiteres Beispiel
2012-03-26
Datenbanken und SQL
67
FB W
SQL-28 | Left Join
2012-03-26
Datenbanken und SQL
68
FB W
SQL-29 | Right Join
2012-03-26
Datenbanken und SQL
69
FB W
SQL-30 | Gegenüberstellung left – right joins
2012-03-26
Datenbanken und SQL
70
FB W
SQL-31 |Alle Datensätze einer Tabelle löschen
2012-03-26
Datenbanken und SQL
71
FB W
SQL-32 | Löschen von Datensätzen mit einer
Bedingung
2012-03-26
Datenbanken und SQL
72
FB W
SQL-33 | Löschen von Datensätzen mit mehreren
Bedingungen
2012-03-26
Datenbanken und SQL
73
FB W
SQL-34 | Ändern von allen Datensätzen
2012-03-26
Datenbanken und SQL
74
FB W
SQL-35 | Ändern von einem bestimmten Datensatz
2012-03-26
Datenbanken und SQL
75
FB W
SQL-37 | Neuberechnung und direkte Änderung
eines Wertes
2012-03-26
Datenbanken und SQL
76
FB W
SQL-38 | Einfügen eines Datensatzes
2012-03-26
Datenbanken und SQL
77
FB W
SQL-39 | Einfügen von mehreren Datensätzen
2012-03-26
Datenbanken und SQL
78
FB W
SQL-41 | Einfügen von Datensätzen ohne ID
2012-03-26
Datenbanken und SQL
79
Herunterladen