DBMS

3. Sem.

3. Sem.


A. K.
Diese Lernkarten bieten eine Einführung in Datenbankmanagementsysteme (DBMS) und deren grundlegende Konzepte. Sie decken Themen wie Tabellen, Datenbanken, Beziehungen, SQL, und den Entwurf von Datenbanken ab. Die Karteikarten erklären, wie Daten in Tabellen organisiert sind, welche Rolle Attribute und Tupel spielen, und wie Schlüssel zur eindeutigen Identifikation von Datensätzen verwendet werden. Zudem wird die Bedeutung von Normalformen und funktionalen Abhängigkeiten erläutert. Diese Lernkarten sind ideal für Anfänger, die die Grundlagen von relationalen Datenbanken verstehen und praktische Kenntnisse in SQL und Datenbankentwurf erwerben möchten.
Cartes-fiches
31
Utilisateurs
3
Langue
Allemand
Catégorie
Informatique
Créé / Mis à jour
09.12.2013 / 01.11.2018

Cartes-fiches

1. Was ist ein Informationssystem?

- System, das große gemeinsam benutzte Mengen an Daten / Information / Wissen verwaltet

- für mehrere / viele Anwendungsprogramme (> generische Informationssystem)

- Eigenschaften: sicher / zuverlässig / verlässlich, effizient / effektiv, mit versch. benutzerfreundlichen Schnittstellen

2. Was unterscheidet Informationen und Daten?

- Datenbanken / IT: nur informelles Verständnis der Begriffe, Präzisierung höchstens im speziellen Kontext (Datenmodell, Anwendung)

- intuitiv: Information ist Oberbegriff von Daten; Daten sind spezielle, einfache Informationen; Daten sind meist unzerlegbar – aber komplexe Daten (z.B. Objekte) können zerlegbar sein; es gibt Informationen, die keine Daten sind (z.B. Zusammenhänge, Kommentare)

3. Was ist Datenredundanz?

- Entstehung: untersch. Software speichert dieselbe Datei in versch. Formaten (ohne Datenbank)

- mehrfach gespeicherte Daten > Verschwendung von Speicherplatz, keine Synchronisation von Änderungen, keine zentralen Normen

- ohne Datenbank

4. Was ist Datenintegration?

- Entstehung: untersch. Software arbeitet auf denselben Daten, mit Datenbank

- Daten werden nur einmal gespeichert

- Vorteile: effiziente Verwaltung großer Datenmengen, Benutzer können parallel arbeiten, Datenunabhängigkeit, Datenschutz (Zugriff), Datensicherheit (Schutz vor Datenverlust)

5. Was ist ein Datenbanksystem?

- DBS = DBMS + n*DB (DBMS à anwendungsunabhängig; DB -> anwendungsspezifisch)

- Klassifizierung:

  • Spezifische DBS (für spezielle Anwendungsfelder)
  • Generische DBS (für beliebige Anwendungen)
    • Relationale DB
    • Objekt-orientierte DB
    • Hierarchische DB
    • Entity-Relationship DB

- Klassifizierung von generischen DBS nach Datenmodell (Datenmodell = Zusammenstellung best. Konzepte zum Modellieren von Daten in realen Welt / im Rechner)

6. Grundmerkmale von DBMS / Codd?

9 Coddsche Regeln:

1. Integration (einheitliche, nichtredundante Datenverwaltung)

2. Operationen (Speicher, Suchen, Ändern)

3. Katalog (Zugriff auf Datenbeschreibungen im Data Dictionary)

4. Benutzerschichten

5. Integritätssicherung (Korrektheit des Datenbankinhalts)

6. Datenschutz (Ausschluss unautorisierter Zugriffe)

7. Transaktionen (mehrere DB-Operationen als Funktionseinheit)

8. Synchronisation (parallele Transaktionen koordinieren)

9. Datensicherung (Wiederherstellung von Daten nach Systemfehlern)

7. Beschreiben Sie die 3-Ebenen Architektur von DBMS

1. Externes Schema (Ergebnis der Sichtdefinition)

2. Konzeptuelles Schema (Ergebnis der Datendefinition)

3. Internes Schema (Festlegung der Dateiorganisation und Zugriffspfade)

- Ziel: Trennung von Semantik und Speicherstruktur (physische Struktur) der Daten; Datenunabhängigkeit der Anwendungsprogrammen (unabhängig von phys. Datenspeicherung); Änderung der phys. Speicherung ohne Programmänderung

- Trennung von Schema und Instanz

- Datenbankschema = internes, externes, konzeptuelles Schema und Anwendungsprogramme

