Maison >base de données >tutoriel mysql >Comment puis-je faire pivoter un schéma MySQL Entity-Attribute-Value (EAV) pour une récupération efficace des données ?
Pivotement du schéma MySQL Entity-Attribute-Value
La nécessité de faire pivoter un schéma d'entité-attribut-valeur (EAV) survient lorsqu'il y a de nombreux champs de métadonnées personnalisés qui ne peuvent pas être déterminés au préalable. Pour résoudre ce problème, vous pouvez créer des tables pour stocker les métadonnées communes, les attributs facultatifs et les valeurs d'attribut des fichiers.
Considérez le schéma suivant :
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) );
Pour récupérer les données dans le format souhaité , vous pouvez exploiter la fonction GROUP_CONCAT() dans MySQL :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!