设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1867|回复: 9
打印 上一主题 下一主题

[表] 请教表的设计方法和表间关系的问题

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2007-9-19 09:43:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表的设计有很多不同的方法,处理表间关系也各有各的做法。举个例子征求大家意见。
这里有三种建表方法。

第一种:
编码   名称      性别  年龄
01        财务科  
0101   王小二   男      30
0102   李小龙   男      35
0103   张小雨   女      25
02       人事科  
0201   李丽       女      22
0202   刘星       男      28
感觉这种方法占用空间小,但对数据处理麻烦,编码量大;

第二种:
单位码  单位     人员码   姓名     性别  年龄
01         财务科   0101     王小二   男      30
01         财务科   0102     李小龙   男      35  
01         财务科   0103     张小雨   女      25
02         人事科   0201     李丽       女      22  
02         人事科   0202     刘星       男      28
这种方法应该是冗余设计,查询速度快;

第三种:
建立主、子两个表,通过单位码一对多连接
主表:
单位码  单位
01         财务科
02         人事科
子表:
单位码  人员码   姓名     性别  年龄
01          0101     王小二    男      30
01          0102     李小龙    男      35  
01          0103     张小雨    女      25
02          0201     李丽        女      22  
02          0202     刘星        男      28
在罗斯文示例数据库中都是采用这种方法。

如果是您,会使用哪种方法?理由是什么?

对于第三种方法,因为有主子表,存在一个表间关系的问题。
可以在数据库中创建表间关系和参照完整性,也可以完全用代码来代替。
我的看法是:
        建好表以后,数据库应该是相对保持稳定的。那么在假设表结构稳定不变的情况下,创建关系可以保证数据的完整性,减少编码工作量(懒人的思想)。关系可能会使数据查询和更新的速度慢一点,但这种差别很小,用肉眼感觉不出来,除非一次更新很大量的数据。
        如果表结构不能保持固定,需要经常改动它的关系,那么用代码代替关系,遇到这种情况也是要改动代码的。改动关系和改动代码比较,我还是觉得改动关系比较简单。
        我觉得如果用代码代替关系,就不要用上面的第三种建表方法,用第一种建表方法编码空间最大。

对这个关系的问题,您又什么看呢?说详细点哦

[ 本帖最后由 t小宝 于 2007-9-19 10:23 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-9-19 10:17:54 | 只看该作者
我用的是第四种:
建立两个表,但不建立关系。输入的时候要输入部门和人员。
这样看来是麻烦,而且也有选择错误的时候,但是如果人员换了部门,对于历史数据按部门筛选就不会有问题。
关系型数据库的特点一个是级联处理,一个是节省空间,如果不在意这两个问题的时候,不建立关系也有好处。
3#
发表于 2007-9-19 10:23:49 | 只看该作者
如果人员会在部门间调动,应使用第三种。
另外“年龄”字段应更改为“出生年月”字段,而年龄是通过表达式计算得出,因为年龄不是一个固定值。
4#
发表于 2007-9-19 10:27:59 | 只看该作者
使用第三种
5#
发表于 2007-9-19 10:38:47 | 只看该作者
我一般采用2楼的方法
6#
发表于 2007-9-19 10:50:17 | 只看该作者
表结构该怎么建立,我的专栏文章中有这方面的描述,不妨去看看。
7#
发表于 2007-9-19 11:33:38 | 只看该作者
第三种,而且编码字段也是多余的。
8#
发表于 2007-9-19 14:40:18 | 只看该作者
学习哦... .........
9#
发表于 2009-12-18 11:28:42 | 只看该作者
学习了
大虾们真厉害
10#
发表于 2009-12-18 11:29:59 | 只看该作者
学习了
大虾们真厉害
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-14 05:11 , Processed in 0.075356 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表