Datenbank Management - FOM Düsseldorf

Praktische Hilfe für den Prüfungsteil "praktisches Datenbankmanagement" Dipl. -Kfm. Henning Mertes

Praktische Hilfe für den Prüfungsteil "praktisches Datenbankmanagement" Dipl. -Kfm. Henning Mertes


Thomas Meier
Diese Lernkarten vermitteln fundierte Kenntnisse zu Aufbau, Verwaltung und Optimierung von Datenbanktabellen mit Fokus auf MySQL-Syntax und -Operationen. Sie decken zentrale Konzepte wie Primär- und Fremdschlüssel, Datentypen sowie Attribute wie UNIQUE, UNSIGNED oder AUTO_INCREMENT ab und erklären praxisnah das Anlegen, Ändern und Löschen von Tabellen und Spalten. Studierende der Informatik profitieren davon, um effiziente Datenbankstrukturen zu entwerfen und Wartungsoperationen korrekt durchzuführen.
Cartes-fiches
45
Utilisateurs
10
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
04.07.2013 / 08.07.2026

Cartes-fiches

Wie wird eine Datenbank gelöscht ?

Unterschiede beider Methoden.

o DROP = immer eine strukturelle Löschung o DELETE = immer eine Löschung von Datensätzen

Wie wird eine Datenbank gelöscht ?

Unterschiede beider Methoden.

o DROP = immer eine strukturelle Löschung

o DELETE = immer eine Löschung von Datensätzen

Grundlagen SELECT

Projektion: Auswahl von Spalten

Grundlagen FROM

Join - Zusammenfassen mehrerer Tabellen

Grundlagen WHERE

Selektion - Auswahl bestimmter Zeilen nach Kriterien

Aufbau Select Statement

SELECT

FROM ... JOIN ...

WHERE

GROUP BY

HAVING

ORDER BY

LIMIT;

Besonderheit Gruppierungsfunktion

Es ist nicht erlaubt Gruppierungsfunktionen ineinander zu schachteln.

Datenbanken anzeigen

SHOW DATABASES;

Datenbank erstellen

CREATE DATABASE datenbankname;

Datenbank öffnen

USE datenbankname;

Datenbank löschen

DROP DATABASE datenbankname;

Informationen zu Tabellen

SHOW TABLE STATUS;

Anzeigen von Schlüsseln in einer Tabelle

SHOW KEYS FROM tabellenname;

Unterschiede von CHAR(x) und VARCHAR(x)

CHAR und VARCHAR sind Zeichenbasiert.

KEINE Rücksicht auf Groß- und Kleinschreibung

Bei CHAR: muss genau die Länge haben, Rest wird aufgefüllt. Bsp: plz char(5)

Bei VARCHAR: max Länge x

Bsp: vorname varchar(30) 

Unterschiede BINARY und VARBINARY

Bytebasiert, Case Sensitive, Rücksicht auf groß- und Kleinschreibung

Bei BINARY: muss genau Länge x haben, Rest wird aufgefüllt: Bsp: password binary(20)

Bei VARBINARY: max Länge x

Bsp: Artikelbezeichnung varbinary(50)

Vorteile von BINARY und CHAR, sowie VARBINARY und VARCHAR

BINARY / CHAR: schnelle Verarbeitung

VARBINARY / VARCHAR: sehr flexibel

 

Unterschiede CHAR und BINARY, sowie VARCHAR und VARBINARY

CHAR / BINARY:
Werden mit Leerzeichen (char) oder Nullen (binary) aufgefüllt, falls der Wert unterschritten wird.

Beim überschreiten der Länge wird bis zur Maximallänge gekürzt. Außnahme: strict-Modus

 

VARCHAR / VARBINARY

Werden nicht bis zur Maximallänge ausgefüllt. Es werden nur so viele Zeichen wie nötig gespeichert.

Lehrzeichen die am Ende stehen werden beibehalten.

Merkmale TEXT und BLOB

 

Unterschiede von TEXT und BLOB

Markmale:

sehr große Speicherkapazität

langsame Verarbeitung bei großen Speicherkapazitäten.

 

Unterschiede:

Text: Nicht case-sensitive, Groß und Kleinschreibung wird NICHT berücksichtigt

BLOB: case-sensitive, Groß und Kleinschreibung wird berücksichtigt.

Unterschiede TEXT / BLOB zu VARCHAR

 

TEXT / BLOB: Keine Definition von Standartwerten möglich

VARCHAR: Definition von Standartwerten möglich

 

Varianten von TEXT und BLOB

TEXT: TINYTEXT, MEDIUMTEXT, LONGTEXT

BLOB: TINYBLOB, MEDIUMBLOB, LONGBLOB

Numerische ganze Zahlenwerte

