设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 5993|回复: 14
打印 上一主题 下一主题

[其它] 浅谈Access表关系

[复制链接]
跳转到指定楼层
1#
发表于 2006-9-3 02:39:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



早期的数据库不是关系数据库,而Access是关系数据库。数据库主要是存放或记录现实生活中某些对象或某些事件所发生的信息或数据。而这些信息客观的存在着某些“关系”,比如说“一对一”、“一对多”和“多对多”的关系。当这些信息和数据被存放或记录到数据库中时,它们之间依然有着特定的关系。


早期开发的数据库,可以用一个表来记录所有数据,如同现在的Excel。在长期使用中,人们发现,单表存放数据,必然存在着数据重复输入和保存。重复输入容易产生数据错误,而这类错误很难察觉。重复保存不仅增加文件的字节数,而当重复的数据不相同时,便会让人迷茫,产生置疑!


关系数据库,是多表数据库。它要求人们按数据之间的关系来建立存放数据的容器——表的关系。“一对一”的数据,只要建一个表;“一对多”的数据则要建两个表;而“多对多”的数据只能通过三个表来反映它们之间的关系。“一对一”关系,常反映的是某一对象的不同属性和特征,如人的姓名、性别、身份证号、生日等,而人的年龄则是“一对多”的关系。“一对多”的关系,常反映的是某一对象所发生的事件或行为的信息,如与某家公司的交易、学生的成绩、员工工资的发放、病人每次的就医事件等。“一对多”关系是较为普遍的关系。在Access中,可以建立一个主表和一个相关表,当在主表中建立了主键以及在相关表中建立一个与主键同类型的、相同名的字段,Access便会自动的为两表建立起关系。主表中的信息一次输入便可以在相关表中重复使用。主表中的记录无谓对与错,因为只有一条记录。“多对多”关系,则是两个主表通过与其相链的相关表而反映的。如,在学生成绩中,学生与学科;在销售中,商品与客户;就医时,医生与病人、药品与病人等都是“多对多”的关系。





建立合理“关系”,有助于提高数据库的性能,加快运行速度,便捷查询,为窗体奠定良好的基础。表关系处理不当,数据库也能运行(早期的数据库同样能运行),只是性能差一些,或者用代码来弥补,甚至你还得多学几门编程言语才管用……。





在初学Access时,应该注重表的学习,多琢磨表的设计和表之间的关系,反复推敲每个字段和表。当输入数据后,如果表中有空值,就应该考虑表的设计是否合理。空值给查询带来诸多麻烦,是无奈的表现。如果,建成的表能在Access查询窗口中得到我们所要的数据,那再建窗体时,就不会出现一些莫名其妙的问题了。当能娴熟的设计表和处理正确的表关系后,便可向代码、SQL、DAO、ADO等进军了。





以上是个人的体会仅供参考。


[此贴子已经被作者于2006-9-30 3:20:31编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-9-4 21:29:00 | 只看该作者
謝謝,好
3#
发表于 2006-9-7 22:18:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
4#
 楼主| 发表于 2006-10-13 22:52:00 | 只看该作者
为什么要锁定我??????????????????????????????
5#
发表于 2006-10-14 01:21:00 | 只看该作者
就是呀,当建立有些查询时,我搞不懂关系,结果就无法做到了,哎
6#
 楼主| 发表于 2006-10-14 01:31:00 | 只看该作者
表关系来自于数据关系。只有弄明白数据之间的关系才能建好表。你也可以设计一个表,填上些数据,然后让Access来“拆分数据库”。
7#
发表于 2006-11-14 18:20:00 | 只看该作者
说的很好,但我还是不会建啊?????
8#
 楼主| 发表于 2006-11-14 18:30:00 | 只看该作者
把你的数据库(主要是表)发上来让大家讨论讨论,有助于Access的学习。
9#
发表于 2006-11-14 18:31:00 | 只看该作者
说得好,
10#
发表于 2006-11-14 22:50:00 | 只看该作者
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 17:01 , Processed in 0.096228 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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