TEKO - Datenbank Systeme - HF - 3. Semester

Ein paar Lernkarten um die trockene Theorie rund um Datenbank Systeme (SQL) irgendwie in den Kopf zu bekommen.

Ein paar Lernkarten um die trockene Theorie rund um Datenbank Systeme (SQL) irgendwie in den Kopf zu bekommen.


M. S.
Diese Lernkarten behandeln grundlegende Konzepte von Datenbanken und DBMS auf mittlerem Schulniveau. Sie decken Themen wie Tabellen, Tupel, Relationen, Operatoren und Integritätsregeln ab. Die Karteikarten sind ideal für Schüler, die sich mit Datenbanken vertraut machen und die Funktionsweise von Datenbankmanagementsystemen verstehen möchten.
Karten
30
Lernende
1
Sprache
Deutsch
Kategorie
Informatik
Stufe
Mittelschule
Erstellt / Aktualisiert
19.11.2016 / 20.11.2016

Lernkarten

Ein relationales DBMS muss in der Lage sein, Datenbanken ..

.. vollständig über seine relationalen Fähigkeiten zu verwalten.

Regel 1: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zur "Darstellung von Informationen"?

Regel 1:

  • Einfache Erklärung: Alle Informationen in einer relationalen Datenbank (einschliesslich Namen von Tabellen und Spalten) sind explizit als Werte in Tabellen darzustellen.
     
  • Gemäss Skript: Alle Informationen in einer relationalen Datenbank sind ausschliesslich logisch (und nicht physisch) abgespeichert und zugreifbar und zwar als Werte in einer relationalen Tabelle -> Keine Pointer

Regel 2: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel für den "Zugriff auf Daten"?
 

Regel 2:

  • Einfache Erklärung: Jeder Wert einer relationalen Datenbank muss durch eine Kombination von Tabellenname, Primärschlüssel und Spaltenname auffindbar sein.
     
  • Gemäss Skript: Auf jeden Datenwert in einer relationalen Datenbank kann durch die Kombination von Tabellenname, Identifikationsschlüssel und Spaltenname zugegriffen werden  ->  3-stufige Adressierung

Regel 3: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zur "systematischen Behandlung von Nullwerten"?

 

Regel 3:

  • Einfache Erklärung: Das DBMS (Datenbank Management System) behandelt Nullwerte durchgängig gleich als unbekannte oder fehlende Daten und unterscheidet diese von Standardwerten.
     
  • Gemäss Skript: Es gibt Anzeiger für die Tatsache, das Informationen zur Zeit fehlen (nicht verfügbar sind): NULL-Werte. Diese müssen vom Datentyp unabhängig sein und durch das DBMS manipulierbar sein  ->  NULL-Wert

Regel 4: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zur "Struktur einer Datenbank"?


 

Regel 4:

  • Einfache Erklärung: Die Datenbank und ihre Inhalte werden in einem  sogenannten Systemkatalog auf derselben logischen Ebene wie die Daten selbst - also in Tabellen - beschrieben. Demzufolge lässt sich der Katalog mit Hilfe der Datenbanksprache abfragen.
     
  • Gemäss Skript: Die Beschreibung der Datenbank selber muss ebenfalls in Form von Tabellen realisiert sein. Es muss somit sowohl die Beschreibung der Datenbank als auch deren Inhalt mit derselben relationalen Sprache durch den Benützer bearbeitbar sein  ->  Meta-DB (siehe Data Dictionary)

Regel 5: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zur "Abfragesprache"?

Regel 5:

  • Einfache Erklärung: Zu einem relationalen System gehört mindestens eine Abfragesprache mit einem vollständigen Befehlssatz für:
  1. Datendefinition
  2. Manipulation
  3. Integritätsregeln
  4. Autorisierung
  5. Transaktionen
  • Gemäss Skript: Eine relationales DBMS muss mindestens eine Sprache unterstützen, für die folgendes gilt:
  1. Die Befehle müssen als Textstrings formulierbar sein.
  2. Mit ein und derselben Sprache müssen machbar sein:
  3. Befehle zur Datendefinition
  4. Definition von Daten-Sichten (views)
  5. Befehle zur Datenmanipulation
  6. Definition von Daten-Konsistenz-Bedingungen
  7. Definition von Zugriffsrechten
  8. Transaktionsbefehle

             -> Kompletter Befehlssatz

Regel 6: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zur "Aktualisieren von Sichten"?
 

