第四章 数据库设计基础_第1页
第四章 数据库设计基础_第2页
第四章 数据库设计基础_第3页
第四章 数据库设计基础_第4页
第四章 数据库设计基础_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

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

文档简介

1、全国计算机等级考试二级公共基础知识(数据库设计基础)详细重点学习知识点 1. 数据库的基本概念:数据库,数据库管理系统,数据库系统。 2. 数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。 3. 关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。 4. 数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。*数据库系统的基本概念 数据(Data) 数据库(DB) 数据库管理系统(DBMS) 数据库系统(DBS)*数据(Data) 描述事物的符号记录。 软件中的数据是有一定结构的。*数据库(DB) 是长期存储在计算机内的,有组织的,可共享的数据集

2、合。 数据库不仅包括描述事物的数据本身,而且包括相关事物之间的关系。 数据库中的数据具有永久存储、有组织和可共享3个基本特点。*数据库管理系统(DBMS) 是在数据库系统资源的基础上,针对某一类应用而开发出来的应用软件。 要在操作系统支持下工作。 解决如何科学地组织和存储数据,如何高效的获取和维护数据的系统软件。数据库管理系统的主要功能 数据模式定义 数据存取的物理构建 数据操纵 数据的完整性、安全性定义与检查 数据库的并发控制与故障恢复 数据的服务数据库语言(DL) 数据定义语言(DDL) 数据操纵语言(DML) 数据控制语言(DCL)*数据库管理员(DBA) 负责全面管理和控制数据库系统。

3、其主要工作如下: 1. 数据库设计 2. 数据库维护 3. 改善系统性能,提高系统效率*数据库系统(DBS) 由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。*数据库应用系统 由数据库系统、应用软件及应用界面三者组成。数据库系统的软硬件层次结构图用户用户用户用户用户用户应用系统应用系统应用开发应用开发工具软件工具软件数据库管理系统数据库管理系统操作系统操作系统数据库数据库数据库管理人员数据库管理人员硬件系统硬件系统应用系统应用系统应用开发工具软件应用开发工具软件数据库管理系统数据库管理系统操作系统操作系统硬件硬件数据库系

4、统访问数据的步骤返回状态工作区应用程序A系统缓冲区应用程序A的子模式模式存储模式操作系统运行日志DBMS(1)(2)(3)(4)(5)(6)(7)(8)(10)(9)*数据库系统的发展 人工管理阶段 文件系统阶段 数据库系统阶段数据管理3个阶段的比较人工管理阶段人工管理阶段文件系统阶段文件系统阶段数据库系统阶段数据库系统阶段背景背景应用背景应用背景科学计算科学计算、数据管理大规模数据管理硬件背景硬件背景无直接存取存储设备 磁盘、磁鼓大容量磁盘、磁盘阵列软件背景软件背景没有操作系统有文件系统有数据库管理系统处理方式处理方式批处理联机实时处理、批处理联机实时处理、分布处理、批处理特点特点数据的管理

5、者数据的管理者用户(程序员)文件系统数据库管理系统数据面向的对象数据面向的对象某一应用程序某一应用现实世界(一个部门、企业、跨国组织等)数据的共享程度数据的共享程度无共享,冗余度极大 共享性差,冗余度大共享性高,冗余度小数据的独立性数据的独立性不独立,完全依赖于程序独立性差具有高度的物理独立性和一定的逻辑独立性数据的结构化数据的结构化无结构记录内有结构、整体无结构整体结构化,用数据模型描述数据控制能力数据控制能力应用程序自己控制英应用程序自己控制由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力数据库系统的基本特点 数据的集成性 数据的高共享性与低冗余性 数据独立性 数据统一管理与控制

6、数据库系统的三级模式结构 模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。 外模式:也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。外模式通常是模式的子集,一个数据库可以有多个外模式。 内模式:也称存储模式,是数据物理结构和存储方式的描述。一个数据库只有一个内模式。数据库的二级映像功能 外模式/模式映像:模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构,对应与同一个模式可以有多个外模式。对于每一外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式

