Bei der Entwicklung eines Softwareprojekts ist einer der wichtigsten, grundlegendsten und wichtigsten Aspekte ein ordnungsgemäß strukturiertes Datenbankschema. Dies entspricht dem Bau eines Hauses, um sicherzustellen, dass das Fundament ordnungsgemäß gelegt wird. Andernfalls werden die Chancen für den Bau eines Qualitätshauses drastisch verringert.

Überraschend einfacher als man denkt, lernen wir die verschiedenen Facetten, die zum Schreiben eines gut strukturierten Datenbankschemas verwendet werden.

CREATE TABLE Syntax

Öffnen Sie zunächst Ihren Favoriten Texteditor. Das Erstellen eines Datenbankschemas erfordert lediglich eine Nur-Text-Datei. Eine Datenbank besteht aus mehreren Tabellen, die jeweils aus Spalten bestehen. Mit der Syntax CREATE TABLE wird eine einzelne Tabelle erstellt. Hier ist ein einfaches Beispiel:


CREATE TABLE-Benutzer (
id INT NICHT NULL,
is_active TINY INT NICHT NULL,
full_name VAR CHAR (100) NICHT NULL,
E-Mail VARCHAR (100) NICHT NULL
);

Wie Sie sehen können, wird eine Datenbanktabelle mit dem Namen erstellt

instagram viewer
Benutzer welches aus vier Spalten besteht. Dies sollte eine ziemlich einfache SQL-Anweisung sein, die mit beginnt TABELLE ERSTELLEN, gefolgt vom Namen der Datenbanktabellen, dann in Klammern die durch Komma getrennten Spalten der Tabelle.

Verwenden Sie die richtigen Spaltentypen

Wie oben gezeigt, werden die Spalten, aus denen die Tabelle besteht, durch Kommas getrennt. Jede Spaltendefinition besteht aus den drei gleichen Teilen:

COL_NAME TYPE [OPTIONEN]

Der Name der Spalte, gefolgt vom Spaltentyp und allen optionalen Parametern. Wir werden später auf die optionalen Parameter eingehen, konzentrieren uns jedoch auf den Spaltentyp. Nachfolgend sind die am häufigsten verwendeten verfügbaren Spaltentypen aufgeführt:

In jeder Hinsicht sind die oben genannten Spaltentypen alles, was Sie zum Schreiben gut aufgebauter mySQL-Datenbankschemata benötigen.

Spaltenoptionen definieren

Beim Definieren von Spalten können Sie auch verschiedene Optionen angeben. Unten ist ein weiteres Beispiel für die TABELLE ERSTELLEN Erklärung:


