Erstellen von Datenbanken und Tabellen in SQL

click fraud protection

Sind Sie bereit, mit dem Erstellen von Datenbanken und Tabellen zu beginnen? Strukturierte Abfragesprache? In diesem Artikel untersuchen wir den Vorgang des manuellen Erstellens von Tabellen mit den Befehlen CREATE DATABASE und CREATE TABLE. Wenn Sie neu in SQL sind, möchten Sie vielleicht einige lesen SQL-Grundlagen zuerst.

Geschäftsanforderungen

Bevor wir uns an die Tastatur setzen, müssen wir uns vergewissern, dass wir die Anforderungen des Kunden gut verstehen. Wie erhält man diese Erkenntnis am besten? Natürlich im Gespräch mit dem Kunden! Nachdem wir uns mit dem Human Resources Director von XYZ getroffen haben, haben wir erfahren, dass sie ein Widget-Vertriebsunternehmen sind und hauptsächlich daran interessiert sind, Informationen über ihr Verkaufspersonal zu verfolgen.

Die XYZ Corporation teilt ihre Vertriebsmitarbeiter in östliche und westliche Regionen auf, von denen jede in viele Gebiete unterteilt ist, die von einzelnen Vertriebsmitarbeitern abgedeckt werden. Die Personalabteilung möchte das von jedem Mitarbeiter abgedeckte Gebiet sowie die Gehaltsinformationen und die Aufsichtsstruktur jedes Mitarbeiters verfolgen. Um diese Anforderungen zu erfüllen, haben wir eine Datenbank bestehend aus drei Tabellen entworfen, die in der

instagram viewer
Entity-Relationship-Diagramm auf dieser Seite.

Auswahl einer Datenbankplattform

Wir haben uns für a. entschieden Datenbankverwaltungssystem (oder DBMS), das auf der Structured Query Language (SQL) basiert. Daher sollten alle unsere Befehle zur Datenbank- und Tabellenerstellung unter Berücksichtigung von Standard-ANSI-SQL geschrieben werden.

Als zusätzlichen Vorteil stellt die Verwendung von ANSI-kompatiblem SQL sicher, dass diese Befehle auf jedem DBMS funktionieren, das den SQL-Standard unterstützt, einschließlich Oracle und Microsoft SQL Server. Wenn Sie noch keine Plattform für Ihre Datenbank ausgewählt haben, führt Sie Database Software Options durch den Auswahlprozess.

Erstellen der Datenbank

Unser erster Schritt besteht darin, die Datenbank selbst zu erstellen. Viele Datenbankverwaltungssysteme bieten in diesem Schritt eine Reihe von Optionen, um Datenbankparameter anzupassen, aber unsere Datenbank ermöglicht nur die einfache Erstellung einer Datenbank. Wie bei allen unseren Befehlen sollten Sie die Dokumentation Ihres DBMS konsultieren, um festzustellen, ob die von Ihrem spezifischen System unterstützten erweiterten Parameter Ihren Anforderungen entsprechen. Lassen Sie uns den Befehl CREATE DATABASE verwenden, um unsere Datenbank einzurichten:

DATENBANK ERSTELLEN Personal

Beachten Sie besonders die im obigen Beispiel verwendete Groß- und Kleinschreibung. Bei SQL-Programmierern ist es gängige Praxis, für SQL-Schlüsselwörter wie "CREATE" alle Großbuchstaben zu verwenden. und "DATENBANK", während für benutzerdefinierte Namen wie die "Personal"-Datenbank nur Kleinbuchstaben verwendet werden Name. Diese Konventionen sorgen für eine einfache Lesbarkeit.

Nachdem wir unsere Datenbank entworfen und erstellt haben, können wir nun mit der Erstellung der drei Tabellen beginnen, die zum Speichern der Personaldaten der XYZ Corporation verwendet werden.

Erstellen unserer ersten Tabelle

Unsere erste Tabelle besteht aus personenbezogenen Daten für jeden Mitarbeiter unseres Unternehmens. Wir müssen den Namen, das Gehalt, die ID und den Manager jedes Mitarbeiters angeben. Es ist eine gute Entwurfspraxis, den Nach- und Vornamen in separate Felder zu trennen, um die Datensuche und -sortierung in Zukunft zu vereinfachen. Außerdem verfolgen wir den Vorgesetzten jedes Mitarbeiters, indem wir in jeden Mitarbeiterdatensatz einen Verweis auf die Mitarbeiter-ID des Vorgesetzten einfügen. Werfen wir zunächst einen Blick auf den gewünschten Mitarbeitertisch.

Das Attribut ReportsTo speichert die Manager-ID für jeden Mitarbeiter. Aus den gezeigten Beispieldatensätzen können wir feststellen, dass Sue Scampi die Managerin von Tom Kendall und John Smith ist. Es gibt jedoch keine Informationen in der Datenbank über Sues Manager, wie durch den NULL-Eintrag in ihrer Zeile angezeigt.

Jetzt können wir SQL verwenden, um die Tabelle in unserer Personaldatenbank zu erstellen. Bevor wir dies tun, stellen wir sicher, dass wir uns in der richtigen Datenbank befinden, indem wir einen USE-Befehl ausführen:

USE-Personal;

Alternativ kann das "DATENBANK-Personal"; Befehl würde die gleiche Funktion ausführen. Jetzt können wir uns den SQL-Befehl ansehen, mit dem die Tabelle unserer Mitarbeiter erstellt wurde:

CREATE TABLE Mitarbeiter
(Mitarbeiter-ID INTEGER NICHT NULL,
Nachname VARCHAR(25) NICHT NULL,
Vorname VARCHAR(25) NICHT NULL,
meldet an INTEGER NULL);

