




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualFoxpro程序设计第5章数据库与视图 计算机科学学院 5 1创建数据库 提要 5 2数据库的打开 关闭及删除 5 3数据库中表的添加与移去 5 4数据词典与设置参照完整性 5 5视图 5 1创建数据库 数据库是一个容器文件 包含表 表间关系 视图 连接以及存储过程等 数据库的创建分为两步 1 创建数据库2 添加 创建各类包含对象 表 添加或创建 表间永久关系 创建 视图 本地视图 远程视图 连接 远程视图使用 存储过程 数据库的初始化 完整性控制 一致性控制等 1 使用数据库设计器 项目管理器中 数据 选项卡 新建 按钮 新建数据库 按钮 文件 菜单或工具栏上 新建 按钮 新建 数据库 文件类型 新建文件 由此进入数据库设计器界面 2 命令方式 直接创建 命令 CREATEDATABASE 功能 在指定的位置建立一个数据库文件 此时 该数据库将创建并自动打开 工具栏上出现库名 但数据库设计器并未打开 需要用修改数据库的方法打开示例 创建数据库D YT VFTEST 数据1 DBC 1 菜单操作 项目管理器中 菜单上 常用 2 命令 CREADATAD YT VFTEST 数据1 DBC 5 2数据库的打开 关闭及删除 5 2 1打开数据库菜单操作 1 文件 菜单 打开 或工具栏上 打开 按钮 文件类型选 数据库 选择数据库文件 确定 按钮 2 项目管理器 打开项目 数据 选项卡 选中数据库 展开 号或按右侧 打开 按钮 工具栏上出现相应数据库名 命令方式 命令 OPENDATABASE EXCLUSIVE SHARED NOUPDATE VALIDATE 说明 1 DatabaseName 指定被打开的数据库名 如果不指定名称或使用 弹出 打开 对话框 然后选择要打开的数据库 2 EXCLUSIVE SHARED 以 独占 或 共享 方式打开数据库 3 NOUPDATE 数据库以只读方式打开 4 VALIDATE 检查出数据库中引用的对象 如表 索引等 是否合法 5 2 2关闭数据库 菜单方式 在项目管理器中 数据 选项卡 选中数据库 按右侧 关闭 按钮 工具栏上相应数据库名消失 命令方式 格式1 CLOSEDATA关闭当前数据库格式2 CLOSEDATAALL关闭所有数据库格式3 CLOSEALL关闭所有打开的文件 5 2 3删除数据库 菜单方式 在项目管理器中 数据 选项卡 选中数据库 按右侧 移去 按钮 有两种选择 从项目中移去 从磁盘上删除 命令方式 数据库必须首先关闭 DELETEDATABASE DELETETABLES RECYCLE 删除指定的 数据库文件 一并删除包含的表文件 将删除的文件放入到WINDOWS回收站 5 3数据库中表的添加与移去 1 添加表 数据库设计器 窗口内 单击鼠标右键 单击 添加表 命令示例 添加 学生表 到 学生成绩 数据库中 2 移去表 数据库设计器 窗口内 选中表 单击鼠标右键 单击 删除 命令示例 将 学生表 从 学生成绩 数据库中 移去 5 4数据词典与设置参照完整性 数据词典是包含数据库中所有信息的一个表 存储在数据词典中的信息称为称为元数据 即记录关于数据的数据 如长表名 长字段名 数据库表字段名长达128个字符 自由表字段名最多为10个字符 字段有效性规则和触发器 以及有关数据库中对象的定义 如视图和命名连接等 数据词典与设置参照完整性 数据库中最重要的成分是数据库表 与自由表相比 数据库表具有以下特性 1 可以使用长表名 最多可以包含128个字符 长字段名 自由表为10字符 数据库表可到128个字符 2 可以为字段指定标题和添加注释 3 可以指定字段默认值和输入掩码 4 可以规定字段级规则和记录级规则 5 支持主关键字 参照完整性和表间永久关系 6 支持INSERT UPDATE DELETE触发器 5 4 1长表名 长字段名与注释 1 设置长表名与注释数据库表设计器的 表 选项卡中设置 方法 1 打开数据库设计器 选中表 右键菜单中 修改 进入数据库表设计器 2 表设计器的 表 选项卡中 表名 文本框中设置 长表名 下方 表注释 文本框中设置 注释 长表名 代替短表名来标识数据库表 定义了长表名 表在界面中显示长表名 表注释 表的注释可以使表的功能易于理解 示例 给数据库表 学生表 设置长表名并注释 2 设置长字段名 数据库表设计器的 字段 选项卡中设置 方法 1 打开数据库设计器 选中表 右键菜单中 修改 进入数据库表设计器 2 表设计器的 字段 选项卡 字段名 列表选中字段 修改字段名 自由表的字段名最多可包含10个字符 而数据库字段名最多可以包含128个字符 从库中移去表 其长字段名将被截断为10个字符 一个表和数据库相关联时 必须使用长字段名来引用该表中的字段 示例 给数据库表 学生表 设置长字段名 5 4 2设置字段属性 1 设置字段标题 输入掩码与显示格式数据库表设计器的字段卡片中设置 方法 1 打开数据库设计器 选中表 右键菜单中 修改 进入数据库表设计器 2 表设计器的 字段 卡片中 选定某字段 在下方 显示栏 中设置 字段标题 用于在浏览窗口或表单设计时显示该字段的标识名 示例 给学号字段设置字段标题并浏览 设置输入掩码与显示格式 格式 显示格式 又称输出掩码 用于在浏览窗口或表单中该字段值的显示样式 示例 学号字段输出格式 99999 浏览 输入掩码 用于规定该字段在用编辑 浏览窗口或表单中进行输入的格式 对应于字段的每一位 应指明一个输入掩码 常用掩码及其意义 1 设置字段标题 输入掩码与显示格式示例 为学号字段指定输入掩码 99999 表示只允许输入6位数字 2 设置字段注释字段注释的作用是备忘 输入方式 字段卡片上右下方 字段注释栏目 示例 为学生表的 学号 字段设置显示标题为 在校学生学号 3 设置字段有效性规定该字段输入值的合法性 包括 规则 信息 默认值三项 规则 字段有效性规则 一个逻辑表达式 函数或过程 可以用规则框右边的表达式生成器生成 信息 当规则返回逻辑假 F 时 显示的信息 默认值 若大多数记录取相同值 如性别 则可以指定该字段默认值为该相同值 示例 对学号字段字段有效性规则 LEN ALLTRIM 学号 6信息 学号应不低于6位 对性别字段 默认值 男 5 4 3设置记录规则 用于规定两个或两个以上字段的输入值的合法性 包括 记录规则 触发器两类 1 记录规则在数据库表的表设计器中 表 卡片左下方 记录有效性 中有两栏 规则 一个逻辑表达式 应含有两个或两个以上字段 可以通过右侧按钮进入表达式生成器生成 信息 当规则栏表达式返回逻辑假 F 时显示的内容 示例 对学生表 设置记录有效性规则如下 记录规则 LEN ALLTRIM 学号 6 and 入校成绩 580信息 学号或入校成绩有误 2 触发器 触发器用于在插入 更新 删除记录时 运行一个逻辑表达式或存储过程来检测合法性 其结果返回逻辑值 在字段规则 记录规则 SQL的主键约束和触发器中 触发器是最后执行的 触发器 有三种 插入触发器 检测插入是否合法 返回 T 允许插入 否则拒绝插入 更新触发器 检测更新是否合法 返回 T 允许更新 否则拒绝更新 删除触发器 检测删除是否合法 返回 T 允许删除 否则拒绝删除 5 4 4表间关系 VFP的表间关系有两种 自由表之间建立关联形成的临时关系 数据库表间建立的永久关系 后者一直存在 直至被删除或表被移出数据库为止 数据库表间永久关系可以表现在 1 查询设计器 视图设计器中 自动作为默认连接条件 2 表单 报表设计时 在数据环境设计器中的默认连接 3 用于存储参照完整性信息 永久关系也分为一对一 一对多 多对多三种 主表 父表 主索引或候选索引 从表 子表 候选索引 一对一关系普通索引 一对多关系在数据库设计器中 建立表的永久关系 该关系用连线表示 可以编辑修改 可以删除 示例 建立学生表与成绩表 课程表与成绩表之间一对多的永久关系 编辑 删除以上关系 5 4 5设置参照完整性 1 关于数据库的完整性控制数据库系统运行中 必须保证数据的正确 有效和一致 完整性控制就是要保证这一点 完整性规则包括 实体完整性 域完整性和参照完整性 1 实体完整性 用于标识和区分各个实体的主关键字不能取空值 如学号不能为空 以保证实体的完整 有效 2 域完整性 属性 字段 值必须取在合法的范围内 如性别 3 参照完整性 一个实体的信息分散存储在几张表中 根据关键字的值相互参照 此时 一个关系中属性的取值要参照其它关系 例如 学生 学号 姓名 性别 入校成绩 成绩 学号 课程号 成绩 课程 课程号 课程名称 课时 成绩表中 学号是被参照关系 学生 的主关键字 课程号是被参照关系 课程 的主关键字 它们称为成绩关系的外关键字 参照完整性规则 关系的外关键字必须取被参照关系中主关键字的值 或取空值 本例中 成绩中的学号 必须取学生表中已有学号 课程号必须取课程表中已有的课程号 2 设置完整性规则 VFP的数据库中 通过建立更新规则 插入规则 删除规则 来检查当更新 插入 删除发生时 参照关系是否正确 步骤1 建立表间永久关系 步骤2 打开数据库设计器 数据库 菜单 清理数据库 步骤3 数据库设计器 数据库 菜单或右键菜单 编辑参照完整性 VFP的参照完整性规则包括 1 更新规则 更新主表中记录时 子表中相参照的记录 级联 用新关键字更新主表中相关记录 如学号更新 限制 若子表中有相关记录存在 则禁止主表更新 忽略 管它呢 随便 2 插入规则 在子表中插入一个新记录时 主表中相应的记录 限制 若父表中无相关主关键字 则禁止子表插入 忽略 管它呢 随便 3 删除规则 删除主表中记录时 子表中相参照的记录 级联 当主表中记录删除时 子表中相关记录全部删除 限制 若子表中有相关记录存在 则禁止主表删除 忽略 管它呢 随便 参照完整性设置示例 分别设置学生 成绩和课程 成绩间的参照完整性 分析 学生表与成绩表间 以学号呈一对多的关系 课程表与成绩表间 以课程号呈一对多的关系 所以 学生是父表 成绩是子表 课程是父表 成绩是子表 参照关系应该是 更新 删除 级联 插入 限制 1 建立学生 主索引 学号 成绩 普通索引 学号 课程 主索引 课程号 成绩 普通索引 课程号 间的永久关系2 清理数据库3 编辑参照关系 更新 删除为 级联 插入为 限制 5 5视图 1 视图的概念 视图是一个虚拟表 是VFP中用于查询数据的一种方法 视图中的数据可以来源于几个数据库表 称为基表 甚至来源于另一个视图 可以通过指定的字段和条件对基表中的有关数据进行查看 又可以在视图上修改数据 并将修改后的数据反馈回基表 视图本身不存储数据 而是只存储视图的定义 在数据库的 DBC文件中 运行视图时 根据视图定义从基表中提取数据 2 视图分类 本地视图 基于本地表的视图远程视图 通过连接 CONNECTION 从远程数据源获取数据的视图 3 用视图设计器创建视图 视图的创建可以用视图向导或视图设计器进行 Step1 打开数据库 Step2 进入视图设计器或向导 如下 菜单方式 1 文件 菜单或工具栏 新建 选择 视图 新建文件 或 向导 2 数据库 菜单 新建本地视图 3 数据库设计器 右键菜单 新建本地视图 命令方式 CREATEVIEW 命令窗口 Step3 使用视图设计器 1 选择查询输出字段或表达式 2 建立数据表之间的联接3 指定数据筛选4 设置排序依据和分组依据5 设置更新条件下面 以建立 学生成绩视图 为例说明之 课程号 Step1 打开数据库 学生成绩 Step2 进入视图设计器 Step3 在视图设计器中 1 选择查询输出字段 学生 学号 学生 姓名 学生 性别 学生 出生年月 课程 课程名称 成绩 成绩2 建立数据表之间的联接 Step3 在视图设计器中 续 联接类型 InnerJoin 内部连接 完全满足联接条件的记录 常用 RightOuterJoin 右连接 右侧表中所有记录和左表中匹配的记录 LeftOuterJoin 左连接 左侧表中所有记录和右表中匹配的记录 FullJoin 全连接 两个表中所有记录 一般不用 3 指定数据筛选学生 性别 女 4 设置排序依据和分组依据排序依据 成绩 学号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肾内科护士工作总结
- 2025年事业单位工勤技能-湖北-湖北收银员二级(技师)历年参考题库典型考点含答案解析
- 2025年储能技术多元化在储能电站储能系统与储能电站风险管理互动中的应用报告
- 2025年事业单位工勤技能-海南-海南检验员五级(初级工)历年参考题库含答案解析
- 2025年废旧塑料回收利用产业技术创新与产业技术创新体系建设报告
- 2025年事业单位工勤技能-浙江-浙江工程测量工三级(高级工)历年参考题库含答案解析(5套)
- 文化创意产业园区建设项目申请报告:文化创意产业投融资策略
- 2025年事业单位工勤技能-河北-河北计量检定工四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河北-河北工程测量员三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江西-江西汽车驾驶与维修员二级(技师)历年参考题库含答案解析(5套)
- 入职岗前培训之工会知识课件
- 学堂在线 庄子哲学导读 章节测试答案
- 2025 - 2026学年教科版科学三年级上册教学计划
- 厂内搬运工安全知识培训
- GB/T 3920-2024纺织品色牢度试验耐摩擦色牢度
- 23G409先张法预应力混凝土管桩
- 船舶高级消防(新版PPT)
- 人因工程学-ppt课件完整版
- 雨棚钢结构施工方案
- Hard coating 简析解析(课堂PPT)
- 上海开发区汇总
评论
0/150
提交评论