11
สคีมาสำหรับฐานข้อมูลหลายภาษา
ฉันกำลังพัฒนาซอฟต์แวร์หลายภาษา ตราบใดที่รหัสแอปพลิเคชันดำเนินไปการ localizability ไม่ใช่ปัญหา เราสามารถใช้ทรัพยากรเฉพาะภาษาและมีเครื่องมือทุกประเภทที่ทำงานได้ดีกับพวกเขา แต่วิธีที่ดีที่สุดในการกำหนดสกีมาฐานข้อมูลหลายภาษาคืออะไร สมมติว่าเรามีตารางจำนวนมาก (100 หรือมากกว่า) และแต่ละตารางสามารถมีหลายคอลัมน์ที่สามารถแปลเป็นภาษาท้องถิ่นได้ (คอลัมน์ nvarchar ส่วนใหญ่ควรเป็นภาษาท้องถิ่น) ตัวอย่างเช่นหนึ่งในตารางอาจเก็บข้อมูลผลิตภัณฑ์: CREATE TABLE T_PRODUCT ( NAME NVARCHAR(50), DESCRIPTION NTEXT, PRICE NUMBER(18, 2) ) ฉันสามารถนึกถึงสามวิธีในการสนับสนุนข้อความหลายภาษาในคอลัมน์ NAME และ DESCRIPTION: แยกคอลัมน์สำหรับแต่ละภาษา เมื่อเราเพิ่มภาษาใหม่ให้กับระบบเราต้องสร้างคอลัมน์เพิ่มเติมเพื่อเก็บข้อความที่แปลเช่นนี้: CREATE TABLE T_PRODUCT ( NAME_EN NVARCHAR(50), NAME_DE NVARCHAR(50), NAME_SP NVARCHAR(50), DESCRIPTION_EN NTEXT, DESCRIPTION_DE NTEXT, DESCRIPTION_SP NTEXT, PRICE NUMBER(18,2) …