In dieser Challenge entwerfen und erstellen Sie eine Tabelle namens employee_contacts in PostgreSQL, um Kontaktdaten von Mitarbeitern zu speichern. Dabei stellen Sie die Datenintegrität durch die Verwendung geeigneter Datentypen und Constraints sicher. Sie arbeiten in einer bereits vorbereiteten Umgebung, in der die Tabelle employees bereits vorhanden ist.
Ihre Aufgabe besteht darin, sich als Benutzer postgres über psql mit der PostgreSQL-Datenbank zu verbinden und anschließend SQL-Befehle direkt auszuführen, um die Tabelle employee_contacts anzulegen. Die Tabelle soll Spalten für contact_id (Primärschlüssel, automatisch inkrementierend), employee_id (Fremdschlüssel mit Bezug auf die Tabelle employees), phone_number (eindeutig) und email (darf nicht leer sein) enthalten.
Mitarbeitertabelle erstellen
Entwerfen Sie eine Tabelle zur Speicherung von Mitarbeiterkontaktdaten und gewährleisten Sie die Datenintegrität durch passende Datentypen und Einschränkungen (Constraints).
Die Tabelle employees wurde bereits für Sie erstellt. Falls Sie diese nicht sehen, können Sie sie mit folgendem Befehl anlegen:
CREATE TABLE employees (
employee_id SERIAL PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL
);
Aufgaben
Erstellen Sie eine Tabelle namens employee_contacts in PostgreSQL. Die Tabelle muss Spalten für contact_id (Primärschlüssel), employee_id (Fremdschlüssel auf die Tabelle employees), phone_number (eindeutig) und email (darf nicht NULL sein) enthalten.
Stellen Sie sicher, dass die Spalte employee_id korrekt auf die Spalte employee_id in der Tabelle employees verweist.
Anforderungen
Die Spalte contact_id muss ein automatisch inkrementierender Primärschlüssel sein.
Die Spalte phone_number muss eindeutige Werte enthalten (Unique).
Die Spalte email darf keine NULL-Werte zulassen.
Die Spalte employee_id muss als Fremdschlüssel auf die Tabelle employees definiert sein.
Führen Sie die SQL-Befehle über psql aus.
Beispiele
Die Tabellen employees und employee_contacts sollten die folgende Struktur aufweisen:
Verwenden Sie die Anweisung CREATE TABLE, um die Tabelle zu erstellen.
Nutzen Sie den Datentyp SERIAL für die Spalte contact_id, um automatisch eindeutige Ganzzahlen zu generieren.
Verwenden Sie den Constraint PRIMARY KEY, um den Primärschlüssel festzulegen.
Nutzen Sie den Constraint UNIQUE, um sicherzustellen, dass die Spalte phone_number keine Duplikate enthält.
Verwenden Sie den Constraint NOT NULL, damit die Spalte email zwingend ausgefüllt werden muss.
Setzen Sie den Constraint FOREIGN KEY ein, um die Beziehung zwischen der Spalte employee_id in der Tabelle employee_contacts und der Spalte employee_id in der Tabelle employees herzustellen.
Denken Sie daran, sich mit sudo -u postgres psql an der PostgreSQL-Datenbank anzumelden, bevor Sie die SQL-Befehle eingeben.
In dieser Challenge bestand die Aufgabe darin, eine PostgreSQL-Tabelle namens employee_contacts in einer vorgegebenen Umgebung zu erstellen. Dies umfasste den Entwurf der Tabellenstruktur mit Spalten für contact_id (Primärschlüssel, automatisch inkrementierend), employee_id (Fremdschlüssel mit Bezug auf die Tabelle employees), phone_number (eindeutig) und email (darf nicht NULL sein).
Zur Lösung war es notwendig, sich als Benutzer postgres via psql mit der Datenbank zu verbinden und die entsprechenden SQL-Befehle auszuführen, um die Tabelle und ihre Constraints zu definieren. Dadurch wurde die Datenintegrität und die korrekte Verknüpfung zwischen den Tabellen sichergestellt.