Anfängerleitfaden zum Schreiben von mySQL-Datenbankschemas

Anfängerleitfaden zum Schreiben von mySQL-Datenbankschemas

Einer der wichtigsten, grundlegenden und intrinsischen Aspekte bei der Entwicklung eines Softwareprojekts ist ein richtig strukturiertes Datenbankschema. Es ist das Äquivalent zum Bau eines Hauses, das Sie sicherstellen müssen, dass das Fundament richtig gelegt wird, da sonst die Chancen, ein Qualitätshaus zu bauen, drastisch reduziert werden.





Überraschend einfacher als man denkt, lernen wir die verschiedenen Facetten kennen, die verwendet werden, um ein gut strukturiertes Datenbankschema zu schreiben.





wie viel kostet youtube premium familie

CREATE TABLE-Syntax

Öffnen Sie zunächst Ihren bevorzugten Texteditor. Das Erstellen eines Datenbankschemas erfordert nichts weiter als eine reine Textdatei. Eine Datenbank besteht aus mehreren Tabellen, von denen jede aus Spalten besteht, und die CREATE TABLE-Syntax wird verwendet, um eine einzelne Tabelle zu erstellen. Hier ist ein grundlegendes Beispiel:






CREATE TABLE users (
id INT NOT NULL,
is_active TINY INT NOT NULL,
full_name VAR CHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);

Wie Sie sehen können, wird dadurch eine Datenbanktabelle namens . erstellt Benutzer die aus vier Spalten besteht. Dies sollte eine ziemlich unkomplizierte SQL-Anweisung sein, die mit beginnt TABELLE ERSTELLEN , gefolgt vom Namen der Datenbanktabellen, dann in Klammern die durch Kommas 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 [OPTIONS]

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

In jeder Hinsicht sind die obigen Spaltentypen alles, was Sie brauchen, um gut konstruierte mySQL-Datenbankschemata zu schreiben.





Spaltenoptionen definieren

Beim Definieren von Spalten gibt es auch verschiedene Optionen, die Sie angeben können. Unten ist ein weiteres Beispiel für die TABELLE ERSTELLEN Stellungnahme:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
status ENUM('active','inactive') NOT NULL DEFAULT 'active',
balance DECIMAL(8,2) NOT NULL DEFAULT 0,
date_of_birth DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

Das obige mag ein wenig entmutigend aussehen, aber keine Sorge, es ist ganz einfach. Aufgeschlüsselt passiert Folgendes in der obigen Aussage:





  • Sie sollten immer NOT NULL für alle möglichen Spalten verwenden, um die Geschwindigkeit und Leistung der Tabelle zu verbessern. Dies gibt einfach an, dass die Spalte nicht leer / null bleiben kann, wenn eine Zeile eingefügt wird.
  • Versuchen Sie immer, die Spaltengröße so klein wie möglich zu halten, da dies die Geschwindigkeit und Leistung verbessert.
  • Die Ich würde Spalte ist eine ganze Zahl, ist auch der Primärschlüssel der Tabelle, was bedeutet, dass sie eindeutig ist, und wird jedes Mal um eins erhöht, wenn ein Datensatz eingefügt wird. Dies sollte im Allgemeinen für alle Tabellen verwendet werden, die Sie erstellen, damit Sie problemlos auf jede einzelne Zeile innerhalb der Tabelle verweisen können.
  • Die Status Spalte ist eine ENUM und muss entweder den Wert 'aktiv' oder 'inaktiv' haben. Wird kein Wert angegeben, beginnt eine neue Zeile mit dem Status 'aktiv'.
  • Die Balance Spalte beginnt bei 0 für jede neue Zeile und ist ein Betrag, der mit zwei Dezimalstellen formatiert ist.
  • Die Geburtsdatum Spalte ist einfach ein DATE, lässt aber auch einen Nullwert zu, da das Geburtsdatum bei der Erstellung möglicherweise nicht bekannt ist.
  • Zuletzt die hergestellt in Spalte ist ein TIMESTAMP und wird standardmäßig auf die aktuelle Zeit eingestellt, zu der die Zeile eingefügt wurde.

Das obige ist ein Beispiel für eine schön 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. Dies ist der Fall, wenn Sie zwei Tabellen durch eine Spalte miteinander verknüpfen und eine Eltern-Kind-Beziehung bilden. Wenn die Elternzeile also gelöscht wird, werden auch die erforderlichen untergeordneten Zeilen automatisch gelöscht.

Hier ist ein Beispiel:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
full_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) engine=InnoDB;
CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
userid INT NOT NULL,
amount DECIMAL(8,2) NOT NULL,
product_name VARCHAR(200) NOT NULL,
FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE
) engine=InnoDB;

Sie werden die FOREIGN KEY-Klausel als letzte Zeile bemerken. Diese Zeile besagt einfach, dass diese Tabelle untergeordnete Zeilen enthält, die durch die verknüpft sind Benutzeridentifikation Spalte in ihre übergeordnete Zeile, die die Ich würde Spalte der Benutzer Tisch. Dies bedeutet, dass jedes Mal, wenn eine Zeile aus der Benutzer Tabelle löscht mySQL automatisch alle entsprechenden Zeilen aus der Aufträge -Tabelle, die die strukturelle Integrität Ihrer Datenbank gewährleistet.

Beachten Sie auch die Engine=InnoDB am Ende der obigen Aussage. Obwohl InnoDB jetzt der Standard-MySQL-Tabellentyp ist, war dies nicht immer der Fall, daher sollte dies nur zur Sicherheit hinzugefügt werden, da Kaskadierung nur mit InnoDB-Tabellen funktioniert.

wie schickt man eine nachricht auf youtube

Mit Vertrauen gestalten

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

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

Teilen Teilen Tweet Email So fragen Sie mehrere Datenbanktabellen gleichzeitig mit SQL-Joins ab

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

Weiter lesen
Verwandte Themen Ü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!

Klicken Sie hier, um sich zu abonnieren