VL 05: Datenbanken Flashcards
Nenne die Entwicklungskriterien für Datenbanken.
- Physische Datenunabhängigkeit
(Änderung der Hardware sowie der physischen Organisation der Daten hat keinen Einfluss auf die Verarbeitungsprogramme der Daten) - Logische Datenunabhängigkeit
(Erweiterung und Veränderung der Daten hat keinen Einfluss auf die Verarbeitungsprogramme der Daten) - Redundanzfreiheit der Daten
(Alle Datenelemente und Datensätze sind nur einmal vorhanden, wodurch die Modifizierung von Daten wesentlich erleichtert wird.)
Nenne 5 Leistungsmerkmale von Datenbanksystemen.
Datenbanken…
- … bieten logische und physische Datenunabhängigkeit
- sind anwendungsneutral und damit flexibel
- ermöglichen die Verwaltung sehr großer Datenmengen
- sind anpassungsfähig hinsichtlich geänderter Bedürfnisse
- gewährleisten den Zusammenhalt der Daten
- (Konsistenz bzw. Integrität)
- schützen die verwalteten Daten
- bieten Sicherheit der Daten
- bewältigen dies mit hoher Effizienz
Abb. Modellbildungsprozess - Entwickung
- Realität
- Gedankenmodell
- Informationsmodell
- Datenmodell
- Speichermodell
- Datenbank
Abb. Anwendung Datenbanken
Anwenderprogramm
Datenbankenmanagementsystem + Datenbank
Betriebssystem
Abb. Schnittstellen eines Datenbanksystems + Sprachen
Bildschirm
(Natürliche Sprachen)
Anwendungsprogramm
(Programmiersprache, DML)
[Datenbankenmanagementsystem]
- -> Subschema (SUB-DDL)
- -> Schema (DDL)
- -> Physikalische Datenbankenbeschreibung (SDL)
Datenbank (DML, DDL, SDL)
DML: Datenmanipilationssprache
DDL: Datendefinitionssprache
SDL: Speicherbeschreibungssprache
Nenne die Elemente eines Datenbankenmanagementsystems.
Schema
- beschreibt die logische Gesamtstruktur der Datenbank
- ist die Zusammenstellung aller benutzten Datentypen
- gibt die Namen der Objekte und ihrer Attribute an
- spezifiziert die Beziehungen zwischen den Objekten
Subschema
- beschreibt die vom Anwender benutzten Datentypen
- ist vom Schema ableitbar (spezieller Ausschnitt des
Schemas)
- Anwender können ihr Subschema ändern, ohne dass dies Auswirkungen für andere Anwender hat
Physikalische Datenbankbeschreibung
- Darstellung der physikalischen Anordnung der Daten auf den Speichergeräten
- Ablage der Daten auf der Speicherhardware
- Angabe von Zugriffspfaden, etc.
Elemente des Datenbankmanagementsystems
Worum geht es?
- Beschreibt die logische Gesamtstruktur der Datenbank
- Ist die Zusammenstellung aller benutzten Datentypen
- Gibt die Namen der Objekte und ihrer Attribute an
- Spezifiziert die Beziehungen zwischen den Objekten
Schema
Elemente des Datenbankmanagementsystems
Worum geht es?
- Beschreibt die vom Anwender benutzten Datentypen
- Ist vom Schema ableitbar (spezieller Ausschnitt des
Schemas) - Anwender können ihr Subschema ändern, ohne dass dies Auswirkungen für andere Anwender hat
Subschema
Elemente des Datenbankmanagementsystems
Worum geht es?
- Darstellung der physikalischen Anordnung der Daten auf den Speichergeräten
- Ablage der Daten auf der Speicherhardware
- Angabe von Zugriffspfaden, etc.
Physikalische Datenbankenbeschreibung
Sprachen
Worum geht es?
- Benennung aller logischen Datenreihen (Schemata),
- Beschreibung und Benennung der zwischen den logischen Dateneinheiten bestehenden Beziehungen,
- Angabe von Zugriffsbedingungen und Integritätsregeln und
- Angabe des Datenmodells aufgrund dessen eine Datenbank logisch organisiert wird.
Datendefinitionssprache (DDL)
Sprachen
Worum geht es?
- Dient dem Anwender für den Zugriff auf seine Daten
- Ist die Sprache zum Suchen, Speichern, Löschen und Ändern von Daten,
- Ist entweder in eine Programmiersprache eingebettet oder steht dem Anwender als eigenständige Sprache z.B. für den interaktiven Dialog zur Verfügung und
- Orientiert sich im Allgemeinen an einem natürlich-sprachlichen Aufbau.
Datenmanipulationssprache (DML)
Nenne die Bestandteile von Datenstrukturen.
Objekte
Beziehungen
Eigenschaften
Bestandteile von Datenstrukturen
Worum geht es?
“…”
- Namentlich bezeichnete Einheiten, die einen Sachverhalt oder Zustand repräsentieren.
- Gleiche bzw. ähnliche Sachverhalte bilden “…”.
- “…” eines Typs sind “…”
“Objekte”
“einen Objekttyp bzw. eine Objektklasse”
“Objekte”
“Objektausprägungen bzw. Objektinstanzen.”
Bestandteile von Datenstrukturen
Worum geht es?
“…”
- Repräsentieren Verbindungen zwischen Objekten und Objekttypen.
- sind definiert zwischen zwei Objekttypen.
- verbinden in der Ausprägung je ein Objekt beider Typen.
“Beziehungen”
Bestandteile von Datenstrukturen
Worum geht es?
“…”
- Sind Attribute von Objekten oder Beziehungen.
- Beispiel:
Attribut auf Typebene: “FARBE„
Attribut auf Ausprägungsebene: “GRÜN”
“Eigenschaften”
Nenne und zeichne alle Datenbankenkonzepte.
Hierarchisches Konzept
Relationales Konzept
Netzwerk Konzept
Objektorientiertes Konzept
vgl. Folie 20
Datenbankkonzepte
Worum geht es?
- Abbildung der Informationen ist streng hierarchisch in geordneten Bäumen.
- Objekte werden auf Knoten im Baum abgebildet.
- Beziehungen werden durch unbenannte Kanten dargestellt.
- Eigenschaften können nur auf Objekte abgebildet werden.
Hierarchisches Konzept
Datenbankkonzepte
Wahr oder falsch?
In einem objektorientierten Konzept können Eigenschaften nur auf Objekte abgebildet werden.
Falsch!
In einem HIERARCHISCHEN oder NETZWERK Konzept können Eigenschaften nur auf Objekte abgebildet werden.
Datenbankkonzepte
Worum geht es?
- Objekte werden auf benannte Knoten eines Netzwerks (RECORDS) abgebildet.
- Es gibt gerichtete und benannte Beziehungen zwischen den Knoten.
- Eigenschaften können nur Objekten zugeordnet werden.
- Im Gegensatz zum hierarchischen Modell ist der Einstiegspunkt für die Suche nicht Wurzel, sondern jeder beliebige Knoten (RECORD) im Netz.
- n:m-Beziehungen lassen sich problemlos darstellen.
Netzwerk Konzept
Datenbankkonzepte
Worum geht es?
- Knoten repräsentieren “…” mit Attributen.
- “…” können über beliebige Relationen (Kanten) verknüpft werden.
- Konzepte aus der “…” werden übernommen. (Abstrakte Datentypen, Vererbung, Referenzen,
etc. )
Objektorientiertes Konzept
“Datenobjekte”
“Datenobjekte”
“Objektorientierung”
Datenbankkonzepte
Worum geht es?
- Datentypen werden als Tabellen dargestellt; Spalten repräsentieren Attribute (Eigenschaften) und Datenobjekte werden in Zeilen abgelegt.
- Jeder Datentyp verfügt über mindestens ein eindeutiges Attribut.
- Verknüpfungen (“…”) werden auch in Tabellen dargestellt, die eindeutigen Attribute der verknüpften Datenobjekte werden in Spalten eingetragen.
Relationales Konzept
“Relationen”
Relationales Konzept
Nenne die Eigenschaften der Tabelle.
- Alle Einträge einer Spalte haben denselben Typ.
- Alle Zeilen sind verschieden. Keine Zeile kommt mehrfach vor.
- Die Reihenfolge der Zeilen innerhalb der Tabelle ist beliebig.
- Die Tabellennamen sind innerhalb des Datenbanksystems eindeutig.
- Die Bedeutung jeder Spalte wird durch einen Namen gekennzeichnet.
Datenbankkonzepte: Multidimensionaler Ansatz
Ein Multidimensionaler Datenbankansatz, wie er im Data Mining optimal ist, kann durch ein “…” realisiert werden.
“Sternschema”
Datenbankkonzepte: Multidimensionaler Ansatz
Ein Multidimensionaler Datenbankansatz, wie er im Data Mining optimal ist, kann durch ein Sternschema realisiert werden.
Beschreibe den Aufbau eines Sternschemas.
Sternschema
- Kann mit dem relationalen Konzept abgebildet werden
- Besteht aus Faktentabelle und n Tabellen für die n Dimensionen
Datenbankkonzepte: Multidimensionaler Ansatz
Was enthält eine Faktentabelle?
Die Faktentabelle enthält dynamische Inhalte
- Umsätze, Zeiträume und andere Nutzdaten
- Referenzen zu den Dimensionen
Datenbankkonzepte: Multidimensionaler Ansatz
Was versteht man unter den n Dimensionen?
Die Dimensionen sind kleine statische Tabellen mit beschreibenden Daten
- Zeitstempel, Abteilungen, Projekte, Produktreihen
Wahr oder falsch?
Im Sternschema eines multidimensionalen Ansatz enthält die Faktentabelle statische Inhalte und die Dimensionen dynamische Inhalte.
Falsch!
Im Sternschema eines multidimensionalen Ansatz enthält die Faktentabelle DYNAMISCHE Inhalte und die Dimensionen STATISCHE Inhalte.
Wahr oder falsch?
Ein Sternschema, fern vom Gedankenmodell erlaubt eine hohe Performance beim Schreiben.
Falsch!
Ein solches Schema, fern vom Gedankenmodell erlaubt eine hohe Performance beim LESEN.
Alternative Schematas haben meist tiefer Verschachtelte Strukturen, aus denen längere Anfragezeiten folgen.
Wann ist eine Datenbank konsistent?
Eine Datenbank ist konsistent, wenn sie den Regeln und Restriktionen des modellierten Teilbereichs der Realität entspricht.
- Jeder Eintrag in der Datenbank, der nicht diesem Modell entspricht, würde zu inkonsistenten Daten führen.
- Im Beispiel werden jeder Fläche Konturen zugeordnet, jeder Kontur werden mindestens zwei Punkte zugeordnet.
Was bedeutet Integrität im Zusammenhang mit Dankenbanken?
Integrität umfasst die Vollständigkeit und Unverfälschtheit der übertragenen und gespeicherten Daten.
Das Modell wird mit Hilfe von Integritätsbedingungen definiert.
Nenne die Integritätsbedingungen.
Plausibilitätsprüfungen für die Eingabedaten
(Ist das übergebene Datum (30.2.2008) korrekt?)
Widerspruchsfreiheit der Daten
(Zwei unterschiedliche Konturen können nicht genau dieselben Punkte verwenden.)
Referentielle Integrität
(Gibt es die Fläche überhaupt, die der Kontur zugeordnet ist?)
Operationale Integrität
(Synchronisationsmaßnahmen bei gleichzeitigem Zugriff auf die Daten)
Konsistenzerhaltung bei Softwarefehlern
Worum geht es?
Die Datenbankobjekte werden protokolliert, bevor sie von einer Transaktion verändert werden.
Before-image Protokoll
Konsistenzerhaltung bei Softwarefehlern
Worum geht es?
Nach Durchführung einer Änderung von Datenbankobjekten wird das Ergebnis protokolliert.
After-image Protokoll
Konsistenzerhaltung bei Hardwarefehlern
Worum geht es?
Wiederherstellung einer zerstörten Datenbank, ausgehend von einer Kopie des Datenbestandes unter Berücksichtigung aller neuen Änderungen von Daten.
Back-Up
Klassifikation von Datenbanken
Worum geht es?
- Nutzung nur auf einem Rechner von einem Nutzer, z.B. Mediendatenbank eines Mediaplayers
- Android Smartphones stellen jeder App eine “…” zur Verfügung
Stand-alone Datenbanken
Klassifikation von Datenbanken
Worum geht es?
- Werden von mehreren Anwendern im Netzwerk benutzt
- Clients sind alle Anwender, die im Netz auf die Daten zugreifen.
- Locking-Mechanismen im Server stellen sicher, dass nur ein Anwender Schreibrechte für einen bestimmten Datensatz bekommt.
Netzwerkdatenbanken
Nenne alle Netzwerkdatenbanken.
File- Server- Datenbank
Client/ Server- Datenbank
NoSQL- Datenbank (structured storage)
Netzwerkdatenbanken im Vergleich
Worum geht es?
- Daten werden in Dateien im Netzwerk abgelegt.
- Beim Zugriff öffnet der Client die Datei und startet Abfragen.
- Locking auf Dateiebene
File- Server- Datenbank
Netzwerkdatenbanken im Vergleich
Worum geht es?
+ Geringer Installationsaufwand
- hohe Netzbelastungen beim Laden von großen
Datenbanken
- Die ganze Datenbank ist während des Zugriffs
gesperrt
File- Server- Datenbank
Netzwerkdatenbanken im Vergleich
Worum geht es?
- Meist separater Server nur für Datenbank.
- Zugriff über das Netzwerk
- Feingranulares Locking möglich
(Auf einzelne Datenzeilen/Felder)
Client/ Server- Datenbank
Netzwerkdatenbanken im Vergleich
Worum geht es?
\+ Hohe Skalierbarkeit durch viele Server \+ Niedrige Netzbelastung (nur Angefragte Daten) \+ Geringe Clientanforderungen - Hohe Serveranforderungen - Mehr Wartungs-/Installationsaufwand - Vorteile nur bei vielen Daten
Client/ Server- Datenbank
Netzwerkdatenbanken im Vergleich
Worum geht es?
- Deckt sehr gut die Anforderungen von Web 2.0 Anwendungen ab
- Speichert Objekte und nicht Tabellen
- Kein Locking von Daten notwendig
NoSQL- Datenbank (structured storage)
Netzwerkdatenbanken im Vergleich
Worum geht es?
+ Gute horizontale Skalierbarkeit bei vielen Servern
+ Schnelles Lesen/Ändern von Objekten
+ Unabhängig von fixen Schemata
- Erlaubt zwischenzeitlich inkonsistente Daten
- Es sind keine komplexen Modelle abbildbar
–> Es gibt große Datensätze oder Konsistenz muss der Client sicherstellen
NoSQL- Datenbank (structured storage)
Abb. Positionierung der Datenbank in einer 3-Schicht-Architektur
(Unternehmen) Schicht 1: Datenbank Schicht 2: Web-Server (Internet) (https Sitzung) Schicht 3: Web-Client
vgl. Folie 34
Für die Datenanalyse für Business Intelligence werden die Daten für schnelle Analyse Zwecke in sogenannten “…” vorgehalten. “…” extrahieren Daten aus den Systemen der Unternehmen, transformieren sie und laden sie in die Datenbank des “..”.
“Data- Warehouse-Systemen”
“ETL-Werkzeuge (Extract, Transform, Load)”
“Data Warehouses”
Abb. Datenbanken im Umfeld der Analyse
vgl. Folie 36
Datenbanken im Umfeld der Analyse
Worum geht es?
Verschiedene heterogenen Datenquellen werden abgefragt Dies können Datenbanken sein, aber auch Word Dokumente oder Textdateien.
Die Abfragen sind leichtgewichtig, um den normalen Betrieb nicht zu stören.
(Ein Beispiel ist der Besuch einer Webseite durch einen Suchmaschinen-Webcrawler, der Inhalte liest und links weiterverfolgt, um sie dem Suchindex hinzuzufügen)
ETL-Werkzeug: Extraktion
Datenbanken im Umfeld der Analyse
Worum geht es?
Die heterogenen Daten werden in ein gemeinsames Format überführt (Gleicher Sprachsatz, gleiche Semantik, gleiche Maßeinheiten,…)
Die Daten werden aggregiert und quellenübergreifend verknüpft (Anzahl gleicher Wörter auf einer Webseite oder minima/maxima eines Messwertes)
Unwichtige/doppelte Datensätze werden entfernt
ETL-Werkzeug: Transformation
Datenbanken im Umfeld der Analyse
Worum geht es?
Die Daten werden in die Datenbank des Data Warehouses geladen, indem die Daten in das Schema dieser Datenbank transformiert werden.
Dieser Prozess ist auf Geschwindigkeit optimiert, um die Datenbank nicht zu blockieren.
ETL-Werkzeug: Laden
Mit “…” analysiert man die Daten in einem Data Warehouse.
“Data Mining”
Wird die Analyse der Anfragen in einem Data Warehouse durch interaktive Visualisierungen unterstützt, so nennt man das auch “…”.
“Visual Analytics”
Abb. Ablauf des Mehrbenutzerbetriebs
vgl. Folie 40
Transaktion zur Steuerung des Mehrbenutzerbetriebes
Was versteht man unter einer Transaktion?
Eine Transaktion ist die Zusammenfassung einer oder mehrerer elementarer Datenbankoperationen zu einer Einheit.
Steuerung des Mehrbenutzerbetriebes
Worum geht es?
- Die von einer “…” ausgeführten Operationen überführen die Datenbank von einem konsistenten Zustand in einen neuen konsistenten Zustand.
- Eine “…” wird immer vollständig ausgeführt oder überhaupt nicht.
- Eine “…” muss gekennzeichnet sein.(z.B.: BEGIN TRANS und END TRANS).
“Transaktion”
“Transaktion”
“Transaktion”
Realisierung des Mehrbenutzerbetriebs
Wahr oder falsch?
Bei gleichzeitigem Zugriff mehrerer Benutzer auf dieselben Daten muss eine Transaktion diejenigen Objekte sperren, die es für die Ausführung der Operationen benötigt.
Wahr!
Realisierung des Mehrbenutzerbetriebs
Bei gleichzeitigem Zugriff mehrerer Benutzer auf dieselben Daten muss eine Transaktion diejenigen Objekte sperren, die es für die Ausführung der Operationen benötigt.
Wie lässt sich dies realisieren?
Zwei-Phasen-Sperr-Protokoll
Phase 1: Wachstumsphase
(Die Transaktion sperrt alle benötigten Objekte.)
Phase 2: Schrumpfphase
(Die Transaktion gibt die gesperrten Objekte wieder frei.)
Nenne die 12 Regeln für verteilte Datenbanken nach DATE*.
- Lokale Autonomie
- Keine Abhängigkeiten von einem zentralen
Knoten - Ununterbrochener Betrieb
- Transparenz der Daten
- Fragmentierungstransparenz
- Replikationstransparenz
- Query Optimierung
- Sicherung verteilter Transaktionen
- Hardware-Neutralität
- Betriebssystem-Neutralität
- Netzwerk-Neutralität
- Datenbank-Neutralität
Verteilte Datenbank mit zentraler/dezentraler Verwaltung
Nenne die Vor- und Nachteile einer zentralen Verwaltung.
Vorteil: Leichtere Daten- und Integritätssicherung
Nachteil: Bei Ausfall des zentralen Rechners ist ein Zugriff auf die verteilten Daten nicht möglich.
Verteilte Datenbank mit zentraler/dezentraler Verwaltung
Nenne die Vor- und Nachteile einer dezentralen Verwaltung.
Vorteil: Bei Rechnerausfall wird nicht der gesamte Datenbestand blockiert.
Nachteil: Die Daten- und Integritätssicherung erfordert einen erhöhten Aufwand.
Wozu dienen Datenbanken?
- Speicherung großer Datenbestände
2. Abfrage dieser Datenbestände
Bestandteile von Datenstrukturen
Was sind Objekte?
- Einheiten mit Namen
- Repräsentieren einen Sachverhalt oder Zustand
- Gleiche oder ähnliche Sachverhalte bilden einen Objekttyp bzw. eine Objektklasse
- Objekte eines Types sind Objektausprägungen bzw. Objektinstanzen
Bestandteile von Datenstrukturen
Was sind Beziehungen?
- Repräsentieren Verbindungen zwischen Objekten und Objekttypen
- Sind definiert zwischen zwei Objekttypen
- Verbinden in der Ausprägung je ein Objekt beider Typen
Bestandteile von Datenstrukturen
Was sind Eigenschaften?
- Sind Attribute von Objekten oder Beziehungen.
- Beispiel:
Attribut auf Typebene: “FARBE„
Attribut auf Ausprägungsebene: “GRÜN”
Elemente des Datenbankmanagementsystems
Was ist ein Schema?
- Beschreibt die logische Gesamtstruktur der Datenbank
- Ist die Zusammenstellung aller benutzten Datentypen
- Gibt die Namen der Objekte und ihrer Attribute an
- Spezifiziert die Beziehungen zwischen den Objekten
Elemente des Datenbankmanagementsystems
Was ist ein Subschema?
- Beschreibt die vom Anwender benutzten Datentypen
- Ist vom Schema ableitbar (spezieller Ausschnitt des
Schemas) - Anwender können ihr Subschema ändern, ohne dass dies Auswirkungen für andere Anwender hat.
Elemente des Datenbankmanagementsystems
Was ist die physikalische Datenbankenbeschreibung?
- Darstellung der physikalischen Anordnung der Daten auf den Speichergeräten
- Ablage der Daten auf der Speicherhardware
- Angabe von Zugriffspfaden, etc.