Datenbanken 1. Semester

Datenbanken 1. Semester

Datenbanken 1. Semester


T. B.
Diese Lernkarten bieten eine umfassende Einführung in die Grundlagen von Datenbanken, insbesondere für Anfänger. Sie decken Themen wie Tabellen, Normalformen, Schlüssel, Joins und SQL-Befehle ab, wobei der Fokus auf der praktischen Anwendung liegt. Ideal für Studierende und Einsteiger, die sich mit der Struktur und Verwaltung von Datenbanken vertraut machen möchten.
Karten
82
Lernende
10
Sprache
Deutsch
Kategorie
Technik
Stufe
Andere
Erstellt / Aktualisiert
09.09.2018 / 29.01.2019

Lernkarten

Was bedeutet Kardinalität?

Abhängigkeit 

Unter Kardinalität (Mengenverhältnis) versteht man die Angabe darüber, wie viele Zeilen aus der Tabelle A einer Zeile aus der Tabelle B zugeordnet sind und umgekehrt

Was wird bei dieser Beziehung immer benötigt? 

 Eine n:n Verknüpfung muss durch eine Hilfstabelle gelöst werden.

Was bedeutet Atomar?

Ein Spaltenwert ist atomar, wenn er nicht mehr in Teilinformationen zerlegt werden kann, ohne seinen Sinn zu verlieren. Eine Tabelle ist atomar, wenn alle ihre Spaltenwerte atomar sind. Eine Datenbank ist atomar, wenn alle ihre Tabellen atomar sind.

Was bedeutet wiederholungsgruppenfrei?

Eine Tabelle ist dann wiederholungsgruppenfrei, wenn alle ihre Spaltenwerte keine Wiederholungsgruppen enthalten.

Erklären Sie den Begriff Wiederholungsgruppe

Eine Wiederholungsgruppe ist eine Liste von Informationen desselben inhaltlichen Typs in einer Spalte.

Was ist die Nullte Normalform? 

Die Nullte Normalform ist dann gegeben, wenn alle Informationen in einer Tabelle vorhanden sind und noch unnormalisiert vorliegen.

Wann ist eine Tabelle in der 1. Normalform? 

Eine Tabelle ist dann in der 1. Normalform, wenn sie atomar und wiederholsgruppenfrei ist.
Eine Datenbank ist dann in der 1. Normalform, wenn alle Tabellen in der 1. Normalform sind.

Wann ist eine Tabelle in der 2. Normalform? 

Eine Tabelle ist dann in der 2. Normalform, wenn sie den Bedingungen der 1. Normalform entspricht und alle Nichtschlüsselspalten vollfunktional vom Primärschlüssel abhängig sind.
Eine Datenbank ist dann in der 2. Normalform, wenn alle Tabellen in der 2. Normalform sind.

Wann ist eine Tabelle in der 3. Normalform? 

Eine Tabelle entspricht der 3. Normalform, wenn sie den Bedingungen der 2. Normalform entspricht und die Werte in den Spalten nicht transitiv sind.
Eine Datenbank ist dann in der 3. Normalform, wenn alle Tabellen der 3. Normalform entsprechen und auch zwischen den Tabellen keine Informationen transitiv ist.

