Eine Oracle-Datenbank kann Dutzende oder sogar Hunderte von Tabellen enthalten, jede mit Hunderten oder Tausenden von Datenzeilen. Wenn Sie zusätzliche, benutzerdefinierte Daten in einer Oracle-Datenbank speichern möchten, ist es oft am besten, eine neue Tabelle für die hinzuzufügenden Daten zu erstellen. Sie können auch die Datenspalten definieren, die in der neuen Tabelle gespeichert werden sollen.
Erstellen einer Basistabelle
Sie müssen den Oracle SQL-Programmiercode verwenden, um eine Tabelle zu erstellen. Beim Definieren einer neuen Tabelle müssen Sie den Namen der Tabelle angeben, und Sie müssen außerdem mindestens eine Spalte definieren, die in die Tabelle aufgenommen werden soll. Eine beispielhafte SQL-Anweisung zum Erstellen einer Tabelle ist unten dargestellt.
CREATE TABLE mytable
(
column1 VARCHAR(30),
column2 DATE
);
Die CREATE TABLE-Zeile weist die Datenbank an, eine neue Tabelle mit dem Namen “mytable” zu erstellen. Die Tabelle ist so definiert, dass sie zwei Spalten enthält. Nach der CREATE TABLE-Zeile werden die Spalten in der Tabelle definiert, wobei Klammern den Spaltendefinitionscode einschließen.
Die erste definierte Spalte mit dem Namen “Spalte1” ist als Spalte vom Typ VARCHAR(30) definiert, was bedeutet, dass sie alphanumerische Daten mit bis zu 30 Zeichen speichern kann, die in dieser Spalte pro Datenzeile gespeichert werden sollen. Die zweite definierte Spalte mit dem Namen “column2” ist als Spalte vom Typ DATE definiert, was bedeutet, dass sie Datumswerte speichern kann.
Datentypen für Spalten
Für jede Spalte in einer Tabelle ist ein Datentyp definiert. Zu den am häufigsten in einer Datenbanktabelle verwendeten Datentypen gehören die folgenden.
-
BOOLEAN – ermöglicht das Speichern von Werten von WAHR oder FALSCH
-
DATUM – ermöglicht das Speichern von Datumswerten
-
INT – ermöglicht das Speichern ganzzahliger Werte, keine Dezimalzahlen
-
TIME – ermöglicht das Speichern von Zeitwerten (Stunden, Minuten, Sekunden)
-
TIMESTAMP – ermöglicht das Speichern von Datums- und Zeitwerten
-
VARCHAR(n) – ermöglicht das Speichern von alphanumerischen Werten mit einer als n definierten maximalen Zeichenlänge
Spalte als NOT NULL definieren
Eine Spalte kann auch als NOT NULL definiert werden, dh sie darf nicht leer sein und muss immer einen Wert haben. Unten sehen Sie ein Beispiel für das Erstellen einer Tabelle mit einer Spalte, die als NOT NULL definiert ist.
CREATE TABLE mytable
(
column1 VARCHAR(30),
column2 DATE
column3 VARCHAR(15) NOT NULL
);
Das obige Beispiel definiert “column3” als NOT NULL, was erfordert, dass für jede Datenzeile ein Wert darin eingegeben wird.
Primärschlüsselspalte in einer Tabelle
Eine Tabelle in einer Oracle-Datenbank kann viele Datenspalten enthalten. Jede Tabelle hat im Allgemeinen eine als PRIMARY KEY definierte Spalte, die eindeutige Werte speichert, die jede Datenzeile identifizieren. Der Primärschlüssel ermöglicht es auch, eine Tabelle mit einer anderen Tabelle zu verknüpfen, sodass Daten in einer Tabelle mit Daten in einer anderen Tabelle übereinstimmen können.
Ein Primärschlüssel ist oft ein numerischer Wert, kann aber auch alphanumerisch sein. Die folgende Beispiel-SQL-Anweisung erstellt eine Tabelle mit einer Spalte, die als Primärschlüssel bestimmt ist.
CREATE TABLE mytable
(
pk_ID INT PRIMARY KEY,
column1 VARCHAR(30),
column2 DATE,
column3 VARCHAR(15) NOT NULL
);
Die mit der obigen Beispiel-SQL-Anweisung erstellte Tabelle enthält eine Spalte mit dem Namen “pk_ID”, die als PRIMARY KEY und als Integer-Datentyp definiert ist, was bedeutet, dass sie nur numerische Werte enthalten kann. Da es sich um die Primärschlüsselspalte handelt, darf sie standardmäßig auch nicht leer oder NULL sein.