7、与模式之间的对应关系。保证了数据与程序的逻辑独立性。 模式/内模式映像:数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。保证了数据与程序的物理独立性。数据库系统的内部结构体系应用应用A应用应用B应用应用C应用应用D应用应用E外模式外模式1(用户数据库)(用户数据库)模式模式(概念数据库)(概念数据库)内模式内模式(物理数据库)(物理数据库)数据库数据库外模式外模式2(用户数据库)(用户数据库)外模式外模式3(用户数据库)(用户数据库)外模式外模式3/模式映射模式映射内模式内模式/模式映射模式映射外模式外模式2模式映射模式映

8、射外模式外模式1模式映射模式映射例1.1 学生选课应用应用A应用应用B应用应用C学号学号 姓名姓名 班级班级S课程号课程号 课程名学分课程名学分C学号学号 课程号课程号 成绩成绩SCC-SC:1:n学号学号 姓名姓名 班级班级S课程号课程号 课程名学分课程名学分C学号学号 课程号课程号 成绩成绩SCC-SC:1:nS-SC:1:n按环状链接存储记录按环状链接存储记录s1s2s3s4S1 c1 Ac1c2外模式外模式1外模式外模式2模式模式内模式内模式数据库数据库外模式外模式1模式模式的映射的映射外模式外模式2模式模式的映射的映射模式内模式的映射模式内模式的映射练习 数据库管理系统DBMS中用来

9、定义模式、内模式和外模式的语言为 A) CB) BasicC) DDL D) DML 应用数据库的主要目的是 A) 解决数据保密问题B) 解决数据完整性问题 C) 解决数据共享问题D) 解决数据量大的问题练习 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是_。 下述关于数据库系统的叙述中正确的是 A) 数据库系统减少了数据冗余 B) 数据库系统避免了一切冗余 C) 数据库系统中数据的一致性是指数据类型一致 D) 数据库系统比文件系统能管理更多的数据数据库系统阶段数据库系统阶段练习 数据库、数据库系统和数据库管理系统之间的关系是 A) 数

10、据库包括数据库系统和数据库管理系统 B) 数据库系统包括数据库和数据库管理系统 C) 数据库管理系统包括数据库和数据库系统 D) 3者没有明显的包含关系 当数据的物理结构(存储结构、存取方式等) 改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的_。物理独立性物理独立性练习 下列叙述中,不属于数据库系统的是 A) 数据库B) 数据库管理系统 C) 数据库管理员 D) 数据库应用系统 数据库系统的核心是 A) 数据库B) 数据库管理系统 C) 数据模型 D) 软件工具练习 在数据库系统中,用户所见的数据模式为 A)概念模式B)外模式 C)内模式D)物理模式 下列叙述中错误的

11、是 A)在数据库系统中,数据的物理结构必须与逻辑结构一致 B)数据库技术的根本目标是要解决数据的共享问题 C)数据库设计是指在已有数据库管理系统的基础上建立数据库 D)数据库系统需要操作系统的支持*数据模型的基本概念 数据模型是对客观事物及其关系的数据描述。 数据库中的数据模型可以将复杂的现实世界要求反映到计算机数据库中的物理世界。 现实世界 信息世界 计算机世界 数据模型是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件。数据模型所描述的内容 数据结构 数据操作 数据约束*数据模型的三种类型 概念数据模型(概念模型) 逻辑数据模型(数据模型) 物理数据模型(物理模型)*E

12、-R模型 E-R模型将现实世界的要求转换成实体、联系、属性等几个基本概念,以及它们间的两种基本联接关系,并且可以用一种图非常直观地表示出来。 实体:现实世界中的事物 属性:现实世界中事物的特性 联系:现实世界中事物间的关系实体 现实世界中的事物可以抽象成为实体,实体是概念世界中的基本单位,它们是客观存在的且又能相互区别的事物。 凡事具有共性的实体可以组成一个集合称为实体集。例2.1 实体、实体型以及实体集项目(项目编号,项目名,负责人,资金)项目(项目编号,项目名,负责人,资金) 001, 辅助诊断系统,辅助诊断系统, 张三,张三,50万万 002 , 公交定位系统,李四,公交定位系统,李四,

