Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengubah Skim Nilai Entiti-Atribut (EAV) MySQL untuk Pendapatan Data yang Cekap?

Bagaimanakah Saya Boleh Mengubah Skim Nilai Entiti-Atribut (EAV) MySQL untuk Pendapatan Data yang Cekap?

DDD
Lepaskan: 2024-12-08 14:24:15
asal
328 orang telah melayarinya

How Can I Pivot a MySQL Entity-Attribute-Value (EAV) Schema for Efficient Data Retrieval?

Memindahkan Skema Nilai-Atribut-Entiti MySQL

Keperluan untuk memutar skema nilai-atribut (EAV) timbul apabila terdapat banyak medan metadata tersuai yang tidak dapat ditentukan terlebih dahulu. Untuk menangani perkara ini, anda boleh membuat jadual untuk menyimpan metadata biasa, atribut pilihan dan nilai atribut untuk fail.

Pertimbangkan skema berikut:

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)
);
Salin selepas log masuk

Untuk mendapatkan semula data dalam format yang diingini , anda boleh memanfaatkan fungsi GROUP_CONCAT() dalam MySQL:

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Skim Nilai Entiti-Atribut (EAV) MySQL untuk Pendapatan Data yang Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan