先说下在数据库设计时,可以有以下方案实现多语:
(
ClientId int primary key,
NameChs nvarchar(50),
NameCht nvarchar(50),
NameEng varchar(200),
AddressChs nvarchar(50),
AddressCht nvarchar(50),
AddressEng varchar(200),
TelephoneNumber varchar(50)
)
一、为每个多语字段建立对应语言的字段列。
比如我们有一个客户表,记录了客户Id、客户名称、客户地址、客户电话等,其中客户名称和客户地址是多语的,而且需要支持简体中文、繁体中文和英语,于是我们可以将客户表设计如下:
create table Client(
ClientId int primary key,
NameChs nvarchar(50),
NameCht nvarchar(50),
NameEng varchar(200),
AddressChs nvarchar(50),
AddressCht nvarchar(50),
AddressEng varchar(200),
TelephoneNumber varchar(50)
)
这样做的优点是容易理解,容易查询,一个客户实例对应的就是数据库中的一条数据,与普通的非多语数据库无异,而且由于没有形成新的表,所以也不需要额外的Join,所以查询效率很高:
insert into Client values(1,'工商银行','工商