Datenbanken I

Datenbanken I

Datenbanken I


Kartei Details

Karten 36
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 17.01.2015 / 22.12.2016
Weblink
https://card2brain.ch/box/datenbanken_i
Einbinden
<iframe src="https://card2brain.ch/box/datenbanken_i/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was genau bedeutet denn im Zusammenhang mit Datenbanken „integriert“?

oder

Was ist die "integrierte Sammlung von Daten", was stellt sie dar?

Gemeint ist, daß die Daten entsprechend den natürlichen Zusammenhängen in der Anwendungswelt strukturiert

sind, und nicht danach, wie einzelne Anwendungen die Daten benötigen.

Auf welcher Ebene des Schichtenmodells findet man denn das Integrationskriterium?

Konzeptuelle Ebene.

Was ist denn eine Datenbank?

Eine Datenbank ist eine integrierte Ansammlung von Daten, die allen Benutzern eines Anwendungsbereiches als gemeinsame Basis aktueller Information dient.

Kurstext:

integrierte Ansammlung von Daten, die eine gemeinsame Basis für

eine Gruppe von Benutzern eines Anwendungsbereiches darstellt.

Was versteht man unter Konsistenz?

Unter der Konsistenz einer Datenbank verstehen wir die Korrektheit und die Vollständigkeit der darin enthaltenen Informationen.

Kann es zu einem Konsistenzproblem kommen, wenn bei zwei konkurrierenden Zugriffen

nur einer schreibend ist?

Ja,

Write after Read Problem wie in Computersysteme

Was Bedeutet ACID ?

Die Eigenschaften einer Transaktion kann man mit dem ACID-Prinzip beschrei-ben. ACID steht für atomicity, consistency, isolation, durability:

Unteilbarkeit (atomicity)

Eine Transaktion ist eine unteilbare Verarbeitungseinheit; sie wird entwe-der ganz oder überhaupt nicht ausgeführt.

Konsistenz (consistency)

Eine korrekte Ausführung der Transaktion führt die DB von einem konsis-tenten zu einem konsistenten Zustand.

Isolation (isolation)

Eine Transaktion muss so ablaufen, als sei sie die einzige im System. Zwischenzustände (die ja inkonsistent sein können) dürfen für andere Transaktionen nicht sichtbar sein.

Dauerhaftigkeit (durability)

Ergebnisse einer erfolgreich beendeten Transaktion sind dauerhaft, d.h. überleben jeden nachfolgenden Fehler.

Aus dem Kurs Betriebssysteme kennen wir ja das Konzept vom virtuellen Speicher. Gibt es

so etwas bei Datenbanken auch?

Ja,

Das übernimmt der Systempuffermanager.

Er sorgt für ein und auslagerungen aus dem Hauptspeicher.

Allerdings gibt es die Besonderheiten von pinned Pages und Forced Output.

 

Pinned Pages:
Im Zusammenspiel mit der Recovery (Wiederherstellung nach Fehlern) dürfen Seiten nicht beliebig in die Datenbank geschrieben werden. Sol-che Seiten nennen wir pinned (festgeheftet). Beispielsweise ist Recovery nach einem Fehler sehr einfach, wenn die betroffenen Seiten noch nicht in die Datenbank zurückgeschrieben wurden.

Daten von aktiven, aber noch nicht abgeschlossenen Transaktionen dürfen nicht persistent gemacht werden.

Forced Output:
Ebenfalls im Zusammenhang mit der Recovery müssen gelegentlich Sei-ten auf den Externspeicher zurückgeschrieben werden, obwohl der Platz im Systempuffer gar nicht benötigt wird. Diese Situation nennt man forced output (zwangsweises Schreiben).

Transaktionen mit Commit Flag müssen persistiert werden (im Sinne einer konsistenten Recovery).

Angenommen, der Hauptspeicher ist vollständig mit „pinned pages“ belegt, wie erfolgt

dann die Verdrängungsstrategie?

Nach etwas Überlegen habe ich das

Herausschreiben von Log Files in den Externspeicher und anschließende Verdrängung aus

dem Memory vorgeschlagen

Wo im Schichtenmodell der DB findet man die Sichtweise der Informationswelt eines Anwendungsbereiches / Unternehmens?