Regel 6:

  • Einfache Erklärung: Alle Sichten, die theoretisch aktualisiert werden können, lassen sich auch vom System aktualisieren.
     
  • Gemäss Skript: Das DBMS muss mindestens einen Algorithmus enthalten, der in der Lage ist, zum Zeitpunkt der Definition einer Sicht festzustellen, ob diese Tupel eingefügt oder gelöscht werden dürfen. Das Resultat dieser
    Abklärung ist im Data Dictionary festzuhalten   ->  Zugriffsrechte

Regel 7: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zum "Abfragen und Bearbeiten ganzer Tabellen"?

Regel 7:

  • Einfache Erklärung: Das DBMS unterstützt nicht nur Abfragen, sondern auch die Operationen für Einfügen, Aktualisieren und Löschen in Form ganzer Tabellen.
     
  • Gemäss Skript: Es muss möglich sein, eine ganze Relation einem Operator in einer Operation anzugeben (für alle Operationen) (Wildcard)  ->  Dienstprogramme

Regel 8: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel der "physikalischen Datenunabhängigkeit"?

Regel 8:

  • Einfache Erklärung: Der logische Zugriff auf die Daten durch Anwendungen und Ad-Hoc-Programme muss unabhängig von den physikalischen Zugriffsmethoden oder den Speicherstrukturen der Daten sein.
     
  • Gemäss Skript: Wenn der physische Speicherort der Daten oder die physische Zugriffsmethode geändert werden, müssen die auf die Datenbank zugreifenden Applikations-Programme nicht berührt werden (keine Code-Änderungen erlaubt)  ->  Daten-Unabhängigkeit: physische Veränderung

Regel 9: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zur "logischen Datenunabhängigkeit"?

Regel 9:

  • Einfache Erklärung: Änderungen der Tabellenstrukturen dürfen keinen Einfluss auf die Logik der Anwendungen und Ad-Hoc-Programme haben.
     
  • Gemäss Skript: Wenn die Tabelle logisch - ohne Daten zu verlieren - verändert werden (zusätzliches Attribut), dürfen die Applikations-Programme nicht deswegen angepasst werden  ->  Daten-Unabhängigkeit: logische Veränderung
     

Regel 10: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zur "Unabhängigkeit der Integrität"?

Regel 10:

  • Einfache Erklärung: Integritätsregeln müssen sich in der Datenbanksprache definieren lassen. Die Regeln müssen im Systemkatalog gespeichert werden. Es darf nicht möglich sein, die Regeln zu umgehen.
     
  • Gemäss Skript: Es muss möglich sein, Daten-Konsistenz-Bedingungen in der Sprache des DBMS zu definieren und nicht in den Applikations-Programmen. Diese Bedingungen müssen im Daten-Katalog abgespeichert sein  ->  Modell-inhärente Konsistenzbedingungen

Regel 11: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zur "Verteilungsunabhängigkeit"?

Regel 11:

  • Einfache Erklärung: Der logische Zugriff auf die Daten durch Anwendungen und Ad-Hoc-Programme darf sich beim Übergang von einer nicht-verteilten zu einer verteilten Datenbank nicht ändern.
     
  • Gemäss Skript: Ein relationales DBMS besitzt Daten-Verteilungs-Unabhängigkeit

Regel 12: Ein relationales DBMS muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten. Wie lautet die Regel zum  "kein Unterlaufen der Abfragesprache"?

Regel 12:

  • Einfache Erklärung: Integritätsregeln, die über die Datenbanksprache definiert sind, dürfen sich nicht mit Hilfe von Low-Level-Sprachen umgehen lassen.
     
  • Gemäss Skript: Falls ein relationales DBMS eine Low-Level-Sprache besitzt, so darf es nicht möglich sein, durch diese Konsistenz-Bedingungen, die in der höheren Sprache definiert wurden, zu umgehen  ->  DBMS = einzige Schnittstelle

Zähle die 8 wichtigsten Operatoren einer Datenbank auf ..

Die 8 wichtigsten Operatoren einer Datenbank sind:

  1. Vereinigung (union)
  2. Differenz (difference)
  3. lntersektion (intersection)
  4. Kartesisches Produkt (karthesian product)
  5. Restriktion (restrict)
  6. Projektion (project)
  7. Verbund (join)
  8. Division (division)

Erkläre den Operator "Vereinigung"
 