13、25万万 003, 人事管理系统,王五,人事管理系统,王五,10万万 实体型实体型任意任意一条一条记录记录是一是一实体实体实体集实体集属性 现实世界中的事物均有一些特性,这些特性可以用属性来表示。属性刻画了实体的特征。一个实体往往可以有若干个属性。 每个属性可以有值,一个属性的取值范围称为该属性的值域或值集。例2.2 实体、属性以及属性的值域学生(学号,姓名,性别)学生(学号,姓名,性别) 001, 张张三三,男,男 002 , 李四,男李四,男 003, 王五,男王五,男属性属性任意任意一条一条记录记录是一是一实体实体一组属性值一组属性值(元组)(元组)一个元组分量;一个元组分量;属性的值,

14、其值属性的值,其值域为(男,女)域为(男,女)联系 现实世界中的事物间的关联称为联系。在概念世界中联系反映了实体集间的一定关系。*E-R模型的图示法 用简单的几何图形表示实体集、属性与联系。实体集表示法 在E-R图中用矩形表表示实体集,在矩形内写上实体集名称。如实体集学生(student)、实体集课程(course)可用如下表示。studentcourse属性表示法 在E-R图中用椭圆形表示属性,在椭圆形内写上该属性名称。如学生有属性:学号(S#)、姓名(Sn)及年龄(Sa)可用如下表示。S#SnSa联系表示法 在E-R图中用菱形(内写上联系名)表示联系。如学生与课程的联系SC可用如下表示。S

15、C实体集与属性间的联接关系 属性依附于实体集,它们之间有联系关系用无向线段表示。如实体集student有属性S#(学号)、Sn(学生姓名)及学生年龄(Sa);实体集course有属性C#(课程号)、Cn(课程名)及预修课号(P#)可用如下表示。studentS#SnSacourseC#CnP#联系与属性间的联接关系 属性也依附于联系,它们之间也有联系关系,因此也可用无向线段,如联系SC可与学生的课程成绩属性G建立联系并用下图表示。SCG实体集与联系间的联接关系 实体集与联系间的联接关系可用这两个图形间的无向线段表示。如实体集student与联系SC之间有联接关系,实体集course与联系SC之

16、间也有联接关系,因此它们之间可以用无向线段相联并用下图表示。studentcourseSC实体集间的联系 实体集间可以通过联系建立联接关系,一般而言,实体集间无法建立直接关系,它只能通过联系才能建立起连接关系。如教师与学生两个实体集之间无法直接建立关系,只有通过“教与学”的的联系才能在相互之间建立关系。 有时为了进一步刻画实体间的函数关系,还可在线段边上注明其对应函数关系,如1:1, 1:n,n:m等,如student与course间有多对多联系可用如下表示。studentcourseSCnm例2.3 一对一、一对多、多对多三种联系实体型A联系名实体型B11实体型A联系名实体型B1n实体型A联

17、系名实体型Bmn领导系主任系11包括班级学生1N选课学生课程MN例题 2.1 实体型“学生”具有学号、姓名、年龄、性别、系、年级属性。请用E-R模型表示。学生学号姓名年龄性别系年级例 2.4 一个完整的E-R图学生课程选修姓名学号系别课程名预修课老师成绩实体联系属性nm结构图学校学校院系院系研究所研究所部处部处教研室教研室班班科研室科研室科科教师教师学生学生研究人员研究人员科研人员科研人员层次模型学校学校领导领导领导领导领导领导院系院系研究所研究所部处部处领导领导教研室教研室领导领导班班领导领导科研室科研室领导领导科科领导领导教师教师领导领导学生学生领导领导研究人员研究人员领导领导科研人员科研

18、人员网状模型学校学校领导领导领导领导教师教师班级班级教学教学学生学生管理管理教师教师班级班级学生学生1nn学校学校1学校学校教师教师班级班级1nn学生学生n*关系模型 关系模型采用二维表来表示,简称表,由表框架及表的元组组成。一个二维表就是一个关系。学号学号姓名姓名性别性别出生日期出生日期入学成绩入学成绩四级通过否四级通过否计算机等级考试计算机等级考试备注备注04001001尚杰尚杰男男86-11-20520.5T一级一级04001002余习芳余习芳女女86-12-26513.5F二级二级04001057张轶一张轶一男男86-01-09612.0T04002023陶红莉陶红莉女女85-02-1

19、4535.0F二级二级二维表 二维表由表框架与表元组组成。 表框架由n个命名的属性组成(n称为属性元素)。 每个属性有一个取值范围称为值域。 表框架对应了关系的模式,即类型的概念。 每行数据称为元组,一个元组由n个元组分量所组成,每个元组分量是表结构中每个属性的投影值。二维表、关系模型与 VFP表文件二维表二维表关系模型关系模型VFP表文件表文件二维表框架二维表框架关系模式关系模式数据表结构数据表结构行行元组元组记录记录 元组分量元组分量数据项数据项列列属性属性字段字段 属性值域属性值域字段值域字段值域*关系必须是规范化的关系系系 性别性别 年龄年龄姓名姓名学号学号9901 张三张三 17 男

20、男 物理物理9902 王五王五 18 男男 化学化学9903 李李华华 18 女女 化学化学 地址地址省省 市市 县县二维表的性质 元素个数有限性:二维表中元组个数是有限的 元组的惟一性:二维表中元组均不相同 元组的次序无关性:二维表中元组的次序可任意交换 元组分量的原子性:二维表中元组的分量是不可分割的基本数据项 属性名惟一性:二维表中属性名各不相同 属性的次序无关性:二维表中属性与次序无关,可任意交换 分量值域的同一性:二维表属性中的分量具有与该属性相同的值域*键(码) 在二维表中凡能惟一标识元组的最小属性集称为该表的键(或码)。 二维表中可能有若干个键,它们称为该表的候选码或候选键。 从

21、二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。 表A中的某属性集是表B的键,则称该属性集为A的外键或外码。例2.5 学生选修课程关系模型学生(学生(学号学号,姓名,系别),姓名,系别)课程(课程(课程号课程号,课程名,学分),课程名,学分)选修选修(学号学号,课程号课程号,成绩),成绩)学生学生选修选修课程课程mn Sno Sname Sdept李勇李勇刘晨刘晨王敏王敏张立张立95001950029500395004CSISMAISCno Cname Ccredit1234567数据库数据库数学数学信息系统信息系统操作系统操作系统数据结构数据结构数据处理数据处理PASCAL语言语

