Inhaltsverzeichnis
Fragen zum Data Dictionary (DD) einer RDB:
Was ist ein Data Dictionary, wofür ist es und was ist drin enthalten?
Erläutern Sie den Zweck und wesentliche Inhalte des DD einer RDB
Wie ist ein DD strukturiert?
Wird, und falls ja, wie wird das DD einer RDB von den folgenden SQL-Befehlen beeinflußt und/oder genutzt?
Rund um den Begriff TRANSAKTION
Was versteht man unter einer (Datenbank-) Transaktion?
Begriff Transaktion aus der Sicht des Benutzers eines Informationssystemes
Begriff der Transaktion aus der Sicht der Software eines Informationssystems
Welche Funktionalitäten muß ein RDBMS bereitstellen, um die Integrität und die Betriebsablaufsicherung einer RDB zu gewährleisten?
Welches sind die Aufgaben eines Transaktionsmonitors?
Welche Bezeichnungen werden synonym zum Begriff Transaktions-Monitor in der Praxis benutzt?
Zu welchen Softwarekomponenten in einem OLTPS muß ein TM Schnittstellen bereitstellen und warum? (Graphische Darstellung)
Welche Beziehungen bestehen zwischen Transaktions-Monitor, Shared-Code und Task aus systemtechnischer Sicht
Was ist Transaction Logging?
Was ist und wie entsteht ein DEADLOCK?
Aktualisierungs-Transaktionen verteilter Datenbanken?
Was bedeutet Integrität in Zusammenhang mit RDBMS?
Wonach und warum wird unterschieden?
Was bedeutet / beinhaltet die Abkürzung OLTPS?
Rund um den Begriff SQL
Was bedeutet SQL? Was sind die Aufgaben der SQL (wozu wird sie benutzt)?
Nennen Sie 3 Klassen der SQL
Folgende Tabelle ist als RDB auf einem RDBMS enthalten Was sind die wesentlichen Merkmale der SQL in ihren derzeitigen Implementierungsformen (Basis: ISO-SQL-Norm von 1989? Warum sind diese Erweiterungen wünschenswert bzw. notwendig? Zur Hilfe: Was sind die Schwächen der klassischen RDBMS?)
Was sind Client/Server-Architekturen? Welche Vorteile haben sie?
Vorteile der Client/Server-Systeme
Was sind verteilte Datenbanken?
Worin liegt das besondere Problem des Transaktionsmonitors bei verteilten Datenbanken?
Was unterscheidet ein Document Retrieval System von einem Online-Transaction- Processing-System?
Zum Begriff der Objektorientierung
Datenmodellierung
Was beinhaltet der Begriff Datenmodellierung?
Welche Modellierungsebenen unterscheidet man und was beinhalten diese Ebenen?
Warum und in welcher Form spielen Transaktionen eine Rolle bei der Datenmodellierung?
Was versteht man unter referentieller Integrität?
Geben Sie alle 13 Regeln von Codd sinngemäß (das Wichtigste) wieder:
Fragen zum Data Dictionary (DD) einer RDB:
Was ist ein Data Dictionary, wofür ist es und was ist drin enthalten?
- Ein Data Dictionary ist eine Meta-Datenbank, die Informationen über die Datenbank wie auch über die Anwenderprogramme und die Benutzer der Datenbank enthält.
- Zentrale Datenbankkomponente
- Werkzeug zur Sicherstellung der Datenbankintegrität
- Kontrollinstanz und Informationsinstanz, die bei der Datendefinition und der Datenmanipulation benutzt wird.
Erläutern Sie den Zweck und wesentliche Inhalte des DD einer RDB.
[Abbildung in dieser Leseprobe nicht enthalten] Inhalte des DD:
- Defintion der Tabellen (Tables)
- Typ der Relation Base Table, View
- Bezeichnung der Tabelle NAME
- je Attribut (Spalte): Name, Datentyp
- Zahl der Zeilen
- Verweise auf Zugriffsmethoden
- Besitzer der Tabelle
- Definition und Merkmale der Zugriffsmethoden z.B. Index-Tabellen
- Definition und Merkmale der Masken inkl. der Integritäts-Bedingungen
- Zugriffsrechte auf Masken und Tabellen
- Defintion der Apllikationen
- Zusamennhang zwischen 4GL-Code und Maske (4GL umfaßt SQL)
- Die Base-Table, View-Table und Indexdateien beinhalten im Zusammenhang mit den Zugriffs-Methoden die Daten für den Query -Optimizer
Wie ist ein DD strukturiert?
- besteht aus relationalen Tabellen
- Direktzugriff auf relationale Tabellen durch Applikations-Entwickler und Datenbankadministrator (=DBA)
- Manipulationsbefugnisse des DBA unterscheiden sich zu denen des Applikationsentwicklers
- Implementierungsabhängigkeit der internen Strukturen der relationalen Tabellen und der Schnittstellen zum DD
- Herstellung eines Querverweis zwischen den Spalten der relationalen Tabellen und den Applikationen, die diese Spalten benutzen, nicht möglich
Wird, und falls ja, wie wird das DD einer RDB von den folgenden SQL-Befehlen beeinflußt und/oder genutzt?
Abbildung in dieser Leseprobe nicht enthalten
Rund um den Begriff TRANSAKTION
Was versteht man unter einer (Datenbank-) Transaktion?
- Folge von internen Verarbeitungsschritten, die durch ein Kommando ausgelöst werden
- Durch die spezielle Erweiterung des Betriebssystems (Transaktionssteuerung) werden die interaktiv gestarteten Abläufe (Tasks) verwaltet. (Zuweisung von Ressourcen, Kontrolle und Steuerung der Abläufe, Herstellen der Kommunikation mit anderen Systemkomponenten)
- Eine Transaktion ist eine Folge von SQL-Befehlen, die eine logische Ablaufeinheit darstellen
Begriff Transaktion aus der Sicht des Benutzers eines Informationssystemes
- Interaktive Benutzer verwenden denselben Kommando-Satz
- Maximale Antwortzeit wird garantiert
- Verwaltung verschiedener Benutzer, die den gleichen Programmcode benutzen (shared code, reentrant code) durch den Transaktions-Monitor über eine Warteschleife
Begriff der Transaktion aus der Sicht der Software eines Informationssystems
- Jedes Kommando (Task) eines Benutzers wird in eine Tabelle eingetragen, die zur Verwaltung der Kommandos durch den Transaktions-Monitor dient
- Spezielle Erweiterungen des Betriebssystems (Transaktionssteuerung) verwaltet die interaktiv gestarteten Abläufe
Welche Funktionalitäten muß ein RDBMS bereitstellen, um die Integrität und die Betriebsablaufsicherung einer RDB zu gewährleisten?
- Bereitstellung von Datenschutzfunktionen
- Bereitstellung von Verfahren der Betriebsablaufsicherung und Datensicherung, d.h. Transaction Logging, physikalische Datensicherung
- Replikationsmechanismus bei verteilten DB-Systemen
Welches sind die Aufgaben eines Transaktionsmonitors?
- Koordination und Weiterleitung der Befehle, die von vielen Terminals simultan eingegeben werden. Dabei ist durch den Transaktionsprozeßmonitor sicherzustellen, daß eine maximale Antwortzeit (=garantierte Antwortzeit) gewährt bleibt.
- Verwaltung der CPU-Zeit für einzelne Prozesse (Multitasking)
- Verwaltung des RAM für Prozesse (shared code=re-entrant code) und die Daten der Prozesse
- Erkennen von DEADLOCK (0Verklemmung) und Auflösung
- Kommunikation mit anderen OLTPS-Komponenten (=Online Transaction Processing)
Welche Bezeichnungen werden synonym zum Begriff Transaktions-Monitor in der Praxis benutzt?
Man verwendet in der Praxis folgende Begriffe für Transaktionsmonitor: - Transaktionsmanager
Zu welchen Softwarekomponenten in einem OLTPS muß ein TM Schnittstellen bereitstellen und warum? (Graphische Darstellung)
Ein TM muß Schnittstellen haben zu:
- Datensicherungssoftware, für eine eventuelle Rücksicherung alter Daten
- auf das DB selbst, für Transaktionen auszuführen
- auf einen Ressourde-Manager, falls verteilte DBs im Einsatz sind
Welche Beziehungen bestehen zwischen Transaktions- Monitor, Shared-Code und Task aus systemtechnischer Sicht
- Task: Ablaufeinheiten innerhalb eines Systems (Prozesse), die durch ein User-Kommando ausgelöst werden.
- Shared-Code: Der Code für eine Ablaufeinheit liegt nur einmal im RAM vor, er sollte reentrant, d.h. ablaufvariant sein.
- Der TA-Monitor verwaltet die Betriebsmittel für die Tasks, teilt Zeit und Speicherplatz zu und kontrolliert den Ablauf der Tasks
Verwaltung der Daten einer Task in einem separaten, ausgelagerten Datenblock im RAM, um einen Datenverlust beim Wechsel einer Task zu verhindern. Die richtige Zuordnung erfolgt über Tast-Kennung und Anwender
Bedeutung und die Vorteile von Shared Code und Tasks?
- Ersparnis von Zeit (Disk-Swapping wird minimiert)
- Ersparnis von Speicherplatz
- Ablaufinvarianter Shared-Code bedeutet, daß eine Anforderung bearbeitet werden kann, während die vorangegangene Anforderung auf einen Plattenzugriff wartet. Diese wird dann über eine Warteschlange der weiteren Bearbeitung zugeführt
- Der Transaktionsmonitor der zu bearbeitenden Tasks kann von mehreren Nutzern gleichzeitig benutzt werden
Was ist Transaction Logging?
- Aufzeichnung aller Daten, Transaktionen und Plattenblöcke, die für die Wiederherstellung der Konsistenz einer Datenbank und das Wiederanlaufenverfahren nach einem Systemausfall notwendig sind.
- Aufzeichnung in seriellen Dateien (Daten und Transaktionen), auch logisches Protokoll genannt in einen Externspeicher
- Aufzeichnung von Kopien der durch die Transaktion geänderten Datenblöcke vor und nach der Durchführung der Änderung (before-image, after-image), auch physisches Protokoll genannt.
- REDO-Logfile: Speicherung aller Änderungs- und Neuzugangs-Transaktion (Datum, Zeit, Kommando, Parameter, Terminal, USER-ID, etc à Speicherung der Before-Image-Blöcke einer Transaktion)
- JOURNAL-Logfile: Aufzeichnung aller Platten-Blöcke nach ihrer Änderung (After-Image) inklusive der IndexBlöcke. Speicherung der Daten aller abgeschlossenen Transaktionen (inklusive RetrievalTransaktion=SELECT-Befehl)
- Aufzeichnungen werden verwendet für:
- Wiederanlauf (Restart/Recovery)
- DB-Rekonstruktion
- Accounting + Statistik
- Kontrolle (Datenschutz)
- Beide Files (REDO-Logfile und JOURNAL-File) werden immer benötigt
Der Hauptgrund für das Logging ist das Mitspeichern von Änderungen an den Datensätzen oder der Struktur der Datenbank. Nach einer falschen Änderung oder einem Systemzusammenbruch können aufgrund der LoggingDateien, Schäden an der DB behoben werden, bzw der Wiederanlauf des OLTPS gesichert werden.
Was ist und wie entsteht ein DEADLOCK?
- Ein DEADLCOK ist eine Verklemmung, in der sich zwei Transaktionsprozesse gegenseitig behindern.
Dies entsteht dann, wenn durch die Transaktion "A" der Datensatz "1" gesperrt und durch die Transaktion "B" der Datensatz "2" zur selben Zeit gesperrt ist. Beide Transaktionen benötigen für die Weiterarbeit beide Datensätze, die jeweils von der Gegenseite gesperrt sind (Behinderung der Bearbeitung für beide Transaktionen). Um zumindest eine Transaktion ordnungsgemäß abschließen zu können, muß der Datensatz der anderen Transaktion wieder freigegeben werden (Time-Out durch Transaktionsmonitor)
Typen von DEADLOCKs
Shared Lock
Nur lesender Zugriff auf die Zeile einer DB-Tabelle der RDB (Man kann keine Änderungen vornehmen)
Andere Benutzer können im Mehrbenutzerbetrieb ebenfalls auf die Tabellenzeile im Rahmen einer Transaktion im shared-lock-Modus zugreifen
Exlusive Lock
Nur ein Benutzer (eine Trasnaktion) kann diesean Lock-Modus setzen mit dem Ziel, die
Tabellenzeile zu aktualisieren. Weitere Transaktionen können auf die so gesperrte
Tabellenzeile nicht zugreifen, d.h. weder ein "shared lock" und kein "exclusive lock" können auf der Tabellen-Zeile sitzen.
Aktualisierungs-Transaktionen verteilter Datenbanken?
Two-Phase Commit
Local Commit:
In verteilten DB müssen Aktualisierungs-Transaktionen zuerst auf lokaler Ebene durch alle beteiligten DBMS Änderungen durchgeführt werden können. Das lokale OK wird einer koordinierenden DB-Instanz mitgeteilt.
Global-Commit:
Die koordinierende DB-Instanz gibt das globale OK für die Ducrhführung des jeweiligen COMMIT-Prozesses auf lokaler Ebene (Transaction-Logging)
Geben nicht alle beteiligten Systeme das lokale OK, fordert die koordinierende Instanz zu einem ROLLBACK-Prozeß aller beteiligten Systeme auf
Was bedeutet Integrität in Zusammenhang mit RDBMS?
- logische und inhaltliche Korrektheit der DB
- jede Relation (Tabelle) muß einen Primärschlüssel haben
- jede Relation kann Fremdschlüssel in einer anderen Relation sein
- jedoch muß jeder Fremdschlüssel in einer anderen Tabelle Primärschlüssel sein
Wonach und warum wird unterschieden?
Man unterscheidet zwischen Integrität und referentieller Integrität:
- Integrität: logische, d.h. inhaltliche Korrektheit der Daten der DB (z.B. in dem Feld Namen darf keine Adresse stehen). Jede Relation muß einen Primärschlüssel haben und kann Fremdschlüssel in einer anderen Relation sein, aber der Fremdschlüssel muß in einer anderen Relation Primärschlüssel sein
- Referentielle Integrität: Jedem Wert eines Fremdschlüssels in einer Relation muß ein Wert in jeder Relation entsprechen, in der dieser der ID-Schlüssel ist. Beispiel: Wird ein Eintrag in einer Relation komplett gelöscht, d.h. auch der ID-Schlüssel des Eintrages und ist dieser ID-Schlüssel ein Fremdschlüssel in einer anderen Relation, dann gibt es keinen Eintrag mehr, auf den der Fremdschlüssel der anderen Relation verweisen könnte. es liegt eine Verletzung der referentiellen Integrität vor.
Was bedeutet / beinhaltet die Abkürzung OLTPS?
OLTPS kennzeichnet Online-Transaktions-Processing-System. Hier handelt es sich um ein Softwaresystem, daß mit einer garantierten Antwortzeit simultan Interaktionen von Benutzern mit z.B. einem Datenbanksystem entgegennehmen kann (bis mehrere 1000). Dafür wird ein spezielles Multitasking-Operating-System bereitgestellt. Anwendungsmerkmale sind somit Transaktionsverarbeitung, vordefinierte Abfragen, einen hohen Anteil an Aktualisierungstransaktionen und zeitkritische Verarbeitung. Die Integritätsanforderungen sind sehr hoch. Performance kann durch Benchmarktests getestet werden.
Rund um den Begriff SQL
Was bedeutet SQL? Was sind die Aufgaben der SQL (wozu wird sie benutzt)?
- SQL=Structured Query Language
- Datenmanipulations- und Abfragesprache.
- Merkmale der SQL-Befehle
- deklarativer Natur, d.h. eigenständiger Prozeßablauf liegt vor
- mengenorientiert, d.h. Änderungen wie Löschen werden mit einem Befehl durchgeführt
- Definition von Kontrol-Strukturen nicht erlaubt, z.N. if, then else
- Vorteile der SQL-Befehle:
- Zeitersparnis durch weniger Kommandos
- Fehlerreduktion
- Strategische Bedeutung: Alle DB-Operationen arbeiten mengenorientiert, d.h. bei der Bearbeitung von
Änderungen vieler Einträge in einer Spalte, wird nur ein Befehl benötigt, um diese Änderungen durchzuführen. Zeitersparnis durch weniger benötigte Kommandos hat eine Fehlereduzierung bei Transaktionen zur Folge
- Die Aufgabe von SQL liegt hauptsächlich darin, Datenabfragen - und Manipulationen an verschiedenen
DBs durchführen zu können, ohne von dem speziellen softwaretechnischen Aufbau der DBs Ahnung haben zu müssen
Nennen Sie 3 Klassen der SQL
Abbildung in dieser Leseprobe nicht enthalten
Folgende Tabelle ist als RDB auf einem RDBMS enthalten
student (mnr, name, vname, ort, fb)
Was bewirken folgende SQL-Befehle?
CREATE VIEW STORT (MNR; ORT) AS SELECT MNR;MNR;ORT FROM STUDENT
VIEW: virtuelle Tabelle, Ausschnitt aus der Base Table
Erzeugung eines Views mit dem Namen STORT aus der Base Table, Student Die Spalten MNR und ORT werden aus der Base Table übernommen
SELECT * FROM STORT
Suche aller Datensätze der VIEW STORT
DELET* FROM STORT WHERE ORT="W*"
Löschen aller Einträge in der View STORT, deren Ortsnamen mit "W" beginnen
Was sind die wesentlichen Merkmale der SQL in ihren derzeitigen Implementierungsformen (Basis: ISO-SQL- Norm von 1989? Warum sind diese Erweiterungen wünschenswert bzw. notwendig? Zur Hilfe: Was sind die Schwächen der klassischen RDBMS?)
Was sind Client/Server-Architekturen? Welche Vorteile haben sie?
- Arbeitsverteilung auf vernetzte Computersysteme (Distributed Processing) nach dem Prinzip der logischen Arbeitsteilung zwischen dem Client, der die Dienste anfordert und dem Server, der die Dienste liefert.
- Die logische Arbeitsteilung geht meistens mit einer physischen Arbeitsteilung einher.
- Server-Aufgaben:
- Zugriffe auf "zentrale" Datenbank (RDMBS-Backend-Processor)
- Number-Crunching
- Electronic Mail
- Filing & Retrieval
- Gateway (Kommunikation)
- grafische Dienste
- Client-Aufgaben:
- DB-Applikationen-Frontend
- Lokale Applikationen (z.B. Textverarbeitung, Tabellenkalkulation, Grafik)
- Netzwerkzugriffe (Middleware)
Vorteile der Client/Server-Systeme
- beliebig ausbaufähig
- hohe Flexibilität in der Architektur
- Anwender erhält größere Flexibilität in seinen Dialogabläufen
- Anwender kann über optimale Verteilung auf Frontend- und Backend-Prozesse entscheiden · bessere Nutzung der Hardware-Kapazitäten
- Verteilung der Arbeitslast auf mehrere Rechner
- einzelne Softwarefunktionen müssen nur einmal installiert werden (auf Server)
Was sind verteilte Datenbanken?
- Bei einer verteilten DB wird ein RDBMS gleichzeitig auf mehreren vernetzten Computersystemen betrieben
- Die Tabellen einer RDB können sich auf verschiedenen vernetzten Computersystemen befinden, da die Tabellen einer RDB nur durch Dateninhalte logisch in Beziehung stehen
- Für den Anwender ist diese Verteilung der RDB auf verschiedene Computer nicht sichtbar
Worin liegt das besondere Problem des Transaktionsmonitors bei verteilten Datenbanken?
Das Problem liegt in der verteilten Haltung der Datenbestände. Aktualisierungen müssen auf allen dem verteilten System angehörigen Datenbanken gemacht werden. Um dies in einem festen zeitlichen Rahmen zu machen, gibt es sogenannte Replikationsmechanismen. Diese dienen letztendlich der Vermeidung von Inkonsistenzen.
Was unterscheidet ein Document Retrieval System von einem Online-Transaction-Processing-System?
Abbildung in dieser Leseprobe nicht enthalten
Zum Begriff der Objektorientierung
- Ein Objekt umfaßt die Gesamtheit der Daten eines abstrakten Datentyps, die Zugriffsverfahren (SS zu den Daten) sowie alle für die Daten möglichen Operationen ("Methoden" in Programme zusamenngefaßte Operationen)
- Verkapselung, bzw. Information Hiding:
Der Zugriff auf die Daten erfolgt ausschließlich mit Hilfe einer Methode (Operation) über spezielle Zugriffsverfahren (Schnittstelle zu Daten)
- Vererbung
Ableitung der Eigenschaften eines Objektes aus den Eigenschaften eines anderen Objektes, um redundanten Programmieraufwand zu verhindern. Möglichkeit, Objekte an veränderte Bedürfnisse anzupassen.
- Messaging (Nachricht)
Kommunikation zwischen den Objekten erfolgt über Nachrichten. Durch die Nachrichten werden beim Objekt Programme 8Methoden) aktiviert.
- Polymorphismus
Eine Nachricht kann gleichzeitig Aktivitäten bei mehreren Objekten auslösen.
- Objektorientierte Programmierung
Die Daten und die damit durchzuführenden Methoden werden asl Objekt zusammengefaßt, daß definiert und bedarfsweise aufgreufen wird. Die objektorientierte Programmierung (OOP) basiert auf der Idee, Datenstrukturen zu kapseln, diese Einheiten (=Objekte) mit Operationen (=Methoden) zu versehen und sie über sogenannte Nachrichten (Messages) miteinander kommunizieren zu lassen.
- Objektorientierte Datenbanken (OODB)
OODB sind keine reinen RDB mehr. Es findet keine Transformation zwischen RAM und HD statt, sondern nur noch Mapping. RAM und HD enthalten die gleichen Daten.
RDB versus OODB
RDB:
- Transformationen zwischen RAM und HD
- RAM beinhalten Hierarchische Struktur
- HD beinhaltet RDB und somit Flat File Struktur (Foreign Keys)
- Anwendungslogik liegt in jedem Programm
OODB:
- Nur noch Memory und Mapping zwischen RAM und HD
- Struktur von RAM und HD gleich (hierarchische Struktur)
- Anwendungen rufen "Methoden" im OODBMS auf.
Datenmodellierung
Was beinhaltet der Begriff Datenmodellierung?
- Datenmodellierung ist eine DB-Entwurfstechnik
- Darstellung und Abbildung realer Zusammenhänge auf semantischer (=konzeptionelle), logischer und physischer Ebene.
- Die Datenbank-Sprache (DL=Data Language) des jeweiligen DBMS ist das Werkzeug der logischen und physischen Modellierung (Für RDBMS ist das SQL)
- Aufgabe:
- systematisches Darstellen
- idealisieren (=Abstrahieren)
- Eleminieren von Redundanzen
- Sicherstellung der logischen Korrektheit des Datenmodells
Welche Modellierungsebenen unterscheidet man und was beinhalten diese Ebenen?
Konzeptioneller DB-Entwurf:
ERM
- Aufteilung der für eine Applikation relevanten Daten in Entities
- Herstellen der Beziehungen zwischen den Entities Logischer DB-Entwurf:
- Abbildung des konzeptionellen Datenmodells (ERM) mit einer Data Language (=Werkzeug eines DBMS) in DB-Objekte für eine DBMS Physischer DB-Entwurf:
- Festlegung von effizienten physikalischen Speicherformen und Zugriffsmethoden für die DB
Bei allen nicht-relationalen DBMS sind der logische und physische Entwurf befehlsmäßig nicht voneinander getrennt.
Warum und in welcher Form spielen Transaktionen eine Rolle bei der Datenmodellierung?
Bei einem relationalen Entwurf einer DB muß darauf geachtet werden, daß bei einer späteren Transaktion wie beispielsweise einer Änderung alle betreffenden Daten in den unterschiedlichen Tabellen geändert werden. Umgekehrt müssen bei dem Entwurf interne Tupelabfragen und Validierungen richtig erkannt und entsprechend realisiert werden.
Was versteht man unter referentieller Integrität?
- Referentielle Integrität: Jedem Wert eines Fremdschlüssels in einer Relation muß ein Wert in jeder Relation entsprechen, in der dieser der ID-Schlüssel ist. Beispiel: Wird ein Eintrag in einer Relation komplett gelöscht, d.h. auch der ID-Schlüssel des Eintrages und ist dieser ID-Schlüssel ein Fremdschlüssel in einer anderen Relation, dann gibt es keinen Eintrag mehr, auf den der Fremdschlüssel der anderen Relation verweisen könnte. es liegt eine Verletzung der referentiellen Integrität vor.
Geben Sie alle 13 Regeln von Codd sinngemäß (das Wichtigste) wieder:
In den Coddschen regeln sind die Anforderungen an ein RDBMS definiert, wie z.B. daß bei den Datenzugriffe in einem verteilten DB-System das System über das DD zugreift, in dem die Einträge enthalten sind, die z.B. die Nutzer und ihre Rechte definiert, in dem die DB-Struktur abgelegt ist = Kontroll- und Informationsinstanz = zentrale Komponente, damit die Querverweise überhaupt möglich sind etc.
Häufig gestellte Fragen
Was ist ein Data Dictionary, wofür ist es und was ist drin enthalten?
Ein Data Dictionary ist eine Meta-Datenbank, die Informationen über die Datenbank wie auch über die Anwenderprogramme und die Benutzer der Datenbank enthält. Es ist eine zentrale Datenbankkomponente und ein Werkzeug zur Sicherstellung der Datenbankintegrität. Es dient als Kontroll- und Informationsinstanz bei der Datendefinition und der Datenmanipulation.
Erläutern Sie den Zweck und wesentliche Inhalte des DD einer RDB.
Der Zweck des Data Dictionaries ist die zentrale Verwaltung von Metadaten über die Datenbank. Wesentliche Inhalte umfassen: Definition der Tabellen (Tables), Typ der Relation (Base Table, View), Bezeichnung der Tabelle (NAME), je Attribut (Spalte): Name, Datentyp, Zahl der Zeilen, Verweise auf Zugriffsmethoden, Besitzer der Tabelle, Definition und Merkmale der Zugriffsmethoden z.B. Index-Tabellen, Definition und Merkmale der Masken inkl. der Integritäts-Bedingungen, Zugriffsrechte auf Masken und Tabellen, Definition der Applikationen, und der Zusammenhang zwischen 4GL-Code und Maske.
Wie ist ein DD strukturiert?
Ein Data Dictionary besteht aus relationalen Tabellen. Applikations-Entwickler und Datenbankadministratoren (DBA) haben Direktzugriff auf diese Tabellen. Die Manipulationsbefugnisse des DBA unterscheiden sich von denen des Applikationsentwicklers. Die internen Strukturen der relationalen Tabellen und die Schnittstellen zum DD sind implementierungsabhängig. Es ist oft nicht möglich, einen Querverweis zwischen den Spalten der relationalen Tabellen und den Applikationen, die diese Spalten benutzen, herzustellen.
Wird, und falls ja, wie wird das DD einer RDB von den folgenden SQL-Befehlen beeinflußt und/oder genutzt?
Das Dokument enthält keine spezifische Antwort auf diese Frage, sondern verweist auf eine Abbildung in der Leseprobe.
Was versteht man unter einer (Datenbank-) Transaktion?
Eine Datenbanktransaktion ist eine Folge von internen Verarbeitungsschritten, die durch ein Kommando ausgelöst werden. Durch die spezielle Erweiterung des Betriebssystems (Transaktionssteuerung) werden die interaktiv gestarteten Abläufe (Tasks) verwaltet. (Zuweisung von Ressourcen, Kontrolle und Steuerung der Abläufe, Herstellen der Kommunikation mit anderen Systemkomponenten). Eine Transaktion ist eine Folge von SQL-Befehlen, die eine logische Ablaufeinheit darstellen.
Begriff Transaktion aus der Sicht des Benutzers eines Informationssystemes
Interaktive Benutzer verwenden denselben Kommando-Satz. Eine maximale Antwortzeit wird garantiert. Die Verwaltung verschiedener Benutzer, die den gleichen Programmcode benutzen (shared code, reentrant code) erfolgt durch den Transaktions-Monitor über eine Warteschleife.
Begriff der Transaktion aus der Sicht der Software eines Informationssystems
Jedes Kommando (Task) eines Benutzers wird in eine Tabelle eingetragen, die zur Verwaltung der Kommandos durch den Transaktions-Monitor dient. Spezielle Erweiterungen des Betriebssystems (Transaktionssteuerung) verwaltet die interaktiv gestarteten Abläufe.
Welche Funktionalitäten muß ein RDBMS bereitstellen, um die Integrität und die Betriebsablaufsicherung einer RDB zu gewährleisten?
Ein RDBMS muss Datenschutzfunktionen bereitstellen, Verfahren der Betriebsablaufsicherung und Datensicherung, d.h. Transaction Logging, physikalische Datensicherung, und Replikationsmechanismen bei verteilten DB-Systemen.
Welches sind die Aufgaben eines Transaktionsmonitors?
Der Transaktionsmonitor koordiniert und leitet die Befehle, die von vielen Terminals simultan eingegeben werden, weiter. Dabei ist durch den Transaktionsprozeßmonitor sicherzustellen, daß eine maximale Antwortzeit (=garantierte Antwortzeit) gewährt bleibt. Er verwaltet die CPU-Zeit für einzelne Prozesse (Multitasking), den RAM für Prozesse (shared code=re-entrant code) und die Daten der Prozesse, erkennt DEADLOCK (0Verklemmung) und löst ihn auf, und kommuniziert mit anderen OLTPS-Komponenten (=Online Transaction Processing).
Welche Bezeichnungen werden synonym zum Begriff Transaktions-Monitor in der Praxis benutzt?
In der Praxis wird synonym auch der Begriff Transaktionsmanager verwendet.
Zu welchen Softwarekomponenten in einem OLTPS muß ein TM Schnittstellen bereitstellen und warum?
Ein TM muss Schnittstellen haben zu: Datensicherungssoftware, für eine eventuelle Rücksicherung alter Daten; auf das DB selbst, für Transaktionen auszuführen; und auf einen Ressourde-Manager, falls verteilte DBs im Einsatz sind.
Welche Beziehungen bestehen zwischen Transaktions- Monitor, Shared-Code und Task aus systemtechnischer Sicht
- Task: Ablaufeinheiten innerhalb eines Systems (Prozesse), die durch ein User-Kommando ausgelöst werden.
- Shared-Code: Der Code für eine Ablaufeinheit liegt nur einmal im RAM vor, er sollte reentrant, d.h. ablaufvariant sein.
- Der TA-Monitor verwaltet die Betriebsmittel für die Tasks, teilt Zeit und Speicherplatz zu und kontrolliert den Ablauf der Tasks
Verwaltung der Daten einer Task in einem separaten, ausgelagerten Datenblock im RAM, um einen Datenverlust beim Wechsel einer Task zu verhindern. Die richtige Zuordnung erfolgt über Tast-Kennung und Anwender
Was ist Transaction Logging?
Transaction Logging ist die Aufzeichnung aller Daten, Transaktionen und Plattenblöcke, die für die Wiederherstellung der Konsistenz einer Datenbank und das Wiederanlaufenverfahren nach einem Systemausfall notwendig sind. Es werden serielle Dateien (Daten und Transaktionen) aufgezeichnet, auch logisches Protokoll genannt in einen Externspeicher. Außerdem werden Kopien der durch die Transaktion geänderten Datenblöcke vor und nach der Durchführung der Änderung aufgezeichnet (before-image, after-image), auch physisches Protokoll genannt.
Was ist und wie entsteht ein DEADLOCK?
Ein DEADLOCK ist eine Verklemmung, in der sich zwei Transaktionsprozesse gegenseitig behindern. Dies entsteht dann, wenn durch die Transaktion "A" der Datensatz "1" gesperrt und durch die Transaktion "B" der Datensatz "2" zur selben Zeit gesperrt ist. Beide Transaktionen benötigen für die Weiterarbeit beide Datensätze, die jeweils von der Gegenseite gesperrt sind (Behinderung der Bearbeitung für beide Transaktionen).
Aktualisierungs-Transaktionen verteilter Datenbanken?
Two-Phase Commit
Local Commit:
In verteilten DB müssen Aktualisierungs-Transaktionen zuerst auf lokaler Ebene durch alle beteiligten DBMS Änderungen durchgeführt werden können. Das lokale OK wird einer koordinierenden DB-Instanz mitgeteilt.
Global-Commit:
Die koordinierende DB-Instanz gibt das globale OK für die Ducrhführung des jeweiligen COMMIT-Prozesses auf lokaler Ebene (Transaction-Logging)
Geben nicht alle beteiligten Systeme das lokale OK, fordert die koordinierende Instanz zu einem ROLLBACK-Prozeß aller beteiligten Systeme auf
Was bedeutet Integrität in Zusammenhang mit RDBMS?
Integrität bedeutet die logische und inhaltliche Korrektheit der DB. Jede Relation (Tabelle) muss einen Primärschlüssel haben und kann Fremdschlüssel in einer anderen Relation sein; jedoch muss jeder Fremdschlüssel in einer anderen Tabelle Primärschlüssel sein.
Wonach und warum wird unterschieden?
Man unterscheidet zwischen Integrität und referentieller Integrität: Integrität: logische, d.h. inhaltliche Korrektheit der Daten der DB (z.B. in dem Feld Namen darf keine Adresse stehen). Jede Relation muß einen Primärschlüssel haben und kann Fremdschlüssel in einer anderen Relation sein, aber der Fremdschlüssel muß in einer anderen Relation Primärschlüssel seinReferentielle Integrität: Jedem Wert eines Fremdschlüssels in einer Relation muß ein Wert in jeder Relation entsprechen, in der dieser der ID-Schlüssel ist. Beispiel: Wird ein Eintrag in einer Relation komplett gelöscht, d.h. auch der ID-Schlüssel des Eintrages und ist dieser ID-Schlüssel ein Fremdschlüssel in einer anderen Relation, dann gibt es keinen Eintrag mehr, auf den der Fremdschlüssel der anderen Relation verweisen könnte. es liegt eine Verletzung der referentiellen Integrität vor.
Was bedeutet / beinhaltet die Abkürzung OLTPS?
OLTPS kennzeichnet Online-Transaktions-Processing-System. Hier handelt es sich um ein Softwaresystem, daß mit einer garantierten Antwortzeit simultan Interaktionen von Benutzern mit z.B. einem Datenbanksystem entgegennehmen kann (bis mehrere 1000). Dafür wird ein spezielles Multitasking-Operating-System bereitgestellt. Anwendungsmerkmale sind somit Transaktionsverarbeitung, vordefinierte Abfragen, einen hohen Anteil an Aktualisierungstransaktionen und zeitkritische Verarbeitung. Die Integritätsanforderungen sind sehr hoch. Performance kann durch Benchmarktests getestet werden.
Was bedeutet SQL? Was sind die Aufgaben der SQL (wozu wird sie benutzt)?
SQL steht für Structured Query Language. Es ist eine Datenmanipulations- und Abfragesprache. Merkmale der SQL-Befehle sind deklarativer Natur, d.h. eigenständiger Prozeßablauf liegt vor, mengenorientiert, d.h. Änderungen wie Löschen werden mit einem Befehl durchgeführt, und Definition von Kontrol-Strukturen nicht erlaubt, z.N. if, then else. Die Aufgabe von SQL liegt hauptsächlich darin, Datenabfragen - und Manipulationen an verschiedenen DBs durchführen zu können, ohne von dem speziellen softwaretechnischen Aufbau der DBs Ahnung haben zu müssen.
Was sind Client/Server-Architekturen? Welche Vorteile haben sie?
Client/Server-Architekturen basieren auf der Arbeitsverteilung auf vernetzte Computersysteme (Distributed Processing) nach dem Prinzip der logischen Arbeitsteilung zwischen dem Client, der die Dienste anfordert und dem Server, der die Dienste liefert. Vorteile sind: beliebig ausbaufähig, hohe Flexibilität in der Architektur, Anwender erhält größere Flexibilität in seinen Dialogabläufen, bessere Nutzung der Hardware-Kapazitäten, Verteilung der Arbeitslast auf mehrere Rechner, einzelne Softwarefunktionen müssen nur einmal installiert werden (auf Server).
Was sind verteilte Datenbanken?
Bei einer verteilten DB wird ein RDBMS gleichzeitig auf mehreren vernetzten Computersystemen betrieben. Die Tabellen einer RDB können sich auf verschiedenen vernetzten Computersystemen befinden, da die Tabellen einer RDB nur durch Dateninhalte logisch in Beziehung stehen. Für den Anwender ist diese Verteilung der RDB auf verschiedene Computer nicht sichtbar.
Worin liegt das besondere Problem des Transaktionsmonitors bei verteilten Datenbanken?
Das Problem liegt in der verteilten Haltung der Datenbestände. Aktualisierungen müssen auf allen dem verteilten System angehörigen Datenbanken gemacht werden. Um dies in einem festen zeitlichen Rahmen zu machen, gibt es sogenannte Replikationsmechanismen. Diese dienen letztendlich der Vermeidung von Inkonsistenzen.
Zum Begriff der Objektorientierung
- Ein Objekt umfaßt die Gesamtheit der Daten eines abstrakten Datentyps, die Zugriffsverfahren (SS zu den Daten) sowie alle für die Daten möglichen Operationen ("Methoden" in Programme zusamenngefaßte Operationen)
- Verkapselung, bzw. Information Hiding:
Der Zugriff auf die Daten erfolgt ausschließlich mit Hilfe einer Methode (Operation) über spezielle Zugriffsverfahren (Schnittstelle zu Daten)
- Vererbung
Ableitung der Eigenschaften eines Objektes aus den Eigenschaften eines anderen Objektes, um redundanten Programmieraufwand zu verhindern. Möglichkeit, Objekte an veränderte Bedürfnisse anzupassen.
- Messaging (Nachricht)
Kommunikation zwischen den Objekten erfolgt über Nachrichten. Durch die Nachrichten werden beim Objekt Programme 8Methoden) aktiviert.
- Polymorphismus
Eine Nachricht kann gleichzeitig Aktivitäten bei mehreren Objekten auslösen.
- Objektorientierte Programmierung
Die Daten und die damit durchzuführenden Methoden werden asl Objekt zusammengefaßt, daß definiert und bedarfsweise aufgreufen wird. Die objektorientierte Programmierung (OOP) basiert auf der Idee, Datenstrukturen zu kapseln, diese Einheiten (=Objekte) mit Operationen (=Methoden) zu versehen und sie über sogenannte Nachrichten (Messages) miteinander kommunizieren zu lassen.
- Objektorientierte Datenbanken (OODB)
OODB sind keine reinen RDB mehr. Es findet keine Transformation zwischen RAM und HD statt, sondern nur noch Mapping. RAM und HD enthalten die gleichen Daten.
RDB versus OODB
RDB:
- Transformationen zwischen RAM und HD
- RAM beinhalten Hierarchische Struktur
- HD beinhaltet RDB und somit Flat File Struktur (Foreign Keys)
- Anwendungslogik liegt in jedem Programm
OODB:
- Nur noch Memory und Mapping zwischen RAM und HD
- Struktur von RAM und HD gleich (hierarchische Struktur)
- Anwendungen rufen "Methoden" im OODBMS auf.
Was beinhaltet der Begriff Datenmodellierung?
Datenmodellierung ist eine DB-Entwurfstechnik. Darstellung und Abbildung realer Zusammenhänge auf semantischer (=konzeptionelle), logischer und physischer Ebene. Die Datenbank-Sprache (DL=Data Language) des jeweiligen DBMS ist das Werkzeug der logischen und physischen Modellierung (Für RDBMS ist das SQL). Aufgabe: systematisches Darstellen, idealisieren (=Abstrahieren), Eleminieren von Redundanzen, Sicherstellung der logischen Korrektheit des Datenmodells
Welche Modellierungsebenen unterscheidet man und was beinhalten diese Ebenen?
Konzeptioneller DB-Entwurf: ERM. Aufteilung der für eine Applikation relevanten Daten in Entities. Herstellen der Beziehungen zwischen den Entities Logischer DB-Entwurf: Abbildung des konzeptionellen Datenmodells (ERM) mit einer Data Language (=Werkzeug eines DBMS) in DB-Objekte für eine DBMS Physischer DB-Entwurf: Festlegung von effizienten physikalischen Speicherformen und Zugriffsmethoden für die DB
Bei allen nicht-relationalen DBMS sind der logische und physische Entwurf befehlsmäßig nicht voneinander getrennt.
Warum und in welcher Form spielen Transaktionen eine Rolle bei der Datenmodellierung?
Bei einem relationalen Entwurf einer DB muß darauf geachtet werden, daß bei einer späteren Transaktion wie beispielsweise einer Änderung alle betreffenden Daten in den unterschiedlichen Tabellen geändert werden. Umgekehrt müssen bei dem Entwurf interne Tupelabfragen und Validierungen richtig erkannt und entsprechend realisiert werden.
Was versteht man unter referentieller Integrität?
- Referentielle Integrität: Jedem Wert eines Fremdschlüssels in einer Relation muß ein Wert in jeder Relation entsprechen, in der dieser der ID-Schlüssel ist. Beispiel: Wird ein Eintrag in einer Relation komplett gelöscht, d.h. auch der ID-Schlüssel des Eintrages und ist dieser ID-Schlüssel ein Fremdschlüssel in einer anderen Relation, dann gibt es keinen Eintrag mehr, auf den der Fremdschlüssel der anderen Relation verweisen könnte. es liegt eine Verletzung der referentiellen Integrität vor.
- Quote paper
- Ralf (Author), 1998, Transaktionssysteme, Fragen zum Data Dictionary (DD) einer RDB, SQL, Datenmodellierung, Munich, GRIN Verlag, https://www.grin.com/document/96193