第4章 数据控制功能和表间关系 4.1 数据控制功能 为了确保数据库中数据的正确有效以及数据库系统的有效运行,RDBMS提供了数据控制功能:

Slides:



Advertisements
Similar presentations
一、模型与计算公式 二、基本的组合分析公式 三、概率直接计算的例子 第 1.3 节 古典概率 四、抽签与顺序无关 五、二项分布与超几何分布 六、概率的基本性质.
Advertisements

南 通. 南通概述 南通,位于江苏省东部, 东抵黄海,南望长江。 “ 据江 海之会、扼南北之喉 ” ,隔江 与中国经济最发达的上海及 苏南地区相依,被誉为 “ 北上 海 ” 。 南通也是中国首批对 外开放的 14 个沿海城市之一 ,被称为 “ 中国近代第一城 ” 。 南通面临海外和内陆两大经 济辐射扇面,素有.
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
高等学校英语应用能力考试 考务培训 兰州文理学院教务处 2014 年 12 月. 考务培训 21 日请监考人员上午 8:00 (下午 2:30 )到综合楼 205 教室集合,查看 监考安排,由考务负责人进行考务 培训。
世衛組織最新公布 健康食品排行榜 2012 版 小樹苗編製 最令人驚訝的是在零食榜的 最後一位是豬肝。
急性腹痛 急性疼痛. 急性疼痛 — 孙树杰、沈洪、 刘保池 (1)(1)(1)(1) 概 述 (2)(2)(2)(2) 重症急性腹痛的临床特点 (3)(3)(3)(3) 急性腹痛的分类及诊治 主要教学内容.
泄 泻. 一、概述 定义: 大便稀薄,甚如水样,或完谷不化,并多 有排便次数增多。 泄与泻含义有别:泄者,漏泄之意,是指 大便溏薄,时作时止,病势较缓;泻者,倾 泻之意,是指大便直下,如水倾注,病势较 急。临床一般统称为泄泻。 病名: 《内经》称为 “ 泄 ” ,汉唐多与痢疾同归于 “ 下利 ” 之中,宋代以后渐以.
均衡推进,确保质量 08学年第一学期教学工作会议 广州市培正中学
黑木耳.
投資權證13問 交易所宣導資料(104) 1.以大盤指數為標的之權證,和大盤指數的連動性,為什麼比和期交所期指的連動性差?
如何把作文写具体.
第一节 人口与人种 第一课时.
An Introduction to Database System
解读我党发展史 思索安惠美好明天 主讲人:王辰武.
第5课 长江和黄河.
銓敘部研究規劃自願退休公務人員月退休金起支年齡延後方案座談會
瓦罐湯 “瓦缸煨汤”是流行于南方民间的一种风味菜肴。它采用一种制特的大瓦缸,其缸底可以烧火,缸内置有铁架,厨师将装有汤的小瓦罐一层层地码入缸内的铁架上,然后点燃木炭,借用木炭火产生的高温将瓦罐内的汤煨熟。
3.1.1 随机事件的概率(一).
1.數學的難題 如下圖所示,你知道表格中的問號應填入什麼數字嗎?
第九章 欧氏空间 §1 定义与基本性质 §2 标准正交基 §3 同构 §4 正交变换 §5 子空间 §6 对称矩阵的标准形
第九章 欧氏空间 §1 定义与基本性质 §6 对称矩阵的标准形 §2 标准正交基 §7 向量到子空间的 距离─最小二乘法 §3 同构
数据库系统概论 An Introduction to Database Systems
校园信息管理系统 河北科技大学网络中心 2000/4/10.
中国特色社会主义政党制度 主讲:西南大学 李强 2011年12月28日.
第2章 数据模型 2.1 实体联系模型 2.2 关系模型 2.3 面向对象的数据模型 习 题 2.
欢迎南京市政治学科的教研同仁 光临指导.
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
資料庫設計 Database Design.
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
Principles and Applications of the Database
钟南山谈养生之道 健康长寿靠自己 钟南山谈养生之道 健康长寿靠自己 资料来源:钟南山讲话 配乐:莫扎特第40交响乐 PPS编辑制作:张艺全 于广州 2011年11月.
你不得不知的几件事 2、图书《10天行测通关特训》 3、网络课程 《网校9元课程系列》《考前强化夜校班》 4、地面课程 《10天10晚名师密授营》《考前预测集训营》
第3章 表的创建与管理 本章要点 表的结构及字段属性。 创建表的方法。 输入表的内容和创建表之间的关系。 表的编辑与操作。
在 线 考 试 系 统 的 设 计 学 生: 班 级: 指导老师:.
数据库技术及应用 华中科技大学管理学院 课程网址:
第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。
数据库原理与应用     制作人:王春玲         黄金燕         张惠萍         陈志泊 人民邮电出版社.
第4章 数据库技术及应用 软件开发技术基础 计算机教学实验中心 2006.
前不久看到了这样一则报道:某个大学校园里,一个大学生出寝室要给室友留一张字条,告诉他钥匙放在哪里。可是“钥匙”两个字他不会写,就问了其他寝室的同学,问了好几个,谁也不会写,没办法,只好用“KEY”来代替了。 请大家就此事发表一下自己看法。
利用共同供應契約 辦理大量訂購流程說明.
資料庫管理 HOMEWORK #2 ERD練習 楊立偉教授 台灣大學工管系 2013 Fall.
Microsoft SQL Server 2000 李金双.
第 2 章 規劃關聯式資料庫.
資料庫簡介 郭士煒 助教.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
單元3:軟體設計 3-1實體關係圖 Ch 08 System models.
AnQing Teachers College Department of Computer & Information
第六章 : 資料模型之繪製 1. 前言 資料流程圖 ( DFD ) 及 處理邏輯工具
第二章 實體關係模式:基本概念 目的 何謂實體關係模式和實體關係圖(ERD) 實體型態 關係型態 二元關係型態 弱實體型態 遞迴關係型態
第二章 實體關係模式:基本概念 目的 何謂實體關係模式和實體關係圖(ERD) 實體型態 關係型態 二元關係型態 弱實體型態 遞迴關係型態
排列组合 1. 两个基本原理 分类加法计数原理 分步乘法计数原理.
第6章 資料庫設計與實體關聯模型 6-1 資料庫設計的基礎 6-2 實體關聯模型 6-3 建立實體關聯圖 6-4 實體關聯圖的常見錯誤
江西财经大学《数据库应用》精品课程组 2011年 Comments are welcome!
第 2 章 規劃關聯式資料庫.
ER Model.
第三节 常见天气系统.
從 ER 到 Logical Schema ──兼談Schema Integration
廠商付款查詢系統講解 製作人:王云娜.
微信商城系统操作说明 色卡会智能门店.
兒童及少年保護、 家庭暴力及性侵害事件、 高風險家庭 宣導與通報
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
教育部特殊教育通報網 學生異動、接收操作說明.
如何制订幼儿园园本培训工作计划 大连亿达世纪城幼儿园 姜承华 2011年3月10日.
第四节 数据库设计 数据库设计是指根据用户需求分析、在现有的数据库管理系统的基础上建立数据库结构的过程。具体讲,是指对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之有效地存储数据,满足用户信息要求和处理要求。 数据库设计的依据DFD、DD、DBMS 。 数据库的设计过程是通过E-R图(依据“实体-联系”法实现,Entity.
第3章 关系数据库 内容提要 关系模型的数据结构 关系模型的常用术语 关系数据库的完整性概念 数据库的关系运算 函数依赖的定义
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
資料庫管理 HOMEWORK #2 楊立偉教授 台灣大學工管系 2013 Fall.
银川社保网上申报 宁夏人力资源和社会保障 网上服务大厅操作
Presentation transcript:

第4章 数据控制功能和表间关系 4.1 数据控制功能 为了确保数据库中数据的正确有效以及数据库系统的有效运行,RDBMS提供了数据控制功能: (1)数据的安全性控制。数据的安全性控制是指采取一定的安全保密措施以确保数据库中的数据不被非法用户存取。例如,RDBMS提供口令检查或其他手段来验证用户身份,合法用户才能进入数据库系统;RDBMS提供用户等级和数据存取权限的定义机制,系统自动检查用户能否执行这些操作,只有检查通过后才能执行允许的操作。 (2)数据的完整性控制。数据的完整性控制是指RDBMS提供必要的功能确保数据库数据的正确性、有效性和一致性。 (3)数据的并发控制。数据的并发控制是指RDBMS必须对多用户并发进程同时存取、修改数据的操作进行控制和协调,以防止互相干扰而得到错误结果。 本章将主要介绍与数据完整性控制有关的内容。

4.2 与数据完整性控制有关的字段属性 在前面,我们已经介绍了字段大小、格式、标题等字段属性。这里,我们将介绍与数据完整性控制有关的字段属性——输入掩码、有效性规则和有效性文本。 这3个字段属性能够尽可能地确保进入数据库的数据是正确、有效的。

4.2.1 输入掩码 使用输入掩码(Input Mask)字段属性,可以控制在表中字段的数据输入方式。 输入掩码使用一些特殊字符来规定输入某些必需的数据。 如果学校对学号编码的统一规定是“学号至多由10个字符组成,且每个字符可以是阿拉伯数字,也可以是英文字母,但不可以是其他字符”,则需要将“学号”字段的“输入掩码”属性设置为“aaaaaaaaaa”(10个a)。这样,当输入具体学号时,每个字符或者是阿拉伯数字,或者是英文字母,而不能输入其他字符。 输入掩码主要用于文本型字段和日期/时间型字段。 字符 说明 数字(0到9,必选项;不允许使用加号〔+〕和减号〔-〕) 9 数字或空格(可选项;不允许使用加号和减号) # 数字或空格(可选项;空白将转换为空格,允许使用加号和减号) L 字母(A到Z,必选项) ? 字母(A到Z,可选项) A 字母或数字(必选项) a 字母或数字(可选项) 密码 文本框中键入的任何字符都按原字符保存,但显示为星号(*)

4.2.2 有效性规则和有效性文本 有效性规则(Validation Rule)字段属性用于指定对输入到字段中的数据的要求,当输入的数据违反了有效性规则的设置时,可以使用有效性文本(Validation Text)向用户发送提示消息。 对于有效性规则属性,需要输入一个表达式以代表一个条件;而对于有效性文本属性,则输入文本串以文字化提示消息。

4.2.2 有效性规则和有效性文本 字段名称 字段属性 作用 属性名称 属性值 学号 输入掩码 aaaaaaaaaa 只允许在“学号”中出现阿拉伯数字或英文字母 性别 有效性规则 “男” or “女” 只允许“性别”用“男”、“女”两个汉字中的一个表示 有效性文本 输入性别有误,请重新输入! 如果试图输入除“男”或“女”之外的其他字符,则Access会给出相应的输入错误提示 身份证号码 00000000000000000A “身份证号码”中的前17位必须是阿拉伯数字,最后1位允许是阿拉伯数字或英文字母 入学成绩 >0 规定“入学成绩”必须大于零 入学成绩至少应该大于零! 如果试图输入小于等于零的“入学成绩”,则Access会给出相应的输入错误提示 应交学费 规定“应交学费”必须大于零 学费应该大于零! 如果试图输入小于等于零的“应交学费”,则Access会给出相应的输入错误提示 【练习4-1(P54)】根据上表设置“花名册”表中相应字段的属性,然后在数据表视图中输入相应的数据并观察相应字段属性的作用。

4.3 关系概念模型——E-R模型 存储在数据库中的数据反映了现实的业务情况和状态,而现实的业务问题往往是抽象和复杂的。为了将复杂的现实业务问题抽象、组织和转化为RDBMS支持的关系模型,往往需要首先根据业务问题建立概念模型,然后再在概念模型的基础上建立关系模型。

4.3.1 主要概念 实体(Entity):客观存在并可相互区别的事物称为实体。实体可以是具体的人和物(如学生、客户、供应商、产品、运货商),也可以是抽象的概念(如订单、课程)。 属性(Attribute):实体所具有的某一特性或性质。一个实体所具有的特征或性质可以用若干个属性描述。如一个产品实体可以用编号、名称、供应商、单位数量、单价、库存量和订购量等属性来刻画。 实体集(Entity Set):同类实体的集合。如各种产品实体就构成了一个产品实体集,所有客户就构成了一个客户实体集。 实体型(Entity Type):具有相同属性的实体必然具有相同类别的特征和性质。用实体名及其属性名集合来抽象和刻画的同类实体,称为实体型。例如,对于产品实体集,可以用如下实体型表示: 产品(编号、名称、供应商、单位数量、单价、库存量、订购量)

4.3.1 主要概念 联系(Relationship):指同一实体型内部实体之间的联系,或指不同实体型之间通过实体发生的联系。

4.3.2 关系概念模型的表示方法——E-R图 概念模型:客观现实在人们头脑中的反映,是对客观事物及其联系的一种抽象描述。 关系概念模型(简称关系模型):是关系数据库理论中描述客观事物及其联系的概念模型。 实体联系方法(Entity-Relationship Approach,E-R方法):用E-R图描述现实世界的关系概念模型,也称为E-R模型(P.P.S. Chen, 1976)。E-R图可以描述实体型、实体型具有的属性、实体型之间的联系一级联系的类型等多种信息。 E-R图中使用专门图形符号表示特定的含义: ①矩形框——实体型,在矩形框内标明实体型名称。 ②椭圆形——实体的属性,在椭圆形内标明属性名,并用无向边将其与相应的实体矩形框连接起来。 ③菱形——联系,在菱形内标明联系名,并用无向边分别与有关的实体矩形框连接起来,表明联系的类型。 ④如果一个联系也具有属性,则这些属性也要用无向边与该联系连接起来。

4.3.2 关系概念模型的表示方法——E-R图 设A、B为两个实体集, E-R图中表示实体型之间的三种联系: ①一对一联系(1:1):若对于A中的每一个实体,在B中至多有一个实体与之联系;反之,对于B中的每一个实体,在A中也至多有一个实体与之联系,则称实体集A与B之间具有一对一联系,记为1:1。 ②一对多联系(1:n):若对于A中的每一个实体,在B中有n个实体(n≥0)与之联系;反之,对于B中的每一个实体,在A中至多只有一个实体与之联系,则称实体集A与B之间具有一对多联系,记为1:n ③多对多联系(m:n):如果对于A中的每一个实体,在B中有n个实体(n≥0)与之联系;反之,对于B中的每一个实体,在A中也有m个实体(m≥0)与之联系,则称实体集A与B之间具有多对多联系,记为m:n。 总经理 公司 任职 1 (a)一对一联系 员工 部门 工作 n (b)一对多联系 学生 班级 隶属 课程 选修 m (c)多对多联系 产品 客户 购买

4.3.3 根据E-R图设计关系模式 【练习4-2(P58)】根据如图4-5所示的E-R图设计关系模式。 (1)根据实体型及其属性设计关于实体型的关系模式 。 (2)根据实体型之间的多对多联系设计关系模式。 客户 产品 客户ID 产品ID 产品名称 单位数量 单价 类别名称 类别说明 订购 m n 公司名称 联系人姓名 地址 邮政编码 电话 发货日期 订购日期 到货日期 数量 客户 产品 客户ID 产品ID 产品名称 单位数量 单价 类别名称 类别说明 订购 m n 公司名称 联系人姓名 地址 邮政编码 电话 发货日期 订购日期 到货日期 数量 客户ID 公司名称 联系人姓名 邮政编码 地址 电话 客户(客户ID、公司名称、联系人姓名、地址、邮编、电话) 客户ID 单价 客户 公司名称 数量 n 产品ID 订购日期 E-R图表示的关系概念模型能够很好地描述现实世界中的事物以及事物之间的联系,并且还可以根据E-R图设计关系模式。 订购(客户ID、公司名称、产品ID、产品名称、单位数量、单价、数量、订购日期、发货日期、到货日期) 订购 产品名称 m 发货日期 单位数量 产品 到货日期 产品名称 单位数量 产品ID 类别名称 类别说明 单价 产品(产品ID、产品名称、单位数量、单价、类别名称、类别说明)

4.3.3 根据E-R图设计关系模式 将相关实体的某些属性放入同一个二维表中将产生数据冗余(Data Redundancy),即同样的数据在同一张表中重复出现。 数据冗余问题会占用更多的存储空间、造成存储空间的浪费,而且还可能引起数据的不一致性问题。

4.3.3 根据E-R图设计关系模式 减少关系模式的数据冗余: 选择相关实体的主键作为关系模式中的属性,并将它们的组合做为主键或主键的组成部分; 保留多对多联系自身的属性。 外键/外码(Foreign Key):当某个属性(或属性组)不是关系R的主键或只是主键的一部分,但是另一个关系R’的主键,则称该属性(或属性组)是关系R相对于关系R’的外键/外码。 客户 产品 客户ID 产品ID 产品名称 单位数量 单价 类别名称 类别说明 订购 m n 公司名称 联系人姓名 地址 邮政编码 电话 发货日期 订购日期 到货日期 数量 客户 产品 客户ID 产品ID 产品名称 单位数量 单价 类别名称 类别说明 订购 m n 公司名称 联系人姓名 地址 邮政编码 电话 发货日期 订购日期 到货日期 数量 订购(客户ID、公司名称、产品ID、产品名称、单位数量、单价、数量、订购日期、发货日期、到货日期) 订购(客户ID、产品ID、单价、数量、订购日期、发货日期、到货日期)

4.3.4 关系模式的优化 根据E-R图,可以得到实体型和多对多联系的关系模式: 客户(客户ID、公司名称、联系人姓名、地址、邮编、电话) 订购(客户ID、产品ID、单价、数量、订购日期、发货日期、到货日期)

4.3.4 关系模式的优化 为了减少数据冗余,可将实体型中重复出现的属性值,且容易产生数据不一致性的字段提取出来,构成一个新的实体型。 同时,在新的实体型和提取的源实体型中添加关联属性。

4.3.4 关系模式的优化 经过对关系模式的进一步优化,可以得到新的E-R图 根据优化后的E-R图,为每个实体型设计关系模式: 客户(客户ID、公司名称、联系人姓名、地址、邮编、电话) 类别(类别ID、类别名称、类别说明) 产品(产品ID、产品名称、单位数量、单价、类别ID) 为“订购“多对多联系设计关系模式: 订购(客户ID、产品ID、单价、数量、订购日期、发货日期、到货日期) 客户 产品 客户ID 产品ID 产品名称 单位数量 单价 类别ID 订购 m n 公司名称 联系人姓名 地址 邮政编码 电话 类别名称 类别说明 1 包含 类别 发货日期 订购日期 到货日期 数量 注意:通常情况下,不需要为实体型之间的一对多联系建立专门的关系模式,可以通过关联属性建立联系。

4.3.4 关系模式的优化 进一步减少数据冗余的操作: 分析数据冗余 提取重复出现的字段,构造新关系 利用提取重复字段后剩下的字段再构造另一个新关系 “订单”关系 “订单明细”关系

4.3.4 关系模式的优化 在两个关系中都添加关联字段,使两者相互联系,确保数据的完整性。 优化后的关系模式: 客户(客户ID、公司名称、联系人姓名、地址、邮编、电话) 类别(类别ID、类别名称、类别说明) 产品(产品ID、产品名称、单位数量、单价、类别ID) 订单(订单ID、客户ID、订购日期、发货日期、到货日期) 订单明细(订单ID、产品ID、单价、数量)

4.3.5 实体表与联系表 关系模型 数据库 二维表是关系模型在关系数据库技术上的具体体现 实体 实体表 联系 联系表 “客户”实体表 实体 实体表 客户ID 公司名称 联系人姓名 联系人头衔 地址 城市 地区 邮政编码 TRAIH 伸格公司 林小姐 销售员 石碑路甲 141 号 深圳 华南 342356 VAFFE 中硕贸易 苏先生 销售经理 威成路 321 号 837206 VICTE 千固 销售代理 明成西街 471 号 秦皇岛 华北 598018 VINET 山泰企业 黎先生 结算经理 舜井街 561 号 天津 575909 WANDK 凯旋科技 方先生 销售代表 使馆路 371 号 212400 联系 联系表 雇员ID 姓氏 名字 头衔 尊称 出生日期 雇用日期 地址 城市 1 张 颖 销售代表 女士 1968-12-8 1992-5-1 复兴门 245 号 北京 2 王 伟 副总裁(销售) 博士 1962-2-19 1993-1-14 罗马花园 890 号 3 李 芳 1973-8-30 1992-4-1 芍药园小区 78 号 4 郑 建杰 先生 1968-9-19 1993-5-3 前门大街 789 号 5 赵 军 销售经理 1965-3-4 1993-10-17 学院路 78 号 “雇员”实体表 实体与联系是关系模型中的两个重要概念 实体代表了一类具有相同属性的事物或人群 联系反映了实体之间的内在联系 根据所描述对象的不同可以将关系数据库中的表分为实体表和联系表。 实体表:描述实体的表 联系表:描述实体之间联系的表 订单ID 客户ID 雇员ID 订购日期 到货日期 发货日期 10248 VINET 5 1996-7-4 1996-8-1 1996-7-16 10249 TOMSP 6 1996-7-5 1996-8-16 1996-7-10 10250 HANAR 4 1996-7-8 1996-8-5 1996-7-12 10251 VICTE 3 1996-7-15 “客户”实体和“雇员”实体的联系表——“订单”表

4.4 表间关系 二维表(尤其是实体表)中的数据具有一定的独立性:不需要借助其他数据就可以直接从不同角度描述特定实体的一些性质。 不同二维表中的数据之间又存在一定的内在联系:通过表之间的数据联系,可以将数据库中多个表联结为一个有机的整体,使多个表相互对应。 掌握二维表之间的内在数据联系,将有助于提高从数据库中提取信息的效率。

4.4.1 表间关系的基本概念及类型 不同二维表中的数据之间的内在联系,是以“关联字段”为纽带,通过表间关系体现和实现的。 关联字段能够在两个相关表之间建立联系,进而将相关表中的数据联系起来。 通过关联字段“供应商ID”将“供应商”和“产品”两个表联系起来 供应商ID 公司名称 联系人姓名 联系人头衔 地址 城市 地区 邮政编码 国家 电话 1 佳佳乐 陈小姐 采购经理 西直门大街 110 号 北京 华北 100023 中国 (010) 65552222 2 康富食品 黄小姐 订购主管 幸福大街 290 号 170117 (010) 65554822 3 妙生 胡先生 销售代表 南京路 23 号 上海 华东 248104 (021) 85555735 4 为全 王先生 市场经理 永定路 342 号 100045 (020) 65555011 5 日正 李先生 出口主管 体育场东街 34 号 133007 (010) 65987654 产品ID 产品名称 供应商ID 类别ID 单位数量 单价 库存量 订购量 1 苹果汁 每箱24瓶 ¥18.00 39 2 牛奶 ¥19.00 17 40 3 蕃茄酱 每箱12瓶 ¥10.00 13 70 4 盐 ¥22.00 53 5 麻油 ¥21.35 如果A表和B表之间的关系是一对多关系,则称A表为主表(或父表),B表为子表。 在主表和子表之间建立一对多关系的关联字段是主表中的主键,而在子表中则是外键。 在一对多表间关系中,主表定义了关联字段的取值范围,而子表只能引用主表中关联字段的值。

4.4.2 创建和编辑表间关系 【练习4-4(P67)】创建“供应商”表和“产品”表之间的一对多表间关系。 (1)在主表—“供应商”表的设计视图中设置主键。 (2)打开“关系”窗口:在菜单栏中执行“工具”|“关系”命令。 (3)在“关系”窗口中添加表。 (4)创建并保存表间关系。 (5)在“关系”窗口中,用鼠标左键双击相关表之间的连线,可以重新打开“编辑关系”对话框;如果有必要,可以在“编辑关系”对话框中重新设置有关选项。用鼠标右键单击相关表之间的连线,在弹出菜单中选择“删除”命令,则可以删除已建立的表间关系。

4.4.3 参照完整性 可实施参照完整性的表间关系必备的3个条件: ①在主表和子表中,关联字段有相同的数据类型; ②在主表中已经将关联字段设置为主键; ③在子表中,每条记录在关联字段上的值或者为空值,或者等于主表中某条记录的主键值。 参照完整性是数据完整性控制的另一项重要措施

4.4.3 参照完整性 参照完整性是一个规则系统,该规则系统可确保主表和子表之间记录对应关系的有效性,并不会意外删除或更改相关数据。 成功实施参照完整性后,在父表或子表中的数据操作应该遵守以下3条规则。: 规则1:不能在子表的关联字段中输入不存在于主表的主键中的值。 规则2:如果在子表中存在对应的记录,则不能从主表中删除相应记录。 规则3:如果在子表中存在对应的记录,则不能在主表中更改相应记录的主键值。 【练习4-5(P69)】在对“供应商”和“产品”一对多表间关系实施参照完整性的基础上,验证上述3条规则。

4.4.4 级联更新相关字段和级联删除相关记录 在关系数据库中,主表和子表中的记录之间存在着一定的逻辑对应关系,而参照完整性就可以确保这种记录之间逻辑对应关系的正确性和有效性。 出现的新问题:更新主表中的主键值、或者删除主表中的记录都有可能破坏主表与子表之间的数据完整性。 解决问题的思路:但如果在对主表中记录进行更新或删除操作的同时,对子表中的记录也进行相应的更新或删除操作,则仍然可以保持主表与子表之间的数据完整性。 解决问题的办法:Access中的“级联更新相关字段”规则和“级联删除相关记录”规则就提供了相应的解决措施。 “级联更新相关字段”规则是指,在主表中修改关联字段(主键)值时,自动更新子表中对应关联字段的值; “级联删除相关记录”规则是指,在主表中删除记录时,自动删除子表中的对应记录。 在关系数据库中,主表和子表中的记录之间存在着一定的逻辑对应关系,而参考完整性就可以确保这种记录之间逻辑对应关系的正确性和有效性。更新主表中的主键值、或者删除主表中的记录都有可能破坏主表与子表之间的数据完整性。但如果在对主表中记录进行更新或删除操作的同时,对子表中的记录也进行相应的更新或删除操作,则仍然可以保持主表与子表之间的数据完整性。Access中的“级联更新相关字段”规则和“级联删除相关记录”规则就提供了相应的解决措施。

4.4.4 级联更新相关字段和级联删除相关记录 【练习4-6(P70)】在对“供应商”和“产品”一对多表间关系实施参照完整性的基础上,再设置“级联更新相关字段”规则和“级联删除相关记录”规则,并验证这两条规则。 (1)规则设置。 在关系数据库中,主表和子表中的记录之间存在着一定的逻辑对应关系,而参考完整性就可以确保这种记录之间逻辑对应关系的正确性和有效性。更新主表中的主键值、或者删除主表中的记录都有可能破坏主表与子表之间的数据完整性。但如果在对主表中记录进行更新或删除操作的同时,对子表中的记录也进行相应的更新或删除操作,则仍然可以保持主表与子表之间的数据完整性。Access中的“级联更新相关字段”规则和“级联删除相关记录”规则就提供了相应的解决措施。

4.4.4 级联更新相关字段和级联删除相关记录 (2)验证“级联更新相关字段”规则。 (3)验证“级联删除相关记录”规则。

4.5 业务数据分析的前期准备工作 对于业务数据分析人员来说,数据库技术的价值在于能够帮助他们更加有效地处理、利用和分析业务数据,以达到从众多的明细业务数据中获得有用信息、并利用这些信息辅助经营管理决策的目的。

4.5.1 明确字段的业务含义和数据类型 正确理解每个字段的业务含义、并明确每个字段的数据类型,可综合运用三种方法: 方法1.查阅数据库应用系统的开发手册或使用手册。 方法2.查阅数据字典(Data Dictionary)。 在Access数据库中,表的设计视图就相当于一种数据字典。 方法3.咨询业务处理人员。

4.5.1 明确字段的业务含义和数据类型 “产品”表 “订单明细”表 字段名称 数据类型 说明 产品ID 自动编号(长整型) 自动赋予新产品的编号,且每个产品都有唯一的编号 产品名称 文本 供应商ID 数字(长整型) 与供应商表中的“供应商ID”含义相同 类别ID 与类别表中的“类别ID”含义相同 单位数量 定义了产品大件的包装形式。例如,24装箱、一公升瓶 单价 货币 罗斯文公司内部制定的销售价格 库存量 数字 目前库存中尚有的货物单位数 订购量 已经向供应商发出订购申请的货物单位数 再订购量 为保持安全库存所需的货物最小单位数 中止 是/否 “是”表示条目不可用,即该产品已经停止销售 不太容易理解的字段是“产品”表中的“再订购量”字段,该字段的含义是“为保持安全库存所需的货物最小单位数”,即最低库存量。当某产品当前的“库存量”低于“再订购量”时,罗斯文公司就会向相应供应商发出货物采购申请。此外,“再订购量”是一个相对稳定的数值,不会经常变动,而“库存量”则是一个随采购和销售活动不断变化的数值——每当收到来自供应商发来的货物时,“库存量”就会相应地增加;而每当有销售业务发生,“库存量”则会相应地减少。 “订单明细”表 字段名称 数据类型 说明 订单ID 数字(长整型) 与订单表中的“订单ID”含义相同 产品ID 与产品表中的“产品ID”含义相同 单价 货币 雇员向客户销售产品的报价 数量 数字 折扣

4.5.2 建立数据库所反映的业务模型 数据库中存储的大量业务数据隐含着特定的业务模型。 业务模型在一定程度上能够反映数据库中业务数据的含义及业务数据之间的内在联系。 1.罗斯文公司是一个贸易公司,有多个供应商向罗斯文公司提供货物(产品),一个供应商可能提供多种货物(产品)。换句话说,罗斯文公司可以从一个供应商采购多种产品; 2.罗斯文公司向多个客户销售多种产品,这些客户都是一些公司客户(而不是以家庭为单位的普通消费者),其中一些老客户会向罗斯文公司反复订货。并且,一个公司客户一次通常会从罗斯文公司订购多种产品; 3.在一次交易中,客户以订单的形式向罗斯文公司购买多个产品。在一次交易中,罗斯文公司会选派一名雇员专门负责处理该订单的所有相关业务及与客户的联系; 4.罗斯文公司与(3家)运货商签定了长期的货物(产品)配送协议。协议规定,由运货商按照要求完成向客户的送货任务。

4.5.3 基于E-R图的业务规则分析 E-R图有助于更好地理解数据库中业务数据之间的联系。 1.一个供应商(实体)可以提供多种产品(实体)。因此,供应商(实体型)与产品(实体型)之间是一对多联系; 2.客户(实体型)与产品(实体型)之间是多对多联系,即一个客户可以订购多种产品,一种产品可以被多个客户所订购; 3.由于客户(实体型)与产品(实体型)之间是多对多联系。所以,需要专门建立一个“订单”表以体现客户(实体型)与产品(实体型)之间的多对多联系,“订单”表因此就是一个联系表。同时,也可以将“订单”看作一个抽象的实体型; 4.罗斯文公司的一个雇员可以负责多张订单的处理业务,但一张订单只能由一个雇员负责。因此,雇员(实体型)与订单(实体型)之间是一对多联系; 5.一个运货商可以承担多张订单的产品配送任务,但一张订单中所有产品的配送任务只是交由一个运货商完成。因此,运货商(实体型)与订单(实体型)之间是一对多联系; 6.产品分为不同的类别,因此,类别(实体型)与产品(实体型)之间也就是一对多联系; 7.在一个订单当中包含了多个产品,因此,订单(实体型)与订单明细(实体型)之间也就是一对多联系。

4.5.4 基于关联字段的表间关系分析 基于对字段业务含义、数据类型的分析和理解以及对业务模型、业务规则的细致分析,可归纳“罗斯文”示例数据库中的表间关系: 注意:在Access关系数据库中,建立表间关系的关联字段不需要有相同的名称,但必须有相同的数据类型、并具有相同的字段含义 父表 (主表) 子表 关联字段 表间关系类型 主键(父表) 外键(子表) 供应商 产品 供应商ID 一对多 类别 类别ID 客户 订单 客户ID 雇员 雇员ID 运货商 运货商ID 订单明细 订单ID 产品ID “罗斯文”示例数据库中的表间关系都是一对多的。实际上,在任何一个关系数据库中也存在类似的情况——表间关系大都是一对多的,而很少出现一对一的表间关系。另外,一对多表间关系中的关联字段,在父表中是主键,而在子表中则是外键。

4.5.5 创建表间关系 在明确了数据库中的表间关系及相关的关联字段之后,还需要利用RDBMS软件所提供的功能创建表间关系。 在Access中,通过在菜单栏中执行“工具”|“关系”命令、并在“编辑关系”窗口中编辑关系等操作可以创建表间关系。 注意:在“关系”窗口中创建表间关系之前,必须先在设计视图中设置父表的主键。

4.5.5 创建表间关系 父表中的主键在一对多表间关系中起着关联字段的重要作用。 在Access数据库中,可定义三类主键: (1)自动编号主键:如果在保存新建表时没有设置主键,Access将询问是否创建主键。如果回答为“是”,Access将创建自动编号主键。 (2)单字段主键:在实体表中,通常将相应的实体ID设置为主键。 (3)多字段主键:在 “订单明细”表中,“订单ID”和“产品ID”的组合值具有唯一性,所以可将其组合设置为主键。 具有多字段主键的表通常是以子表身份出现的,且多字段主键中的单个字段是子表相对于父表的外键。

4.5.5 创建表间关系 【练习4-7(P79)】以“订单明细”表为例,在设计视图中设置多字段主键。 至此,业务数据分析的前期准备工作就基本完成了。要想从二维表中提取出有用的信息以支持经营管理决策,还必须使用专门的函数对数据进行特殊的处理、并创建相应的查询。这些方法将在第五章中详细介绍。

4.6 数据的完整性控制 在关系数据库中,数据完整性以及相应的控制措施主要体现在以下4个方面。 (1)域完整性(Domain Integrity)。在二维表中,同一字段上的所有值都具有相同的数据类型,从而保证了基本的域完整性。设置字段的“字段大小”属性也是保证域完整性的一项措施。 (2)实体完整性(Entity Integrity)。在实体表中,将相应的实体ID设置为主键。而主键上的值在二维表中是唯一的,且不能为空值。这样,实体表中的一条记录就唯一地描述了现实世界中的一个实体。

4.6 数据的完整性控制 (3)用户定义完整性(User-defined Integrity)。用户还可以根据业务规则定义专门的约束条件进一步规范和限制某些字段上的数据取值范围。例如,将“身份证号码”字段的“输入掩码”属性设置为“00000000000000000A”以及将“性别”字段的“有效性规则”属性设置为“男” or “女”。 (4)参照完整性(Referential Integrity)。在Access数据库中,通过在表间关系之间实施参照完整性可以确保和验证父表和子表之间记录对应关系的有效性。此外,通过设置 “级联更新相关字段”规则和“级联删除相关记录”规则,可以在主表中更新主键值或删除记录时,仍然保持父表与子表之间记录对应关系的原有完整状态。

4.7 现实世界与数据模型之间的相互转换

4.8 小结 在Access数据库中,“输入掩码”、“有效性规则”和“有效性文本”是3个十分有用的字段属性,它们可以在一定程度上确保输入到表中的数据是有效的,是RDBMS在数据完整性控制功能方面的具体体现。

4.8 小结 在关系数据库中,是使用关系概念模型描述客观事物及其联系的。 实体-联系方法(Entity-Relationship Approach)是最为著名也最为常用的关系概念模型的表示方法。 在E-R图中,可以描述实体型、实体型具有的属性、实体型之间的联系以及联系的类型等多种信息。 在关系模型中,需要为实体型和实体型之间的多对多联系建立专门的关系模式。而对于实体型之间的一对多联系,则不需要建立专门的关系模式,一对多联系所关联的两个实体型之间可以通过关联属性建立联系。 根据所描述对象的不同,就可以将关系数据库中的表分为实体表和联系表。实体表是用来描述实体的,联系表描述的是实体之间的联系。

4.8 小结 为了减少或避免数据冗余,在关系数据库中,数据是分散地存储在不同的二维表中的。 而存放在不同表中的数据之间又是相互联系的。存放在不同表中的数据之间的内在联系,是以“关联字段”为纽带、通过表间关系体现和实现的。 在关系数据库中,最常见的表间关系是一对多的表间关系。 父表与子表之间通过关联字段可以建立一对多表间关系。 关联字段在父表中是主键,而在子表中则是外键。 父表定义了关联字段的取值范围,而子表只能引用父表中关联字段的值。 在Access关系数据库中,建立表间关系的关联字段不需要有相同的名称,但必须有相同的数据类型、并具有相同的业务含义。

4.8 小结 参照完整性是数据完整性控制的另一项重要措施,可以确保和验证父表和子表之间记录对应关系的有效性。 更新父表中的主键值或者删除父表中的记录,都有可能引起父表与子表之间的数据不一致性。 为此,Access提供了“级联更新相关字段”规则和“级联删除相关记录”规则。这样,当在父表中进行主键值更新或记录删除操作时,可以在子表中进行相应的字段更新或记录删除操作,从而使得父表与子表之间的记录对应关系保持原有的完整状态。

4.8 小结 对于业务数据分析人员来说,数据库技术的价值在于能够帮助他们更加有效地处理、利用和分析业务数据,以达到从众多的明细业务数据中获得有用信息、并利用这些信息辅助经营管理决策的目的。 业务数据分析之前的准备工作: (1)正确地理解字段的业务含义,明确字段的数据类型; (2)以数据(字段)的业务含义为基础建立数据库所反映的业务模型; (3)在理解数据业务含义的基础上,利用E-R图分析业务规则,并与业务模型相互验证; (4)基于关联字段的识别进行表间关系分析; (5)利用数据库工具创建表间关系。