Heim >Datenbank >MySQL-Tutorial >Wie kann ich ein MySQL-Entity-Attribute-Value-Schema (EAV) für einen effizienten Datenabruf umstellen?
Pivoting des MySQL-Entity-Attribute-Value-Schemas
Die Notwendigkeit, ein Entity-Attribute-Value-Schema (EAV) zu Pivotieren, entsteht, wenn dies der Fall ist viele benutzerdefinierte Metadatenfelder, die nicht im Voraus bestimmt werden können. Um dies zu beheben, können Sie Tabellen erstellen, um allgemeine Metadaten, optionale Attribute und Attributwerte für Dateien zu speichern.
Berücksichtigen Sie das folgende Schema:
CREATE TABLE FileBase ( id VARCHAR(32) PRIMARY KEY, name VARCHAR(255) UNIQUE NOT NULL, title VARCHAR(255), author VARCHAR(255), created DATETIME NOT NULL, ); CREATE TABLE Attributes ( id VARCHAR(32) PRIMARY KEY, name VARCHAR(255) NOT NULL, type VARCHAR(255) NOT NULL ); CREATE TABLE FileAttributes ( sNo INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, fileId VARCHAR(32) NOT NULL, attributeId VARCHAR(32) NOT NULL, attributeValue VARCHAR(255) NOT NULL, FOREIGN KEY fileId REFERENCES FileBase (id), FOREIGN KEY attributeId REFERENCES Attributes (id) );
Um die Daten im gewünschten Format abzurufen können Sie die Funktion GROUP_CONCAT() in MySQL nutzen:
Das obige ist der detaillierte Inhalt vonWie kann ich ein MySQL-Entity-Attribute-Value-Schema (EAV) für einen effizienten Datenabruf umstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!