Beachten Sie wie beim obigen Beispiel, dass die Programmierkonvention vorschreibt, dass wir für SQL-Schlüsselwörter nur Großbuchstaben und für benutzerdefinierte Spalten und Tabellen Kleinbuchstaben verwenden. Der obige Befehl mag auf den ersten Blick verwirrend erscheinen, aber dahinter steckt eigentlich eine einfache Struktur. Hier ist eine verallgemeinerte Ansicht, die die Dinge ein wenig aufklären könnte:

CREATE TABLE Tabellenname
(attribute_name Datentypoptionen,
...,
Datentypoptionen für attribute_name);

Attribute und Datentypen

Im vorherigen Beispiel lautet der Tabellenname "Mitarbeiter" und wir schließen vier ein Attribute: Mitarbeiter-ID, Nachname, Vorname und Berichte an. Der Datentyp gibt die Art der Informationen an, die wir in jedem Feld speichern möchten. Die Mitarbeiter-ID ist eine einfache Ganzzahl, daher verwenden wir den Datentyp INTEGER sowohl für das Feld "Mitarbeiter-ID" als auch für das Feld "Reportsto". Die Mitarbeiternamen sind Zeichenketten variabler Länge und wir erwarten nicht, dass ein Mitarbeiter einen Vor- oder Nachnamen hat, der länger als 25 Zeichen ist. Daher verwenden wir für diese Felder den Typ VARCHAR(25).

NULL-Werte

Wir können auch entweder angeben NULL oder NICHT NULL im Optionsfeld der CREATE-Anweisung. Dies teilt der Datenbank einfach mit, ob für dieses Attribut NULL-Werte (oder leere) zulässig sind, wenn Zeilen zur Datenbank hinzugefügt werden. In unserem Beispiel verlangt die Personalabteilung, dass für jeden Mitarbeiter eine Mitarbeiter-ID und ein vollständiger Name hinterlegt werden. Allerdings hat nicht jeder Mitarbeiter einen Vorgesetzten (der CEO berichtet an niemanden!), daher erlauben wir NULL-Einträge in diesem Feld. Beachten Sie, dass NULL der Standardwert ist und das Weglassen dieser Option implizit NULL-Werte für ein Attribut zulässt.

Aufbau der verbleibenden Tabellen

Werfen wir nun einen Blick auf die Gebietstabelle. Ein kurzer Blick auf diese Daten zeigt, dass wir eine Ganzzahl und zwei Zeichenfolgen mit variabler Länge speichern müssen. Wie in unserem vorherigen Beispiel erwarten wir nicht, dass die Regions-ID mehr als 25 Zeichen benötigt. Einige unserer Gebiete haben jedoch längere Namen, daher werden wir die zulässige Länge dieses Attributs auf 40 Zeichen erweitern.

Schauen wir uns die entsprechende SQL an:

CREATE TABLE-Gebiete
(Gebiets-ID INTEGER NICHT NULL,
Gebiet Beschreibung VARCHAR(40) NICHT NULL,
regionid VARCHAR(25) NICHT NULL);

Schließlich verwenden wir die Tabelle EmployeeTerritories, um die Beziehungen zwischen Mitarbeitern und Gebieten zu speichern. Detaillierte Informationen zu jedem Mitarbeiter und Gebiet sind in unseren beiden vorherigen Tabellen gespeichert. Daher brauchen wir in dieser Tabelle nur die beiden ganzzahligen Identifikationsnummern zu speichern. Wenn wir diese Informationen erweitern müssen, können wir einen JOIN in unseren Datenauswahlbefehlen verwenden, um Informationen aus mehreren Tabellen zu erhalten.

Diese Methode der Datenspeicherung reduziert Redundanzen in unserer Datenbank und gewährleistet eine optimale Nutzung des Speicherplatzes auf unseren Speicherlaufwerken. Wir werden den JOIN-Befehl in einem zukünftigen Tutorial ausführlich behandeln. Hier ist der SQL-Code, um unsere letzte Tabelle zu implementieren:

CREATE TABLE Mitarbeitergebiete
(Mitarbeiter-ID INTEGER NICHT NULL,
territorialid INTEGER NICHT NULL);

Der Mechanismus, den SQL bietet, um die Struktur einer Datenbank nach der Erstellung zu ändern

Wenn Sie heute besonders schlau sind, haben Sie vielleicht bemerkt, dass wir bei der Implementierung unserer Datenbanktabellen "aus Versehen" eine der Designanforderungen ausgelassen haben. Der HR-Direktor der XYZ Corporation verlangte, dass die Datenbank die Gehaltsinformationen der Mitarbeiter nachverfolgt, und wir haben dies in den von uns erstellten Datenbanktabellen versäumt.

Es ist jedoch nicht alles verloren. Wir können den ALTER TABLE-Befehl verwenden, um dieses Attribut zu unserer bestehenden Datenbank hinzuzufügen. Wir möchten das Gehalt als ganzzahligen Wert speichern. Die Syntax ist der des CREATE TABLE-Befehls sehr ähnlich, hier ist sie:

ALTER TABLE-Mitarbeiter
Gehalt HINZUFÜGEN INTEGER NULL;

Beachten Sie, dass wir angegeben haben, dass NULL-Werte für dieses Attribut zulässig sind. In den meisten Fällen gibt es keine Option beim Hinzufügen einer Spalte zu einer vorhandenen Tabelle. Dies liegt daran, dass die Tabelle bereits Zeilen ohne Eintrag für dieses Attribut enthält. Daher fügt das DBMS automatisch einen NULL-Wert ein, um die Lücke zu füllen.

instagram story viewer