8. Was ist eine relationale Datenbank?

- Sammlung von Relationen / Menge von Tabellen

- Relation = Tabellen

9. Beschreiben Sie die Begriffe Relationenschema, Relation, Tupel, Attribut und Attributwert bei relationalen Datenbanken.

- Relationsschema = erste Zeile, die Spaltenbeschreibungen enthält

- Relation = weitere Einträge

- Tupel = 1 Zeile

- Attribut = 1 Zelle in Spaltenüberschrift / eine Spaltenbeschreibung

- Attributwert = 1 Eintrag/Zelle

10. Was kennzeichnet einen Schlüssel bei einem DBMS?

- Schlüssel identifiziert die Tupel (Datensätze) einer Relation (Tabelle) eindeutig

- Schlüssel ist eine Gruppe von Spalten, die so ausgewählt wird, dass jede Tabellenzeile über den Werten dieser Spaltengruppe eine einmalige Wertekombination hat

- Schlüsseleigenschaft = Attribut einer Spalte identifiziert eindeutig gespeicherte Tupel

- unterstrichen

- Fremdschlüssel = Schlüssel einer fremden Tabelle à eindeutiger Verweis

11. Was ist SQL?

- = Structured Query Language

- relationale Datenbanksprache (am weitesten verbreitet, populärste)

- jedes relationale DBMS versteht SQL

12. Beschreiben Sie jeweils in einem Satz, was folgende SQL Befehle machen:
- create database name1 + 
use name1
- create table name2
- insert into name2 values (x1, x2, x3)

- create database Name + use Name --> Erzeugung der Datenbank

- create table Tabellenname --> Erzeugung von Tabelle; Ablage des Relationsschemas im Data Dictionary; Vorbereitung einer leeren Basisrelation in DB

- insert into Tabellenname values (x1, x2, x3) --> Einfügen von Tupeln (x = Attribute)

13. Wie werden Daten aus SQL Datenbanken abgefragt, ausgelesen und auch verknüpfte Ergebnisse erzeugt?

- Abfrage: Anfrageoperationen
> select X,Y from Tabelle where Attribut=’Attributwert’

- Auslesen: Selektion = Auswahl von Zeilen einer Tabelle anhand von Selektionsprädikat; Projektion = Auswahl von Spalten durch Angabe einer Attributliste

- Erzeugung von verknüpften Ergebnisse: Verbund (natürlicher Verbund) verknüpft Tabellen über gleichbenannte Spalten, indem 2 Tupel verschmolzen werden, wenn sie gleiche Werte aufweisen
> Kreuzprodukt: select * from Tabelle1, Tabelle2
> Verbundbedingung: select * from Tabelle1, Tabelle2 where Tabelle1.X=Tabelle2.X

14. Was findet beim Datenbankentwurf vor dem konzeptionellen Entwurf statt, mit welcher Modellierung wird der konzeptionelle Entwurf gemacht und wie wird die Abbildung auf eine konkrete Implementierung bezeichnet?

- vor konzeptionellem Entwurf: Anforderungsanalyse

- Modellierung d. konzeptionellen Entwurfs: Entity-Relationship-Modell

- Abbildung auf konkrete Implementierung: logischer Entwurf

15. Beschreiben Sie das Entity-Relationship-Modell für den Datenbankentwurf

- Entity = Objekt der realen Welt / Vorstellungswelt, über das Informationen zu speichern sind; Informationseinheiten einer Datenbanken

- Relationship = Beziehung zw. Entities; Beziehungstypen (1:1, 1:n, …)

- Attribut = Eigenschaft von Entities oder Beziehungen

16. Was bedeutet die erste Normalform für Relationenschemata?

- Erlaubt nur atomare Attribute in den Realtionsschemata (= weisen nur einfach Attributwerte auf, nicht mehrfache / Keine Aufzählungen)

- als Attributwert sind Elemente von Standard-Datentyp wie int / string erlaubt, aber keine Konstruktoren (zusammengesetzter Typ) wie array / set
- > keine Aufzählungen / Zusammenfassungen erlaubt, sondern mehrere Zeilen notwendig

17. Was bedeutet die zweite Normalform für Relationenschemata?

- Eliminiert partielle Abhängigkeiten (bei Nichtschlüsselattributen) > keine Abhängigkeiten erlaubt

- Zerlegung (Dekompensation) der Relationen nur korrekt bei Verlustlosigkeit / Verbundtreue (= Informationen dürfen nicht verloren gehen) und Abhängigkeitserhaltung / Abhängigkeitstreue (= Abhängigkeiten dürfen nicht verloren gehen)

