- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 数据库与数据表的基本操作
SET TALK OFF SET SAFETY OFF USE TSKC SELECT 2 USE TSTJ INDEX ON 图书编号 TAG TSBH SET ORDER TO TSGH SELECT 1 SET RELATION TO 图书编号 INTO B REPLACE ALL 单价 with TSTJ.单价 CLOSE ALL SET SAFETY ON SET TALK ON RETURN 2.设置表间的永久关系 永久关系是存储在数据库文件(.DBC)中的数据表之间的关系,它作为数据库的组成部分一直保留。它不像临时关系每次打开数据表时都要重新建立。 数据库中的数据表建立永久关系后,借助这种关系不仅仅从当前选定的表中访问数据,而且还可以访问相关数据表中的数据。 当在查询设计器,视图设计器、表单设计器中的数据环境中使用这些数据表时,这些永久关系将作为这些表之间的默认连接关系自动出现。而且以后使用查询文件,视图文件及表格文件时,这些永久关系也自动把相关数据表连接起来。 与永久关系的作用不同,临时关系是控制表之间记录指针的连动关系。永久关系不具有这个功能,而是使相关数据建立连接关系。 在永久关系中还可以建立参照完整性,对各数据表之间进行完整性约束。 表之间关系的类型 表与表之间的关系实际上就是,按照某一关键字建立的几个数据表之间相关记录的关系。 根据一个表中的记录与另一表中相关记录之间的对应数量关系,关系的类型可分为: 一对一关系:是指一个表中的一个记录与另一表中的唯一记录相关联。 一对多关系:是指一个表中的一个记录与另一表中的多个记录相关联,但另一表中的一个记录则只能与这个表中的唯一记录相对应。 在关系数据库设计时,应避免将表设计成“多对多关系”,通过数据规范化设计将“多对多关系”转换成“一对多关系”来建立数据库。也可以在两个表间建立一个连接表,两个表分别和连接表建立一对多关系,间接实现多对多关系 建立表间的永久连接 建立Rsbm与Rsgl的关联、Rsgl与Rsda的关联。 Rsgl与Rsda根据编号建立一对一的关联; 由于在Rsbm中一个部门可以在Rsgl中找到多条记录,所以两个数据表之间的关系为一对多的关系。两个表已根据共同字段“部门名”建立了索引,“一”方(Rsbm)建立了以“部门名”为索引标识的主索引,“多”方建立了以“部门名”为索引标识的普通索引。 在数据库设计器中建立永久关系 3.8 管理数据库 3.8.1 使用多个数据库 1.在项目中新建或添加数据库 2.从项目中移去数据库 3.打开多个数据库 4.设置当前数据库 5.访问其它数据库中的表 OPEN DATABASE Rsgl.dbc 打开数据库Rsgl OPEN DATABASE Example.dbc 打开Example并自动将其设为当前数据库 ?DBC() 显示当前数据库名 SELECT 4 选择第4工作区为当前工作区 USE Rsgl!Rsda.dbf 在第4工作区上打开数据表 BROWSE 浏览当前工作区(第4工作区)上的数据 SELE 2 选择第2工作区为当前工作区 ?Rsda.姓名 显示Rsda数据表的当前记录的姓名字段 6.关闭数据库 SET DATABASE TO Rsgl CLOSE DATABASE 另外,用CLOSE ALL命令可以关闭所有打开着的数据库及其他文件。 3.8.2 向数据库中添加和删除表 1.向数据库中添加表 2.将数据表从数据库中移走 项目管理器中选择要移走的数据表,单击“移去”按钮,系统即弹出确认对话框,单击“移去”命令即可将选定的数据表从数据库中移走,成为自由表;若单击“删除”按钮则可将选定的数据表从磁盘上删除。 3.8.3 参照完整性 参照完整性是为确保数据库中表间关系不被破坏而设置的一组规则。在用户修改、增加或删除相关表中的记录时,参照完整性将起保护作用。怎样才算破坏了连接关系呢?如建立了Rsbm和Rsgl两表的一对多关联,在此关联下,如果进行了如下操作: (1) 将Rsbm(父表)中一个父记录删除,而没删除Rsgl(子表)中所对应的一或多个记录,造成子记录无对应的父记录。 (2) 修改了Rsbm(父表)中某个记录的部门名,而没有修改子表Rsgl的相对应的记录,从而造成rsgl(子表)中一个或多个记录没有对应的父记录。 (3) 在Rsgl(子表)中增加了一个无父记录与其对应子记录。 解决不完整性的一般方法是编写触发器和存储过程代码来实现,但方法复杂。VF
原创力文档


文档评论(0)