Access交流中心

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

表间关系

宋和兴  发表于:2011-05-01 16:20:33  
复制

1问:

通过对字段值属性进行查阅设置所产生的表间关系

通过表间关系编辑建立的表间关系有什么区别

 

2问:

实施参照一般情况要不要勾选,在什么情况下一定要勾选

 

Top
Lee 发表于:2011-05-02 10:20:55

1.通过对字段属性进行查阅设置建立关系我没试过,建立关系方法一般有两种方法:一是建立查询时建立表间的临时关系以调用不同表间的数据;二是事先编辑好表间的关系。两种方法虽大同小异,但用途不同。

临时建立关系——可根据你的需要而定(调用哪个表的数据),而且主次(父子)关系可与事先确定的表的主次关系相反,所以临时关系是为了方便你查询时随时调用其它表的数据。

事先建立表间关系——是为了对数据输入进行规范和便于对数据进行修改,即“实施参照完整性”、“级联更新”、“级联删除”。

 

2.实施参照完整性最好勾选,尤其当数据库较复杂表较多时,以下用例子加以说明。

例如:

你有一个《部门人事资料表》,里面有“姓名”字段,该字段是属性为无重复。

另外你还有《奖惩记录表》、《人员出勤表》等表,里面都有“姓名”字段(当然属性设置不一样,这些表内“姓名”字段可能是有重复的,也可能是无重复的)。

假设你想把《部门人事资料表》作为一个主表(因里面有部门所有人员的名单),用姓名与其它表建立关系,这时你做法如下:

点工具栏中关系图标-把需建立关系的表(例如以上三个表)按右键添加到图中-点选《部门人员资料表》中的“姓名”字段(不要放手),拖到《奖惩记录表》中的“姓名”字段上,其它如此类推。这样就能以《部门人事资料表》中“姓名”字段为父关系,与其它各表建立联系了。

在建立关系时会弹出一个对话框,问你“是否实施参照完整性”、“级联更新相关字段”、“级联删除相关记录”。

实施参照完整性——主要作用是防止输入错误,例如你部门内有员工名张三,建立关系后你首先要在主表即《部门人事资料表》内输入姓名张三,否则与其建立了关系的出勤表、奖 惩记录表内无法输入“张三”这个姓名,这样就防止了你在其它表内输入错误的姓名,输错姓名实际使用中是很常见的。

级联更新相关字段——其作用是为了方便记录更改,例如你想把“张三”改名为“张四”,你只需要把《部门人事资料表》中的“张三”改为“张四”,这样与其建立了关系的出勤表、奖惩记录表中的张三也全部改为了张四。

级联删除相关记录——作用与级联更新类似,只是作用从方便更新记录变为删除记录。



兔斯基 发表于:2011-05-02 10:46:49

人事资料里的“姓名”字段属性怎么能设为“无重复”?



Lee 发表于:2011-05-02 21:39:43
这有什么奇怪呢,人事资料表好比人事档案,人事档案一般没有重复姓名,如特殊情况有同名同性,一般也必须加以区分。数据库实际应用中有很多类似性质的表,某些字段内容是不能重复的,例如我现时的“生产管理系统”,产品资料表中的“产品编号”就是不能重复的,也就是每个产品编号都是唯一的。

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