问一下简单的 数据库设计问题,来者有分

masterjames 2006-10-12 09:03:58
有一张入库表,中有部门,员工,产地等信息

 我在入库表中全部放ID,还是直接存名称更好.


 存ID查询语句为:SELECT EMP_NAME,DEP_NAME,AREA.. FROM T_IMPORT,T_emp,T_DEP,T_area
WHERE EMP.ID=IMPORT.ID AND IMPORT.ID=T_DEP.ID AND IMPORT....
这样的SQL语句关联的表特别多,效率不知道好不好.


如果直接保存名字: SELECT EMP_NAME,DEP_NAME,AREA.. FROM IMPORT
就行了.到底那种好.
...全文
328 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
pdcdiy 2006-10-17
  • 打赏
  • 举报
回复
肯定是加字段比较好,如果用*号的话,数据就非常冗余了
Eddie005 2006-10-17
  • 打赏
  • 举报
回复
顶~顶~
zhongme_007 2006-10-17
  • 打赏
  • 举报
回复
一直都用id
lxj_com2006 2006-10-14
  • 打赏
  • 举报
回复

把selct先保存为一个视图如:"aa_view" :

CREATE view ...
SELECT EMP_NAME,DEP_NAME,AREA.. FROM T_IMPORT a,T_emp,T_DEP b,T_area c
ON EMP.ID=IMPORT.ID AND IMPORT.ID=T_DEP.ID

在程序中:
select * from aa_view where ...
wqrz 2006-10-13
  • 打赏
  • 举报
回复
用友的表都是:
cInvCode(关键字段) cInvName(不允许重复) (存货编码,存货名称)

在库存里这2个字段都有,省的联查麻烦
liliang800207 2006-10-12
  • 打赏
  • 举报
回复
做一个View
wanglan8 2006-10-12
  • 打赏
  • 举报
回复
我认为用ID好.
chenyansong 2006-10-12
  • 打赏
  • 举报
回复
用ID做索引,用名称做冗余字段。
do2008 2006-10-12
  • 打赏
  • 举报
回复
顶 dabaicai(不再做菜鸟) ~~~
yzhwen 2006-10-12
  • 打赏
  • 举报
回复
我认为给分好...嘻嘻..~
yanghongliang 2006-10-12
  • 打赏
  • 举报
回复
用ID可以提高查询速度并且比较好的管理,你最好把各个表的关系
hxhope 2006-10-12
  • 打赏
  • 举报
回复
顶一下
handsomehuang 2006-10-12
  • 打赏
  • 举报
回复
我认为用ID好.
masterjames 2006-10-12
  • 打赏
  • 举报
回复
下周结贴
dabaicai 2006-10-12
  • 打赏
  • 举报
回复
根据实际需要
如果数据库不是很大的话,两个都要也没什么,而且相对处理起来也比较方便

如果数据库较大的话,就用ID,查询的时候最好用视图等,否则每次结合查询也不方便
rock8283 2006-10-12
  • 打赏
  • 举报
回复
我也认为ID和名称都要
Elysium 2006-10-12
  • 打赏
  • 举报
回复
使用ID作为表间索引字段,sql查询时能够提高速度,将名称作为冗余字段一起保存也能减少交叉查询的时间,不过可能要维护由于变更ID与名称值造成的后果
casoner 2006-10-12
  • 打赏
  • 举报
回复
个人认为要有ID
软件钢琴师 2006-10-12
  • 打赏
  • 举报
回复
个人认为ID和名称一起保存最好
tiankj 2006-10-12
  • 打赏
  • 举报
回复
从数据库理论的角度来说要在入库表中全部放ID
加载更多回复(4)

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