TINYINT

SMALLINT

MEDIUMINT

INT bzw. INTEGER

BIGINT

 

Numerisch reelle Werte

FLOAT(n,d), DOUBLE(n,d)

n = Anzahl der Anzeigebreite

d = Anzahl der Nachkommastellen (FLOAT max 24, DOUBLE = 53)

 

DECIMAL / NUMERIC haben heute keine Bedeutung mehr.

Logische Werte

In MySQL als BOOL implementiert.

Abbildung über TINYINT

1 = Wahr

0 = Falsch

Werte für Zeitangaben.

YEAR: Jahreszahlen, von 1901-2155, zweistellige EIngabe immer im Jahr 20**, unzulässige Werte zu 0000 umgewandelt.

DATETIME: Datums und Uhrzeiterte

DATE: Datumswerte

TIME: Zeitwerte

TIMESTAMP: Bei INSERT und UPDATE wird das aktuelle Datum und die aktuelle Uhrzeit abgespeichert.

SET / ENUM

- Sind Zeichenketten, die aus vorgegebenen Werten bestehen müssen, beispielsweise einer Werteliste.

Bei SET können mehrere Werte definiert werden.

Einschränkungen:

SET: max. 64 Werte in Liste, SET Werte dürfen keine Kommata enthalten. Reihenfolge der auszugebenden Werte muss der Reihenfolge der eingegebenen Werte entsprechen.

ENUM: max. 65535 Werte in Liste, Nur zur Speicherung von Zahlenwerten, Nur ein Wert kann ausgewählt werden.

PRIMARY KEY

Definiert eine Spalte als Primärschlüssel, Verfügt über alle Dateitypen

 

CREATE TABLE tabellenname
(Feldname1 datentyp PRIMARY KEY,
Feldname2 datentyp, 
Feldname3 datentyp); 

Bsp:

 

CREATE TABLE kunde

(kundennr int(8) UNSIGNED PRIMARY KEY, 
vorname varchar(30),
nachname varchar(30),
plz char(5) UNSIGNED); 

 

Primärschlüssel aus mehreren Feldern = dieser wird nicht mehr als Spaltenattribut verwedendet.

Bsp: mit mehreren Spalten.

 

CREATE TABLE bestellposition
(auftragnr int(8) UNSIGNED, 
artikelnr int(8) UNSIGNED, 
stueck int(9),
PRIMARY KEY (auftragnr, artikelnr)); 

 

UNIQUE

UNIQUE Felder müssen eindeutig sein.
Mit UNIQUE kann auch der Fremdschlüssel als eindeutig definiert werden.
UNIQUE verfügt über alle Datentypen

Syntax:


CREATE TABLE tabellenname
(Feldname1 datentyp PRIMARY KEY,
Feldname2 datentyp UNIQUE);

Beispiel: 

 

CREATE TABLE auftrag
(auftragnr int(8) UNSIGNED UNIQUE,
bestelldatum DATE); 

 

NULL / NOT NULL

-NULL ist der default-Wert
-Bedeutet das keine Eingabe erfordert wird
-NOT NULL - erfordert eine Eingabe, beide Attribute verfügen über alle Datentypen.

Syntax:

 

CREATE TABLE tabellenname
(Feldname1 datentyp PRIMARY KEY,
Feldname2 datentyp,
Feldname3 datentyp NOT NULL); 

Beispiel:

 

CREATE TABLE kunde
(kundennr int(8) UNSIGNED PRIMARY KEY,
vorname varchar(30),
nachname varchar(30) NOT NULL); 

 

BINARY

- Durch das Spaltenattribut "BINARY" wird bei Suchen und Sortieren die Groß- und Kleinschreibung beachtet.

- Felder mit diesem Spaltenattribut verfügen nur über die Datentypen CHAR und VARCHAR

Syntax:
CREATE TABLE tabellenname
(Feldname1 datentyp PRIMARY KEY,
Feldname2 datentyp BINARY NOT NULL); 

Beispiel:

CREATE TABLE kunde
(kundennr int(8) UNSIGNED PRIMARY KEY,
vorname varchar(30),
nachname varchar(30) BINARY NOT NULL);

 

DEFAULT

- Setzt dem Wert den zuvor angegebenen Standardwert
- verfügt über alle Datentypen außer TEXT und BLOB

Syntax:


CREATE TABLE tabellenname
(Feldname1 datentyp PRIMARY KEY,
Feldname2 datentyp DEFAULT x); 

Beispiel:

 

CREATE TABLE artikel
(artikelnr int(8) UNSIGNED PRIMARY KEY, artikelbezeichnung varchar(30),
einzelpreis FLOAT(6,2) DEFAULT 1.00); 

 

AUTO INCREMENT