22、言4243424 Sno Cno Grade9500195001950019500295002123239285889080关系操纵 数据查询 数据插入 数据删除 数据修改*关系中的数据约束 实体完整性约束 参照完整性约束 用户定义的完整性约束练习 一个关系表的行称为_。 在E-R图中,用来表示实体之间联系的图形是 A)矩形B)椭圆形 C)菱形D)平行四边形元组元组练习 在二维表中,元组的 _不能再分成更小的数据项。 将E-R图转换为关系模式时,实体和联系都可以表示为 A) 属性B) 键 C) 关系D) 域分量分量练习 下列叙述中正确的是 A)为了建立一个关系,首先要构造数据的逻辑关系 B)表

23、示关系的二维表中各元组的每一个分量还可以分成若干数据项 C)一个关系的属性名表称为关系模式 D)一个关系可以包括多个二维表 人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是 _。身份证号身份证号练习 设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为 A)课号,成绩B)学号,成绩 C)学号,课号D)学号,姓名,成绩 在关系数据库中,用来表示实体之间联系的是_。关系关系练习 关系模型允许定义3类数据约束,下列不属于数据约束的是 A) 实体完整性约束B) 参照完整性约束

24、C) 域完整性约束D) 用户自定义的完整性约束 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是 A)一对一B)一对多 C)多对一D)多对多练习 下列说法中,不属于数据模型所描述的内容的是 A) 数据结构B) 数据操作 C) 数据查询D) 数据约束 关系模型的基本操作 关系模型有插入、删除、修改和查询四种操作。 它们又可以进一步分解成六种基本操作: 1. 关系属性的指定 2. 关系的元组的选择 3. 两个关系的合并 4. 关系的查询 5. 关系元组的插入 6. 关系元组的删除*传统的集合运算 传统的集合运算是二目运算,包括并、差、交、笛卡尔积四种运算。 设关系R和关系S具有相同的目n,且相应