Das konzeptuelle Modell beschreibt die Gesamtheit derjenigen Daten des Unter-nehmens, die in der Datenbank verwaltet werden - es erfasst also die logische Ge-samtsicht. Die Daten werden auf logischer Ebene beschrieben, ausgehend von den Strukturen, in denen sie in der Realität existieren, unabhängig von Gesichtspunk-ten der einzelnen Benutzer und Gesichtspunkten der physischen Speicherung

Was ist ein Datenmodell ?

Schematische Beschreibung von Daten aus einem Anwendungsbereich mit Hilfe

von (einer überschaubaren Anzahl von) Konstrukten

Wenn sie eine DB für eine Firma entwerfen wollen, wie gehen sie vor?

Mit Anwendern / Leitung zusammen relevante Daten und Zusammenhänge

zusammenstellen und beschreiben, z.B. mit ER-Modell

 

Kurstext:

 

1. Machbarkeitsanalyse

In dieser Phase wird untersucht, ob das Vorhaben wirtschaftlich und technisch durchführbar ist, welche Anwendungsbereiche damit abgedeckt werden kön-nen und wie das Verhältnis der Kosten zum erwarteten Nutzen aussieht.

2. Erfassung und Analyse der Anforderungen

In dieser Phase geht es darum, die Anforderungen an das System zu ermitteln. Dies geschieht vor allem in Interaktion mit den zukünftigen Nutzern des Sys-tems.

3. Entwurf

In dieser Phase werden sowohl die Anwendungssysteme als auch das Daten-banksystem entworfen. Dabei ist es wichtig, die Zugriffe der Anwendungen auf die Datenbank zu spezifizieren.

4. Implementierung

Hier werden die Anwendungs- und Datenbank-Programme erstellt und getes-tet.

5. Validierung und Abnahmetests

In dieser Phase wird untersucht, ob das System die gestellten Benutzeranfor-derungen und die festgelegten Leistungskriterien erfüllt.

6. Installation, Betrieb, Wartung

Nach der Installation auf dem Zielsystem kann das System in Betrieb genom-men werden. Dazu kann eine Umstellung von einem Vorgängersystem auf das neue System gehören, was insbesondere die Konvertierung bereits vorhande-ner Daten auf die neue Struktur einschließen kann. Zur Systemwartung zählt insbesondere die Korrektur von Programm-Fehlern. Weiterhin entstehen im Laufe des Betriebs üblicherweise neue Anforderungen, die gemäß den oben beschriebenen Phasen umzusetzen und in das laufende System zu integrieren sind.

Wie sieht das ER-Modell aus?

Entity Typen, Attribute, Beziehungstypen

Bei Beziehungstypen ist die Komplexität (Kardinalität) wichtig (1:1   n:1   n:m)

Beziehungstypen können Attribute haben

Wie kommt es denn, dass viele Firmen Ihren Mitarbeitern Personalnummern geben?

Definierter Schlüssel. Umso größer ein Unternehmen ist, ist natürlicher Schlüssel wie Mitarbeitername nicht

praktikabel, dann künstlicher Schlüssel (Personalnummer).

Interne Sicht: wie werden Objekte des konzeptuellen Schemas auf das

interne Schema abgebildet?

Transformationsregeln.
Zuständig: DBMS, Abbildung in Sätze und Felder, DBA muss entscheiden, wo und als was Attributwerte abgespeichert werden und wie der Zugriff darauf aussieht

Was wird dann im Endeffekt abgespeichert, also worauf wird auf der physischen Ebene

zugegriffen? und was wäre ein Objekt?

Dateien.

Vorausgesetzt, alle Attribute wären tatsächlich auf der physischen Ebene in einer einzelnen Datei untergebracht: Ein Objekt ist ein Satz mit seinen Feldern in einer Datei.

Was macht einen Zugriff denn teuer (Zeit)?

Und welche Operation tut sich besonders hervor?

Wenn auf mehrere Dateien zugegriffen und kombiniert werden muss.

 

JOIN

Was ist ein Datenbanksystem?

Ein Datenbanksystem besteht aus dem DBMS und der Datenbank

Was macht das DBMS?

Es steuert sämtliche Zugriffe auf die Datenbank, bietet die Möglichkeit, eine Datenbank zu

definieren und auf der Datenbank Operationen wie Löschen, Bearbeiten, Erstellen von