- Bewirkt das dass Feld mit 1 aufsteigend ummeriert wird.
- verfügt über alle ganzzahligen numerischen Felder (alle INT)
- Einschränkung: Nur bei eindeutigen Feldern möglich: PRIMARY KEY / UNIQUE

Syntax:
CREATE TABLE tabellenname
(Feldname1 datentyp PRIMARY KEY AUTO INCREMENT,
Feldname2 datentyp);

Beispiel:
CREATE TABLE lieferant
(ieferid varchar(30) PRIMARY KEY AUTO INCREMENT,
nachname varchar(30));

 

UNSIGNED

- Alle eingegebenen Werte werden auf positive Werte geändert, falls sie zuvor negativ eingegeben wurden.
-Verfügt über alle numerischen Datentypen

Syntax:
CREATE TABLE tabellenname
(Feldname1 datentyp PRIMARY KEY,
Feldname2 datentyp UNSIGNED);

Beispiel:
CREATE TABLE bestellung
(bestnr int(8) AUTO_INCREMENT PRIMARY KEY,
artikelnr int(8) UNSIGNED,
stueck FLOAT(6,2) UNSIGNED);

-> stueck wird von -128 bis +127 zu 0 bis 255.

ZEROFILL

- Alle nicht vorhandenen Stellen (z.B. bei Eingabe von nur 6 anstatt 10 geforderten Stellen) werden mit 0 aufgefüllt.
- Verfügt über alle numerischen Datentypen
 

ZEROFILL muss vor dem PRIMARY KEY stehen !!!

Syntax:
CREATE TABLE tabellenname
(Feldname1 datentyp ZEROFILL PRIMARY KEY, Feldname2 datentyp); 

Beispiel:
CREATE TABLE bestellung
(bestnr int(8) AUTO_INCREMENT ZEROFILL PRIMARY KEY, artikelnr int(8) UNSIGNED,
stueck FLOAT(6,2) UNSIGNED); 

 

Tabellen anzeigen

Es werden alle Tabellen der aktuellen (oder der bei FROM angegeben) Datenbank angezeigt.

Syntax:
SHOW TABLES FROM datenbankname;

Beispiel bei Benutzung in der DB
SHOW TABLES;

 

Tabellenstruktur anzeigen

Es wird Struktur (Attribute, Datentype, Keys etc.) der angegebenen Tabelle angezeigt

Syntax:
DESCRIBE tabellenname;
DESC tabellenname;

 

Tabellen anlegen (einfach)

 

Es wird eine Tabelle mit dem angegebenen Tabellennamen sowie den angegebenen Feldnamen angelegt. Des Weiteren definiert man hierbei auch sofort DATENTYPEN und SPALTENATTRIBUTE(z. B. UNIQUE).

Syntax:
CREATE TABLE tabellenname
(Feldname1 datentyp,
Feldname2 datentyp,
Feldname3 datentyp);

Beispiel:

CREATE TABLE kunde
(kundennr int(8) UNSIGNED PRIMARY KEY,
vorname varchar(30),
nachname varchar(30),
plz char(5) UNSIGNED); 

 

Tabellen löschen

Die angegebene Tabelle wird gelöscht

Syntax:
DROP TABLE tabellenname;

Tabellentypen

- Tabellentypen müssen beim anlegen definiert werden.
- Standard bis 4.1: MYISAM
- Standard ab 5.0: INNODB (Nurnoch INNODB kann referenzielle Integrität realisieren).

Vorteile INNODB:
- Transaktionsfähig
- FOREIGN-KEY fähig
- Erst ab MySQL 4 verfügbar

Syntax:
CREATE TABLE tabellenname
(Feldname1 datentyp,
Feldname2 datentyp,
Feldname3 datentyp)
ENGINE = INNODB;

 

Spalten hinzufügen

- Es können eine oder mehrere Spalten eingefügt werden.

Syntax:
ALTER TABLE tabellenname
ADD feldname1 datentyp spaltenattribut,
ADD feldname2 datentyp spaltenattribut;

 

Beispiel:
ALTER TABLE kunde
ADD letzter_Zugriff TIMESTAMP; 

 

Spalte hinzufügen + Positionierung des hinzugefügten Feldes.

 

- Hinzugefügte Felder können positioniert werden

Syntax:
ALTER TABLE tabellenname
ADD feldname1 datentyp spaltenattribut FIRST,
ADD feldname2 datentyp spaltenattribut AFTER feldname1, ;
ADD feldname_n datentyp spaltenattribut;

Beispiel:
ALTER TABLE kunde
ADD personalausweisnr VARCHAR(xy) UNSIGNED FIRST,
ADD letzter_Zugriff TIMESTAMP AFTER personalausweisnr; 

 

Study