资源信鳥系统 第四章地矿属性 数据库子系统的 设计与应用 中国地质大学
中 国 地 质 大 学 资 源 信 息 系 统 第四章 地矿属性 数据库子系统的 设计与应用
目录 第一节数据库系统原理与方法概述 2)第二节地矿资源属性数据库结构设计 第三节地矿资源属性数据库系统的应用 9 China University of Geosciences 资源信息系统
China University of Geosciences 资源信息系统 目 录 2 第二节 地矿资源属性数据库结构设计 第一节 数据库系统原理与方法概述 31 第三节 地矿资源属性数据库系统的应用 3
本节提要 第二节资源数据库结构设计 令数据库设计的规范化理论 令数据库设计一般方法 资源数据库结构设计 9 China University of Geosciences 资源信息系统
China University of Geosciences 资源信息系统 ❖数据库设计的规范化理论 ❖数据库设计一般方法 ❖资源数据库结构设计 第二节 资源数据库结构设计 本节提要
、数据库设计的规范化理论 数据库设计是建立数据库应用系统的核心问题。 设计的关键是如何使设计的数据库能合理地存储 用户的数据,方便用户进行数据处理。本节将对 数据库设计进行讨论,并给出关于如何进行设计 的一些基本理论和原则。 令关系数据库:自从提出了关系数据库理论后,许 多专家学者对关系数据库理论进行了深入的研究 和发展,借助于数学工具规定了一整套的关系数 据库设计的理论和方法—一函数依赖理论和关系 规范化理论。该理论使关系数据库设计方法走向 完备 9 China University of Geosciences 资源信息系统
China University of Geosciences 资源信息系统 一、数据库设计的规范化理论 ❖数据库设计是建立数据库应用系统的核心问题。 设计的关键是如何使设计的数据库能合理地存储 用户的数据,方便用户进行数据处理。本节将对 数据库设计进行讨论,并给出关于如何进行设计 的一些基本理论和原则。 ❖关系数据库:自从提出了关系数据库理论后,许 多专家学者对关系数据库理论进行了深入的研究 和发展,借助于数学工具规定了一整套的关系数 据库设计的理论和方法——函数依赖理论和关系 规范化理论。该理论使关系数据库设计方法走向 完备
(一)数据库设计概述 心数据库设计完全是人的问题,而不是数据库管理 系统的问题 令系统不管设计是好是坏,照样运行,但好的设计和 差的设计有天壤之别。 心谁设计:在大型多用户共享数据库系统中,数据 库设计应当由数据库管理员和系统分析员一起负 责,和用户一道工作,了解各个用户的要求,把 所有要求合并起来,共同为整个数据库做出恰当 的、完整的设计。 9 China University of Geosciences 资源信息系统
China University of Geosciences 资源信息系统 ❖数据库设计完全是人的问题,而不是数据库管理 系统的问题。 ❖系统不管设计是好是坏,照样运行, 但好的设计和 差的设计有天壤之别。 ❖谁设计:在大型多用户共享数据库系统中,数据 库设计应当由数据库管理员和系统分析员一起负 责,和用户一道工作,了解各个用户的要求,把 所有要求合并起来,共同为整个数据库做出恰当 的、完整的设计。 (一)数据库设计概述
(二)问题的提出 开发一个具体的数据库应用系统时,核心问题是设计数据库 结构,数据库结构的设计好坏是系统开发成败的关键所在 当一个应用系统的数据库结构设计完成之后,就可利用我们 选定的关系数据库管理系统提供的数据定义语言去描述库结 构,即定义关系数据库模式及关系模式。 今但是,由于设计者对现实世界的认识或看问题的方法不同, 同一个系统可以设计出不同的关系数据库结构 ◆那么,我们如何根据设计的对象去构造一个好的关系数据库 结构,即构造几个关系(表)呢?每个关系由哪些属性组成, 好坏如何评价呢? 心为了说明关系模式设计的性能好坏,让我们先看一个例子 例如,某学校要建立一个学生管理数据库,有如下属性:学 号、系名、系主任、成绩、课程。 9 China University of Geosciences 资源信息系统
China University of Geosciences 资源信息系统 (二)问题的提出 ❖ 开发一个具体的数据库应用系统时,核心问题是设计数据库 结构,数据库结构的设计好坏是系统开发成败的关键所在。 ❖ 当一个应用系统的数据库结构设计完成之后,就可利用我们 选定的关系数据库管理系统提供的数据定义语言去描述库结 构,即定义关系数据库模式及关系模式。 ❖ 但是,由于设计者对现实世界的认识或看问题的方法不同, 同一个系统可以设计出不同的关系数据库结构。 ❖ 那么,我们如何根据设计的对象去构造一个好的关系数据库 结构,即构造几个关系(表)呢?每个关系由哪些属性组成, 好坏如何评价呢? ❖ 为了说明关系模式设计的性能好坏,让我们先看一个例子。 例如,某学校要建立一个学生管理数据库,有如下属性:学 号、系名、系主任、成绩、课程
的关系機式:uN(学,课稻[学号「课名系 成绩,系名,系主任) C语言4管理张敏 今现实世界的事实告诉我们: ①一个系有若干学生,但一个学 90ASC05管理|张敏 生只属于一个系。 90数据库车5管理|张敏 ②一个系只有一名系主任 ③一个学生可以选修多门功课, 9DC语言5管理|张敏 每门课程可有若干学生选修。 ④每个学生学习每门课程有一个 900数据库4管理张敏 成绩。 5101C语言5计算机|王宏 当(学号,课程)组合属性值 定时,也就确定了该学号和课 90软件工程|4|计算机|王宏 程对应的成绩、系名、系主任9501数据库5计算机王宏 的属性值,并且有唯一性,所 以(学号,课程)具有记录(51C(软件程5计算机王宏 元组)标识作用,是该关系912数据库 14计算机王宏 的主键(关键字)。 冷这个关系模式在使用中会出现 生金题呢 hina 'University of Geosciences 图4.1UN关系模式实例
China University of Geosciences 资源信息系统 ❖ 我们可以组成一个关系名为UN 的关系模式:UN (学号 ,课程 , 成绩 ,系名 ,系主任 ) ❖ 现实世界的事实告诉我们: ▪ ①一个系有若干学生,但一个学 生只属于一个系 。 ▪ ②一个系只有一名系主任 。 ▪ ③一个学生可以选修多门功课 , 每门课程可有若干学生选修 。 ▪ ④每个学生学习每门课程有一个 成绩 。 当 (学号 ,课程 )组合属性值一 定时 ,也就确定了该学号和课 程对应的成绩 、系名 、系主任 的属性值 ,并且有唯一性 , 所 以 (学号 ,课程 ) 具有记录 (元组 )标识作用 ,是该关系 的主键 (关键字 ) 。 ❖ 这个关系模式在使用中会出现 什么问题呢 ?
(1)数据冗余 冷每个系主任的姓名和系名与该系的每个号 生所选修的每一门功课的成绩出现的次数 样多,这将造成存储空间的浪费和维护 代价太高。例如,该系有100名学生,每 个学生平均选30门课,则该系名和系主 任名要重复100X30=3000次。 心这种数据重复存放造成空间浪费称为“数 据冗余”。 9 China University of Geosciences 资源信息系统
China University of Geosciences 资源信息系统 (1) 数据冗余 ❖每个系主任的姓名和系名与该系的每个学 生所选修的每一门功课的成绩出现的次数 一样多,这将造成存储空间的浪费和维护 代价太高。例如,该系有100名学生,每 个学生平均选 30门课,则该系名和系主 任名要重复 100 x 30= 3000次。 ❖这种数据重复存放造成空间浪费称为“数 据冗余”
2.修改异常 ☆例中,如果要更换系主任,就必须逐一修 改每条记录。若有疏忽,则会造成数据的 不一致性(同一系的学生有不同的系主 任),当然也就破坏了数据的完整性(由 于修改失误,造成数据的不正确),这称 为“修改异常”或称为“潜在的不相容 性” 9 China University of Geosciences 资源信息系统
China University of Geosciences 资源信息系统 2. 修改异常 ❖例中,如果要更换系主任,就必须逐一修 改每条记录。若有疏忽,则会造成数据的 不一致性(同一系的学生有不同的系主 任),当然也就破坏了数据的完整性(由 于修改失误,造成数据的不正确),这称 为“修改异常”或称为“潜在的不相容 性”
3.插入异常 ◆在关系模式UN中,主键是(学号,课程) 主键的特性不能为空或部分为空,主键为空 或部分为空的记录(元组)不能存入数据库 中,否则,就会因为失去标识而使关系中存 在相同元组,这是关系性质的完整性约束所 不允许的。 令例中,如果一个系刚成立,尚无学生,或者 有了学生但还没有选课,我们就无法将该系 的系名和系主任插入到数据库中,这称为 “插入异常”。 9 China University of Geosciences 资源信息系统
China University of Geosciences 资源信息系统 3. 插入异常 ❖在关系模式UN中,主键是(学号,课程)。 主键的特性不能为空或部分为空,主键为空 或部分为空的记录(元组)不能存入数据库 中,否则,就会因为失去标识而使关系中存 在相同元组,这是关系性质的完整性约束所 不允许的。 ❖例中,如果一个系刚成立,尚无学生,或者 有了学生但还没有选课,我们就无法将该系 的系名和系主任插入到数据库中,这称为 “插入异常”