Zum Hauptinhalt springen

Prüfungsvorbereitung LB1

1 Recherche Auftrag und Einschätzung von einem "unbekannten" DBMS

DBMS: Db2

Db2 ist von IBM entwickelt und ist ein RDBMS. Db2 nutzt ACID und die Konsistenz und Verfügbarkeit des CAP-Theorems. Es ist also ähnlich zu MySQL.

2 Durchführung einer Installation

Tag 2 - Kapitel 2.1.3

3 Anwendung von Storage Engines auf eine Tabelle

Alle anwendbare SE's anzeigen:

SHOW ENGINES;

MyISAM auf Tabelle anwenden:

CREATE TABLE testtable (
id int
) ENGINE=MyISAM;

4 Anwendung von Security/Berechtigungen auf eine Umgebung

Tag 3 - Kapitel 2.1.2

5 Transkationsisolation anwenden und konfigurieren

Derzeitige Transkationsisolation anzeigen:

SHOW VARIABLES LIKE "transaction_isolation";

Transkationsisolation global ändern:

SET PERSIST transaction_isolation='SERIALIZABLE';
info

Scopes:

  • PERSIST (bleibt auch nach Neustart von MySQL)
  • GLOBAL (setzt sich nach Neustart von MySQL zurück)
  • SESSION (setzt sich nach ausloggen von MySQL zurück)
  • ohne scope (nur für eine Transaktion)

Bei PERSIST und GLOBAL ist ein Ausloggen nötig.

Alle Transaktionsisolations-Stufen

6 Protokollierung langsamer Abfragen aktivieren

Tag 4 - Kapitel 2.1.2

7 Umsetzung Referenzielle Integrität

Um die referenzielle Integrität umzusetzen, muss per Foreign Keys auf Primary Keys referenziert werden.

CREATE TABLE categories(
cat_id int not null auto_increment primary key,
cat_name varchar(255) not null,
cat_description text
) ENGINE=InnoDB;

CREATE TABLE products(
prd_id int not null auto_increment primary key,
prd_name varchar(355) not null,
prd_price decimal,
cat_id int not null,
FOREIGN KEY fk_cat(cat_id) REFERENCES categories(cat_id) -- Referenz setzen
ON UPDATE CASCADE -- was passieren soll wenn die Referenz geupdated wird
ON DELETE RESTRICT -- was passieren soll wenn die Referenz gelöscht wird
)ENGINE=InnoDB;

Hier werden zwei Tabellen erstellt categories und products. Der FK wird fk_cat benannt und verlinkt cat_id der beiden Tabellen. ON UPDATE definiert was bei einem UPDATE passieren soll. ON DELETE definiert was bei DELETE passieren soll.

Folgende Konfiguration sind möglich:

RESTRICT / NO ACTION:
==> Änderung auf referenzierten Tabelle nicht erlaubt

CASCADE:
==> Änderung auf referenzierten Tabelle werden synchronisiert

SET NULL:
==> Bei Änderung auf referenzierten Tabelle, wird der FK's auf der Child-Tabelle auf NULL gesetzt

8 Indexierungstypen aufgrund Anforderungen umsetzen

Tag 4 - Kapitel 2.1.4

9 Datentypen sinngemäss richtig anwenden

Tag 4 - Kapitel 2.1.4

10 Auftrag : Import und Export von verschiedenen Datentypen

Tag 5

11 Auftrag : Durchführung von Backup/Restore (nicht PITR)

Tag 5 - Kapitel 2.3

12 Auftrag : Migration von Daten durchführen

Tag 5 - Kapitel 2.5

13 Auftrag : Beispielapplikation installieren und Datenauslesen

Tag 7 - Kapitel 1.3

14 Auftrag : Stored Procedures importieren, anzeigen, überarbeiten

Tag 8 - Kapitel 1.1.1

15 Auftrag : Stored Procedures anwenden

Tag 8 - Kapitel 1.1.1

16 Auftrag : Views importieren, anzeigen, überarbeiten

Tag 8 - Kapitel 1.1.1

17 Auftrag : Views anwenden

Tag 8 - Kapitel 1.1.1

18 Auftrag : Triggers importieren, anzeigen

Tag 8 - Kapitel 1.1.1

19 Auftrag : (Theorie) Schlechte Query - verbessern Sie die Performance

Tag 9 - Kapitel 1.1

20 Auftrag : (Praxis) Schlechte Query - verbessern Sie die Performance

Tag 9 - Kapitel 1.2

21 Auftrag : (Theorie) - Vor- und Nachteile von MongoDB erläutern

Vorteile:

  • Skalierbarkeit: MongoDB ist sehr skalierbar, was es ermöglicht gute Cluster zu bauen.
  • Replikation: Daten können schnell und einfach auf mehrere Systeme kopiert werden.
  • Speicherung: Auch grosse Daten können schnell gespeichert und gelesen werden.
  • Benutzerfreundlichkeit: Einfach zu lernen und logisch aufgebaut.

Nachteile:

  • Speicherverbrauch: MongoDB braucht vergleichsweise viel Speicher.
  • Stored Procedures: existieren nicht

22 Auftrag : (Theorie) - Begrifflichkeiten von MongoDB vs. MySQL

Tag 10 - Kapitel 1.1

23 Auftrag : (Praxis) - Installation von MongoDB

Tag 10 - Kapitel 1.1.3

24 Auftrag : (Praxis) - Konfigurationsauftrag von MongoDB (Binding anpassen, Verzeichnisse anpassen)

Tag 10 - Kapitel 1.2

25 Auftrag : Import und Export von verschiedenen Datensätzen

Tag 11 - Kapitel 1.1.1

Export:

mongoexport --db=cities --collection=cities --out=export_cities.json

26 Auftrag : Backup und Restore durchführen

Tag 11 - Kapitel 1.1.5

27 Inbetriebnahme (URI - Benutzer) einer vorgegebenen Applikation (inkl. Anpassungen/Korrekturen)

Tag 12 - Kapitel 1.1

28 Umsetzung Referenzielle Integrität mit MongoDB

Tag 13 - Kapitel 1.1.2

29 Design-Umsetzung von einem einfachen Beispiel (Regeln korrekt anwenden)

Tag 13 - Kapitel 1.1

30 Umsetzung von Sharding und Replication

Tag 13 - Kapitel 1.3
Tag 13 - Kapitel 1.4

31 Umsetzung von Indexierungen anhand von einer Praxisaufgabe (inkl. explain())

Tag 13 - Kapitel 1.2


Quellen: