Datenbanken Flashcards
Was ist eine Datenbank?
Eine Datenbank ist eine integrierte Ansammlung von Daten, die allen Benutzern eines Anwendungsbereichs als gemeinsame Basis aktueller Information dient.
Welche Probleme gab es bei Dateisystemen?
Inkonsistenz der Daten, Redundanz, Daten-Programm-Abhängigkeit, Inflexibilität
Zeichnen Sie die Schichten einer Datenbank. Erklären Sie die einzelnen Schichten.
Interne Schicht, konzeptuelle Schicht, externe Schicht
Welche Aufgaben hat das DBMS?
Das Datenbankmanagementsystem ist eine Software, die allgemein gesprochen den Zugriff der Programmiererin auf die Daten regelt, also ermöglicht, Daten abzurufen, zu verändern, zu erstellen oder zu löschen und die Datenbank überhaupt aufzusetzen. Konkret übernimmt das DBMS die notwendigen Umsetzungen, ermittelt die Objekte und übergibt die gewünschten Daten in entsprechender Form an das Anwendungsprogramm. Es stellt die Isolationsschicht zwischen Datenbank und Programmierern dar, so dass diese nicht die interne Struktur der Datenbank kennen müssen.
Was ist das Modell der konzeptuellen Schicht?
Das konzeptuelle Modell ist ein Modell des Unternehmens bezüglich aller wesentlicher Daten, deren Beziehungen zueinander, Bedingungen, die für die Daten immer gelten oder Vorschriften für das Ändern von Daten machen (= Integritätsbedingungen), Vorschriften, welche Operationen ausgeführt werden dürfen.
Was ist das Entity-Relationship-Modell?
Das ER-Modell ist ein semantisches Datenmodell (eins der bekanntesten) zum Entwurf von Datenbanken, also für die konzeptuelle Ebene. Als Basiskonstrukte kennt es Entity-Typ (= Objekte gleicher Art), Beziehungs-Typ (= ihre Beziehungen zueinander), die wiederum Attribute haben. Entities können beliebig viele Instanzen haben und beliebig viele Beziehungen zueinander.
Schreiben Sie ein Relationenschema auf.
R=(A_1,…,A_n), R=Relationenschema, A_i=Attribute
Beispiel:
Kundenschema=(Kundennr, Name, Telefon)
Schreiben Sie die Definition einer Relation auf.
R Teilmenge D_1 x D_2 x … D_n ist eine n-stellige Relation über den Mengen und n ist der Grad der Relation
Was sind Relationenkalkül und Relationenalgebra?
Beides sind Spezifikationen der gewünschten Relationen. Eine Relationenalgebra tut dies durch Angabe einer Folge von Operationen, mit denen die Relation(en) aufgebaut werden sollen, beim Relationenkalkül wird - mit Hilfe des Prädikatenkalküls - die Menge der gewünschten Tupel beschrieben. Es wird ein Prädikat (= Bedingung) angegeben, das die Tupel erfüllen müssen.
Was ist funktionale Abhängigkeit?
In Prosa: Wenn bestimmte Attributwerte einer Relation von anderen Attributwerten derselben Relation abhängen.
Mathematisch: Sei R (A_1, A_2, …, A_n) ein Relationenschema und X und Y Teilmengen von {A_1, A_2, … A_n}, dann ist Y funktional abhängig von X, geschrieben X –> Y, wenn es keine Relation vom Typ R geben kann, in der zwei Tupel den selben Wert für X, aber zwei verschiedene Werte für Y haben.
Schreiben Sie die Grundform einer Abfrage in SQL auf. Erklären Sie dazu die Semantik.
SELECT A_1,…, A_n
FROM R_1,…, R_n
WHERE Prädikat(R_1,…, R_n)
Ai ist ein Attribut einer der Relationen R1,…, Rn, Prädikat(R1,…, Rn) ist eine Bedingung, die Attributwerte mit Konstanten oder zwei Attributwerte eines Tupels miteinander vergleicht oder andere Operatoren auf die Attributwerte anwendet. Diese Teilbedingungen können durch die Booleschen Operatoren AND und OR miteinander verknüpft und mit NOT negiert werden.
Welche anderen Möglichkeiten gibt es Abfragen aufzuschreiben?
Mit Relationenalgebra oder Relationenkalkül.
Welche Operationen hat die Relationenalgebra?
Als Grundoperationen gelten Vereinigung, Differenz, Kartesisches Produkt, Projektion, Selektion. (evtl. Umbenennung - wird im Skript benutzt)
Können alle Relationen vereinigt werden?
Nein, sie müssen vereinigungsverträglich sein, die Teilmengen also bezüglich ihrer Bezeichnung und Wertebereiche übereinstimmen
Wie wird kartesisches Produkt gebildet?
Durch Kombination aller Attribute verschiedener Relationen
Welche Bedingung muss gelten, damit das kartesische Produkt gebildet werden kann?
Alle Attribute der betreffenden Mengen müssen verschieden sein.
Was ist ein Join?
Eine Kombination/Verbund von Tupeln aus zwei Relationen, die bzgl. eines Feldes aus beiden Relationen einem vorgegebenen Vergleich genügen.
Wie kann der Join in den Grundoperationen formuliert werden?
Kartesisches Produkt und Selektion
V = Sigma R_i theta S_j (R x S) (wobei theta = Verbundbedingung.
Was ist ein Natural Join?
Ein Verbund der Tupel aus zwei Relationen, bei denen denen jeweils die Attribute gleichen Namens aus beiden Relationen übereinstimmen (diese sind im Ergebnis nur einmal vorhanden)
Welche Grundoperation ist zusätzlich (im Vergleich zum Join) nötig um den Natural Join auszudrücken?
V = Sigma R_i = S_j (R x S), ‘=’ ist die konkrete Verbundbedingung theta)
Was ist ein Datenbank-Management-System (DBMS)?
dient zur Kontrolle der Datenbank: Ein Softwaresystem, das ermöglicht, deine DB zu definieren, Daten zu speichern, zu verändern, zu löschen und Anfragen an die DB zu stellen.
Das DBMS isoliert die DB von den Anwendungsprogrammen und sorgt dafür, dass der Nutzer die Details der DB nicht kennen muss.
Was ist ein Datenbanksystem (DBS)?
DB und DBMS = Datenbanksystem (DBS)
Was für Schichten/Datenebenen gibt es und wozu sind sie gut?
Logische Gesamtsicht: Beschreibung der Gesamtheit der Unternehmensdaten inklusive ihrer Beziehungen zueinander
interne Sicht: Datenorganisation der Daten auf den Speichern, so dass verschiedene Nutzer möglichst effizient auf die gewünschten Daten zugreifen können
externe Sichten: Sicht einzelner Benutzergruppen, jeweils auf die Ausschnitte, die für sie wichtig sind.
Welche Datenmodelle gibt es?
relationales, objektrelational, objektorientierte Datenmodelle; ER-Modell