Operator "Vereinigung"

  • = Union
  • Ergänzt Tabelle A mit allen Zeilen aus Tabelle B
  • Duplikate werden entfernt
  • A + B

Weiterführende Informationen:

  • Schreibweise: A U B
  • Die Vereinigung zweier Relationen A und B ist die Menge aller Tupel, die in A oder B oder in beiden Relationen enthalten sind

Beispiel:

 

Erkläre den Operator "Differenz"

Operator Differenz:

  • = difference
  • Streicht alle Zeilen aus Tabelle A, die in Tabelle B vorkommen.
  • A – B

Weiterführende Informationen:

  • Schreibweise: A \ B
  • Die Differenz A \ B zweier Relationen A und B ist die Menge aller Tupel, die in A aber nicht gleichzeitig in B enthalten sind

Beispiel:

 

Erkläre den Operator "lntersektion"
 

Operator Intersektion:

  • = intersection
  • Streicht alle Zeilen aus Tabelle A, die nicht in Tabelle B vorkommen.
  • A * B

Erkläre den Operator "Kartesisches Produkt"

Operator kartesisches Produkt:

  • = karthesian product
  • Verkettet alle Zeilen aus Tabelle A mit allen Zeilen aus Tabelle B
  • Jede Zeile aus A wird mit jeder Zeile aus B kombiniert.
  • A x B

Operator Differenz:

  • = difference
  • Streicht alle Zeilen aus Tabelle A, die in Tabelle B vorkommen.
  • A – B

Weiterführende Informationen:

  • Schreibweise: A X B
  • Seien A und B Relationen mit Grad n1 und n2. Das kartesische Produkt A X B ist die Menge aller (n1*n2)-Tupel, deren erste n1-Komponenten ein Tupel in AR und deren letzte n2 Komponenten ein Tupel aus B darstellen.

Beispiel:

 

Erkläre den Operator "Restriktion"

Operator Restriktion:

  •  = restrict
  • Selektiert zeilenweise Tupel basierend auf den Werten der entsprechenden Tupel
  • bezieht sich immer auf Zeilen
  • Wer auch immer weiss, was das genau bedeutet ;o)
     

Erkläre den Operator "Projektion"

Operator Projektion:

  • = project
  • Projeziert einen Ausschnitt
  • Selektiert spaltenweise Attribute
  • Duplikate werden entfernt
  • Gib mir nur die Spalten aus, welche angegeben wurden plus alle Spalten, welcher der Bedingung entsprechen (zB. A>=3)
  • bezieht sich immer auf Spalte(n)

Weiterführende Informationen:

  • Schreibweise A U B
  • Sei A eine Relation vom Grad n
    • Dann ist i1,..., im (A) die Projektion von A auf die Komponenten i1, ..., im.
    • Die entstehende Relation ist vom Grad m.
    • Bei einer Projektion werden Spalten ausgewählt
  • Bei der Projektion werden einige Spalten ausgeblendet; nur die angegebenen Spalten bleiben übrig.
    • Danach werden eventuell mehrfach auftretende identische Zeilen bis auf eine entfernt, da eine Relation eine Menge darstellt und keine Duplikate enthalten darf.

Beispiel:

 

Erkläre den Operator "Verbund"

Operator "Verbund"

  • =join
  • Verkettet Zeilen aus Tabelle A mit Zeilen aus Tabelle B, die eine gewisse Bedingung erfüllen
  • Sonst wird die Zeile aus Tabelle A gestrichen
  • Join(S, P, s.s# = p.s#)

Weiterführende Informationen:

  • DEN Join gibt es nicht; es wird eine grössere Anzahl von Joins unterschieden.
     
  • Die relevanten Typen sind:
     
    • NATURAL JOIN (auch INNER JOIN, EQUI-JOIN, JOIN)
      • Der Natural Join A |X| B der Tabellen A und B wird für Tabellen mit gleichen Attributen wie folgt berechnet:
        • Man bildet das kartesische Produkt A X B
        • Für jedes Attribut, das sowohl in A als auch in B vorkommt, selektiert man die Tupel, für die die Werte der gleichnamigen Attribute übereinstimmen
        • Eine der gleichen Spalten wird wegprojiziert
        • Als Merkregel formuliert: Der Join verbindet zwei Tabellen über gleichnamige Spalten bei gleichen Attributwerten
      • Der natürliche Verbund ist äusserst wichtig, um Relationen, die aus entwurfstheoretischen Gründen zerlegt wurden, während der Abfrage wieder zu kombinieren:
        • Die Zerlegung findet in der Regel über Schlüsselattribute statt
        • Dementsprechend findet der Join in aller Regel über ein gemeinsames Schlüsselattribut in den beiden zu verknüpfenden Tabellen statt
      • Beispiel:
    • LEFT OUTER JOIN, LEFT JOIN
      • Der Left Outer Join A ]X| der Tabellen A und B verknüpft die Datensätze aus A und B analog dem Natural Join.
      • Dabei werden allerdings auch die Datensätze aus A (der linken Tabelle) eingeschlossen, für die kein entsprechender Datensatz in B (der rechten Tabelle) existiert. (linke Inklusionsverknüpfung)
      • Beispiel:

