Pengoptimuman Struktur Pangkalan Data Berbilang Bahasa
Soalan ini meneroka struktur pangkalan data yang optimum untuk menyimpan data berbilang bahasa sambil mengelakkan keperluan untuk pengubahsuaian jadual atau pertindihan data. Tiga pendekatan dibentangkan:
Pendekatan 1:
Pendekatan ini menggabungkan data ke dalam satu jadual dengan lajur khusus bahasa, seperti:
[ products ] id (INT) name-en_us (VARCHAR) name-es_es (VARCHAR) name-pt_br (VARCHAR) description-en_us (VARCHAR) description-es_es (VARCHAR) description-pt_br (VARCHAR) price (DECIMAL)
Penghadan: Memerlukan pengubahsuaian jadual untuk setiap bahasa baharu yang ditambahkan.
Pendekatan 2:
Pendekatan ini mencipta jadual berasingan untuk setiap bahasa, seperti sebagai:
[ products-en_us ] id (INT) name (VARCHAR) description (VARCHAR) price (DECIMAL) [ products-es_es ] id (INT) name (VARCHAR) description (VARCHAR) price (DECIMAL)
Penghadan: Medan harga pendua dalam setiap jadual bahasa. Memerlukan penciptaan jadual baharu untuk setiap bahasa baharu.
Pendekatan 3 (Disyorkan):
Pendekatan ini menggunakan jadual neutral dengan jadual terjemahan berasingan dengan struktur seperti:
[languages] id (INT PK) code (VARCHAR) [products] id (INT PK) neutral_fields (MIXED) [products_t] id (INT FK, PK) language (INT FK, PK) translated_fields (MIXED)
Kelebihan:
Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Struktur Pangkalan Data Berbilang Bahasa untuk Penyimpanan dan Pengambilan Yang Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!