25、的属性取自同一个域,则可有如下定义:RSRSRS例3.1 并A B Ca 2 ca 4 db 4 cA B Ca 4 da 6 db 4 cA B Ca 2ca 4db 4cRSRSa 6dSRCRSRS例3.2 差A B Ca 2 ca 4 db 4 cA B Ca 4 da 6 db 4 cA B Ca 2 cRSRS3. 交 RSRSR S例3.3 交A B Ca 2 ca 4 db 4 cA B Ca 4 da 6 db 4 cA B Ca 4 db 4 cRSRS笛卡尔积RS R:m元关系,k1个元组 S:n元关系,k2个元组 RS = tr ts | tr R tsS 列:(m+n

26、)列元组的集合 元组的前n列是关系R的一个元组,后m列是关系S的一个元组 行:k1k2个元组例3.4 笛卡尔积A B Ca 2 ca 4 db 4 cA D Ea 4 da 6 db 4 cR.A BCS.ADEa2ca4da2ca6da2cb4ca4da4da4da6da4db4cb4ca4db4ca6db4cb4cRSRS*专门的关系运算 专门的关系运算包括选择、投影、连接、除运算等。1. 选择 选择是在关系R中选择满足给定条件的诸元组,记作 F(R) = t | tRF(t) = 真F的形式:由逻辑运算符连接算术表达式而成逻辑运算符:,算术表达式: 、是属性名、常量、或简单函数,是比较算

27、符, , , , , , ()。 选择运算是从行的角度进行的运算。例3.5 选择S#SNAGESEXDEPS1A20MCSS2B21FCSS3C19MMAS4D19FCIS5E20FMAS6F22MCSSDEP=CS(S) 求求计算机系计算机系(CS)的学生基本情况的学生基本情况求求年龄年龄小于小于21的学生基本情况的学生基本情况AGE 21 (S)S#SNAGESEXDEPS1A20MCSS3C19MMAS4D19FCIS5E20FMAS#SNAGESEXDEPS1A20MCSS2B21FCSS6F22MCS2. 投影 对一个关系R进行垂直分割,消去重复列,并重新安排列的顺序,记作 A1,A

28、2,An(R) 表示从R中选择属性集A1,A2,An组成新的关系。 投影操作主要是从列的角度进行运算。例3.6 投影S#SNAGESEXDEPS1A20MCSS2B21FCSS3C19MMAS4D19FCIS5E20FMAS6F22MCSSNDEPACSBCSCMADCIEMAFCSDEPCSMACIS对学生姓名和所在系属性取投影SN,DEP(S) 或 2,5(S)查询学生关系中都有哪些系DEP(S) 或 5(S)3.条件连接 联接是笛卡尔积和选择操作组合而成,即在关系R和关系S的笛卡尔积中挑选第i个分量和第j个分量满足运算的元组。 如果是等号“”,则该联接操作叫“等值联接”。记作R Sij(

29、RS)属性名属性名列序号列序号R S ij(RS)或例3.7 条件连接AB Ca12ca2 4 da34cDEd4e10AB C DEa12cd4a12ce10a2 4 de10a34ce10RSR SBEAB C DEa1 2cd4a1 2ce10a2 4 dd4a2 4 de10a3 4cd4a3 4ce10RSABCDEa24dd4a34cd4R SB=E4.自然连接 自然联接的计算过程如下: 计算RS;即计算笛卡尔积。 设R和S的公共属性是A1,A2Ai,挑选RS中满足R.A1=S.A1,R.Ai=S.Ai的那些元组;即选择公共属性值相等的元组。 把在连接结果中重复的属性列去掉。记作

30、R S A1 Ai ( R.A1=S.A1 R.Ai=S.Ai (RS)例3.8 自然连接ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b42RSAR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32a2b412b42R SR.B=S.BR SABCEa1b153a1b267a2b3810a2b382a2b41225. 除 设R(X, Y)和S(Y)是两个关系,则 RS =T.X | TRTY S R(X, Y)是被除关系,S(Y)是除关系。 商关系由R中某些X属性值构成,其中的任一X值所对应的一组Y值都包含除关系S。 除的计算过程

31、如下: RS = X(R) X ( X (R) S) R )例3.9 除 求选修了全部课程的学生数学张军数学王红物理张军课程课程姓名姓名R RS S物理数学课程课程例3.9 除(续)物理数学课程课程物理王红数学张军数学王红物理张军课程课程姓名姓名王红张军姓名姓名数学张军数学王红物理张军课程课程姓名姓名物理王红数学张军数学王红物理张军课程课程姓名姓名课程课程物理物理姓名姓名张军王红姓名姓名王红王红姓名姓名张军张军姓名姓名王红王红选修了全部选修了全部课程的学生课程的学生没有选修全部没有选修全部课程的学生课程的学生所有学生选所有学生选修全部课程修全部课程例题 3.1 学生选课库的关系模式为: 学生(

32、学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课); 选课(学号,课程号,成绩)。例题 3.1(续) 求没有选修课程号为“C2”课程的学生学号。学号课程号成绩000001c280000002c290000001c375000003c360本题能否写为本题能否写为:学号(课程号C2 (选课)学号(学生)-学号(课程号=C2 (选课)选课选课学号姓名性别年龄所在系000001张三男18计算机000002李四男18计算机000003王五男19计算机学生学生例题 3.1(续) 求既选修“C2”课程,又选修“C3”课程的学生学号和成绩。该该题不能写为题不能写为:学号,成绩(课程号=C2

33、课程号=C3(选课)学号课程号成绩000001c280000002c290000001c375000003c360选课选课学号姓名性别年龄所在系000001张三男18计算机000002李四男18计算机000003王五男19计算机学生学生学号,成绩(课程号=C2 (选课)学号,成绩(课程号=C3(选课)例题 3.1(续) 求选修课程号为“C2 ”或“C3 ”课程的学生学号。学号课程号成绩000001c280000002c290000001c375000003c360选课选课学号姓名性别年龄所在系000001张三男18计算机000002李四男18计算机000003王五男19计算机学生学生学号(课程

34、号=C2(选课)学号(课程号=C3(选课)该该题不能写为题不能写为:学号(课程号=C2 课程号=C3(选课)例题 3.1(续) 一个学号为“00002”的学生所学过的所有课程可能也被其他学生选修,求这些学生的学号和姓名。学号课程号成绩000001c280000002c290000001c375000003c360选课选课学号姓名性别年龄所在系000001张三男18计算机000002李四男18计算机000003王五男19计算机学生学生学号,姓名学号,姓名(学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课) (学生学生)学号学号= 00002 (选课选课)例题

35、3.1(续)学号课程号成绩000002c290课程号c2学号课程号000001c2000002c2000001c3000003c31. 学号学号= 00002 (选课选课)2. 课程号课程号(学号学号= 00002 (选课选课)3. 学号,课程号学号,课程号(选课选课)学号课程号成绩000001c280000002c290000001c375000003c360学号,姓名学号,姓名(学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课) (学生学生)学号学号= 00002 (选课选课)例题 3.1(续)学号课程号000001c2000002c2000001c30

36、00003c3课程号c24. (学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课)学号课程号000001c2000002c2000003c2所有所有学生学生选修选修C2C2课程课程学号000001000002000003学号,姓名学号,姓名(学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课) (学生学生)学号学号= 00002 (选课选课)课程号c2例题 3.1(续)学号课程号000001c2000002c2000003c2学号课程号000001c2000002c2000001c3000003c3学号课程号000003c2

37、学号000003没有选修没有选修C2课课程程的学生的学生选修了选修了C2C2课课程程的的学生学生学号000001000002000003学号0000010000024. (学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课)例题 3.1(续)5. (学生学生)学号学号= 00002 (选课选课)学号,姓名学号,姓名(学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课) (学生学生)学号学号= 00002 (选课选课)学号姓名性别年龄所在系000001张三张三8018计算机计算机000002李四李四9018计算机计算机00000

38、3王五王五6019计算机计算机学号姓名性别年龄所在系000001张三张三8018计算机计算机000003王五王五6019计算机计算机例题 3.1(续)6. (学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课) (学生学生)学号学号= 00002 (选课选课)学号000001000002学号姓名性别年龄所在系000001张三8018计算机000003王五6019计算机R.学号S.学号姓名性别年龄所在系000001000001张三8018计算机000001000003王五6019计算机000002000001张三8018计算机000002000003王五6019

39、计算机学号姓名性别年龄所在系000001张三8018计算机学号,姓名学号,姓名(学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课) (学生学生)学号学号= 00002 (选课选课)例题 3.1(续)7. 学号,姓名学号,姓名(学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课) (学生学生)学号学号= 00002 (选课选课)学号姓名性别年龄所在系000001张三张三8018计算机计算机学号姓名000001张三张三学号,姓名学号,姓名(学号,课程号学号,课程号(选课选课)课程号课程号(学号学号= 00002 (选课选课) (

40、学生学生)学号学号= 00002 (选课选课)练习 在关系代数中,自然连接的运算符号为 A) B) C) D) 在关系代数运算中,5种基本运算为( )。 A) 并、差、选择、投影、自然连接 B) 并、差、交、选择、投影 C) 并、差、选择、投影、乘积 D) 井、差、交、选择、乘积练习 如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数多于原来关系中属性个数,这说明实施的运算关系是 A) 选择B) 连接 C) 投影 D) 并 按条件f对关系R进行选择,其关系代数表达式为 A) R RB) R R C) f(R)D) f(R)f练习 有两个关系R和T如下 则由关系R得到关

41、系T的操作是 A) 选择B) 投影 C) 交D) 并3d3c2b1aBA2222C3d3cBA22C引 关系模式Student(Sno, Sdept, Mname, Cname, Grade ) 学生的学号(Sno),所在系(Sdept)系,主任姓名(Mname)课程名(Cname),成绩(Grade)SnoSdeptMnameCnameGrade01001李四操作系统8002002张三网页设计9001001李四数据库8004002张三动画制作60引(续) 现实世界的已知事实告诉我们: 1. 一个系有若干学生, 但一个学生只属于一个系; 2. 一个系只有一名主任; 3. 一个学生可以选修多门课

42、程, 每门课程有若干学生选修; 4. 每个学生所学的每门课程都有一个成绩。引(续) 1. 数据冗余太大 例:每一个系主任的姓名重复出现。 2. 更新异常 例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组。 3. 插入异常 例:如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。 4. 删除异常 例:如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。引(续) 原因:由存在于模式中的某些数据依赖引起的。 解决方法:通过分解关系模式来消除其中不合适的数据依赖。引(续) 一个好的关系模式应该具备以下四个条件: 1. 尽可能少

43、的数据冗余 2. 没有插入异常 3. 没有删除异常 4. 没有更新异常规范化理论 规范化理论是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。范式 范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。 在关系数据库规范中建立了一个范式系列:1NF,2NF,3NF,BCNF, 4NF, 5NF,一级比一级有更严格的要求。 各个范式之间的联系可以表示为: 5NF 4NF BCNF 3NF 2NF 1NF函数依赖 1. 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而