Erkläre den Operator "Division"

Operator "Division"

  • = division (grouped by)
  • Eine Gruppe von Zeilen aus Tabelle A mit einem gemeinsamen Merkmal muss alle Werte aus Tabelle B enthalten
  • Sonst wird diese Gruppe gestrichen

 

Was "tun" Integritätstregeln?

Integritätsregeln:   

  • Prüfen, ob Verletztungen beim Modellieren passiert sind

Diese zwei Regeln werden von der Datenbank immer geprüft:

  • Der primäre Schlüssel muss immer einen Inhalt haben
  • So lange eine Beziehung vorhanden ist, kann man einen Fremdschlüssel nicht löschen (die Beziehung muss zuerst gelöscht werden)

Was sind Relationen? Was kann zu Relationen gesagt werden?

Relationen:

  • Relationen sind Tabellen

Sie besitzen:

  • einen eindeutigen Namen
  • mindestens einen Schlüssel
  • 0 bis n Tupel
  • 1 bis n Kolonnen, die Attribute entsprechen
  •  Alle horizontalen Elemente besitzen mindestens 1 Element (also 1 mind. Zeile)

 

Zähle die wichtigsten Schlüsselarten auf..

Die wichtigsten Schlüsselarten sind:

 

  1. Primärschlüssel
  2. Fremdschlüssel
  3. Zugriffsschlüssel
  4. Sekundärschlüssel
  5. Sortiertschlüssel
  6. Suchschlüssel

Wie funktioniert ein Suchschlüssel?

So funktoniert ein Suchschlüssel::

  • Suchen nach M und ich erhalte die Plätze, wo sich M befindet, zurückgeliefert
  • Gespeichert hat der Suchschlüssel:
    • MA
    • MB
    • MC
    • DE
    • FG
    • AH
  • M befindet sich auf Platz 1,2,3

Ergänzende Informationen:

  • Ein Suchschlüssel ist eine interne Tabelle
  • Wird auch Index genannt

Was ist ein Tupel?

Ein Tupel ist:

  • eine Zeile
  • ein Datensatz

Wichtig:

  • jede Zeile ist (muss) durch Primärschlüssel identifiziert (sein)

Was sind Domänen?

Domänen sind:

  • Datentypen
  • Teil der Struktur (nicht Inhalt)
  • Sorgen dafür, dass nicht jede einzelne Zelle angepasst werden muss, wenn ein bestimmter Datentyp ändert


Beispiel:

  • Datentyp "VARCHAR(36)"
  • String von max. 36 Zeichen
  • Wert in Zelle kann max. 36 Zeichen aufnehmen
     

Wie lautet die Konvention (Abmachung) in Bezug auf Primär- und Fremdschlüssel?

Die Konvention (Abmachung) in Bezug auf Primär- und Fremdschlüssel lautet:

  • Primärschlüssel
    • setzt sich aus einer ID plus dem Tabellennamen zusammen
    • Beispiel: IDPerson
       
  • Fremdschlüssel
    • setzt sich der ID und dem Tabellennamen, der fremd ist, zusammen
    • Beispiel: IDFirma


           
 

 Was lässt sich in Bezug zur Darstellung von Entitäten sagen (Symbolik, Regeln, ..)?

Was lässt sich in Bezug zum Zeichnen von Entitäten sagen (Symbole, Regeln)?

Zeichnen von Entitäten:

  • Entität = Rechteck
  • Attribute unterstrichen mit # = Primärschlüssel
  • Attriubte nur mit # = Fremdschlüssel
  • Zwischen Entität und Entität = Raute (wird aber nicht mehr gezeichnet)
     

Lernen