首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

主从表外键联系关系的时候,是关联ID好些还是关联名称好些

2012-09-14 
主从表外键关联的时候,是关联ID好些还是关联名称好些?一般来说关联主表ID的,我想为了查询方便,是不是关联

主从表外键关联的时候,是关联ID好些还是关联名称好些?
一般来说关联主表ID的,
我想为了查询方便,是不是关联用名称更方便一点,不知道效率是否会受到影响。

例如:
一级分类

SQL code
create table [CategoryT](CateT_ID int identity(1,1),CateTName nvarchar(30) not null UNIQUE, -- 一级分类名称Order_ID tinyint not null,--排序IDprimary key(CateT_ID))
二级分类: 利用级联更新 使二级分类和一级分类数据保持一致。
SQL code
create table [CategoryS](CateS_ID int identity(1,1),CateTName nvarchar(30) not null foreign key references CategoryT(CateTName) on update cascade, --一级分类名称CateSName nvarchar(30) not null UNIQUE,--  二级分类名称Order_ID tinyint not null,--排序IDprimary key(CateS_ID))


记录数据的时候可以直接用名称
比如
二级分类 所属分类 (之前的做法 所属一级分类的ID CateT_ID)
切割机 电动工具 (在显示的时候需要多进行一步根据一级分类ID查询一级分类名称)
磨光机 电动工具  


感觉直接关联名称,然后用级联更新方便点。 
弊端是在分类进行修改时候,要进行一次相关数据的修改。 数据多的话应该会影响效率点慢
但是分类名称等修改的情况一般比较少发生。

用ID关联的好处是,修改了名称,不需要对子关联进行名称修改。 缺点是每次查询相关数据都要根据ID去获得
名称,这种操作平时用的很多。


希望高手能指点一下,用那种方式好些?

[解决办法]
果断ID ID是数字型的,比字符串的优势大
[解决办法]
才看明白此帖的意思

醉翁之意不在酒

热点排行