Datensätzen auszuführen

Was unterscheidet die Datenbank von einer Verwaltung mit Dateien in Bezug auf

Redundanz?

Daten sind zentral gespeichert, alle Benutzer greifen auf die selben Daten zu. Wo

Redundanz gewünscht wird, wird diese durch das DBMS kontrolliert.

Wie ist eine Datenbank aufgebaut?

Schichten/internes/konzeptuelles/externes Modell kurz erklärt

Wie werden die Daten vor der Implementierung dargestellt?

Im ER-Diagramm, Entitytypen, Beziehungstypen und Attribute erklärt

Datenunabhängigkeit, was bedeutet das?

Physische Datenunabhängigkeit bedeutet Isolierung der Anwendungsprogramme von Änderungen der physischen Datenorganisation. Diese Form der Datenunab-hängigkeit wird in der Drei-Schichten-Architektur dadurch gewährleistet, dass Änderungen des internen Modells das konzeptuelle Modell unberührt lassen: die Änderungen werden durch Modifikation der Transformationsregeln aufgefangen. Da das konzeptuelle Modell unberührt bleibt, bleiben auch die externen Modelle und damit alle Benutzerprogramme von Änderungen der Datenorganisation unbe-rührt. So führen also Änderungen von Dateiorganisationen, das Umstrukturieren von Sätzen (z. B. Zerlegen von großen Sätzen in separate Teilsätze), das Anlegen von Indexen, usw. nicht mehr zu Änderungen bestehender Programme.

 

Logische Datenunabhängigkeit bedeutet Isolierung der Anwendungsprogramme von Änderungen des konzeptuellen Modells. Beispielsweise können neue An-wendungen dazu führen, dass im konzeptuellen Modell Objekttypen zusätzliche Attribute erhalten, dass neue Beziehungstypen eingeführt werden müssen, usw. In allen diesen Fällen müssen die bestehenden externen Modelle nicht verändert werden, d.h. die vorhandenen Programme bleiben unberührt. Lediglich die Trans-formationsregeln externes/konzeptuelles Modell müssen möglicherweise abgeän-dert werden.

Was ist ein DBMS?

Das DBMS ist ein Soft-waresystem, das es ermöglicht, eine Datenbank zu definieren, Daten zu speichern, zu verändern und zu löschen, sowie Anfragen an die Datenbank zu stellen.

Welche Funktionen hat ein DBMS aus Benutzersicht?

Das DBMS isoliert also die Datenbank von den Anwendungsprogrammen, es sorgt dafür, dass der Benutzer (Programmierer) die Details der Datenbank nicht kennen muss.

Wir hatten bereits gesagt, dass Benutzer ihre jeweils eigene Sicht auf die Daten-bank erhalten. Jeder Benutzer sieht also „seinen" Ausschnitt der Datenbank, und er erhält die Daten in der Form, die er wünscht. Die tatsächliche Organisation der Daten auf den Speichern bleibt für ihn unsichtbar.

Welche Sichten gibt es auf eine Datenbank?

- die logische Gesamtsicht,

- die Datenorganisation der Daten auf den Speichern: interne Sicht,

- die Sicht einzelner Benutzergruppen: externe Sichten.

Was ist die Logische Gesamtsicht?

In der Datenbank sind alle wichtigen Unternehmensdaten zusammengefasst (zur Verkürzung der Schreibweise sprechen wir im Folgenden von Unternehmensdaten statt von den Daten des betrachteten Anwendungsbereiches). Um die Datenbank erstellen zu können, ist eine Gesamtschau der Unternehmensdaten notwendig. Alle Daten müssen zunächst auf logischer Ebene in Form von Informationseinhei-ten und deren Beziehungen untereinander beschrieben werden, unabhängig von EDV-Gesichtspunkten. Diese Beschreibung der Gesamtheit der Unternehmensda-ten nennen wir logische Gesamtsicht.

Was ist die interne Sicht?

Die Daten müssen auf den Speichern so organisiert werden, dass die Zugriffsan-forderungen der verschiedenen Benutzer möglichst effizient erfüllt werden kön-nen.

Was ist die externe Sicht?

Jede Benutzergruppe sieht den Ausschnitt der Datenbank, der für sie von Bedeu-tung ist. Die Daten werden so dargestellt, wie es für die Benutzer wünschenswert oder natürlich ist.

