Fragenkatalog Flashcards
Was ist ein Datenbanksystem?
Datenbanksystem Enthält Datenbank Managementsystem
Datenbanksystem enthält Datenbank
Datenbank System enthält Data dictionary
Was enthält das Data dictionary?
Metadaten
Daten über Struktur der Datenbank
Was sind Merkmale einer Datenbank?
Tabellen
Schlüssel
Tupel
Kardinalitäten
Datentypen
Attribute
Welche Datenbankmodelle gibt es?
Netzwerk
Relational
Baum
Objekt
Wie viele Dimensionen hat OLAP?
3
Was ist Datamining?
Statistik
Was ist ein Nachteil von Objekt Datenbanken?
Geringe Verbreitung
Was sind die drei ANSI Ebenen?
Extern
Konzept
Intern
Was ist ein Vorteil einer Netz Datenbank?
Einfache Modellierung
Was sind Homonyme Begriffe?
Bank / Bank
Was sind Äquipollenzen?
Unterschiedliche Sichtweisen auf das selbe Objekt
Welche Beziehungstypen gibt es in relationalen Datenbanken?
Eins zu n
Eins zu eins
M zu M
Was ist ein Objekt?
Ein Exemplar plus Information darüber
Beispiel ein Stift
Was ist eine Eigenschaft?
Benennung eines relevanten Merkmals
Beispiel Farbe
Was ist eine Ausprägung?
Eigenschaftswert
Beispiel die Farbe Grün
Was ist Normalisierung?
Es gibt drei Normalisierungsstufen 1-3
Anomalien entfernen
Aufteilung in Relationen
Verlustfreie Zerlegung
Was sind atomare werte?
Keine Werteauflistung
Keine zusammengesetzten Werte
Was ist eine Relation
Eine Tabelle
Was sind die drei Schlüsselarten?
Primärschlüssel
Sekundärschlüssel
Fremdschlüssel
Was ist varchar(30)?
Charakterstring
Erwartete Länge 30
Was bedeutet NOT NULL?
Wert muss abgespeichert werden
Was ist char(3)
Charakterstring mit genau 3 Zeichen
Was ist mediumint?
Zahl nicht größer als 8.388.608
Was ist Date?
Datumsformat yyyy-mm-dd
Was ist Float?
Zahl mit Dezimalstellen
Wertebereich -1.1e^38 - 1.1e^38
Was ist Auto_Increment
Zahl, die automatisch erstellt wird
Zahl, die größer ist als die vorherige
z.B. Fortlaufender Index
Was ist ein Primary Key?
Eine einzigartige ID
Eine eindeutige ID des Tupels
Darf niemals null sein
Einfach zu erstellen mit Auto_increment
Was ist ENUM(m, f)
Darf nur m oder f Enthalten
Was ist Timestamp
yyyy-mm-dd-hh-mm-ss
Wie erstellt man eine Tabelle?
CREATE TABLE();
Wie fügen sie Werte in eine Tabelle ein?
INSERT INTO table VALUES();
Wie zeigen Sie das Tabellenschema an?
DESC table();
Wie zeigen die Werte der Tabelle an?
SELECT * FROM table;
Wie zeigen Sie alle Tabellen an?
SHOW TABLES;
Wie ändern Sie die Datenbank?
USE Database;
Wie verändern Sie die Spalten?
ALTER table CHANGE COLUMN;
Wie fügen Sie Spalten ein?
ALTER table (ADD) MODIFY COLUMN
Wie benennen Sie eine Tabelle um?
RENAME table;
Wie Filtern Sie?
… WHERE …
Wie können Sie speziell nach Geburtsdatum filtern?
DAY(Birth_date)
Wie können Sie aufsteigend sortieren?
ORDER ASC;
Wie können Sie absteigend sortieren?
ORDER DESC;
Wie können Sie die Ausgabe limitieren?
LIMIT;
Wie können sie verketten?
CONCAT;
Wie können sie Felder als leer oder nicht leer deklarieren?
NULL
NOT NULL
Wie können Sie Felder aktualisieren?
UPDATE;
Wie können sie spalten löschen?
DROP COLUMN;
Wie können sie Bereiche filtern?
BETWEEN;
IN;
Wie können Sie gruppieren?
GROUP BY;
Wie können Sie zählen und eine Spalte bei der Ausgabe umbenennen?
COUNT (*) AS Fehlzeiten;
Wie können sie nach einem where weiter Eingrenzen?
HAVING
Wie können sie einen view erzeugen?
CREATE VIEW test AS SELECT name, vorname FROM Tabelle WHERE land = „Deutschland“
Was sind starke Entitätstypen?
Raum im Gebäude
Eindeutig identifizierbar
Was sind schwache Entitätstypen?
Z.b. Reifen als autonomes Objekt
Keine eindeutige Identifikation des Objektes
Vorteile von views
Schnell
Komplexe Abfragen einfach möglich
Einheitliche Form
Keine basistabelle
Gut für nicht-Programmierer
Nachteile von views
Schlecht für die CPU
Temporär
Was versteht man unter SQL?
Structured query language
Strukturierte Abfragesprache
Auf welchen zwei wegen zehn Primärschlüssel einer Tabelle festgelegt werden?
Vorher: id INT PRIMARY KEY,
Später: ADD PRIMARY KEY (id);
Wie funktioniert eine SQL-Injection?
Formular -> SQL-Befehl schlau einfügen -> Datenbank gelöscht
Wie kann man eine Injektion absichern
Rechteverwaltung
Vorgefertigte SQL-Statements
Input vorm ausführen überprüfen
Metazeichen unterbinden
Keine SQL Datenbank verwenden
Was sind drei Anomalien?
Änderungsanomalie
Einfügeanomalie
Löschanomalie
Wo sind Zugriffsrechte gespeichert
User
Db
Hosts
Tables_priv
Columns_priv
Warum sind joins nötig?
Abfrage über mehrere Tabellen
Wie werden Beziehungen zwischen Tabellen verknüpft?
Primär und Fremdschlüssel
Wann benutzen Sie where im Gegensatz Join
In der Regel wird “WHERE” verwendet, um Filterbedingungen auf einzelne Tabellen anzuwenden, während “JOIN” verwendet wird, um Daten aus mehreren Tabellen zu kombinieren
Unterschiede Left und Right Join
LEFT JOIN gibt alle Datensätze aus der linken Tabelle und übereinstimmende Datensätze aus der rechten Tabelle zurück.
• RIGHT JOIN gibt alle Datensätze aus der rechten Tabelle und übereinstimmende Datensätze aus der linken Tabelle zurück.
• LEFT JOIN behält alle Datensätze der linken Tabelle bei, während RIGHT JOIN alle Datensätze der rechten Tabelle beibehält.
• Bei beiden Joins können NULL-Werte auftreten, wenn keine Übereinstimmungen vorhanden sind.
Was ist eine Transaktion
Gruppe von SQL Befehlen
Entweder ganz oder gar nicht ausführen
Können nicht von einem anderen Befehl verändert werden
Können abgebrochen werden
Unterschied commit und rollback?
Commit: Transaktion fertig, dann Änderung in db schreiben
Rollback: Änderungen verwerfen und ggf. zum savepoint zurück
Wofür steht ACID?
Atomarität (Abgeschlossenheit) bedeutet, dass Transaktionen unteilbar sind
Consistency bedeutet, dass Datenbank nach Änderung konsistent am Ende ist
Isolation bedeutet keine Blockade von Transaktionen
Durability (Haltbarkeit) bedeutet, dass Daten auch Absturz noch vorhanden sind
Probleme von Mehrbenutzerbetrieb
Deadlock
Lost Update
Vorteile Datenbanksysteme
Redundanzfreiheit
Flexibilität
Physische Datenunabhängigkeit
Mehrbenutzerbetrieb
Datenintegrität
Zugriffsschutz
Recovery
Nachteil Datenbanksysteme
Ressourcenzehrend