Mit der Entwicklung des Informationszeitalters ist die Datenverwaltung immer wichtiger geworden und die Datenbank ist eines der grundlegendsten Datenverwaltungswerkzeuge. Datenbanken funktionieren gut in Bereichen, in denen große Mengen an Informationsspeicherung, schnelles Abrufen von Informationen und die Gewährleistung der Datenkonsistenz erforderlich sind. Im Erstellungsprozess einer Datenbank ist die Gestaltung ihrer Struktur und Leistung ein sehr wichtiger Schritt. In diesem Artikel erfahren Sie, wie Sie MySql-Einschränkungen und -Indizes verwenden, um die Datenqualität und Leistung beim Erstellen einer Datenbank zu verbessern.
Einschränkungen von MySql
Einschränkungen von MySql beziehen sich auf die Regeln, die die Daten in der Datenbank begrenzen und sicherstellen, dass die Daten beim Einfügen oder Aktualisieren die angegebenen Anforderungen erfüllen. Zu den von MySql unterstützten Einschränkungstypen gehören Primärschlüsseleinschränkungen, eindeutige Einschränkungen, Fremdschlüsseleinschränkungen, Nicht-Null-Einschränkungen, Standardwerteinschränkungen usw., die im Folgenden einzeln vorgestellt werden:
Primärschlüsseleinschränkungen sind die Spalten in der Tabelle, die Datensätze eindeutig identifizieren. Die Spaltenwerte des Primärschlüssels müssen eindeutig sein und dürfen nicht null sein. Primärschlüsseleinschränkungen werden beim Definieren der Tabelle deklariert, können beim Erstellen der Tabelle separat deklariert werden oder können später mit der ALTER TABLE-Anweisung hinzugefügt werden. Beispiel:
CREATE TABLE-Mitarbeiter (
id INT PRIMARY KEY, name VARCHAR(50), age INT
);
Die ID-Spalte in dieser Tabelle ist die Primärschlüsseleinschränkung, was bedeutet, dass der ID-Wert jedes Datensatzes eindeutig sein muss und nicht null sein darf.
Die eindeutige Einschränkung erfordert, dass der Wert der Spalte eindeutig sein muss, aber Nullwerte sind zulässig. Eine Tabelle kann über mehrere Unique-Constraint-Spalten verfügen, die ähnlich wie Primärschlüssel-Constraints verwendet werden. Zum Beispiel:
CREATE TABLE-Mitarbeiter (
id INT, email VARCHAR(50) UNIQUE, name VARCHAR(50), age INT
);
In dieser Tabelle ist die E-Mail-Spalte die einzige Einschränkung, was bedeutet, dass der E-Mail-Wert eindeutig sein muss, aber leer sein kann.
Fremdschlüsseleinschränkungen werden verwendet, um sicherzustellen, dass die Daten in der Tabelle die richtige Beziehung haben. Eine Fremdschlüsseleinschränkung ist eine Liste einer oder mehrerer Spalten, deren Werte mit den Werten einer Primärschlüssel- oder eindeutigen Einschränkungsspalte in einer anderen Tabelle übereinstimmen müssen. Beispiel:
CREATE TABLE-Mitarbeiter (
id INT PRIMARY KEY, name VARCHAR(50), age INT, department_id INT, FOREIGN KEY (department_id) REFERENCES department(id)
);
In dieser Tabelle ist die Spalte „department_id“ als Fremdschlüsseleinschränkung definiert und das Schlüsselwort REFERENCES wird verwendet, um auf den Primärschlüssel oder die Spalte mit eindeutigen Einschränkungen anderer Tabellen zu verweisen.
Nicht-Null-Einschränkung wird verwendet, um sicherzustellen, dass der Wert der Spalte nicht NULL ist. Zum Beispiel:
CREATE TABLE-mitarbeiter (
id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT
);
In dieser Tabelle erlaubt die Namensspalte keine Nullwerte.
Standardwertbeschränkungen werden verwendet, um sicherzustellen, dass beim Einfügen neuer Daten der Standardwert verwendet wird, wenn für die Spalte kein Wert angegeben ist. Beispiel:
CREATE TABLE-Mitarbeiter (
id INT PRIMARY KEY, name VARCHAR(50), age INT, hire_date DATE DEFAULT '2020-01-01'
);
In dieser Tabelle definiert die Spalte „hire_date“ den Standardwert 1. Januar 2020. Wenn der Wert dieser Spalte beim Einfügen von Daten nicht angegeben wird, lautet der Standardwert automatisch verwendet.
MySql-Index
MySql-Index ist eine in einer Tabelle erstellte Datenstruktur, um Daten in der Tabelle schnell zu finden und darauf zuzugreifen. Zu den von MySql unterstützten Indextypen gehören B-Tree-Index, Volltextindex, Hash-Index usw., die im Folgenden einzeln vorgestellt werden:
B-Tree-Index wird am häufigsten verwendet Indextyp und kann Daten schneller finden. B-Tree-Indizes umfassen Primärschlüsselindizes, eindeutige Indizes und gewöhnliche Indizes und werden auf die gleiche Weise erstellt.
Primärschlüsselindex und eindeutiger Index sind Indizes, die auf einer einzelnen Spalte oder mehreren Spalten basieren. Der Primärschlüsselindex ist der Index auf der Primärschlüsselspalte in der Tabelle Der Wert der Indexspalte muss eindeutig sein.
Gewöhnliche Indizes haben keine Eindeutigkeitsanforderungen und ermöglichen die Anzeige doppelter Werte in Indexspalten. Zum Beispiel:
CREATE TABLE-Mitarbeiter (
id INT PRIMARY KEY, name VARCHAR(50), age INT, INDEX name_index (name)
);
In dieser Tabelle ist die Spalte „name_index“ als normale Indexspalte definiert, um die Suche nach der Spalte „name“ zu beschleunigen.
Der Volltextindex ist ein Index zum Durchsuchen von Spalten mit Text, mit dem Textdaten mit Schlüsselwörtern schnell gefunden werden können. Zum Beispiel:
CREATE TABLE-Artikel (
id INT PRIMARY KEY, title VARCHAR(50), content TEXT, FULLTEXT search_index (title, content)
);
In dieser Tabelle ist die Spalte „search_index“ als Volltextindexspalte definiert, um die Suche in den Spalten „Titel“ und „Inhalt“ zu beschleunigen.
Der Hash-Index ist ein auf einem Hash-Algorithmus basierender Index, mit dem Datensätze schnell gefunden werden können. Hash-Indizes können nur für Gleichheitsabfragen verwendet werden, nicht für Bereichsabfragen und Sortierungen. Zum Beispiel:
CREATE TABLE student (
id INT PRIMARY KEY, name VARCHAR(50), age INT, INDEX age_index (age) USING HASH
);
In dieser Tabelle ist die Spalte „age_index“ als Hash-Indexspalte definiert, um die Suche nach der Altersspalte zu beschleunigen.
Fazit
Beim Erstellen einer Datenbank sind Einschränkungen und Indizes sehr wichtige Schlüsselfaktoren. Ihre ordnungsgemäße Verwendung kann die Datenqualität und Leistung der Datenbank verbessern. Bei der Verwendung von Einschränkungen und Indizes sollten Sie den geeigneten Typ entsprechend den Merkmalen und Anforderungen der Daten auswählen, um die besten Ergebnisse zu erzielen.
Das obige ist der detaillierte Inhalt vonMySql-Einschränkungen und -Indizes: So erstellen Sie effizient eine Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!