Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

表间不建立一对多关系有什么不好之处

小陈  发表于:2013-04-11 15:12:55  
复制

我在本站下载了一人事管理系统学习(烁星珠宝公司的),其系统中有“个人档案”、“工作经历”、“教育情况”等表,表间全没有建立一对多关系,“个人档案”中的主键字段为“工号”,属于文本型。按我理解,“个人档案”表与“工作经历”、“教育情况”等表肯定是存在一对多关系的。请教:

1、主键字段为文本型规范吗?

2、表间全没有建立一对多关系好不好?对窗体、查询、报表的设计会带来什么影响?

 

Top
杜超-2号 发表于:2013-04-12 12:18:58
物品编号,规格,型号
关键点:建表尽量少重复
1.假设《物料基础档案表》有物品编号,规格,型号,
2.别的表(例如:出库,入库表)引用这些数据
时,只要建个【物品编号】字段就好了,规格,型号字段就不要了
3.如果窗体要显示规格,型号,用组合框或查询实现
(规格,型号用组合框或查询调取《物料基础档案表》实现)
4.就像报销明细里,不用[员工姓名],而用的[员工编号]一个意思
5.我们一般不看表,而是看窗体的,所以表是编号没事。

 



煮江品茶 发表于:2013-04-12 16:16:37

第一个问题的解答:
1、主键的作用在于唯一性的标识记录,所以主键是什么类型的数据都可以,重点是每条记录上的主键值不能重复。
2、通常主键选用自动编号数据类型(实际是长整型,只是数据库做了自增的处理)较为妥当,其优点在于不必要另外写自动编码的函数。如果选用其他类型的数据,需要写一个自定义函数来解决自动编号的问题,已满足唯一性的要求。

第二个问题的解答:
1、在数据表设计时,设计数据表的关系并不是先决条件。所谓表间建立关系,实际上是建立表的约束条件,也就是说确定一个是否依赖另一个表。我们不建立关系,也并不是不利用表之间的关系,否则的话数据的组织就无规律可循了。只是在于我们怎么样去表达这种关系而已。表达一个主表和一个子表之间的关系,我们大体可以有这么几种办法:
(1)通过关系视图建立表间关系;
(2)在查询的视图中建立表间关系;
(3)在VB中通过编写sql语句(常用语窗体或控件的数据源,或者ADO代码等),或者其子句(常用语筛选时)。

2、为什么通常都需要在关系视图中建立表间关系呢?其道理在于一旦在关系视图中设计了表间关系,在其后设计查询、校验数据等方面Access就会提供很多的自动的功能,也就是你不必在多余写很多代码来解决这些问题。这能极大的提高开发和维护的效率。

3、凡是有利便有弊,有些情况下事先设计了表间的关系,也会带来很多的麻烦。举个典型的例子:假设我们有一个授课表,这个表会存在几个父表,大体应该有教师表、学科表、班级表。如果事先我们建立了授课表与其三个父表之间的关系。那么授课表的记录就会受到这三个表的同时约束,也就是,一条授课表记录,必须同时录入教师ID、学科ID和班级ID。这样的约束在现实中会出现问题,在安排很多教师的课程表时,几个方面的资源(师资、时间资源、学科资源、班级资源等)是不可能即刻确定的,可能需要反复调整。这样一种现实的情况,表示在录入一条授课记录时,总会有一些外键(教师ID、学科ID或班级ID)是不确定的。如果你又事先建立了表间的关系,那么这条记录你就没法录入了。

当然你可以采取一些变通的处理,比如在学科表中建立一个"带确定学科"记录,在班级表中建立一个“待确定班级”记录。这样确实能解决问题,不过你将为其他地方的处理花费代价,比如你需要在班级筛选学生时,过滤掉这条“待确定班级”记录等等。除了这种处理外,可能还存在其他基于建立了数据表关系后,对此类问题的变通处理。不过都会存在跷跷板效应,也就是说简化了一处,其它诸多地方繁琐了。

那么在诸如此类,一子多父的情况下,我们一般只事先建立一对父子关系,其他的父子关系,我们可以按照1种的一些办法来处理之。至于应该建立那一对父子关系,这就要看实际问题和你对问题的判断和考虑了。以授课表为例,应该建立的父子关系为教师表和授课表,其他两个父子关系大体不需要先建立。



小陈 发表于:2013-04-13 10:27:14
煮江品茶的回复似一杯清茶,清香可口,回味无穷。

总记录:3篇  页次:1/1 9 1 :