44、是指R的所有关系实例均要满足的约束条件。 2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。例如“SnoSdept”这个函数依赖只有在一个学生只能属于一个系的条件下成立。 3. 数据库设计者可以对现实世界作强制的规定。例如一个学生只能属于一个系,函数依赖“SnoSdept”成立。所插入的元组必须满足规定的函数依赖,若一个学生在多个系存在, 则拒绝装入该元组。完全函数依赖与部分函数依赖例4.1 完全函数依赖与部分函数依赖传递函数依赖与直接依赖 在关系模式R(U)中,如果XY,YZ,且YX,Y X,则称Z传递函数依赖于X。 如果YX, 即XY,则Z直接依赖于X。例4.2 传递函数依

45、赖 在关系S (Sno, Sdept, Mname, Cname, Grade)中, 如果:SnoSdept,SdeptMname, 那么:Mname传递函数依赖于Sno1NF 如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。 但是满足第一范式的关系模式并不一定是一个好的关系模式。例4.3 1NF职工姓名部门住址省市街道邮编职工姓名部门省市街道邮编非1NF1NF2NF 如果关系模式R1NF,且每一个非主属性完全函数依赖于R的每个候选码,即不存在非关键字段对任一候选关键字段的部分函数依赖,则称R属

46、于第二范式,简称2NF,记作R2NF。例4.4 2NFCnameCredit操作系统4网页设计3数据库3动画制作2SnoCname01操作系统02网页设计01数据库04动画制作SnoCnameCredit01操作系统402网页设计301数据库304动画制作2学生选课表学生选课表课程信息表课程信息表3NF 如果关系模式R2NF,且每个非主属性既不部分依赖也不传递依赖于R的每个候选码,则称R属于第三范式(Third Normal Form),简称3NF,记作R3NF。例4.5 3NFSnoSdeptMname01计算机李四02酒店管理张三01计算机李四04酒店管理张三学生系别表学生系别表系别信息表

47、系别信息表SnoSdept01计算机02酒店管理01计算机04酒店管理SdeptMname计算机李四酒店管理张三计算机李四酒店管理张三BCNF 设关系模式R1NF,如果对于R的每一个属性既不部分依赖也不传递依赖于R的候选码,那么关系模式R满足BC范式,即RBCNF。例4.6 BCNF 在关系模式STJ(S, T, J)中,S表示学生,T表示教师,J表示课程。每一名教师只教一门课,每门课有若干教师,某一学生选定某门课,就对应一个固定的教师。由语义可得到如下的函数依赖: (S, J) T;(S, T) J;T J 这里(S, J)、(S, T)都是候选码。ST(S, T),TJ(T, J)S T,

48、T J练习 若关系模式R属于2NF,且它的每一个非主属性都不传递函数依赖于R的主键,则称R属于 A) 3NFB) 4NFC) 5NFD) BCNF 如果关系R是第一范式,且每个属性都不传递依赖于R的候选码,则称R是_。BCNF数据库设计概述 数据库设计:设计一个能满足用户要求,性能良好的数据库。 数据库设计的基本任务:根据用户对象的信息需求、处理需求和数据库的支持环境设计出数据模式。 数据库设计的两种方法:以信息需求为主,兼顾处理需求(面向数据的方法);以处理需求为主,兼顾信息需求(面向过程的方法)。*数据库设计的四个阶段需求分析需求分析概念概念设计设计逻辑设计逻辑设计物理设计物理设计DBMS模型DBMS条件硬件、OS支持需求说明书概念数据模型逻辑数据模型数据库内模式数据库设计的需求分析 任务:通过详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。 调查的重点是“数据”和“处理”。 分析和表达用户的需求,经常采用结构化分析方法和面向对象的方法。 对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。 数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。数据库概念设计 目的

温馨提示

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

评论

0/150

提交评论