18. Was bewirken funktionale Abhängigkeiten zwischen Attributmengen und welche Maßnahme sollte man durchführen?

- wenn in jedem Tupel (Zeile) der Relation der Attributwert für x abhängig von y ist

- Haben 2 Tupel denselben x-Attributwert, müssen sie auch denselben y-Attributwert haben, um funktional abhängig zu sein

- Maßnahme: alle gegebenen funktionalen Abhängigkeiten umformen, ohne dabei semantische Informationen zu verlieren > Dekompensation (= Zerlegung der Tabelle)
> abhängiges Attribut und Schlüssel und neue Tabelle erstellen > in alten Tabelle ist nur noch der Schlüssel drin

19. Ziel des logischen Entwurfs?

- Abbildung des ER-Schemas auf Relationenschema

- Minimalität (minimale Anzahl von Relationenschemata, die die anderen Eigenschaften erfüllt) à>Normalform einhalten

- Redundanzen vermeiden

20. Was bedeutet die dritte Normalform für Relationenschemata?

-1. NF + 2. NF +

- Eliminierung transitiver Abhängigkeiten > aus keinem Nichtschlüsselattribute darf ein Nichtschlüsselattribut folgen

21. Beschreiben Sie jeweils kurz, was folgende SQL Befehle machen:

- ALTER TABLE ttt ADD COLUMN ccc vvv

- ORDER by sss

- DELETE FROM ttt WHERE xxx = yyy LIMIT ggg

- ALTER TABLE ttt ADD COLUMN ccc vvv à Tabelle bearbeiten: Spalten ccc und vvv zu Tabelle ttt hinzufügen

- ORDER by sss à Sortieren nach sss

- DELETE FROM ttt WHERE xxx = yyy LIMIT ggg à von der Tabelle ttt soll das Attribut xxx gelöscht werden, das den Wert yyy hat, aber nur bis zur Grenze/Schranke/Limit ggg

22. Was ist eine SQL-Injection? Beschreiben Sie anhand eines Beispiels die Funktionsweise.

- = Ausnutzen einer Sicherheitslücke in Zusammenhang mit SQL-Datenbanken

- Bsp.: in Formularfeld zusätzliche Daten via SQL eingeben

23. Welche Möglichkeiten hat ein PHP Programmierer, seine Datenbanken vor Injections zu schützen?

1. Formularfeld auf gefährliche Zeichen prüfen und diese entfernen (Komma, Anführungszeichen, Kommentarzeichen, Leerzeichen am Ende > typisch für SQL); (trim() > Leerzeichen entfernen und mysqli_real_escape_string () > Komma, Anführungs-, Kommentarzeichen entfernen)

2. Formularvalidierung > z.B. in Punktefeld, dürfen nur Zahlen eingetragen werden

24. Bei Verwendung der Skriptsprache PHP: wo läuft PHP, wie wird es aufgerufen und was erzeugt es?

- PHP läuft auf Server

- Aufruf: HTML-Datei mit eingebettetem PHP mit Dateiendung/typ .php

- erzeugt: HTML

25. Was machen folgende PHP-Funktionen:

- mysqli_connect();

- mysqli_query();

- myqli_close()

mysqli_connect() > Verbindung zu MySQL-Datenbank wird hergestellt
mysqli_query() >
 SQL-Abfrage auf MySQL-Datenbank wird durchgeführt
myqli_close() >
 Verbindung zu MySQL-Datenbank wird geschlossen

26. Was bedeutet bei PHP „$_Post“? Beschreiben Sie die Verwendung

- superglobale Variable

- vordefiniert, an jedem Punkt im Skript verfügbar

- ist ein Array

- Abspeichern von Daten in Variable

- $ > immer Variable

- $_Post = Sammlung von Speicherbehältern

27. Beschreiben Sie die Vorteile der Verwendung von PHP

- dient der Entwicklung von Internetanwendungen

- ermöglicht einfache Entwicklung von Programmen

- unterstützt versch. Plattformen

- lässt sich in beliebten Apache-Webserver integrieren

- ist erschwinglich und flexibel

28. Mit welchen Tags wird Anfang und Ende eines PHP-Skript's innerhalb einer Datei mit HTML-Code markiert

<?php

…

?>

29. Was findet bei Datenbankentwurf vor konzeptionellem Entwurf statt?

Anforderungsanalyse

30. Mit welcher Modellierung wird der konzeptionelle Entwurf gemacht?

Entity-Relationship-Modell

31. Wie wird die Abbildung auf eine konkrete Implementierung bezeichnet?

logischer Entwurf

Étudier