方案一------------------------------------------------------
create table AAA
(
id varchar(8),
yuyan char(2),
en_content nvarchar(40),
cn_content nvarchar(40)
primary key(id)
)
id yuyan en_content cn_content
001 CN CHINA 中国
002 EN USA 美国create view v_aaa as
(
select id,
case when yuyan='EN' then en_content
when yuyan='CN' then cn_content end as mycontent
from AAA where id=''
)方案二------------------------------------------------------
create table AAA
(
id varchar(8),
yuyan char(2),
mycontent nvarchar(40)
primary key(id,yuyan)
)
id yuyan mycontent
001 CN 中国
001 EN CHINA
002 CN 美国
002 EN USAcreate view v_aaa as
(
select id,mycontent
from AAA where id='' and yuyan=''
)
问上面方案一的视图运行速度快,表合理;
还是方案二的视图运行数的快,表合理。
create table AAA
(
id varchar(8),
yuyan char(2),
en_content nvarchar(40),
cn_content nvarchar(40)
primary key(id)
)
id yuyan en_content cn_content
001 CN CHINA 中国
002 EN USA 美国create view v_aaa as
(
select id,
case when yuyan='EN' then en_content
when yuyan='CN' then cn_content end as mycontent
from AAA where id=''
)方案二------------------------------------------------------
create table AAA
(
id varchar(8),
yuyan char(2),
mycontent nvarchar(40)
primary key(id,yuyan)
)
id yuyan mycontent
001 CN 中国
001 EN CHINA
002 CN 美国
002 EN USAcreate view v_aaa as
(
select id,mycontent
from AAA where id='' and yuyan=''
)
问上面方案一的视图运行速度快,表合理;
还是方案二的视图运行数的快,表合理。
case when yuyan='EN' then en_content
when yuyan='CN' then cn_content end as mycontent 这样的条件sql语言会不会影响到执行性能啊。可能我上面说的不是很明白,但是我的意思就是一个表存储了中文和英文字段,一个id的中文和英文的意思是一样的。就是中文网站我要视图显示中文记录,英文网站我要英文显示记录。就想知道视图的执行性能。
方案一合理还是方案二合理?谢谢!
第三范式不存在非主属性对码的传递性依赖以及部分性依赖 ,
StudyNo | Name | Sex | Email | bounsLevel | bouns20040901 john Male [email protected] 优秀 $100020040902 mary famale [email protected] 良 $600这个完全满足了第二范式,但是bounsLevel和bouns存在传递依赖更改为:StudyNo | Name | Sex | Email | bouunsNo20040901 john Male [email protected] 120040902 mary famale [email protected] 2bounsNo | bounsLevel | bouns1 优秀 $1000 2 良 $600这里我比较喜欢用bounsNo作为主键,基于两个原因1)不要用字符作为主键。可能有人说:如果我的等级一开始就用数值就代替呢?2)但是如果等级名称更改了,不叫 1,2 ,3或优、良,这样就可以方便更改,所以我一般优先使用与业务无关的字段作为关键字。一般满足前三个范式就可以避免数据冗余。BCNF
消除了任何属性对码的部分和传递函数依赖。
primary key(id)
第二表的主键为:
primary key(id,yuyan)你说的是哪一范式啊?