Beruflich Dokumente
Kultur Dokumente
und Datenstrukturen
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 1
Algorithmen und Datenstrukturen
Abstraktionsebenen
Güting, R.; Dieker, S.: Datenstrukturen und Algorithmen. 4. Auflage, Springer Vieweg, 2018..
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 4
Algorithmen und Datenstrukturen
Abstraktionsebenen
Ein Algorithmus realisiert eine Funktion, die entsprechend eine Spezifikation
eines Algorithmus darstellt. Ein Algorithmus stellt seinerseits eine
Spezifikation einer zu realisierenden Prozedur (oder Funktion oder
Methode im Sinne einer Programmiersprache) dar.
Eine Datenstruktur ist eine Implementierung einer Algebra oder eines ADT
auf algorithmischer Ebene. Eine Datenstruktur kann selbst wieder in einer
Programmiersprache implementiert werden; auf der programmier-
sprachlichen Ebene sind eng verwandte Begriffe die des (Daten-) Typs,
der Klasse oder des Moduls.
Güting, R.; Dieker, S.: Datenstrukturen und Algorithmen. 4. Auflage, Springer Vieweg, 2018..
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 5
Algorithmen
Algorithmus-Begriff
In der Informatik unterscheidet man üblicherweise zwischen Verfahren zur Lösung von
Problemen und ihrer Implementation in einer bestimmten Programmiersprache
auf bestimmten Rechnern. Man nennt die Verfahren Algorithmen.
-> handelt sich um eine Arbeitsanweisung, die zeigt, wie eine Aufgabe zu lösen ist
Ein Algorithmus ist eine endliche Vorschrift zur eindeutigen Überführung von
Eingabegrößen zu Ausgabegrößen in einer endlichen Zahl von Schritten.
Die meisten Algorithmen erfordern jeweils geeignete Methoden zur Strukturierung der
von den Algorithmen manipulierten Daten. Algorithmen und Datenstrukturen gehöre
also zusammen. Die richtige Wahl von Algorithmen und Datenstrukturen ist ein
Wichtiger Schritt zur Lösung eines Problems mithilfe von Computern
Ein Algorithmus ist allgemeingültig:
Algorithmus als allgemein gültige Handlungsanweisung , die nicht nur zu einem
bestimmten Problem, sondern zu allen gleichartigen Aufgaben passt
(z.B. Wie sortiert man Zahlen? Statt Wie sortiert man 3 Zahlen?)
Ein Algorithmus ist ausführbar:
Es müssen endlich viele Anweisungen eindeutig, verständlich und in einer
klaren Reihenfolge gegeben sein
von Rimscha, M.: Algorithmen kompakt und verständlich. 3. Auflage, Springer Vieweg, 2014.
25. Juni 2022 Prof. Holland/ rote und schwarze Hervorhebungen von Dipl.-Inform. H. Göhre 6
Algorithmen
Der Weg vom Problem zur Lösung
Das Ziel einer Problemlösung ist, ausgehend von einer Problemstellung ein System
zu finden, das diese Lösung darstellt. Diese Vorgehensweise lässt sich in
drei Schritten wie folgt aufgliedern.
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 7
Algorithmen
Algorithmus
Beispiel: Backrezept Marmorkuchen
Zutaten:
300g Mehl, 1 TL Backpulver, 300g Butter, 5 Eier, 250g
Zucker, 1 Prise Salz, 3 EL ungesüßtes Kakaopulver,
1 guter El Schokocreme
Zubereitung:
• Butter mit Zucker und Salz schaumig rühren. https://www.kochbar.de/rezept/227342/Marmorkuchen-a-la-Julia.html
• Eier vorsichtig zugeben.
• Backpulver zum Mehl geben und über die Eier-Buttermasse sieben.
• Kastenkuchen oder Kranzkuchenform gut ausfetten und eventuell mit Semmelbrösel
oder Gries ausstreuen.
• Die Hälfte des Teiges einfüllen. Unter die andere Hälfte das Kakaopulver und
Schokocreme rühren.
• Auf den hellen Teig geben und mit einer Gabel spiralförmig durch den Teig ziehen.
Oberfläche glatt streichen.
• Im Backofen bei 180 Grad 50-60 Minuten backen.
• Kuchen 10 min in der Form auskühlen lassen.
• Den fertigen Marmorkuchen aus der Form stürzen und auf einem Kuchengitter vollständig
erkalten lassen.
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 8
Algorithmen
Algorithmus
Beispiel: Backrezept Marmorkuchen
https://www.kochbar.de/rezept/227342/Marmorkuchen-a-la-Julia.html
allein die eindeutige Wirkung der Anweisungsfolge mag beim Backen nicht immer
gegeben sein: die resultierenden Kuchen könnten durchaus etwas unterschiedlich
aussehen und schmecken
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 9
Algorithmen
Divide and Conquer
Divide-and-Conquer-Verfahren zur Lösung eines Problems der Größe N
1. Divide: Teile das Problem der Größe N in (wenigstens) zwei annähernd gleich große
Teilprobleme, wenn N > 1 ist; sonst löse das Problem der Größe 1 direkt.
2. Conquer: Löse die Teilprobleme auf dieselbe Art (rekursiv).
3. Merge: Füge die Teillösungen zur Gesamtlösung zusammen
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 12
Algorithmen
Divide and Conquer
Solymosi, A.; Grude, U.: Grundkurs Algorithmen und Datenstrukturen in JAVA. 6. Auflage, Springer Vieweg, 2017..
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 13
Video (2,5 min):
25.06.2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 14
Algorithmen
Algorithmenentwurf
Problem: Minimum einer Menge von Zahlen
Das Minimum einer Menge von Zahlen lässt sich jedoch einfacher finden.
Eine naheliegende Strategie ist, die Menge Element für Element durchzugehen
und sich das kleinste bisher gesehene Element zu merken. Dies ist die
Vorgehensweise, der auch im Pseudocode darstellbar ist. Pseudocode ist eine leicht
formalisierte, aber noch nahe an der üblichen Sprache durchgeführte Formulierung
eines Algorithmus
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 15
GOTO OneNote => wie wird ein "Merker" eingesetzt?
25.06.2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 16
Algorithmen
Algorithmenentwurf
Problem: Minimum einer Menge von Zahlen
Übung: Wie müsste der Pseudocode modifiziert werden, sodass das Maximum gesucht wird?
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 17
Algorithmen
Algorithmenentwurf
Zentrale Begriffe von Algorithmen
Variablen dienen dazu, Daten zu speichern, und haben einen eindeutigen Namen,
über den sie angesprochen werden.
Wertzuweisung an Variablen: Variablenname := Ausdruck; z.B. i:=1
Ein Block fasst eine Folge von Anweisungen zu einer einzigen Anweisung zusammen.
Schreibweise: {Anweisung 1; .... Anweisung n;}
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 18
Algorithmen
Algorithmenentwurf
Zentrale Begriffe von Algorithmen
Mit der bedingten Anweisung ist ein Befehlskonstrukt gegeben, mit dem Alternativen in einem
Algorithmus formuliert werden können. Sie besteht aus einer Bedingung, die dem Schlüsselwort
„wenn“ folgt. Abhängig von der Gültigkeit der Bedingung wird dann eine von zwei Anweisungen
ausgeführt, die ebenfalls Bestandteile der bedingten Anweisung sind:
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 19
Algorithmen
Übung
Struktogramme
a := 1;
b:= 3;
Wenn b < 2, dann a := a - 1;
sonst a := a + 1;
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 20
Algorithmen
Algorithmenentwurf
Zentrale Begriffe von Algorithmen
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 21
Algorithmen
Algorithmenentwurf
Zentrale Begriffe von Algorithmen
Struktogramm Minimum-Suche
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 22
Datentypen
Unter einem Datentyp wird eine Menge von Daten gleicher Art verstanden.
Ein Beispiel ist der Ganzzahldatentyp int,
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 25
Datenstrukturen
Weitere Datentypen
Arrays
Der Datentyp Array repräsentiert die Menge der endlichen Folgen aus Werten eines
gegebenen Datentyps.
Die Werte der Folge sind, stets beginnend mit 0, aufsteigend indiziert.
Variablendeklaration: besteht aus der Angabe des Namens der Variablen und eines
Datentyps: int[] a;
Die Länge des Arrays ist die Anzahl der Elemente: a.length (im Beispiel Wert 11)
Zeichenfolgen
Eine Zeichenfolge setzt sich aus einer Folge von Zeichen zusammen, also bspw. „abcd“,
„Sebastian Maier“, „a+b“.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 26
Arithmetische Ausdrücke
Beispiele
int a = (3 + 9) + 4 * (5 + 3);
boolean w = ((3 == 7) || (3 != 7)) && (2 <= 2); (true oder false)
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 27
Arithmetische Ausdrücke
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 28
Algorithmen
Rekursive Algorithmen
Rekursion ist ein allgemeines Prinzip zur Lösung von Problemen, bei der die
Berechnung auf die eigene Berechnung direkt oder indirekt zurückverweist.
Mit dieser wird auf dieselbe Weise verfahren. Die Rückführung bricht ab,
wenn eine vorgegebene Abbruchbedingung erreicht wird. Ein Beispiel für die
natürliche Anwendbarkeit von Rekursion ist das „Divide and Conquer-Prinzip“.
Wir möchten die Fakultät n! einer Zahl n > 0 berechnen, also das Produkt aller Zahlen
von 1 bis n:
n !=1⋅2⋅3⋅...n
von Rimscha, M.: Algorithmen kompakt und verständlich. 3. Auflage, Springer Vieweg, 2014.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 29
Algorithmen
Rekursive Algorithmen
fakultaet(5) Methodenaufruf
5 * fakultaet(4) 1. rekursiver Aufruf
5 * 4 * fakultaet(3) 2. rekursiver Aufruf
5 * 4 * 3 * fakultaet(2) 3. rekursiver Aufruf
5 * 4 * 3 * 2 * fakultaet(1) 4. rekursiver Aufruf
5*4*3*2*1 Abbruchbedingung; keine weiteren Aufrufe
5*4*3*2 Einsetzen des Ergebnisses aus 3. Aufruf
5*4*6 Einsetzen des Ergebnisses aus 2. Aufruf
5 * 24 Einsetzen des Ergebnisses aus 1. Aufruf
120 Resultat
von Rimscha, M.: Algorithmen kompakt und verständlich. 3. Auflage, Springer Vieweg, 2014.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 30
Datenstrukturen
Listen
Die Datenstruktur Liste speichert eine variable Anzahl von Elementen. Im Speicher
können die Elemente irgendwo stehen. Die einzelnen Elemente sind miteinander
verkettet — die Nachbareigenschaft wird über Referenzen hergestellt.
Die Größe einer Liste ist variabel. Zur Laufzeit kann eine Liste beliebig viele Elemente
aufnehmen. Man bezeichnet deshalb eine Liste als eine dynamische Struktur.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 32
Datenstrukturen
Lineare Listen
Eine Liste ist eine verkettete Folge von Elementen, die aus Standarddatentypen
zusammengesetzt sind und für die gilt:
1. Es gibt genau ein Listenelement, das keinen Vorgänger hat und Listenanfang heißt.
Auf dieses Element zeigt der Listenanker.
2. Es gibt genau ein Listenelement, das keinen Nachfolger hat und Listenende heißt.
3. Die übrigen Listenelemente haben genau einen Vorgänger und genau einen
Nachfolger.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 33
Datenstrukturen
Lineare Listen
Liste
Einketten
Ausketten und
Löschen
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 34
Datenstrukturen
Gerichtete Graphen
Ein gerichteter Graph G besteht aus einer endlichen Menge V von Knoten und einer
endlichen Menge E von Kanten, d.h. G = (V,E).
Eine Kante e ∈ E wird durch das Paar (p,q) von Knoten p,q ∈ V dargestellt,
die sie verbindet, d.h. e = (p,q). Dabei ist e von p nach q gerichtet.
Die Kanten werden grafisch durch Pfeile repräsentiert.
Man sagt dann, Kante (v, w) ist inzident mit v und w; Knoten v und w sind benachbart,
adjazent oder Nachbarn.
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 40
Datenstrukturen
Gerichtete Graphen
Ein Pfad ist eine Folge von Knoten v1, ..., vn, so dass für 1 ≤ i ≤ n–1 gilt: (vi, vi+1) ϵ E.
Die Länge des Pfades ist die Anzahl der Kanten auf dem Pfad, also n–1.
Ein Pfad heißt einfach, wenn alle Knoten auf dem Pfad paarweise verschieden sind.
Ein einfacher Pfad, dessen Länge mindestens 1 ist und in dem der erste und der letzte
Knoten identisch sind (v1 = vn), heißt Zyklus.
Im Graphen G1gibt es einen einfachen Pfad <1, 2, 4, 5, 3>. Die Folge <1, 2, 1, 2, 4>
beschreibt einen nicht-einfachen Pfad, <1, 2, 1>, <3, 3> und <3, 5, 3> sind Zyklen.
Graph G1
Güting, R.; Dieker, S.: Datenstrukturen und Algorithmen. 4. Auflage, Springer Vieweg, 2018..
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 41
Datenstrukturen
Darstellungen von Graphen
Adjazenzmatrix
Sei V = {1, ..., n}. Die Adjazenzmatrix für G = (V, E) ist eine boolesche n x n -Matrix A
mit
Adjazenzmatrix
für G1:
Güting, R.; Dieker, S.: Datenstrukturen und Algorithmen. 4. Auflage, Springer Vieweg, 2018..
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 42
GOTO OneNote => Graph in eine 2dim Matrix umsetzen
25.06.2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 43
Datenstrukturen
Darstellungen von Graphen
Adjazenzlisten
Man verwaltet für jeden Knoten eine Liste seiner (Nachfolger)-Nachbarknoten.
Über einen Array der Länge n = |V| ist jede Liste direkt zugänglich.
Adjazenzlisten
für G1:
Güting, R.; Dieker, S.: Datenstrukturen und Algorithmen. 4. Auflage, Springer Vieweg, 2018..
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 45
Datenstrukturen
Binäre Bäume
Ein binärer Baum B ist ein gerichteter Graph, der einen ausgezeichneten Knoten w,
die sogenannte Wurzel, besitzt, die folgende Eigenschaften hat:
(1) w besitzt keine oder zwei ausgehende, aber keine eingehenden Kanten.
(2) Wenn w keine ausgehenden Kanten hat, ist w der einzige Knoten von B.
(3) Wenn w zwei ausgehende Kanten e1 = (w,w1) und e2 = (w,w2) hat, und w
zusammen mit e1, e2 aus B entfernt wird, dann besteht der Restgraph aus zwei
Graphen B1 und B2, für die gilt:
(3.1) wi hat die Eigenschaft einer Wurzel des Restgraphen Bi, i = 1,2.
(3.2) Es gibt keine Kante, die zwischen einem Knoten aus B1 und einem Knoten
aus B2 oder umgekehrt verläuft.
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 46
Datenstrukturen
Binäre Bäume
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 47
Datenstrukturen
Binäre Bäume
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 51
Datenstrukturen
Mengen
Mengenproblem
Gegeben sei eine geordnete Basismenge an möglichen Schlüsselwerten A zur
Identifikation von Datensätzen. Sei ferner A = {a1, . . . , an} ⊂ A die Menge der
in einer Datenstruktur gespeicherten Elemente. Dann müssen zur Bewältigung
des Mengenproblems die folgenden Operationen effizient auf der Menge A
durchführbar sein:
Einfügen: Füge den neuen Schlüssel b ∈ A in A ein,
Suchen: Entscheide für ein b ∈ A, ob b ∈ A
Löschen: Entferne b ∈ A aus
Alle-Elemente: Alle Elemente in A werden in einer nicht genauer spezifizierten
Reihenfolge ausgegeben
Beispiel: Sei A die Menge aller fünfstelligen Zahlen und A = {30159, 71679, 04105}
die Postleitzahlen als Schlüssel dreier Firmenfilialen. Dann liefert die Anfrage
Suche(71679) die Daten der zugehörigen Filiale. Suche(81671) würde
zu einer Meldung führen, dass das gesuchte Element nicht enthalten ist.
Nach Löschen(30159) und Einfügen(65189) enthält die Menge die Filialen
mit den Schlüsseln 71679, 04105 und 65189.
Müller, H.; Weichert, F.: Vorkurs Informatik. 4. Auflage, Springer Vieweg, 2015.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 52
Algorithmen
Sortieren
Sortierproblem
Beispiel: Die Filialen müssen gemäß unterschiedlicher Kriterien in einer sortierten
Reihenfolge angezeigt werden, z.B. geordnet nach Umsatz oder Zeitpunkt
der Eröffnung.
Eine Folge von n Objekten mit den Schlüsseln a1, . . . , an ist so zu sortieren, dass
die Schlüssel gemäß einer Vergleichsrelation < in aufsteigender Reihenfolge stehen.
Die Anordnung von Elementen mit gleichem Schlüssel ist
beliebig. Eine Operation Sortieren realisiert eine bijektive Abbildung
π : {1, . . . , n} → {1, . . . , n} (Permutation), sodass gilt:
aπ(1) ≤ aπ(2) ≤ . . . ≤ aπ(n)
Sortieren wird auf die Folge mit den Schlüsseln <7, 3, 1, 4>
Angewendet, dann werden die Elemente gemäß π wie
folgt umsortiert:
Weicker, K.; Weicker, N.: Algorithmen und Datenstrukturen. Springer Vieweg, 2013.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 53
Algorithmen
Sortieren
Das kleinste Element steht an Position 2; Vertauschen von a[1] und a[2] ergibt:
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 54
Algorithmen
Sortieren
Das zweitkleinste Element steht jetzt an Position 5; Vertauschen von a[2] und a[5] ergibt:
Die weiteren vier Schritte (Bestimmung des i-kleinsten Elements und jeweils
Vertauschen mit a[i]) kann man kurz wie folgt zusammenfassen:
i=3: 2 4 8 17 15 43 47
i=4: 2 4 8 15 17 43 47
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 55
Algorithmen
Sortieren
Betrachten wir wieder das Feld a mit den sieben Schlüsseln 15, 2, 43, 17, 4, 8, 47.
Die aus nur einem einzigen Element bestehende Teilfolge a[1] ist bereits sortiert.
Einfügen von a[2] in diese Folge verlangt die Verschiebung von a[1] um eine Position
nach rechts und liefert:
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 56
Algorithmen
Sortieren
Weitere Schritte
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 57
Algorithmen
Bubblesort
Bubblesort durchläuft die Liste a[1],...,a[N] der Datensätze und betrachtet dabei je zwei
benachbarte Elemente a[i] und a[i + 1], 1 ≤ i < N. Ist a[i].key > a[i + 1].key,
so vertauscht man a[i] und a[i + 1].
Ablauf: Gegeben sei wieder das Feld mit den sieben Schlüsseln
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 58
Algorithmen
Bubblesort
Bubblesort Programmgerüst
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 59
Algorithmen
Quicksort (Sortieren durch rekursives Teilen)
Prinzipieller Ablauf:
Im nebenstehenden Beispiel ist das Pivotelement zunächst
ganz rechts orange markiert. Wir sehen von oben nach unten,
welche Elemente betrachtet werden: Die schwarzen Pfeile
markieren diejenigen Elemente, die »überlesen« werden,
weil sie schon auf der richtigen Seite stehen.
Die orangefarbigen Pfeile markieren die zu tauschenden
Elemente. In der untersten Darstellung des Felds sieht man,
wie der von links kommende und der von rechts kommende
Index sich überkreuzen.
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 60
Algorithmen
Quicksort (Sortieren durch rekursives Teilen)
Beispiel
Wir erläutern den Aufteilungsschritt am Beispiel eines Aufrufs von quicksort(a, 4, 9)
für den Fall, dass die Folge der Schlüssel im Bereich a[4]...a[9] die Schlüssel
5, 7, 3, 1, 6, 4 sind. Es gilt
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 61
Algorithmen
Quicksort (Sortieren durch rekursives Teilen)
Quicksort Programmgerüst
Sortieren durch Partitionieren
Weicker, K.; Weicker, N.: Algorithmen und Datenstrukturen. Springer Vieweg, 2013.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 62
Algorithmen
Quicksort (Sortieren durch rekursives Teilen)
Quicksort Programmgerüst
Teilschritt zur Aufteilung des Felds im Quicksort-Algorithmus
Weicker, K.; Weicker, N.: Algorithmen und Datenstrukturen. Springer Vieweg, 2013.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 63
Algorithmen
Quicksort (Sortieren durch rekursives Teilen)
Aufgabe
Die Liste L=[6, 13, 3, 7, 9, 7, 2, 1, 15, 10, 5, 6] soll mit Quicksort sortiert werden.
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 64
Algorithmen
Mergesort (Sortieren durch Verschmelzen)
Mergesort folgt der Strategie eine Folge durch rekursives Aufteilen zu sortieren.
Im Unterschied zu Quicksort wird aber hier die Folge in gleich große Teilfolgen aufgeteilt.
Die (rekursiv) sortierten Teilfolgen werden dann verschmolzen.
Methode
Eine Folge F = k1,...,kN von N Schlüsseln wird sortiert, indem sie
zunächst in zwei möglichst gleich große Teilfolgen F1 = k1,...,k⌈ N/2 ⌉ und F2 =
k⌈ N2 ⌉+1,...,kN aufgeteilt wird. Dann wird jede dieser Teilfolgen mittels Mergesort sortiert.
Algorithmus
Mergesort(F : Folge);
{sortiert Schlüsselfolge F nach aufsteigenden Werten}
Falls F die leere Folge ist oder nur aus einem einzigen Schlüssel besteht, bleibt F
unverändert; sonst:
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 65
Algorithmen
Mergesort (Sortieren durch Verschmelzen)
Mergesort Prozedur
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 66
Algorithmen
Mergesort (Sortieren durch Verschmelzen)
Beispiel
Betrachten wir die Folge F = 2, 1, 3, 9, 5, 6, 7, 4, 8, 10.
WIE?
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 67
Algorithmen
Mergesort (Sortieren durch Verschmelzen)
Beispiel
F1 = 1, 2, 3, 5, 9 und F2 = 4, 6, 7, 8, 10 werden mittels merge(a,l,m,r) verschmolzen:
Zunächst zeigen zwei Positionszeiger i und j auf die Anfangselemente beider Folgen,
also 1 und 4:
Ottmann, T.; Widmayer, P.: Algorithmen und Datenstrukturen. 6. Auflage, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 68
Grundbegriffe
Grundlagen Datenbanken
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 69
Grundbegriffe
Grundlagen Datenbanken
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 70
Grundbegriffe
Grundlagen Datenbanken
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 71
Grundbegriffe
Grundlagen Datenbanken
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 72
Grundbegriffe
Grundlagen Datenbanken
Prinzipien
Datenbank-Management-System (DBMS)
Unter einem Datenbank-Management-System (DBMS) versteht man ein
Softwarepaket, welches in der Lage ist, (Anwender-) Daten in einem
Computersystem zu verwalten.
Spricht man von einem relationalen Datenbank-Management-System,
meint man damit, dass dieses DBMS für die Verwaltung der Daten intern
eine bestimmte Technologie benutzt und dass es bestimmten
Anforderungen genügt.
Datenbank-System (DBS)
Unter einem Datenbank-System versteht man ein DBMS mit zusätzlich
einer oder mehreren Datenbanken zur Sammlung von nicht redundanten
Daten, die von mehreren Applikationen benutzt werden.
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 73
Datenbanksystem
Wo sind meine Daten?
Datenbankmanagement-
System: Software zum Aufbau,
zur Verwaltung, zur Kontrolle
und zur Manipulation der Daten
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 74
Grundbegriffe
Grundlagen Datenbanken
- Transaktionskonzept
- 3-Ebenen-Architektur
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 75
Klassischer Ansatz
Datenbanksystem
Relationale Datenbanken
Das Relationenmodell von Edgar Frank Codd (1970) drückt Daten und die Beziehungen zwischen
diesen tabellarisch aus. Auf dieser Basis entstanden erste relationale Datenbanksysteme, die
SQL oder vergleichbare Datenbanksprachen unterstützten (SQL als deskriptive Sprache steht zur
Datenbeschreibung,-manipulation und -selektion zur Verfügung).
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 76
Klassischer Ansatz
Datenbanksystem
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 77
Klassischer Ansatz
Datenbanken
Anwendungsentwicklung
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 79
Klassischer Ansatz
Datenbanken
Beschreibung von Strukturierungs-Möglichkeiten der Daten
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 80
Klassischer Ansatz
Konzeptioneller Datenbankentwurf
Der konzeptionelle Datenbankentwurf erfolgt in drei Schritten. Zunächst erfolgt in
den ersten beiden Schritten die Erfassung und Beschreibung aller relevanten
Datenobjekte (und der zwischen diesen Datenobjekten bestehenden Beziehungen).
Anschließend werden im dritten Schritt die erfassten Datenobjekte und Beziehungen in
einem semantischen Datenmodell (Semantik = Bedeutungslehre) grafisch dargestellt.
Hierfür wird häufig das Entity-Relationship-Modell eingesetzt.
Ein Objekt ist ein Element, das eindeutig identifziert und anhand seiner Eigenschaften
unterschieden werden kann. Ein Objekt kann:
• etwas physisch Existierendes, zum Beispiel ein Kunde, ein Hersteller oder ein
Fahrrad, oder
• etwas konzeptionell Existierendes, zum Beispiel eine Firma, ein Mietvertrag, eine
Arbeitsstelle oder ein Universitätsabschluss
sein.
Im Entity-Relationship-Modell nach Chen werden Objekte als Entitäten und
Objekttypen als Entitätstypen bezeichnet. Somit bezeichnet eine Entität ein eindeutig
unterscheidbares Objekt und ein Entitätstyp eine Sammlung (oder Menge) von
Entitäten mit gleichen Attributen (Eigenschaften).
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 81
Klassischer Ansatz
Konzeptioneller Datenbankentwurf
Beispiele für Entitätstypen, Entitäten, Attribute und Attributwerte
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 82
Klassischer Ansatz
Konzeptioneller Datenbankentwurf
Beziehungstypen
Beziehungen sind Assoziationen zwischen Entitätstypen, die im ERM durch Rauten
und dargestellt werden. Eine Beziehung besteht zum Beispiel zwischen der Kundin
„Anja Maier“ und dem von ihr gemieteten Fahrrad „Scale 70“.
Gleichartige Beziehungen zwischen Entitäten bzw. Entitätstypen werden im ERM von
Chen zu Beziehungstypen zusammengefasst.
Arten von Beziehungen im ER-Modell
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 83
Klassischer Ansatz
Konzeptioneller Datenbankentwurf
Beziehungstypen
Beispiel Beziehungen
zwischen
Entitätstypen
Beipiel-ER-Modell
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 84
ER-Modell
Übung
Bestimmen Sie die Entity- und Relationship-Typen mit ihren Attributen und
zeichnen dazu ein ER-Diagramm.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 86
Klassischer Ansatz
Relationenmodell
Das Relationenmodell wurde vom englischen Mathematiker Edgar Frank Codd konzipiert und
1970 unter dem Titel ‚A Relational Model of Data for Large Shared Data Banks‘ bei den
Communications of the ACM veröffentlicht.
Das Relationenmodell kennt als einziges Konstrukt das einer Tabelle. Eine
Tabelle oder Relation ist eine Menge von Tupeln (Datensätzen). Jedes Tupel besteht
wiederum aus einer Menge von Attributen (Merkmalen), welche die Eigenschaften des
Tupels aus vordefinierten Wertebereichen in Spalten darstellen:
Auszug Relationenmodell
für Filme und Filmemacher
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 87
Klassischer Ansatz
Abfragesprachen
Das Ergebnis einer Abfrage (Query) ist ein Auszug des Datenbestandes.
SQL (Structured Query Language) ist eine Abfragesprache für die Auswertung
relationaler Datenbanken.
Grundstruktur
SELECT Merkmale der Resultatstabelle
FROM Tabelle oder Tabellen
WHERE Selektionsbedingung
SELECT Jahr
FROM FILM
WHERE Titel = ‚The Matrix‘;
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 88
Klassischer Ansatz
Abfragesprachen
Kombination mehrerer Tabellen
Wie lautet der Name des Schauspielers, der im Film ‚The Matrix‘ den ‚Neo‘ darstellte?
SELECT Name
FROM FILM, SPIELT, DARSTELLER
WHERE FILM.F# = SPIELT.F# AND
SPIELT.D# = DARSTELLER.D# AND
Titel = ‚The Matrix‘ AND
Rolle = ‚Neo‘;
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 90
Herausforderung
Datenmanagement im Wandel
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 91
BARC-Studie
Datenmanagement im Zeitalter von Big Data und Self-Service
https://barc.de/blog/datenmanagement-im-wandel-infografik
Abgerufen: 16.02.2019
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 92
BARC-Studie
Datenmanagement im Zeitalter von Big Data und Self-Service
https://barc.de/blog/datenmanagement-im-wandel-infografik
Abgerufen: 16.02.2019
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 93
BARC-Studie
Datenmanagement im Zeitalter von Big Data und Self-Service
https://barc.de/blog/datenmanagement-im-wandel-infografik
Abgerufen: 16.02.2019
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 94
BARC-Studie
Datenmanagement im Zeitalter von Big Data und Self-Service
https://barc.de/blog/datenmanagement-im-wandel-infografik
Abgerufen: 16.02.2019
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 95
BARC-Studie
Datenmanagement im Zeitalter von Big Data und Self-Service
https://barc.de/blog/datenmanagement-im-wandel-infografik
Abgerufen: 16.02.2019
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 96
Strukturierte und unstrukturierte Daten
Welche Daten habe ich und wo setze ich sie ein?
http://www.absatzwirtschaft.de/big-data-analytics-im-marketing-2-19095/
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 97
Strukturierte und unstrukturierte Daten
Neue Datengrundlagen
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 98
Bewertbarkeit
Was sind meine Daten Wert?
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 99
Neuer Ansatz
Datenbanksystem
NoSQL-Datenbanken
Unter der Bezeichnung NoSQL-Datenbanken werden verschiedene Arten von
Datenbank-systemen zusammengefasst, die sich nicht am relationalen Modell
orientieren. Diese Datenbanken, denen verschiedene Datenbankmodelle zugrunde
liegen können, sind horizontal skalierbar und lassen sich für Big-Data-Anwendungen
einsetzen. NoSQL-Datenbanken nutzen statt Tabellen zum Beispiel Wertepaare,
Objekte, Dokumente oder Listen und Reihen für die Organisation der Daten.
Folgende typischen Eigenschaften zeichnen die NoSQL-Systeme aus:
horizontale Skalierbarkeit
Vermeiden von unnötiger Komplexität
hohe Performance und ein hoher Durchsatz
Nutzung von allgemein gebräuchlicher Hardware
Es existiert kein fixes Datenbankschema
Vermeidung von relationalen Ansätzen des Datenmappings
Einfachheit in der Installation und Konfiguration von verteilten Datenbank-Clustern
sowie die Unterstützung der aktuellen Hardwaregenerationen
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 100
Struktur NoSQL
Datenbanksystem
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 101
Beispiel
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 102
Key-Value
NoSQL-Datenbankmodelle
Key-Value-Datenbanken
Key-Value-Datenbanken sind einfach-strukturierte Datenspeicher, in denen sämtliche Daten in
Form von Schlüssel-Wert-Paaren gespeichert sind (Beispiel Cassandra).
Zu jedem Schlüssel existiert genau ein assoziiertes deskriptives Datenobjekt. Dieses stellt den
Wert zum zugehörigen Schlüssel dar.
Durch Angabe des Schlüssels kann der zugehörige Wert abgefragt werden.
Weder die Schlüssel noch die Werte bestehen bei aus komplexen Datenstrukturen. Als
grundlegendes Prinzip dieser Datenbanken wurde definiert, dass der Schlüssel eineindeutig
ist. Es wird auf den Aufbau von Indexstrukturen verzichtet und die Datenstruktur möglichst
einfach gehalten. Datensätze können schnell gelesen / geschrieben werden.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 103
Dokumente
NoSQL-Datenbankmodelle
Dokumentenorientierte Datenbanken
Dokumentenorientierte Datenbanken weisen ebenfalls eine Schlüssel-Wert-Paar-Speicherstruktur
auf, allerdings sind ihre Werte komplexe Datenstrukturen als Dokumente. Diese Dokumente
haben untereinander keine Beziehung und sind lediglich eine strukturierte Sammlung von Daten.
Demnach ist eine dokumentenorientierte Datenbank eine Sammlung (Collection) von semi-
strukturierten Dokumenten. (Beispiele: MongoDB, Couchbase, CouchDB)
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 104
Spaltenorientierte vs. zeilenorientierte Speicherung
NoSQL-Datenbankmodelle
Spaltenorientierte Datenbanken
Spaltenorientierte Datenbanken sind eine Erweiterung des Key-Value-Konzepts um mehr
Struktur. Auf der einen Seite werden performant große Datenmengen verarbeitet (Key-Value-
Datenbanken) und auf der anderen Seite wird die Möglichkeit zur Strukturierung des
Datenraumes (Schema) gegeben. Die Datenspeicherung erfolgt im mehrdimensionalen
Tabellen, wobei die Adressierung von Datenobjekten mit Zeilenschlüsseln erfolgt.
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 105
Graphstrukturen
NoSQL-Datenbankmodelle
Graph-Datenbanken
Graph-Datenbanken spezialisieren sich auf die Speicherung vernetzter Informationen und deren
effiziente Traversierung in Graphen. Sie bilden die Graphstruktur eines Datensatzes explizit ab
und stellen entsprechende Operationen zur effizienten Durchsuchung und Manipulation dieser
Struktur bereit. Knoten und Kanten eines Graphen können durch Eigenschaften (Properties)
durch Key-Value-Beziehungen bezeichnet werden.
Property-Graph
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 106
Graphstrukturen
NoSQL-Datenbankmodelle
Graphenmodell
Im Graphenmodell haben die Knoten ebenso wie die Kanten eindeutige Namen und je nach
Bedarf auch Eigenschaften. Filme beispielsweise werden im Knoten FILM abgelegt, mit den
Eigenschaften Titel und Jahr (Erscheinungsjahr). Entsprechend werden die Knoten
DARSTELLER, REGISSEUR und GENRE definiert. Die Kante SPIELT ist gerichtet und führt
vom Knoten DARSTELLER zum Knoten FILM; sie weist als Eigenschaft die Rollen der
Schauspieler in unterschiedlichen Filmen aus.
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 107
Graphstrukturen
NoSQL-Datenbankmodelle
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 108
Graphstrukturen
NoSQL-Datenbankmodelle
Cypher
Grundelemente
MATCH Identifikation von Knoten und Kanten sowie Deklaration von
Suchmustern
WHERE Bedingungen zur Filterung von Ergebnissen
RETURN Bereitstellung des Resultats, bei Bedarf aggregiert
Möchte man das Erscheinungsjahr des Films‚ The Matrix’ berechnen, so lautet die
Anfrage in Cypher:
MATCH (m: FILM {Titel: „The Matrix“})
RETURN m.Jahr
In dieser Abfrage wird die Variable m für den Film ‚The Matrix‘ losgeschickt, um das
Erscheinungsjahr dieses Filmes durch m.Jahr zurückzugeben. Die runden Klammern drücken bei
Cypher immer Knoten aus, d. h. der Knoten (m: FILM) deklariert die Laufvariable m für den Knoten
FILM. Neben Laufvariablen können konkrete Attribut-Wert-Paare in geschweiften Klammern
mitgegeben werden. Da wir uns für den Film ‚The Matrix‘ interessieren, wird der Knoten (m: FILM)
um die Angabe {Titel: „The Matrix“} ergänzt
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 109
Neuer Ansatz
Datenbanksystem
Konsistenzgewährung
Eric Brewer von der Universität Berkeley stellte an einem Symposium im Jahre 2000
die Vermutung auf, dass die drei Eigenschaften der Konsistenz (Consistency), der
Verfügbarkeit (Availability) und der Ausfalltoleranz (Partition Tolerance) nicht
gleichzeitig in einem massiv verteilten Rechnersystem gelten können.
Consistency (C): Wenn eine Transaktion auf einer verteilten Datenbank mit
replizierten Knoten Daten verändert, erhalten alle lesenden Transaktionen den
aktuellen Zustand, egal über welchen der Knoten sie zugreifen.
Partition Tolerance (P): Fällt ein Knoten in einem replizierten Rechnernetzwerk oder
eine Verbindung zwischen einzelnen Knoten aus, so hat das keinen Einfluss auf das
Gesamtsystem. Zudem lassen sich jederzeit Knoten ohne Unterbruch des Betriebs
einfügen oder wegnehmen.
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 111
Neuer Ansatz
Datenbanksystem
CAP-Theorem
Das CAP-Theorem sagt aus, dass in einem massiv verteilten Datenhaltungssystem
jeweils nur zwei Eigenschaften aus den drei der Konsistenz (C), Verfügbarkeit (A)
und Ausfalltoleranz (P) garantiert werden können.
Mit anderen Worten lassen sich in einem massiv verteilten System entweder
Konsistenz mit Verfügbarkeit (CA) oder Konsistenz mit Ausfalltoleranz (CP) oder
Verfügbarkeit mit Ausfalltoleranz (AP) kombinieren, alle drei sind nicht gleichzeitig zu
haben.
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 112
Neuer Ansatz
Datenbanksystem
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 114
Herausforderung
Digitalisierung als Herausforderung
„Wert aus Daten“ zu generieren treibt Initiativen sowohl im Fachbereich als auch in
der IT
Das Resultat sind mehr und andere Daten, Rollen, Analysen, Anwendungen
und Systeme mit neuen und anderen Anforderungen, die bestehende
Infrastrukturen oftmals vor Herausforderungen stellen
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 115
Digitalisierung als Herausforderung
Datenintegration
Sichtweise
Nutzersicht: Prozess, der benötigt wird, um aus unterschiedlichsten Informationen
einen tatsächlichen Wissensgewinn zu erzielen
Stahl, R.; Staab, P.: Die Vermessung des Datenuniversums, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 116
Digitalisierung als Herausforderung
Datenintegration
Stahl, R.; Staab, P.: Die Vermessung des Datenuniversums, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 117
Digitalisierung als Herausforderung
Datenintegration
Stahl, R.; Staab, P.: Die Vermessung des Datenuniversums, Springer Vieweg, 2017.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 118
Digitalisierung als Herausforderung
Datenintegration
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 119
Digitalisierung als Herausforderung
Datenintegration
Heterogenität
Als Heterogenität wird die unterschiedliche Art und Weise wie etwas modelliert,
strukturiert und realisiert ist, beschrieben. Heterogenität entsteht meist im Ergebnis der
autonomen Modellierung, Implementierung und Verwaltung von Informationssystemen.
■ Technische Heterogenität
■ Syntaktische Heterogenität
■ Strukturelle Heterogenität
■ Semantische Heterogenität
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 120
Digitalisierung als Herausforderung
Datenintegration
Technische Heterogenität
Technische Heterogenität bezieht sich vor allem auf Unterschiede hinsichtlich der
verwendeten Hardware, Software, Schnittstellen und Anfragesprachen, d. h. nicht
unmittelbar auf die Unterschiede hinsichtlich der Daten selbst, sondern Unterschiede
hinsichtlich des Zugriffs darauf (Anfragesprachen, Austauschformate, Protokolle usw.).
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 121
Digitalisierung als Herausforderung
Datenintegration
Syntaktische Heterogenität
Syntaktische Heterogenität resultiert aus der technischen Heterogenität und bezieht
sich auf die technischen Unterschiede in der Darstellung gleicher Sachverhalte, z. B.
verwendete Datentypen und -formate, Zeichensätze, Dateistrukturen usw.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 122
Digitalisierung als Herausforderung
Datenintegration
Strukturelle Heterogenität
Beschreiben zwei unterschiedliche Schemata den gleichen Ausschnitt der realen Welt,
so spricht man von struktureller Heterogenität.
Ausprägungen:
Verwendung von unterschiedlichen Datenmodellen oder Modellierungssprachen wie z. B. ER-
Modell, UML
Verwendung von unterschiedlichen Modellierungsebenen wie z. B. Modellierung eines Sachver-
haltes als Wert, Attribut oder Relation
Verwendung von unterschiedlichen Standardwerten und Formaten wie z. B. bei Telefonnummern,
Datumswerten
Verwendung von unterschiedlichen Integritätsbedingungen wie z. B. Schlüsselfelder, Wertelisten
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 123
Digitalisierung als Herausforderung
Datenintegration
Semantische Heterogenität
Semantische Heterogenität bezieht sich vor allem auf die unterschiedlichen
Bedeutungen und Kontexte, in denen die Daten der jeweiligen Quellsysteme
verwendet werden, z. B. Benennungen, Kodes, Bemaßungen und Skalen, Bedeutung
von NULL-Werten (unbekannt, nicht erfasst, nicht vorhanden).
Beispiele für semantische Unterschiede:
Verwendung von unterschiedlichen Benennungen für gleiche Sachverhalte
(Synonyme, Abkürzungen, Akronyme) wie z. B. IT oder EDV oder IuK
Verwendung von gleichen Benennungen für unterschiedliche Sachverhalte
(Homonyme) wie z. B. „Fälligkeit“ bei Rechnungen oder Gewinnausschüttungen
Verwendung von unterschiedlichen Skalen Klassifzierungen wie z. B. bei der Einteilung
der Altersgruppe in die Altersgruppe ab 6 Jahre, ab 14 Jahre, ab 18 Jahre oder die
Einteilung in die Altersgruppe unter 20 Jahre, 20–30 Jahre, 30–40 Jahre, über 40
Jahre
Verwendung von unterschiedlichen Bemaßungen und Skalen für die Messung gleicher
Größen wie z. B. Angabe der Geschwindigkeit in km/h oder mph
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 124
Digitalisierung als Herausforderung
Chancen und Herausforderungen im Umfeld BI & Big Data
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 125
Digitalisierung als Herausforderung
Chancen und Herausforderungen im Umfeld BI & Big Data
Analytische Potentiale
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 126
Digitalisierung als Herausforderung
Chancen und Herausforderungen im Umfeld BI & Big Data
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 127
Digitalisierung als Herausforderung
Chancen und Herausforderungen im Umfeld BI & Big Data
Fasel, D.; Meier, A.: Big Data. Grundlagen, Systeme und Nutzungspotentiale. Springer Vieweg, 2016.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 128
BUSINESS INTELLIGENCE
25.06.2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 129
Business Intelligence
Begriff
„All about how to capture, access, understand, analyze and turn one of the most
valuable assets of an enterprise – raw data – into actionable information.”
Azvine, B.; Cui, Z.; Nauck, D. D. (2005): Towards real-time business intelligence. In: BT Technology
Journal, 2005 (23(2005)3), S. 214–225.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 130
Business Intelligence
Traditionelles Framework Business Intelligence
Seufert, A.; Sexl, S.: Competing on Analytics –Wettbewerbsvorsprung durch Business Intelligence. In: Gleich, Ronald (Ed.): Challenge Controlling 2015,
Haufe Verlag, Freiburg i. Br., pp. 201-218
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 131
Business Intelligence
Data Warehouse Architektur
http://datawarehouse4u.info/images/data_warehouse_architecture.jpg
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 132
Business Intelligence
Online Analytical Processing (OLAP)
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 133
Business Intelligence
Framework Operational Business Intelligence
Seufert, A.; Sexl, S.: Competing on Analytics –Wettbewerbsvorsprung durch Business Intelligence. In: Gleich, Ronald (Ed.): Challenge Controlling 2015,
Haufe Verlag, Freiburg i. Br., pp. 201-218
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 134
Business Intelligence
Innovative Informationsnutzung durch BI als Schlüssel im Wettbewerb
Seufert, A.; Sexl, S.: Competing on Analytics –Wettbewerbsvorsprung durch Business Intelligence. In: Gleich, Ronald (Ed.): Challenge Controlling 2015,
Haufe Verlag, Freiburg i. Br., pp. 201-218
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 135
Business Intelligence
Innovative Informationsnutzung durch BI als Schlüssel im Wettbewerb
Business Intelligence as a Service
Seufert, A.; Sexl, S.: Competing on Analytics –Wettbewerbsvorsprung durch Business Intelligence. In: Gleich, Ronald (Ed.): Challenge Controlling 2015,Haufe Verlag, Freiburg i. Br., pp. 201-218
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 136
Business Intelligence
Innovative Informationsnutzung durch BI als Schlüssel im Wettbewerb
Business Intelligence as a Service
IaaS – Infrastructure as a Service: ständig steigende Datenvolumina stehen der
Forderung einer immer schnelleren Auswertung und Analyse, bis hin zu Real-Time-BI
gegenüber -> steigende Anforderungen an die Skalierbarkeit und Verfügbarkeit der
Infrastruktur. Die Skalierbarkeit von Cloud-Applikationen könnte darüber hinaus die
Kollaboration bei rechen- und datenintensiven Themen fördern (z.B.
Forschungsallianzen).
SaaS – Software as a Service: Der Bereich SaaS lässt sich analog zum klassischen
BI-Ansatz in die Ebenen Datenbereitstellung, Informationsgenerierung/ Modelle und
Präsentation/Informationsaufbereitung unterteilen. Auf der Basis des Cloud-
Verständnisses sind jedoch wesentliche konzeptionelle Erweiterungen vorstellbar.
Seufert, A.; Sexl, S.: Competing on Analytics –Wettbewerbsvorsprung durch Business Intelligence. In: Gleich, Ronald (Ed.): Challenge Controlling 2015,Haufe Verlag, Freiburg i. Br., pp. 201-218
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 137
Business Intelligence
Innovative Informationsnutzung durch BI als Schlüssel im Wettbewerb
Business Intelligence as a Service
DaaS – Datenbereitstellung durch Data as a Service: Grundlage ist eine
konsistente, abgestimmte Datenbasis; traditionell Data-Warehouse -> Ziel ist der
automatisierte Aufbau einer themenbezogenen, integrierten Datenhaltung für
Entscheidungszwecke
Mögliche Erweiterungen:
Die Datenversorgungsschicht in der Architektur der BI-Cloud umfasst dabei nicht nur
die Aufbereitung unternehmensinterner Datenbestände, sondern kann vielmehr die
Rolle eines globalen Datenmarktplatzes einnehmen, bei dem qualitätsgesichert
externe Informationen aufbereitet und den Unternehmen bereitgestellt werden.
App-Store für Daten erstellen, in dem professionell aufbereitete Daten i.S. einer
Wertschöpfungskette für Daten zur weiteren Verarbeitung angeboten werden. Die
technische Aufbereitung kann als Input für die MaaS-Ebene, als Schnittstelle zu in-
/externen Cloud-Datenbanken oder in weitere standardisierte Formate wie Web
Services, RSS Feeds etc. erfolgen.
Ein weiterer Vorteil für den Endkonsumenten eines Datenmarktplatzes könnte in einer
zentralen und einheitlichen Abrechnung bestehen.
Seufert, A.; Sexl, S.: Competing on Analytics –Wettbewerbsvorsprung durch Business Intelligence. In: Gleich, Ronald (Ed.): Challenge Controlling 2015,Haufe Verlag, Freiburg i. Br., pp. 201-218
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 138
Business Intelligence
Innovative Informationsnutzung durch BI als Schlüssel im Wettbewerb
Business Intelligence as a Service
Framework Data as a Service
Seufert, A.; Sexl, S.: Competing on Analytics –Wettbewerbsvorsprung durch Business Intelligence. In: Gleich, Ronald (Ed.): Challenge Controlling 2015,Haufe Verlag, Freiburg i. Br., pp. 201-218
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 139
Business Intelligence
Innovative Informationsnutzung durch BI als Schlüssel im Wettbewerb
Business Intelligence as a Service
MaaS – Informationsgenerierung durch Model as a Service: Grundlage sind OLAP
(Online Analytical Processing) sowie Data Mining als Basistechnologien, um komplexe
mehrdimensionale Modelle zu entwickeln, Muster zu identifizieren oder auch Ursachen
und Wirkungszusammenhänge zu erkennen und relevante Inhalte zu identifizieren.
Mögliche Erweiterungen:
Es können darüberhinaus umfangreiche betriebswirtschaftliche Methoden und Modelle
(z.B. Kundenklassifizierungen, Customer-Lifetime-Value-Analysen etc.) aufbereitet,
bereitgestellt und ggf. um Branchenspezifika ergänzt werden. Potenziale liegen in der
Vernetzung der in der Cloud existierenden Informationen und deren Anbindung an
Prozesse im Rahmen des Operational BI:
Supply-Chain-Analyse (Bewertung von Lieferanten und Lieferketten anhand von in
der Cloud existierenden Informationsdiensten),
Marktforschung (Bewertung von Social-Media-Inhalten in Bezug auf das eigene
Unternehmen oder Produkte),
Produktion und Logistik (Einfluss von Wetter-, Umwelt-, und Verkehrsfaktoren)
Seufert, A.; Sexl, S.: Competing on Analytics –Wettbewerbsvorsprung durch Business Intelligence. In: Gleich, Ronald (Ed.): Challenge Controlling 2015,Haufe Verlag, Freiburg i. Br., pp. 201-218
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 140
Business Intelligence
Innovative Informationsnutzung durch BI als Schlüssel im Wettbewerb
Business Intelligence as a Service
VaaS – Präsentation / Informationsaufbereitung durch Visualisation as a Service:
Die generierten Informationen werden im klassischen BI üblicherweise über einen
Windows-Client oder das Internet/Intranet aufbereitet und verteilt. Vielfach erfolgt der
Zugang über Portale, die dem Benutzer einen zentralen Einstiegspunkt in
verschiedene Analysesysteme bieten -> Märkte für die Visualisierung schaffen
Mögliche Erweiterungen:
Die oberste Ebene der BI-Cloud-Architektur hat zum Ziel, die über die MaaS-Schicht
bereitgestellten Modelle für den Endanwender auf der Basis eines standardisierten
Information Designs zugreifbar und nutzbar zu machen. Visualisierungsdienste, i.d.R.
in Form webbasierter Applikationen (Web Parts, Web Services), integrieren dabei
Berichte, Analysen, Kennzahlen oder Planungssheets nahtlos in bestehende
Unternehmensportale und bieten die Modelle für die Weiterverwendung in zusätzlichen
Analysefrontends an.
Der wachsende Bedarf an BI-Applikationen für mobile Endgeräte beschleunigt die
Entwicklung einer VaaS-Schicht, da hierfür insbesondere die Schnittstellen zur
Datenbewirtschaftung aus der MaaS-/DaaS-Schicht vereinheitlich werden.
Seufert, A.; Sexl, S.: Competing on Analytics –Wettbewerbsvorsprung durch Business Intelligence. In: Gleich, Ronald (Ed.): Challenge Controlling 2015,Haufe Verlag, Freiburg i. Br., pp. 201-218
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 141
Big Data vs. Business Intelligence
Vergleich Big Data vs. Business Intelligence
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 142
Integrierte Anwendungslandschaft
Transformation zur Nutzung von Big Data
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 143
Technologische Aspekte
Transformation zur Nutzung von Big Data
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 144
Prozess für Analytics-Maßnahmen
CRISP-DM
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 145
Data Mining Prozess
CRISP-DM
https://statistik-dresden.de/archives/1128
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 146
Datenanalyse durchführen
Analyse von Big Data & Big Data Technologien
Datenanalyseprozess
Studie Krcmar: Innovationspotentialanalyse für die neuen Technologien für das Verwalten und Analysieren von großen Datenmengen
(Big Data Management)
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 147
Datenvisualisierung
Grundlagen und Zieldefinition
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 148
Datenvisualisierung
Grundlagen und Zieldefinition
Die Disziplin der Datenvisualisierung hat starke Schnittmengen mit der
Mensch-Maschine-Interaktion.
Die Betrachtung der Daten benötigt nicht unbedingt eine Hypothese und Zielrichtung:
https://data-science-blog.com/blog/2015/06/06/daten-visualisierung-eine-wissenschaft-fur-sich-oder-auch-zwei/
Stand Juni 2018
Vortragsfolien zu : 9. Fachtagung Datenbanksysteme in Büro, Technik und Wissenschaft (BTW ' 01), Deutsche Informatik Akademie (DIA),
Oldenburg, Germany, 2001
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 149
Von Daten zur Visualisierungsperspektive
Warum visualisieren?
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 150
Von Daten zur Visualisierungsperspektive
Anscombe Quartett
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 151
Von Daten zur Visualisierungsperspektive
Visualisierungsperspektive
http://www.zeit.de/politik/deutschland/wahlland-2013
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 152
Von Daten zur Visualisierungsperspektive
Visualisierungsperspektive
Beispieldesign erstellen
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 153
Diagrammtypen
Beispiele von Visualisierungstechniken
Streudiagramm
zeigt die Punkte der Beobachtungen in
einem zweidimensionalen Datenraum.
Ermöglichst die Ableitung von Trends,
Erkennen von Position und Anzahl von
Clusterzentren, Konzentration, Streuung, etc.
Liniendiagramm
Zeigt die Entwicklung von Werten gruppiert
pro Beobachtung oder Kategorie. Entwicklung
pro Zeit und Darstellung des Verlaufs im
zweidimensionalen Datenraum
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 154
Diagrammtypen
Beispiele von Visualisierungstechniken
KPI / Wert
Darstellen eines einzelnen Wertes als Summe,
Faktor oder Differenz.
Bsp: Menge Kunden, Summe Umsatz,
Differenz Umsatz – Kosten.
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 155
Power BI
Praktische Übung
Laden Sie sich Power BI Desktop herunter und installieren sie es.
https://powerbi.microsoft.com/de-de/downloads/
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 156
Power BI
Praktische Übung Power BI
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 157
Power BI
Schematischer Aufbau PowerBI
Navigation:
Arbeitsbereich,
Datenansicht,
Tabellenstruktur
Konfiguration der
Arbeitsblätter Elemente
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 158
Power BI
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 159
Power BI
Übung
Umsatz
pro Land
Anteil am
Gesamtumsatz
25. Juni 2022 Ihr Name - bitte anpassen über "Einfügen" / Kopf- und Fußzeile 160
THE END
;-)