Was ist ein Schema, welche gibt es?

Jede Ebene der Daten modelliert die Unternehmensdaten auf einem anderen Abs-traktionsniveau. Diese Modelle der Datenwelt des Unternehmens werden mit Hil-fe sogenannter Datenbeschreibungssprachen in einer für das DBMS verständli-chen Form beschrieben; diese Beschreibung heißt dann Schema. Es gibt also ver-schiedene externe Schemata, ein konzeptuelles Schema, das die logische Gesamt-sicht beschreibt, und ein internes Schema.

Was legen externes Modell, konzeptuelles Modell, internes Modell fest?

Dieses Verständnis der Daten führt zu einer Drei-Schichten-Architektur für ein Datenbanksystem /ANS75/. Jeder der drei Datenebenen entspricht eine eigene Schnittstelle und damit eine eigene Schicht innerhalb des Gesamtsystems.

Operationen auf Datenbanken sind unterschiedlich schnell. Welche Operation ist

laufzeittechnisch besonders aufwändig?

[Abfragen, Join]

Wie lassen sich Join-Abfragen optimieren?

[Abfrageoptimierung; Heuristiken; Sekundärindizes]

Was ist Abfrageoptimierung?

Abfrageoptimierung ist ein sehr komplexes Problem - und in Wirklichkeit opti-mieren die Systeme nicht, sondern ermitteln lediglich eine mit großer Wahr-scheinlichkeit gute Ausführungsstrategie

Was sind heuristiken?

Einige heuristische Regeln für die algebraische Optimierung sind die folgenden:

1. Selektionen auf dem gleichen Operanden werden zu komplexen Selektionen zusammengefasst.

2. Selektionen werden soweit als möglich zu den Blattknoten des Operatorbau-mes verschoben. Mit anderen Worten: Selektionen werden möglichst früh ausgeführt.

3. Projektionen, die keine Eliminierung von Duplikaten erfordern, werden so früh wie möglich, jedoch nicht vor einer Selektion durchgeführt. Sie werden soweit wie möglich zu den Blättern des Operatorbaumes verschoben.

Eine Projektion erfordert dann keine Elimination von Duplikaten, wenn dabei zumindest ein Schlüssel des Relationenschemas erhalten bleibt. Ist

R(A,B,C,D)

ein Relationenschema mit (A,B) Schlüssel, so kann

π B, C, D (R)

identische Tupel enthalten, die dann entfernt werden müssen. Da das Auffin-den identischer Tupel im Allgemeinen aufwendig ist, wird in diesem Falle die Projektion möglichst spät (d.h. meist auf kleinen Relationen) durchgeführt.

4. Projektionen, die eine Eliminierung von Duplikaten erfordern, sind also so-weit als möglich zur Wurzel des Operatorbaumes zu verschieben.

5. Suche gemeinsame Teilbäume des Operatorbaums. Wenn das Ergebnis des gemeinsamen Teilausdruckes eine Relation ist, die vom Sekundärspeicher in sehr viel kürzerer Zeit gelesen werden kann, als zu ihrer Berechnung notwen-dig ist, so lohnt es sich, diese Zwischenrelation nur einmal zu berechnen und abzuspeichern (Hier kommt es also nicht auf eine Umstrukturierung der Ab-frage an, sondern auf das Erkennen gleicher Teilbäume).

Was ist ein Sekundärindex?

Ein Sekundärindex ist eine Datenstruktur, mit welcher der Zugriff auf einzelne Datensätze einer Menge von Datensätzen beschleunigt wird. Hierbei wird auf die physische Speicherung der Originaldaten kein Einfluss genommen (sekundärer Zugriffspfad), sondern nur eine weitere Datenstruktur aufgebaut. Diese Daten-struktur beinhaltet ein Verzeichnis von Wertpaaren (s, p). s ist die Ausprägung des Merkmals, für welches der Index aufgebaut wird, p ist der Ort des Datensatzes, welcher diese Merkmalsausprägung besitzt.

Ist der Aufbau von Indizes bei JOIN-verknüpften Relationen stets vorteilhaft?

[Kritisch, wenn mindestens eine Relation im Verbund häufig geändert wird; Aufbau

kostenintensiv]