- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十八章关联.ppt
第十八章:关联 数据库主要是由数据表所组成的,同一个数据库下的数据表,也可能因为共用某些数据字段而产生关联。 建立良好的关联可使数据库更易于维护,有助于数据库程序的开发,但是想建立一个具有良好关联的数据库,却不是件容易事情,必须了解关联的意义及优点。 例如:有一个客户数据表设计如下: 但是如果我们需要统计出各地区客户的分布人数,由于没有地区字段,SQL语句只能写成如下: select left(地址,3)as 地区,count (left(地址,3)) as 条数 from 客户 group by left(地址,3) 但当录入数据格式不规则,则统计结果不准确。 解决办法: 1)不许录错数据格式 2)对数据表进行修改,增加一个字段“地区” 但是由于“地区”这个字段重复量太大,通常用“地区代号”再建立一张表: 这样两个表之间就有一种关联。当“客户”数据表展现在用户前面时,应该将“地区代号”换成“地区”。如何将两 个关联的数据表结合起来浏览,利用data environment可帮助我们简化关联建立工作。 1.关联与数据表的浏览 例:要将mdb03.mdb中,地区、客户数据表关联起来浏览。(ch17\ex1.vbp) 2.关联与数据表的修改 在mdb03.mdb中“客户”数据表中,如果要输入、修改客户记录, 此时输入员必须记住各地区的“地区代号” 这恐怕不现实,比较好的办法是让用户用选取的方式来输入“地区”字段,而且选取的结果会反应到“客户”数据表的“地区代号”字段中。此时我们必须使用datacombo控件。 在窗体上添加data combo控件。Datacombo控件属于外挂式的控件,使用之前必须引用。 工程/部件/microsoft datalist controls 6.0(oledb) 在data combo中有几个属性比较重要: rowsource:设置datacombo列表中数据源。 Listfield:设置一个在datacombo列表中要显示字段值的字段。 Boundcolum:是rowsource所指定数据源中的字段名,用于建 立一个与被修改字段产生关联的字段。 Datasource:通常用来指定需要更新的数据库。 Datafield:在指定数据源中要更新的数据源。 例:要为mdb03.mdb“客户”数据表编写一个修改记录的程序。(ch17\ex5.vbp) 3.1对多关联 在books01.mdb中有“订单”和“订单明细”表,在“订单”中一条记录可以与“订单明细”表多条记录对应,我们称“订单”为主表,而另一个称为明细表,这两个数据表以“订单代号”产生关联。 例:要为“订单”、“订单明细”表编写关联程序,即是“订单”所有记录显示出来,但“订单明细”部分则会随着用户所选择的“订单”的当前记录来改变。见下图: (ch18\ex3.vbp) 例:利用books01.mdb中订单明细数据表,编写一个产品与订单明细关联应用程序。见下图:(CH18\ex4.vbp) * 练习:数据库score1.mdb中有5张表: 求出每位教师“得分”(计算方法:得分=项目1*0.4+项目2*0.3+项目3*0.3)且显示结果,显示顺序:系名称、专业名称、班级、教师名称、得分。(ch17\ex9.vbp) * * * * *
文档评论(0)