第4章数据库技术及应用(编辑修改稿)内容摘要:
依赖的关系 :学生住宿的 ‚ 楼号 ‛ 依赖于 ‚ 学号 ‛ ,学生应交的住宿费是由 ‚ 楼号 ‛ 决定的,即 ‚ 收费 ‛ 依赖于‚ 楼号 ‛ , ‚ 楼号 ‛ 依赖于 ‚ 学号 ‛ 、而 ‚ 收费 ‛ 又依赖于‚ 楼号 ‛ 学号 楼号 收费 100 2 500 120 4 600 130 2 500 150 8 800 180 2 500 学生住宿收费表 (有传递依赖的关系) 学号 楼号 楼号 收费 所以, 学号 收费 t 学号 楼号 楼号 收费1 0 0 2 2 5 0 01 2 0 4 4 6 0 01 3 0 2 2 5 0 01 5 0 8 8 8 0 01 8 0 2 2 5 0 0进行分解,可以 消除传递依赖 下一页 上一页 第 50/共 67页 关系规范化 —— 范式 关系规范化有不同的标准,将规范标准称之为范式。 可以把范式看成是用范式定义消除数据冗余的程度。 范式分为: 第一范式 ——1NF 第二范式 ——2NF 第三范式 ——3NF BoyceCodd范式 ——BCNF 第四范式 ——4NF 第五范式 ——5NF 它们满足下列关系: 5NF 4NF BCNF 3NF 2NF 1NF 下一页 上一页 第 51/共 67页 非规范化关系 表中具有复合数据项和多值数据项的都不是规范化的表。 职工号 姓 名 工 资 基本工资 职务工资 工龄工资 职工号 姓 名 学历 系办公地址 毕业年份 系名 职称 001 002 张强 李刚 教授 讲师 计算机 1205 大学 研究生 1963 1982 电信 2204 大学 1989 复合数据项 多值数据项 下一页 上一页 第 52/共 67页 转化非规范化关系举例 表中具有复合数据项和多值数据项的都不是规范化的表。 职工号 姓 名 基本工资 职务工资 工龄工资 职工号 姓 名 学历 系办公地址 毕业年份 系名 职称 001 002 张强 李刚 教授 讲师 计算机 1205 大学 1963 电信 2204 大学 1989 消除复合数据项 消除多值数据项 研究生 1982 001 张强 教授 计算机 1205 下一页 上一页 第 53/共 67页 第一范式 —— 1NF 定义:所有符合关系定义(二维表格)的关系被称为规范关系,或称为第一范式,记为 1NF。 或曰: 每个属性都必须是原子值,即仅仅是一个简单值而不含内部结构。 如果关系模式 R的每个关系的各个属性值都是基本数据项,则称 R为第一范式。 下一页 上一页 第 54/共 67页 第一范式的讨论 关系 BORROW虽然满足了 1NF,但还存在不规范的问题。 数据冗余 一个学生要借 10本书,他的有关信息要重复存放 10次; 插入问题 若某学生没借过书,则有关信息无法插入;因为,作为主关键字(借书证号,书号)的 ‚ 书号 ‛ 无值; 删除问题 若某学生归还了借阅的全部图书,则有关他的信息将全被删除(丢失)。 结论: 作为关系模式来说,在某些应用中,只满足 1NF还不够,还要进一步规范化。 下一页 上一页 第 55/共 67页 第二范式 —— 2NF 如果 R是 1NF,并且每个非主属性都完全函数依赖于关键字, 则称 R为第二范式,记为 2NF。 关系 BORROW不是第二范式,因为其属性 ‚ 姓名 ‛ 、‚ 单位 ‛ 、 ‚ 住址 ‛ 、 ‚ 书名 ‛ 都不完全函数依赖于唯一的候选关键字 {借书证号,书号 }。 作下列投影运算,就可将其分解为 2NF的关系: READER = 借书证号、姓名、单位、住址( BORROW) BOOK = 书号、书名( BORROW) BORROW = 借书证号、书号、日期( BORROW) 下一页 上一页 第 56/共 67页 2NF的关系( a) READER关系 借书证号 姓 名 单 位 住 址 8612101 陆华 自控 86 女生宿舍 206 0621 张山 自控教研室 花园路 312号 8612103 何白 自控 86 女生宿舍 206 8603211 李维 自控 86 男生宿舍 101 书号 书 名 6201 自控原理 3104 数据处理 5112 晶体管电路 0116 机械制造 0229 金相分析 2NF的关系 BOOK 下一页 上一页 第 57/共 67页 2NF的关系( c)关系 BORROW 借书证号 书 号 日 期 8612102 6201 0621 6201 0621 3104 0621 5112 8612103 5112 8603211 0116 8603211 0229 下一页 上一页 第 58/共 67页 关系 BICYCLE 品 名 厂 家 厂 长 产地 年产量 单 价 黄山牌 26男车 黄山自行车厂 刘同利 合肥 20200 黄山牌 26坤车 黄山自行车厂 刘同利 合肥 23000 红旗牌 24坤车 海河自行车厂 王山 天津 76000 大象牌 28男车 生发自行车厂 丁三元 广州 10000 大象牌 28加重 生发自行车厂 丁三元 广州 50000 大象牌 28跑车 生发自行车厂 丁三元 广州 10000 大象牌 26男车 生发自行车厂 丁三元 广州 30000 大象牌 26坤车 生发自行车厂 丁三元 广州 50000 大象牌 24坤车 生发自行车厂 丁三元 广州 10000 下一页 上一页 第 59/共 67页 第三范式 —— 3NF 如果关系模式 R满足 2NF,且它的任何一个非主属性都不传递依赖于任何候选关键字,则称 R为第三范式,记为 3NF。 例关系 BICYCLE满足第二范式,但不满足第三范式,因为: t t 品名 厂家, 厂家 厂长 去掉其中的传递依赖关系,即可得到满足第三范式的关系。 例如,新关系 BICYCLE和( c)新关系BICYCLE_PLANT。 t t 品名 厂家, 厂家 产地 下一页 上一页 第 60/共 67页 第三范式 —— 3NF 举例 品 名 厂 家 厂 长 产地 年产量 单 价 黄山牌 26男车 黄山自行车厂 刘同利 合肥 20200 黄山牌 26坤车 黄山自行车厂 刘同利 合肥 23000 红旗牌 24坤车 海河自行车厂 王山 天津 76000 大象牌 28男车 生发自行车厂 丁三元 广州 10000 大象牌 28加重 生发自行车厂 丁三元 广州 50000 大象牌 28跑车 生发自行车厂 丁三元 广州 10000 大象牌 26男车 生发自行车厂 丁三元 广州 30000 大象牌 26坤车 生发自行车厂 丁三元 广州 50000 大象牌 24坤车 生发自行车厂 丁三元 广州 10000 (a)关系 BICYCLE 下一页 上一页 第 61/共 67页 第三范式 —— 3NF 举例 经投影操作: BICYCLE= 品名、厂家、年产量、单价( BICYCLE) 得: 品 名 厂 家 年产量 单 价 黄山牌 26男车 黄山自行车厂 20200 黄山牌 26坤车 黄山自行车厂 23000 红旗牌 24坤车 海河自行车厂 76000 大象牌 28男车 生发自行车厂 10000 大象牌 28加重 生发自行车厂 50000 大象牌 28跑车 生发自行车厂 10000 大象牌 26男车 生发自行车厂 30000 大象牌 26坤车 生发自行车厂 50000 大象牌 24坤车 生发自行车厂 10000 (b)新关系 BICYCLE 下一页 上一页 第 62/共 67页 第三范式 —— 3NF 举例 经投影操作: BICYCLE_PLANT=厂家 ,厂长 ,产地 (BICYCLE),得 厂 家 厂 长 产 地 黄山自行车厂 刘同利 合肥 海河自行车厂 王山 天津 生发自行车厂 丁三元 广州 (c)新关系 BICYCLE_PLANT 新关系 (b)BICYCLE和 (c)BICYCLE_PLANT 满足第三范式的关系。 下一页 上一页 第 63/共 67页 综合举例 SCT关系 SCT关系是由 S(学号)、 C(课程号), GRADE(成绩)、 TNAME(教师姓名)、 TAGE(教师年龄)、 OFFICE(办公室)属性组成。 SCT是 1NF,而不是 2NF。 因为( S, C)是 SCT的候选关键字, TNAME是非主属性, C是( S, C)的一个真子集,CTNAME。 S C GRADE TNAME TAGE OFFICE S1 C1 90 周 45 301 S1 C2 91 刘 39 302 S1 C3 85 刘 39 30 S1 C4 87 王 51 301 S2 C1 92 周 45 301 S3 C1 75 周 45 301 S3 C2 56 刘 39 302 SCT关系 (学生课程教师关系) 下一页 上一页 第 64/共 67页 SCT从 1NF分解为 2NF 将 SCT关系分解为两个子关系 SC和 CT,即 SC( S, C,GRADE)、 CT( C, TNAME, TAGE, OFFICE),即得到两个 2NF关系。 S C GRADE S1 C1 90 S1 C2 91 S1 C3 85 S1 C4 87 S2 C1 92 S3 C1 75。第4章数据库技术及应用(编辑修改稿)
相关推荐
⑥ 登录进程建立用户环境,包括启动Desktop Explorer和显示背景等。 ( 2)网络登录过程(如图 ) 图 网络登录 Windows NT/2020服务器的过程 ① 用户将用户名和口令输入到网络客户机软件的登录窗口。 ② 该客户机软件打开 NetBIOS,连接到服务器的 NetLogon服务上,该客户机软件对口令加密,发送登录证书到服务器的WinLogon进程。 ③ 服务器的
对记录集中的记录,需要用循环方法逐条处理。 处理完当前记录后,调用 CRecordset类的MoveNext函数,将记录指针移至下条记录。 当最后一条记录处理完毕后,函数 IsEOF的值为真。 下一页 上一页 第 30/共 63页 例 450 源代码 include include int main() { CDatabase database。 BOOL bStatus = false
底质。 水生生物方面主要调查浮游动植物、藻类、底栖无脊椎动物的种类和数量,水生生物群落结构等;底质方面主要调查与建设项目排污水质有关的以积累的污染物。 环境现状调查与评价 地表水评价因子筛选应根据 评价项目的特点 和当地 水环境污染特点 而定一般考虑的原则是: ①按 等标污染负荷值 大小排序,选择排位在前的因子,但对那些毒害性大、持久性的污染物如重金属、苯并 [a]芘等应慎重研究再决定取舍;
Accelerated Graphics Port IDE(集成设备接口),又称 ATA接口 Integrated Device Electronics SCSI(小型计算机系统接口) Small Computer System Interface 外部总线 USB(通用串行总线) IEEE 1394(高性能串行总线) 27 一、 ISA总线 主要特性
D,i=2,...,n} 13种 操作 5种 最小操作子集 串的抽象数据类型的定义 6 基本操作: StrAssign(amp。 T,chars) StrCopy(amp。 T,S) StrEmpty(S) StrCompare(S,T) StrLength(S) ClearString(amp。 S) Concat(amp。 T,S1,S2)
TCON=00H (2) T1在方式 1时 , 溢出产生中断 , 且计数器回零 , 故在中断服务程序中 , 需用 R0计数中断次数 , 以保护累积计数结果。 (3) 启动 T1计数 , 开 T1中断。 三 、 方式 2 方式 2 是定时器自动重装载的操作方式 , 在这种方式下 , 定时器 0 和 1 的工作是相同的 , 它的工作过程与方式 0、 方式 1 基本相同 , 只不过在溢出的同时 , 将