Tabellen erstellen

Verfügbar

Sinnvolle Erstellung von Tabellen

In den vorherigen Vorlesungen haben wir uns bereits ein wenig mit Abfragen zum Erstellen von Tabellen vertraut gemacht, jetzt ist es an der Zeit, tiefer darauf einzugehen.

Das Erstellen einer Tabelle ist dem Deklarieren einer Klasse in Java sehr ähnlich und weist dieses Muster auf:

CREATE TABLE table_name (
	column1 datatype,
	column2 datatype,
	column3 datatype,
   ....
);

Schreiben wir zum Beispiel eine Abfrage, die eine Tabelle mit Benutzern erstellt:

CREATE TABLE user (
	id INT,
	name VARCHAR(100),
	level INT,
	created_date DATE,
);

Es sieht sehr einfach aus, da viele Nuancen hier nicht angegeben sind.

Erstens kann die Tabelle zusätzliche Einstellungen haben.

Und zweitens kann jede Spalte zusätzliche Einstellungen haben.

Und wir beginnen mit den Einstellungen zum Erstellen von Spalten.

Schlüssel in der Tabelle

Neben dem Namen und dem Datentyp kann eine Tabellenspalte auch folgende Einstellungen haben:

PRIMÄRSCHLÜSSEL Die Spalte ist der Schlüssel der Tabelle
EINZIGARTIGER SCHLÜSSEL Alle Spaltenwerte müssen eindeutig sein.
Standardwert Standardwert
NICHT NULL Das Verbot, den Wert NULL zu akzeptieren
AUTO_INCREMENT SQL Server erhöht den Wert automatisch, wenn der Tabelle ein neuer Datensatz hinzugefügt wird
GENERIERT Berechnetes Feld
LAGERUNG Wo Daten gespeichert werden: auf der Festplatte oder im Speicher
KOMMENTAR Kommentar zur Spalte, z. B. Titel in der Landessprache

Im Folgenden werden wir einige davon betrachten.

Erstens ist es PRIMARY KEY .

Meistens ist dies eine separate Spalte mit dem Namen id und dem Typ INT. Dies ist der sogenannte „Hauptschlüssel“ der Tabelle, und alle ihre Zeilen haben eindeutige Werte für diesen Schlüssel. Es wird hauptsächlich verwendet, damit andere Tabellen auf die Datensätze unserer Tabelle verweisen und auf deren spezifischen Datensatz verweisen können.

Zweitens ist UNIQUE KEY .

In mancher Hinsicht ähnelt es PRIMARY KEY, obwohl seine semantische Last völlig anders ist. Wenn eine Spalte das UNIQUE-Attribut hat, müssen alle Werte in dieser Spalte eindeutig sein. Ein gutes Beispiel für den Unterschied zwischen UNIQUE KEY und PRIMARY KEY ist die Personenliste im Passamt.

Die Steuernummer ist ein PRIMÄRSCHLÜSSEL und dient dazu, die richtige Person aus anderen Tabellen leicht identifizieren zu können.

Die Passnummer ist ein EINZIGARTIGER SCHLÜSSEL. Es dürfen keine zwei Personen die gleiche Passnummer haben. Die Passnummer kann jedoch geändert werden. Zum Beispiel bei der Änderung des Nachnamens. Und die Steuernummer bleibt für immer bei Ihnen. Dies ist die Hauptaufgabe von PRIMARY KEY. Ein Beispiel für eine Abfrage, die den PRIMARY KEY angibt:

CREATE TABLE user (
	id INT PRIMARY KEY,
	name VARCHAR(100),
	level INT,
	created_date DATE,
);

Datentypeinstellungen

Es gibt weniger wichtige, aber nützliche Attribute.

DEFAUL-Wert

Beim Einfügen von Daten (Hinzufügen einer neuen Zeile) in eine Tabelle können Sie die Werte einiger Spalten weglassen, wenn diese einen Standardwert haben. In diesem Fall legt der SQL-Server einfach den Wert der Spalte selbst fest.

Ab Version 8 von MySQL können Sie einen Ausdruck als Wert angeben.

NICHT NULL

Wenn Sie beim Erstellen einer Tabelle das NOT NULL-Attribut für eine Spalte angeben, stellt SQL Server sicher, dass in dieser Spalte kein NULL-Wert gespeichert werden kann. Standardmäßig kann jede Spalte einen NULL-Wert haben, sogar eine INT-Spalte. Was für einen Java-Programmierer etwas nicht offensichtlich ist.

AUTO_INCREMENT

Es wird normalerweise für Spalten-IDs verwendet. Wenn Sie einer Tabelle eine neue Zeile hinzufügen, möchten Sie unbedingt, dass der SQL-Server diesem Eintrag eine ID zuweist. Wer weiß besser als der Server, wie viele Zeilen er in der Tabelle hat? Vor allem, wenn Anfragen von verschiedenen Clients an denselben SQL-Server gehen.

Genau das macht das Attribut AUTO_INCREMENT. Beim Hinzufügen einer neuen Zeile übergeben wir einfach nichts als ID, und SQL Server gibt die richtige ID für diesen Datensatz an: Er nimmt einfach die ID des letzten vorhandenen Datensatzes und erhöht sie um 1. Dieses Attribut kann nur sein Wird mit ganzzahligen und reellen Zahlentypen verwendet. Und natürlich machen wir ein Beispiel für die Erstellung einer solchen Tabelle:

CREATE TABLE user (
	id INT PRIMARY KEY AUTO_INCREMENT,
	name VARCHAR(100) NOT NULL,
	level INT DEFAULT 1,
	created_date DATE NOT NULL,
);
Kommentare
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Auf dieser Seite gibt es noch keine Kommentare