CREATE TABLE-Benutzer (
id INT NICHT NULL PRIMARY KEY AUTO_INCREMENT,
Benutzername VARCHAR (100) NICHT NULL EINZIGARTIG,
Status ENUM ('aktiv', 'inaktiv') NICHT NULL STANDARD 'aktiv',
balance DECIMAL (8,2) NOT NULL DEFAULT 0,
Geburtsdatum DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

Das Obige mag ein wenig entmutigend aussehen, aber ärgern Sie sich nicht, es ist ganz einfach. Aufgeschlüsselt, hier ist, was in der obigen Aussage passiert:

  • Sie sollten immer NOT NULL für alle möglichen Spalten verwenden, um die Geschwindigkeit und Leistung der Tabelle zu verbessern. Dies gibt lediglich an, dass die Spalte beim Einfügen einer Zeile nicht leer / null gelassen werden darf.
  • Versuchen Sie immer, die Spaltengröße so klein wie möglich zu halten, da dies zur Verbesserung von Geschwindigkeit und Leistung beiträgt.
  • Das Ich würde Die Spalte ist eine Ganzzahl, ist auch der Primärschlüssel der Tabelle, was bedeutet, dass sie eindeutig ist, und wird bei jedem Einfügen eines Datensatzes um eins erhöht. Dies sollte im Allgemeinen für alle von Ihnen erstellten Tabellen verwendet werden, damit Sie problemlos auf eine einzelne Zeile in der Tabelle verweisen können.
  • Das Status Die Spalte ist eine ENUM und muss entweder den Wert "aktiv" oder "inaktiv" haben. Wenn kein Wert angegeben wird, beginnt eine neue Zeile mit dem Status "aktiv".
  • Das Balance Die Spalte beginnt für jede neue Zeile bei 0 und ist ein Betrag, der mit zwei zwei Dezimalstellen formatiert ist.
  • Das Geburtsdatum Die Spalte ist lediglich ein DATUM, lässt jedoch auch einen Nullwert zu, da das Geburtsdatum bei der Erstellung möglicherweise nicht bekannt ist.
  • Zuletzt die hergestellt in Die Spalte ist ein TIMESTAMP und verwendet standardmäßig die aktuelle Zeit, zu der die Zeile eingefügt wurde.

Das Obige ist ein Beispiel für eine gut strukturierte Datenbanktabelle und sollte in Zukunft als Beispiel verwendet werden.

Einer der größten Vorteile der Verwendung relationaler Datenbanken wie mySQL ist seine hervorragende Unterstützung für Fremdschlüsseleinschränkungen und Kaskadierung. In diesem Fall verknüpfen Sie zwei Tabellen durch eine Spalte und bilden eine übergeordnete untergeordnete Beziehung. Wenn also die übergeordnete Zeile gelöscht wird, werden auch die erforderlichen untergeordneten Zeilen automatisch gelöscht.

Hier ist ein Beispiel:


CREATE TABLE-Benutzer (
id INT NICHT NULL PRIMARY KEY AUTO_INCREMENT,
Benutzername VARCHAR (100) NICHT NULL EINZIGARTIG,
full_name VARCHAR (100) NICHT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) engine = InnoDB;
TABELLE ERSTELLEN Bestellungen (
id INT NICHT NULL PRIMARY KEY AUTO_INCREMENT,
Benutzer-ID INT NICHT NULL,
Betrag DEZIMAL (8,2) NICHT NULL,
Produktname VARCHAR (200) NICHT NULL,
AUSLÄNDISCHER SCHLÜSSEL (Benutzer-ID) REFERENZEN Benutzer (ID) AUF LÖSCHEN VON KASKADE
) engine = InnoDB;

Sie werden die FOREIGN KEY-Klausel als letzte Zeile bemerken. Diese Zeile gibt einfach an, dass diese Tabelle untergeordnete Zeilen enthält, die durch die verknüpft sind Benutzeridentifikation Spalte zu ihrer übergeordneten Zeile, die die ist Ich würde Spalte der Benutzer Tabelle. Dies bedeutet, dass jedes Mal, wenn eine Zeile aus dem gelöscht wird Benutzer In der Tabelle löscht mySQL automatisch alle entsprechenden Zeilen aus der Aufträge Tabelle zur Gewährleistung der strukturellen Integrität in Ihrer Datenbank.

Beachten Sie auch die engine = InnoDB am Ende der obigen Aussage. Obwohl InnoDB jetzt der Standardtyp für mySQL-Tabellen ist, war dies nicht immer der Fall. Daher sollte dies hinzugefügt werden, um auf der sicheren Seite zu bleiben, da die Kaskadierung nur mit InnoDB-Tabellen funktioniert.

Design mit Vertrauen

Sie sind jetzt auf dem besten Weg, solide, gut strukturierte mySQL-Datenbankschemata zu erstellen. Mit den oben genannten Kenntnissen können Sie jetzt gut organisierte Schemata schreiben, die sowohl Leistung als auch strukturelle Integrität bieten.

Stellen Sie mit Ihrem vorhandenen Schema sicher, dass Sie wissen, wie Sie es mit diesen verwenden wesentliche SQL-Befehle.

Email
Abfragen mehrerer Datenbanktabellen gleichzeitig mit SQL-Verknüpfungen

Erfahren Sie, wie Sie SQL-Joins verwenden, um Abfragen zu optimieren, Zeit zu sparen und sich wie ein SQL-Power-User zu fühlen.

Verwandte Themen
  • Nicht spezifiziert
Über den Autor
Matt Dizak (18 Artikel veröffentlicht)Mehr von Matt Dizak

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Noch ein Schritt…!

Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.

.