数据库的关系完整性_第1页
数据库的关系完整性_第2页
数据库的关系完整性_第3页
数据库的关系完整性_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一 数据库的关系完整性 关系数据库设计是对数据进行组织化和结构化的过程 核心问题是关系模型的设计 关系关系模型的完整性规则是的关系的某种约束条件 是指数据库中数据的正确性和一致 性 现实世界的实际存在决定了关系必须满足一定的完整性约束条件 这些约束表现在对 属性取值范围是限制上 完整性规则就是防止用户使用数据库时 想数据库中加入不符合 语义的数据 规则模型中有 3 类完整性约束 实体完整性 参照完整性和用户定义的完整 性 其中实体完整性和参照完整性尚关系模型必须满足的完整性约束条件被称作关系的两 个不变性 1 实体完整性规则 实体完整性是指基本关系的主属性 即主键的值都不能取空值 在关系系统中一个关 系通常对应一个表 实际存储数据的表称为基本表 而查询结果表 视图表都不是基本表 实体完整性是针对基本表而言的 指在实际存储数据的基本表中 主属性不能去空值 例 如 在 A 班学生信息 表中 学号 为主键 则 学号 不能取空值 一个基本关系对应于现实世界中的一个实体集 如学生关系对应于学生集合 现实世 界中实体书可区分的 即每个实体具有唯一的标识 在关系模型中用主键作唯一性标识时 若主键去空值 则说明这个实体无法标识 即不可区分 这显然与现实世界相矛盾 现实 世界不可能存在这样不可标识的实体 从而引入实体完整性规则 实体完整性规则规定基本关系的所有主属性都不能取空值 而不仅仅是主键整体不能 取空值 如果是多个字段一起组成主键 则这多个字段均不能取空值 否则就违反了实体 完整性规则 或 实体完整性是指关系的主关键字不能取空值或重复的值 如果是多个字段一起组成主 键 则这多个字段均不能取空值 如 学号是主键 则该列不能有空值或重复值 否则无 法对应某个具体的学生 这样的二维表不完整 对应关系不符合实体完整性规则的约束条 件 2 参照完整性规则 现实世界的实体之间往往存在某种联系 在关系模型中实体及实体间的联系都是用关 系来描述的 这样就存在着关系之间的引用 参照完整性是定义建立关系之间联系的主键与外键引用的规则 即外键要么取空值 要么 等于相关关系中主键的某个值 例如 课程表 课程 ID 课程名 类型 ID 学分 课程类别表 类型 ID 类型 这两个表之间存在着属性的引用 即 课程 表引用了 课程类别 表的主键 类型 ID 按照参照完整性规则 课程 表中每个元祖的 类型 ID 属性只能取下面两类值 1 空值 表示该课程还未确定类别 2 非空值 此时取值必须和 课程 表这某个元祖的 类型 ID 值相同 表示这门 课程归属该类别 参照完整性规则规定不能引用不存在的实体 3 用户定义完整性 域完整性 规则 实体完整性和参照完整性是关系模型这必须满足的完整性约束性条件 只要是关系数据库 主键外键 系统就应该支持实体完整性和参照完整性 除此之外 不同的关系数据库系统根据其应用 环境的不同 往往还需要一些特殊的约束条件 用户定义完整性就是对某些具体关系数据 库的约束条件 例如 对 性别 字段的约束条件是 男 or 女 对 成绩字段的约 束条件是 0 and 100 即用有效性规则来约束 例题例题 1 数据表之间通过 保证数据的一致性 设置参照完整性 2 Access 数据库中 为了保持表之间的关系 要求在子表 从表 中添加记录时 如果 主表中没有相关的记录 则不能再子表 从表 中添加该记录 为此需要定义的关系是 A 输入掩码 B 有效性规则 C 默认值 D 参照完整性 3 数据表通过设置 保证域的完整性 有效性规则 二 SQL 语句的使用 1 SELECT 语句的一般格式语句的一般格式 语法格式 语法格式 SELECT ALL DISTINCT AS 别名别名 1 AS 别名别名 2 FROM WHERE GROUP BY HAVING ORDER BY ASC DESC ASC DESC ASC DESC Select 语句的说明 语句的说明 1 Select 子句说明由哪些列选项组成结果表 它放在 Select 语句的开始处 指定此查询 要检索出的列名称 这些列选项用 隔开 并按照从左到佑的顺序排列 2 from 子句列出查询数据使用的表 它由关键字 from 后跟一组用逗号分开的表名组成 每个表名都代表一个提供该查询数据源的表 这些表称为此 SQL 语句的表源 因为它们是 查询的数据源 3 where 子句告诉 SQL 查询哪些行 记录 中的数据 这些行由 条件表达式 来确定 4 order by 子句将查询结果按一列或多列中的数据排序 如果省略此子句 则查询结果是 无序的 添加 ASC 属性以升序 从小到大 排列 DESC 属性以降序 从大到小 排列 默认为升序 5 group by 子句指定该查询为分组总计查询 即不是对每行产生一个查询结果 而是以某 个字段先将记录分组 再对分组后的记录进行总计给出其统计结果 6 Select 语句中只有 Select 子句和 from 子句为必须有的 其他子句为可选项 7 where 子句中的条件表达式 可以使用关系运算符 特殊运算符 逻辑运算符 函数 组成 可以构成各种灵活多样且不同的查询结果 8 当查询涉及两个表时 称为 连接查询 一般使用等值连接 即通过相同字段名进行连 接 例如 学生 学号 学生选课 学号 9 多表查询中要在字段名前加上表名 例如 学生 学号 具体例子见课件 第三章 中的 SQL 查询 三 宏 宏操作主要功能 AddlyFilter用筛选 查询或 SQL 语句的 Where 子句来选择表 窗体或报表中 显示的记录 CancelEvent取消引起宏操作的事件 CopyObject复制数据库对象 DeleteObject删除数据库对象 Echo运行宏时 显示或不显示状态信息 FindRecord在表 查询或窗体中查找指定条件的第一条记录 FindNext依据 FindRecord 操作使用的查找准则查找下一条记录 GotoPage将光标移动到窗体中特定页的第一个控件上 GotoRecord在表 查询或窗体中 添加新记录或将光标移动到指定的记录 Hourglass当运行宏时 鼠标指针显示为沙漏状 MoveSize移动或调整活动窗口的尺寸 RunApp执行 Windows 或 MS DOS 环境下的应用程序 例如 Microsoft Excel Microsoft Word 或 Microsoft PowerPoint 等 RunCommand执行内置的 Microsoft Access 命令 Save保存指定的 Access 对象 或者假如没有指定对象 则保存使用中 的对象 1 Beep 使用使用 Beep 操作可以通过计算机的扬声器发出嘟嘟声 以提醒用户注意 操作可以通过计算机的扬声器发出嘟嘟声 以提醒用户注意 2 OpenForm 使用使用 OpenForm 操作可以打开一个窗体 并通过选择窗体的数据输入与窗口方操作可以打开一个窗体 并通过选择窗体的数据输入与窗口方 式 来限制窗体所显示的记录 式 来限制窗体所显示的记录 OpenForm 操作需要设置相应的参数 包括设置要打开的操作需要设置相应的参数 包括设置要打开的 窗体的名称 窗体的视图 如窗体的名称 窗体的视图 如 窗体窗体 设计设计 打印预览打印预览 数据表数据表 数据透视表数据透视表 或者或者 数数 据透视图据透视图 等 等 筛选名称及 筛选名称及 Where 条件等 条件等 3 OpenQuery 使用使用 OpenQuery 操作可以打开一个查询 操作可以打开一个查询 OpenQuery 操作需要设置相应的参数 操作需要设置相应的参数 包括设置要打开的查询的名称 查询的视图 如包括设置要打开的查询的名称 查询的视图 如 数据表数据表 设计设计 打印预览打印预览 数据透视数据透视 表表 或者或者 数据透视图数据透视图 等 等 4 OpenReport 使用使用 OpenReport 操作可以在操作可以在 设计设计 视图或打印预览中打开报表或立即打印报视图或打印预览中打开报表或立即打印报 表 也可以限制需要在报表中打印的记录 当然 这需要设置相应的参数 表 也可以限制需要在报表中打印的记录 当然 这需要设置相应的参数 5 Close 操作操作 使用使用 Close 操作可以关闭指定的操作可以关闭指定的 Access 窗口 如果没有指定窗口 则关闭活动窗口 如果没有指定窗口 则关闭活动 窗口 窗口 Close 操作需要设置相应的参数 包括设置要关闭的窗口的对象类型 如查询 窗操作需要设置相应的参数 包括设置要关闭的窗口的对象类型 如查询 窗 体或报表等 及要关闭的对象名称 如与指定的对象类型对应的查询名称 窗体名称或报体或报表等 及要关闭的对象名称 如与指定的对象类型对应的查询名称 窗体名称或报 表名称等 表名称等 6 AddMenu 为窗体将菜单添加到自定义菜单栏 为窗体将菜单添加到自定义菜单栏 7 GoToControl 使用使用 GoToControl 操作可以把焦点移到打开的窗体 窗体数据表 表数据表 查询操作可以把焦点移到打开的窗体 窗体数据表 表数据表 查询 数据表中当前记录的特定字段或控件上 数据表中当前记录的特定字段或控件上 8 Maximize 使用使用 Maximize 操作可以放大活动窗口 使其充满操作可以放大活动窗口 使其充满 Access 窗口 该操作可以窗口 该操作可以 使用户尽可能多地看到活动窗口中的对象 使用户尽可能多地看到活动窗口中的对象 9 Minimize 使用使用 Minimize 操作可以将活动窗口缩小为窗口底部的标题栏 操作可以将活动窗口缩小为窗口底部的标题栏 10 MsgBox 使用使用 MsgBox 操作可以显示包含警告信息或其它信息的消息框 操作可以显示包含警告信息或其它信息的消息框 11 PrintOut 使用使用 PrintOut 操作可以打印打开数据库中的活动对象 也可以打印数据表 报表 操作可以打印打开数据库中的活动对象 也可以打印数据表 报表 窗体和模块 窗体和模块 12 Quit 使用使用 Quit 操作可以操作可以 退出退出 Access Quit 操作还可以指定在退出操作还可以指定在退出 Access 之前是之前是 否保存数据库对象 否保存数据库对象 13 RepaintObject 使用使用 RepaintObject 操作可以完成指定数据库对象的屏幕更新 如果没有指定数操作可以完成指定数据库对象的屏幕更新 如果没有指定数 据库对象 则对活动数据库对象进行更新 更新包括对象的所有控件的所有重新计算 据库对象 则对活动数据库对象进行更新 更新包括对象的所有控件的所有重新计算 14 Restore 使用使用 Restore 操作可以将处于最大化或最小化的窗口恢复为原来的大小 操作可以将处于最大化或最小化的窗口恢复为原来的大小 15 RunMac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论