transitiv = Nichtschlüsselspalte lässt sich aus anderen Nichtschlüsselspalten herleiten
(d.h. Information würden eigentlich redundant in Tabelle gehalten werden

Wann ist eine Spalte transitiv? 

Eine Nichtschlüsselspalte ist transitiv, wenn sie sich aus anderen Nichtschlüsselspalten herleiten lässt.

Wie lautet der Befehl um eine Datenbank (XYZ) zu löschen? 

DROP DATABASE XYZ;

Erstellen Sie in der Datenbank TestDB eine neue Tabelle namens Kunde und befühlen Sie diese: 

  • Kunden_ID, Primärschlüssel
  • Name
  • Kontaktperson, Fremdschlüssel

USE DATABASE TestDB;
CREATE TABLE Kunde(
Kunden_ID  INT PRIMARY KEY AUTO_INCREMENT
Name VARCHAR(45)
Kontaktperson VARCHAR(45) 
FOREIGN KEY AUTO_INCREMENT
);

Was versteht man unter einem Schlüssel? Was macht diesen aus?

 

Ein Schlüssel identifiziert eine Zeile einer Tabelle eindeutig. Er besteht aus einer minimalen Anzahl von Attributen.
 

Was versteht man unter Redundanz?
 

  • Mehrfach vorhandene Informationen

Was ist der Unterschied zwichen einem ERM und Relationenmodell?

Das ERM verfügt über M:N Beziehungen, welche im Relationenmodell auf Hilfstabellen übersetzt werden.
 

Was ist ein Relationenmodell?

 

Ein Abbild von tatsächlich vorhandenen Tabellen in einer Datenbank.
 

Erstellen Sie ein Script, welches die Tabelle Artikel zu Produkt umbenennt.

ALTER TABLE Artikel RENAME TO Produkt;

Formulieren Sie eine Abfrage, welche alle Kunden ausgibt, die keine E-Mail-Adresse aufweisen. Im Ergebnis werden die Felder KundeID, Name und Vorname erwartet.

SELECT KundeID, Name, Vorname FROM Kunde

WHERE Email IS NULL OR Email = '';

Formulieren Sie eine möglichst kurze Abfrage, welche alle Attribute der drei teuersten Artikel ausgibt.

SELECT * FROM Artikel

ORDER BY Nettopreis DESC

LIMIT 3;

Erstellen Sie eine Abfrage, mit welcher Sie die Preise aller Artikel um 15% senken.

UPDATE Artikel SET Nettopreis = Nettopreis * 0.85;

Vor- und Nachteile eines Hierarchisches Datenbankmodell.

Vorteile

  • schneller Lesezugriff / kurze Zugriffszeiten
  • einfach zu verstehen

Nachteil: 

  • langsames Schreiben
  • unflexibel, weil man immer über Hierarchie auf den gewünschten Satz kommt

Vor und Nachteile eines objektorientiertes Datenbankmodell?

Vorteile

  • effizient für Integration von Daten und Funktionen in jeweiliger Relation
  • Performancesteigerung durch Wegfall von aufwendigen Verknüpfungen von Relatione

Nachteile

  • Performance von Transaktionen nimmt mit Zunahme von Daten sehr schnell ab
  • nur wenige kompatible Schnittstellen (wegen geringer Verbreitung)

Vor- und Nachteil eines Dokumentorientiertes Datenbankmodell?

Vorteile

  • komplexe Hierarchien möglich
  • freie Datenstrukturen / nicht gebunden

Nachteile

  • nicht geeignet bei Speicherung von stark vernetzte Dateien
  • nicht immer konsistent

Wie erstellt man eine Tabelle aus einer anderen? 

CREATE TABLE verwaltung.strasse LIKE oshop.adresse;

Erstllen Sie eine temporäre Tabelle.

CREATE TEMPORARY TABLE tmp_kunde;

Wie lauter der Befehl um eine Tabelle zu leeren? 

TRUNCATE tabellenname;

Befüllen Sie in der Tabelle plz die Felder plz und ortschaft.

INSERT INTO plz (plz, ortschaft)

VALUES ('8626', 'Hellberg'),

('3992', 'Bettmeralp'),

('3255', 'Frauchwil'),

('6353', 'Weggis');

Geben Sie den nachnamen und vornamen der Tabelle kunde aus. Sortieren Sie den Nachname absteigend und aufsteigend Vornamen aufsteigend. 

SELECT nachname, vorname FROM kunde

ORDER BY nachname DESC, vorname ASC;

Was ist der unterschied wischen ASC und DESC? 

ASC = aufsteigend (Zahlen 1 bis 10 / Buchstaben A bis Z / Datum ältestes bis neustes)

DESC = absteigend (Zahlen 10 bis 1 / Buchstaben Z bis A / Datum neustes bis ältestes)

Wie bestimmen Sie das von der Tabelle bank und der Spalte blz nur drei Ausgaben getätigt werden.

SELECT blz FROM bank

LIMIT 3;

Was bedeutet das Kartesisches Produkt?

Kreuzprodukt - Menge aller geordneten/unterschiedlichen Paare der beiden Mengen, wobei die erste Komponente ein Element der ersten Menge und die zweite Komponente der zweiten Menge ist.

Wie würde ein Cross Join aussehen? 

SELECT {*|spaltennamen|ausdruck} FROM tabellenname, tabellenname;

 

SELECT kunde_id, nachname, vorname, rechnung_adresse_id, adresse_id FROM kunde, adresse;

Was ist ein INNER JOIN?

Test auf Gleichheit von Fremdschlüsselwert und Primärschlüsselwert 

Wie würde ein INNER JOIN aussehen? 

SELECT {*|spaltennamen|ausdruck} FROM tabellennamefk

INNER JOIN tabellennamepk ON tabellennamefk.spaltennamefk = tabellennamepk.spaltennamepk;

 

SELECT kunde_id, nachname, vorname, rechnung_adresse_id, adresse_id FROM kunde

INNER JOIN adresse ON rechnung_adresse_id = adresse_id;

Was ist ein  Right/Left OUTER JOIN? 

Ist ein Inner Join, der um die Menge der Zeilen der rechten Tabelle (RIGHT OUTER JOIN) oder der linken Tabelle (LEFT OUTER JOIN) erweitert wird.

Die Tabelle, für die keine passenden PK-/FK-Schlüsselpaare gefunden werden, muss auf der jeweiligen Seite von JOIN mit dem passenden Wort (left/right) stehen

 

 

Wie würde ein LEFT OUTER JOIN aussehen? 
Beispiel: Alle Mengeneinheiten ausgeben, auch wenn diese keinem Artikel zugeordnet sind

SELECT e.Bezeichnung, COUNT(artikel) AS AnzahlArtikel, SUM(preis) AS SummePreis, AVG(preis) AS AVGPreis

FROM part_einheit e

LEFT JOIN part_stamm s ON s.EinheitID=e.Ident

GROUP BY e.Bezeichnung;

Was sind Bestandteile von SQL? 

  • DQL = Data Query Language 
  • DDL = Data Definition Language 
  • DML = Data Manipulation Language 
  • DCL = Data Control Language 

Nennen Sie die Schritte der Datenbankentwicklung. 

  1. Use Cases
  2. ERM
  3. Relationenmodell

Mit welchem Schlüsselwort können Duplikate verhindert werden? 

DISTINCT

Was ist ein Subselect?

Eine verschachtelte Unterabfrage

Lernen