第3章(4)DataBase
- 格式:ppt
- 大小:489.50 KB
- 文档页数:116
数据库系统概论第五版课后答案第三章第1 章绪论1 试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据(Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
解析在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500 这个数字可以表示一件物品的价格是500 元,也可以表示一个学术会议参加的人数有500 人,还可以表示一袋奶粉重500 克。
( 2 )数据库(DataBase ,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3 )数据库系统(DataBas 。
Sytem ,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
( 4 )数据库管理系统(DataBase Management sytem ,简称DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。
目前,专门研制DBMS 的厂商及其研制的DBMS 产品很多。
一.选择题1.下列关于数据库、表和视图操作的叙述中,正确的是______A_______ 。
A. 关闭一个数据库,将自动关闭其所有已打开的数据库表B.打开一个数据库表,不能自动打开其所有对应的数据库C.关闭一个视图所对应的基表,将自动关闭该视图D.关闭一个视图,自动关闭其所对应的基表(在使用视图时,自动打开的本地基表并不随视图的关闭而自动关闭,必须单独关闭)2.有如下一段程序:CLOSE TABLES ALLUSE XSSELE 3USE JSUSE KC IN 0BROW上述程序执行后,浏览窗口中显示的表及当前工作区号分别是_____C________ 。
A.KC 、2B.KC 、3C.JS 、3D.JS 、23表(table)是存储数据的容器。
在下列有关VFP表的叙述中,错误的是_D___。
A.每个表最多只能包含200多个字段B.新建一个表后,一般会生成1~3个文件(.dbf,.fpt,.cdx)(如果表中有备注型字段或通用型字段,则自动产生与表名相同但扩展名为.fpt的备注文件,如果建立索引,则自动生成与文件名相同的结构复合索引文件。
)C.自由表与数据库表在数据存储功能上是相同的,但在数据管理与控制功能上有差别D.自由表添加到数据库中变成数据库表,而数据库表移出数据库则变成自由表**此题答案基本都正确,D选项考虑表移出数据库有可能被删除,所以勉强选D4.在VFP中,对于数据库表来说,如果将其移出数据库(变成自由表),则该表原设置或创建的__A__仍然有效。
A.候选索引B.长表名C.记录有效性规则D.触发器5.在创建表索引时,索引表达式可以包含表的一个或多个字段。
在下列字段类型中。
不能直接选作索引表达式的是_D____。
A.货币型B.日期时间型C.逻辑型D.备注型(不能基于备注型和通用型字段建立索引)6.表( table )是存储数据的容器.在下列有关 VFP 表的叙述中,错误的是 DA.系统默认的表文件扩展名为. dbfB.利用表设计器创建表结构时,系统默认的字符型字段宽度为 10C.自由表的索引功能与数据库表有区别D.表文件名在命名时只要遵循操作系统的规定 ,VFP 本身无任何新的限定(不可使用A-J中的单个字母作文件名,文件名及存取路径最好不使用空格)7. 数据库( database )是许多相关的数据库表及其关系等对象的集合.在下列有关 VFP 数据库的叙述中,错误的是BA.可用命令新建数据库B.从项目管理器中可以看出,数据库包含表、视图、查询、连接和存储过程(不包含查询)C.创建数据库表之间的永久性关系,一般是在数据库设计器中进行D.数据库表之间创建"一对多"永久性关系时,主表必须用主索引或候选索引8.在下列有关 VFP 表索引的叙述中,错误的是 cA.通过创建表的索引,不仅可以对记录数据进行排序,而且可以实现记录的筛选B.对于数据库表来说,可以创建 VFP 系统支持的所有类型的索引C.在表打开时,系统会自动地将默认的第一个索引作为主控索引(必须显式的指定,p99)D.表的唯一索引并不能控制字段数据输入时的重复9.数据库表可以设置字段有效性规则,字段有效性规则属于 DA.实体完整性范畴(字段的数据完整性和记录的数据完整性)B.参照完整性范畴(相关表数据的一致性)C.数据一致性范畴 D.域完整性范畴(域完整性指列的值域的完整性。
VF 常用命令第三章命令:一、数据库命令1、创建数据库:creat database数据库名2、打开数据库:open database数据库名3、修改数据库:modify database数据库名4、关闭数据库:close database5、删除数据库:delete databas e 数据库名(被删除的数据库不能处于打开状态)二、表的操作命令1、创建表:create表名2、打开表:use表名3、修改表:modify stru表名4、关闭表:close table5、浏览表:browse6、删除表:drop table表名7、增加记录:append或ctrl+y8、物理删除记录:pack 和zap9、修改记录:replace字段名with字段值for条件10、定位记录指针:go、skip、locate for11、命令创建索引:INDEX ON 表达式(字段名)to\tag 索引名第四章常用命令一SQL查询命令格式:select -------from ------ where ----- order by ----- desc---- group by -----having-------into table计算函数:sum() \ avg() \ count() \ max() \ min()TopIn \ not in 用于where条件包含或不包含的意思Into array 将查询结果存到数组Into cursor 将查询结果存到临时文件into table 将查询结果存到永久表(即VF表里面)select 要查询的内容from 要查询的内容来自的表where查询的内容要满足的条件和表之间的联系order by排序字段名desc降序group by分组字段名having分组条件into table查询结果存入表的表名二操作功能1、插入记录insert into表名(字段名……)values(记录……)2、修改更新记录Update表名set字段名=字段值where条件3、删除记录Delete from 表名where条件三定义功能1、创建表Creat table表名(字段名类型(宽度)primary key主索引check字段有效性规则,…………)2、修改表(修改字段)(1)增加字段Alter table表名add字段名类型(宽度)primary key主索引check 字段有效性规则,……(2)修改已有的字段类型Alter table表名alter字段名类型(宽度)set check字段有效性规则。
第一章习题一、单项选择题1 •数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS )之间的关系是(A )。
A. DBS 包括DB 和DBMSB. DBMS 包括DB 和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS2. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D )。
I •人工管理阶段II.文件系统阶段III •数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I3. 下列四项中,不属于数据库系统特点的是(C )。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高4. 数据库系统的数据独立性体现在(B )。
A .不会因为数据的变化而影响到应用程序B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C. 不会因为存储策略的变化而影响存储结构D. 不会因为某些存储结构的变化而影响其他的存储结构5. 要保证数据库的数据独立性,需要修改的是(C )。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式6. 要保证数据库的逻辑数据独立性,需要修改的是(A )。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式7. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C ),它是模式的逻辑子集。
A.模式B.物理模式C. 子模式D. 内模式8. 下述(B )不是DBA 数据库管理员的职责。
A.完整性约束说明B.定义数据库模式C.数据库安全D.数据库管理系统设计9. 常见的数据模型有三种,它们是(B )A 网状、关系和语义B 层次、关系和网状C 环状、层次和关系D 字段名、字段类型和记录10. 在E-R 图中,用来表示属性的图形是(B )A 矩形B 椭圆形C 菱形D 平行四边形二、填空题1. 描述数据库全体数据的全局逻辑结构和特性的是___________ 模式 ______ 。
1、消息认证是验证消息的完整性,当接收方收到发送方的报文时,接收方能够验证收到的报文是真实的和未被篡改,即验证消息的发送者是真正的而非假冒的(数据起源认证);同时验证信息在传送过程中未被篡改、重放或延迟等。
消息认证和信息保密是构成信息系统安全的两个方面,二者是两个不同属性上的问题:即消息认证不能自动提供保密性,保密性也不能自然提供消息认证功能。
2、消息鉴别码(Message Authentication Code )MAC是用公开函数和密钥产生一个固定长度的值作为认证标识,并用该标识鉴别信息的完整性。
MAC是消息和密钥的函数,即MAC = C K(M),其中M是可变长的消息,C 是认证函数,K是收发双方共享的密钥,函数值C K(M)是定长的认证码。
认证码被附加到消息后以M‖MAC方式一并发送给接收方,接收方通过重新计算MAC以实现对M的认证。
3、数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。
接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,并与解密的摘要信息进行对比,若相同则说明收到的信息完整,在传输过程中未被修改;否则说明信息被修改。
1)签名应与文件是一个不可分割的整体,可以防止签名被分割后替换文件,替换签名等形式的伪造。
2)签名者事后不能否认自己的签名。
3)接收者能够验证签名,签名可唯一地生成,可防止其他任何人的伪造。
4)当双方关于签名的真伪发生争执时,一个仲裁者能够解决这种争执。
4、身份认证是指证实主体的真实身份与其所声称的身份是否相符的过程。
它通过特定的协议和算法来实现身份认证。
身份认证的目的是防止非法用户进入系统;访问控制机制将根据预先设定的规则对用户访问某项资源进行控制,只有规则允许才能访问,违反预定安全规则的访问将被拒绝。
访问控制是为了防止合法用户对系统资源的非法使用。
5、1)基于口令的认证技术:当被认证对象要求访问提供服务的系统时,提供服务的认证方要求被认证对象提交口令信息,认证方收到口令后,将其与系统中存储的用户口令进行比较,以确认被认证对象是否为合法访问者。
第一章绪论§1-1 数据库系统的概念1.数据(DA TA):数据是数据库中存储的基本对象。
数据的定义:描述事物的符号记录称为数据。
2.数据库(DataBase,简称DB)数据库,顾名思义,是存放数据的仓库。
定义:数据库是长期存储在计算机内、有组织的、可共享的数据集合。
3.数据库管理系统(DataBaseManagementSystem,简称DBMS)数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
4.数据库系统(DataBaseSystem,简称DBS)数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
§1-2 数据库概念的发展1、人工管理阶段(初等数据文件阶段)20世纪50年代中期以前,计算机主要用于科学计算。
硬件状况:外存只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备;软件状况:没有操作系统,没有管理数据的软件;数据处理方式是批处理;人工管理数据具有如下特点:数据不保存;应用程序管理数据;数据不共享;数据不具有独立性;2.文件系统阶段(独立文件管理阶段)20世纪50年代后期到60年代中期。
硬件方面:已有了磁盘、磁盘等直接存取存储设备;软件方面:操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式:不仅有了批处理,而且能够联机实时处理用文件系统管理数据具有如下特点:1)数据可以长期保存;2)由文件系统管理数据;3)数据共享性差,冗余度大;4)数据独立性差;3.数据库系统阶段20世纪60年代后期以来硬件方面:已有大容量磁盘,硬件价格下降,软件价格上升,为编制和维护系统软件及应用程序所需的成本相对增加;处理方式:统一管理数据的专门软件系统——数据库管理系统。
★数据库系统的特点1.数据结构化数据结构化是数据库与文件系统的根本区别。
2.数据的共享性高,冗余度低,易扩充3.数据独立性高•逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。
第3章 关系数据库数据库系统应用Data Base System Application张建国哈工大计算机科学与技术学院2008-9-21哈工大计算机学院 张建国 Slide 3-1第3章 关系数据库2008-9-212第3章 关系数据库本章主要内容关系的理论基础(掌握) 关系的定义 关系模型的基本概念(掌握) 关系数据结构 关系操作 关系完整性 关系代数(掌握) 关系的完整性约束(掌握) 现在的数据库 大多是关系数 据库.2008-9-21哈工大计算机学院 张建国Slide 3-3第3章 关系数据库3.1 关系的理论基础关系模型是IBM公司的San Jose研究所 的研究员E.F.Codd提出来的. 1970年,Codd发表了一篇文章,讨论了关系 数据库的基本概念 A Relational Model of Data for A large Shared Data Banks(一种大型共 享数据库数据的关系模型). 后来,他发表了一系列文章,开创了关系 方法和关系数据理论研究,1981年获 ACM图灵奖.2008-9-21哈工大计算机学院 张建国Slide 3-4第3章 关系数据库3.1 关系的理论基础(Cont.)关系建立在集合代数基础之上,因此从集合论角度给出关系的 定义. 1. 域Domain 定义 域是一组具有相同数据类型的值的集合. 例:自然数、整数、星期、{0,1}、{男,女}、… 域可以是有 限集,也可 以是无限集2008-9-21哈工大计算机学院 张建国Slide 3-5第3章 关系数据库3.1 关系的理论基础(Cont.)2. 笛卡儿积Cartesian Product 定义 给定一组域D1,D2,…,Dn(这些域中可以有相同的) D1,D2,…,Dn 的笛卡尔积为: D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di, i=1,2,…,n} 其中:(d1,d2,…,dn)叫一个n元组(n-tuple),简称元组 di叫一个分量 笛卡尔积的基数 设D1,D2,…,Dn 为有限集,基数分别为mi(i=1,2,…,n),则 D1×D2×…×Dn的基数M=m1×m2×…×mn2008-9-21哈工大计算机学院 张建国Slide 3-6第3章 关系数据库3.1 关系的理论基础(Cont.)例: 设D1为男士的集合,D2为女士的集合, D3为儿童的集合 D1={张伟,李强,王刚}; D2={赵梅,朱兰};D3={张小伟,张小 梅,李小兰}D1×D2×D3={(张伟,赵梅,张小伟),(张伟,赵梅,张小梅), (张伟,赵梅,李小兰),(张伟,朱兰,张小伟),该笛卡儿积 的基数 M=3×2×3=18(张伟,朱兰,张小梅),(张伟,朱兰,李小兰), (李强,赵梅,张小伟),(李强,赵梅,张小梅), (李强,赵梅,李小兰),(李强,朱兰,张小伟), (李强,朱兰,张小梅),(李强,朱兰,李小兰), (王刚,赵梅,张小伟),(王刚,赵梅,张小梅), (王刚,赵梅,李小兰),(王刚,朱兰,张小伟), (王刚,朱兰,张小梅),(王刚,朱兰,李小兰)}2008-9-21哈工大计算机学院 张建国Slide 3-7第3章 关系数据库3.1 关系的理论基础(Cont.)(3) 关系Relation 定义 D1×D2×…×Dn 的子集叫作在域D1,D2,…,Dn上的关系, 表示为: R(D1, D2,…, Dn) 其中:R为关系名,n为关系的度(或目),D1, D2,…, Dn为域名 由于域名可以相同,为了加以区分,必须为每一列起一个名, 称属性Attribute,故关系常表示为: R(A1,A2,…,An ) 例:从D1×D2×D3中取一 个家庭关系 家庭(丈夫,妻子,孩子)2008-9-21家庭丈夫 张伟 张伟 李强妻子 赵梅 赵梅 朱兰孩子张小伟 张小梅 李小兰哈工大计算机学院 张建国Slide 3-8第3章 关系数据库3.1 关系的理论基础(Cont.)(4) 属性到域的映象 若属性名与域名相同,则用域名作属性名. 若属性名与域名不同,则需要指出属性到域的映象. Ai=Dom(Di) 表明:属性Ai来自于域Di 例:课程(课号,课名,学时数,性质,先修课号) 域名: 课号,课名,学时数,性质 先修课号来自域课号,用先修课号=Dom(课号)表示2008-9-21哈工大计算机学院 张建国Slide 3-9第3章 关系数据库3.1 关系的理论基础(Cont.)(5) 数据库关系与数学中关系的区别 关系模型对其数学定义作了适当的扩充: 笛卡尔积可以是一个无限集合,但关系必须是有限集合. 在数学意义上, (d1,d2,…,dn)≠ (d2,d1,…,dn) 列之间不满足交换律,故通过为关系的每一个列加一个属性 名,取消关系中列的有序性的限制. 这是要注意的 !2008-9-21哈工大计算机学院 张建国Slide 3-103.2 关系模型的基本概念(Cont.)(6) 关系的性质列是同质的:每一列中的数据类型相同列名是唯一的:不同的列(属性)可以来自于同一个域, 需要指出属性到域的映象行的顺序无关:任何两行可以互换列的顺序无关:任何两列可以互换任何两行不能完全相同:由主码区分分量必须是原子量:每一列不可再分割3.1 关系的理论基础(Cont.) (7) 关系的优点与不足关系模型的优点理论基础扎实:集合论,关系数据理论.概念单一:实体用关系表示,联系也用关系表示.存取路径对用户是透明的:用户不必知道存取路径规范化:最基本的要求是每一个属性不可再分割.数据用表表示,查询结果也用表表示.关系模型的缺点效率不如非关系模型,因此需要进行查询优化,这样增加了DBMS自身的开发难度.但由于计算机处理速度的提高,数据库优化算法的改善,使关系数据库的效率仍远高于其他数据模型3.2 关系的数据结构关系模型是通过满足一定条件的二维表来表示实体集合及数据之间联系的一种数据模型.具有坚实的数学基础和较严密的理论,使用灵活方便,得到了迅速发展,80年代以后的数据库系统几乎都支持关系模型.关系的逻辑数据结构实体和联系都用关系表示.从用户的观点看,关系是一张二维表.关系的存储结构实体和联系都用关系(表)来表示.每个表可对应一个文件,也可以将多个表存储在一个文件中.3.2 关系的数据结构(Cont.)课程学生选课分数mn学生(学号,姓名,性别,出生日期,专业)课程(课号,课名,学时,学分,性质)选课(学号,课号,分数)关系的数据结构(关系模式)注意:在关系数据库理论中,关系Relation 就是表Table ;有些资料将联系Relationship 称为关系Relation.例:一个学生关系学生(学号,姓名,性别,出生日期,专业)计算机1982-12-03男张伟1022211103计算机1983-05-23女李小莉1022211102…………………………计算机1982-02-18男王小明1022211101专业出生日期性别姓名学号关系名属性名记录(元组)数据项,分量码学生理论研究时称“关系”,在具体数据库中称“表”3.2 关系的数据结构(Cont.)3.2 关系的数据结构(Cont.)关系的术语关系模式Relation Schema:关系的型,是对关系的描述,即关系的框架关系Relation:关系模式的一组具体取值关系数据库模式Relation Database Schema:关系模式的集合关系数据库Relation Database:关系的集合元组Tuple:关系中的一行属性Attribute:由于域可以相同,为了区分,必须为每个列取一个名字,称为属性域Domain:属性的取值范围3.2 关系的数据结构(Cont.)超码(键)Super Key:能唯一标识一个元组的属性组候选码(键)Candidate Key:能唯一标识一个元组的最小属性组主码(键)Primary Key:若候选码有多个,选择其中的一个作主码例:学号,身份证号主属性Primary Attribute:候选码中的属性非主属性Non-primary Attribute:不包含在任何候选码中的属性全码All Key:全部属性都是主属性关系操作是集合操作,只需指出要干什么,不必指出怎么干,不必指出存取路径.查询(检索)操作从数据库中查找数据更新操作插入数据记录修改数据记录删除数据记录所有关系操作都必须满足完整性约束条件.保证数据是正确的3.3关系代数3.3关系代数(Cont.)关系操作分类关系代数通过对关系的运算表示查询方式关系演算用谓词表示查询方式元组关系演算:谓词变元的基本对象是元组域关系演算:谓词变元的基本对象是域结构化查询语言SQL一种可实际使用的语言具有关系代数和关系演算双重特点,集DDL、DML、DCL于一体,已成为关系数据库的标准语言3.3关系代数(Cont.)关系代数运算包括两大类传统的集合运算:从行的角度进行运算.并∪, 交∩,差—,广义向卡尔积×专门的关系运算:从行和列两种角度进行运算.选择σ,投影π,连接⋈,除÷在各种运算中,使用下列运算符比较运算符: <, ≤, =, >, ≥, ≠逻辑运算符:¬(非),∧(与),∨(或)1.传统的集合运算前提条件二目运算,关系R 和S 具有相同的目n;相应的属性来自同一个域.R SR S交运算R ∩SR ∩S={t |t ∈R ∧t ∈S}结果仍由n 目关系组成,由既属于R 又属于S 的元组组成,用于检索操作.并运算R ∪SR ∪S={t |t ∈R ∨t ∈S}结果仍由n 目关系组成,由属于R 或属于S 的元组组成,用于插入操作.3.3 关系代数(Cont.)差运算R-S={t |t ∈R ∧t ∉S}结果仍由n 目关系组成,由属于R ,但不属于S 的元组组成,用于删除操作.RSR S广义笛卡尔积R ×S={ t r ^t s |t ∈R ∧t ∈S}设R 的目为n ,S 的目为m ,结果为n+m 目关系,其中前n 列是关系R 的一个元组,后m 列是关系S 的一个元组.设R 有k1个元组,S 有k2个元组,则R ×S 有k1 ×k2个元组.3.3关系代数(Cont.)c1c2c1c2b1b2b2b3a1a1a2a1C B A R ∪Sc2c2c1c2c2c2c2c2c1S.C b2b3b2b2b2b3b2b3b2a1a1a2a1a1a1a1a1a2c1c1c1c2c2c2c1c1c1b1b1b1b2b2b2b2b2b2a1a1a1a1a1a1a2a2a2S.B S.A R.C R.B R.A R ×SR ∩Sc2c1b2b2a1a2C B A c2b2a1C B A R-Sc2c2c1b2b3b2a1a1a2C B A Sc1c2c1b1b2b2a1a1a2C B A R3.3 关系代数(Cont.)一个学生-课程系统S-C 有三个关系:计算机信息数学信息Sdept 20191819男女女男李勇刘晨王敏张立221101231101232101231102Sage Ssex Sname Sno 928588908010011002100310021003221101221101221101231101231102Grade Cno Sno4243424Credit 10051001100610071006数据库高等数学信息系统操作系统数据结构数据处理C 语言1001100210031004100510061007PCno Cname Cno StudentCourseSCGradem n StudentCourseSC 2.专门的关系运算3.3 关系代数(Cont.)选择运算SelectionσF (R)={r |r ∈R ∧F(r )=’True ’}F 是一个逻辑表达式;结果取在关系R 中选择满足条件F 的元组.信息信息Sdept 1919女男刘晨张立231101231102Sage Ssex Sname Sno 例:在S-C 系统中,查询"信息"系全体学生.σSdept =‘信息’(Student)或σ5=‘信息’(Student)3.3 关系代数(Cont.)投影运算ProjectionΠA(R)={r[A]|r∈R}A是若干个属性结果取关系R中指定的列,并去掉重复元组,组成新关系.例:查询全体学生的学号,姓名和系名.ΠSno,Sname,Sdept(Student)由于学号是唯一的,查询结果的记录个数与表中的记录个数相同.例:查询所有系名.ΠSdept(Student)去掉重复的元组后,查询结果仅与系的个数相同.计算机信息数学信息Dept李勇刘晨王敏张立221101231101232101231102SnameSno计算机数学信息Dept3.3 关系代数(Cont.)连接JoinR ⋈S= {t r ^t s |t r ∈R ∧t s ∈S ∧t r [A]=t s [B]}A θBA 和B 分别是R 和S 中度数相同且可比的属性或属性组.结果为R ×S 中满足条件A θB 的元组,其前n 个属性取自于R ,后m 个属性取自于S.56812b1b2b3b4a1a1a2a2C B A R371022b1b2b3b3b5E B S71071010E b2b3b2b3b3S.B 55668b1b1b2b2b3a1a1a1a2a2C R.B A R ⋈S C<E 例:R ⋈SC<E3.3 关系代数(Cont.)等值连接R ⋈S={t r ^t s |t r ∈R ∧t s ∈S ∧t r [A]=t s [B]}A=B 例R ⋈SR.B=S.B 56812b1b2b3b4a1a1a2a2C B A R 371022b1b2b3b3b5E B SR ⋈SR.B=S.B 37102E b1b2b3b3S.B 5688b1b2b3b3a1a1a2a2C R.B A 3.3 关系代数(Cont.)自然连接Nature JoinR ⋈S={t r ^t s |t r ∈R ∧t s ∈S ∧t r [B]=t s [B]}等值连接与自然连接的区别:自然连接要求两个关系中具有相同的属性列B ,所以运结果仅保留一列B.等值连接保留两个关系的A 和B 列(即使R.B=S.B ).例:R ⋈S56812b1b2b3b4a1a1a2a2C B A R371022b1b2b3b3b5E B S37102E 5688b1b2b3b3a1a1a2a2C B A R⋈S3.3 关系代数(Cont.)各种连接的例子56812b1b2b3b4a1a1a2a2C B A R371022b1b2b3b3b5E B SR ⋈SR.B=S.B37102E b1b2b3b3S.B 5688b1b2b3b3a1a1a2a2C R.B A 71071010Eb2b3b2b3b3S.B 55668b1b1b2b2b3a1a1a1a2a2C R.B A R ⋈SC<E37102E 5688b1b2b3b3a1a1a2a2C B A R ⋈S3.3 关系代数(Cont.)查找全体同学的学号,姓名,课名和成绩计算机信息数学信息Sdept 20191819男女女男李勇刘晨王敏张立221101231101232101231102Sage Ssex Sname Sno 928588908010011002100310021003221101221101221101231101231102Grade Cno Sno42434Credit 1005100110061007数据库高等数学信息系统操作系统数据结构10011002100310041005PCno Cname Cno StudentCourseSC 3.3 关系代数(Cont.)ΠSno,Sname,Cname, Grade (Student ⋈SC ⋈Course )自然连接的例子1111111212部门号财务部财务部财务部人力资源部人力资源部名称62130236213023621302362450386245038男女女女男李军赵萍董辉常萍张伟11011102110312011202电话性别姓名职工号职工⋈部门1111111212男女女女男李军赵萍董辉常萍张伟11011102110312011202部门号性别姓名职工号62130236245038财务部人力资源部1112电话名称部门号部门职工3.3 关系代数(Cont.)例:(R)L ⋈(S)R.B=S.B ∨R左连接Left Join(R)L ⋈(S)={(t r ^t s |t r ∈R ∧t s ∈S ∧t r [B]=t s [B])∨(t r |t r ∈R)}R.B=S.B ∨R56812b1b2b3b4a1a1a2a2C B A R371022b1b2b3b3b5E B SR ⋈SR.B=S.B ∨R 37102E b1b2b3b3S.B 568812b1b2b3b3b4a1a1a2a2a2C R.B A 3.3 关系代数(Cont.)左连接的例子11111212职工.部门号11111212部门.部门号财务部财务部人力资源部人力资源部名称6213023621302362450386245038男女女女男李军赵萍董辉常萍张伟11011102110312011202电话性别姓名职工号职工L ⋈部门11111212男女女女男李军赵萍董辉常萍张伟11011102110312011202部门号性别姓名职工号62130236245038财务部人力资源部1112电话名称部门号部门职工3.3 关系代数(Cont.)右连接Right Join(R)R ⋈(S)={(t r ^t s |t r ∈R ∧t s ∈S ∧t r .A=t s .B)∨(t s |t s ∈S )}R.B=S.B ∨S例:(R)R ⋈(S)R.B=S.B ∨S56812b1b2b3b4a1a1a2a2C B A R371022b1b2b3b3b5E B SR ⋈SR.B=S.B ∨S371022Eb1b2b3b3b5S.B5688b1b2b3b3a1a1a2a2CR.BA3.3 关系代数(Cont.)右连接的例子1111111212男女女女男李军赵萍董辉常萍张伟11011102110312011202部门号性别姓名职工号621302362450386310320财务部人力资源部生产部111213电话名称部门号1111111212职工.部门号111111121213部门.部门号财务部财务部财务部人力资源部人力资源部生产部名称621302362130236213023624503862450386310320男女女女男李军赵萍董辉常萍张伟11011102110312011202电话性别姓名职工号职工R ⋈部门部门职工 3.3 关系代数(Cont.)除Division给定两个关系R(X,Y)和S(Y,Z),其中X,Y,Z 为属性组.R 中的Y 与S 中的Y 可以有不同的属性名,但必须出自同一个域.R 与S 的除运算得到一个新关系P(X),P 是在R 中满足下列条件的元组在X 列上的投影:在R 中分量值X 的象集Y x 包含S 中Y 上投影的集合.记作:R ÷S={t r [X]|t r ∈R ∧πy (S) ⊆Y x }其中Y x 为X 在R 中的象集.例:求至少选修了1001号和1003号课程的学生号码.πSno,Cno (SC)÷K3.3 关系代数(Cont.)10011003Cno关系代数综合练习的例子计算机信息数学信息Dept 20191819男女女男李勇刘晨王敏张立221101231101232101231102Age Sex Sname Sno 928588908010011002100310021003221101221101221101231101231102Grade CnoSno4243424Credit 10051001100610071006数据库高等数学信息系统操作系统数据结构数据处理C 语言1001100210031004100510061007PCno Cname Cno StudentCourseSCGradem n StudentCourseSC3.3 关系代数(Cont.)3.3 关系代数(Cont.)关系代数综合练习求"计算机"系全体学生的学号和姓名.求全部学生的学号,姓名,课程,成绩.求学号为"221101"的学生的全部成绩,包括学号,姓名,课名,成绩.求课程"高等数学"的成绩单,包括学号,姓名,系名,成绩.求选修了课程的学生的学号和姓名.求学生的年龄分布情况.求"信息"系全体学生所选修的课程名称.3.4 关系的完整性关系的完整性约束关系中的所有数据必须满足的约束条件三类完整性实体完整性参照完整性用户定义完整性3.4 关系的完整性(Cont.)1. 实体完整性规则若属性A是基本关系R的主属性,则A不能取空值.关系模型的表分为基本表(基本关系),查询表和视图.基本表:实际存在的表查询表:查询结果表视图:定义的虚表空值与零值不同空值:没有值,但不是0零值:其值为0注意空值与零值的区别3.4 关系的完整性(Cont.)例: 学生(学号,姓名,年龄,系名)学号是主码中的属性,则学号不能为空.自动化张莉0636101010322刘云06361010102管理工程21李伟06361010101系名年龄姓名学号主属性不能取空值非主属性可以取空值3.4 关系的完整性(Cont.)2. 参照完整性实体之间的联系是通过外部码进行的.例:学生(学号,姓名,性别,系号)系(系号,系名,电话)定义:外键Foreign Key设F是基本关系R的一个或一组属性,但F不是R的主码.若F 与基本关系S的主码Ks相对应,则称F是基本关系R的外码(R 可以与S是同一关系).称R为参照关系,S为被参照关系或目标关系.在学生(学号,姓名,性别,专业,班长学号)中班长学号是也是一个学号,必须与学号出自同一个域,故班长学号也是外码.参照完整性规则若属性或属性组F 是基本关系R 的外码,则:F 在R 中取空值;若F 在R 中非空则其在S 中必须存在.3.4 关系的完整性(Cont.)02张莉063610101030221王刚0636101010422刘云063610101020121李伟06361010101系号年龄姓名学号R:学生86282208自动化0286282135计算机01电话系名系号S:系3.4 关系的完整性(Cont.)3. 用户定义完整性根据用户的具体要求定义的完整性.例:考试成绩在0~100分之间.姓名最多为4个汉字.性别必须取"男"或"女".规定职务越高则工资就越高.哈尔滨市汽车牌号为"黑AXXXXX".修改工资时,新工资值不能小于旧工资值.职工的月奖金不能高于全体职工平均奖金的3倍.……本章小结关系数据库的产生与发展E.F.Codd关系模型的三个组成部分数据结构、关系操作、完整性约束关系的数学思想域、笛卡尔积、关系、关系模式、属性到域的映象关系的基本概念关系、关系模式、关系数据库、关系数据库模式、属性、超码、候选码、主码、主属性、非主属性本章小结(Cont.)关系代数传统的集合运算:并、交、差、广义笛卡尔积专门的关系运算:选择、投影、连接关系的三类完整性实体完整性参照完整性用户定义完整性本章作业与任务提交部分用关系代数表示下列查询查询全体学生的全部数据.查询全体学生的学号,姓名和性别.查询全体”女”同学的全部信息.查询所有系的名字.查询”计算机系”全体同学的学号和姓名.查询学号为”053610201”的学生各门课程的成绩查询”数据库系统”课程的成绩单.查询全体同学的学号,姓名,课名和分数.本章作业与任务(Cont.)复习部分复习本章内容复习本章概念阅读教材中相关内容。
一、表的操作命令总结1.SET DEFAULT TO D:\******\xwlw &&设置系统默认路径2.CLOSE DATABASES all &&关闭所有数据库3.CLOSE ALL &&关闭所有4.OPEN DATABASE paper &&打开paper数据库E <表文件名>&&打开当前表(默认在1号工作区)E &&关闭当前表E <表文件名> IN 工作区号&&在指定的工作区打开表8.SELECT 工作区号|表别名&&在指定的工作区打开表注:1.工作区是指为每个打开的表在存储器中开辟存储区域2.每个工作区只能打开一个表,因此在同一个工作区中打开另一个表时,原来在该工作区的表会自动关闭。
例1:同时打开多个工作区CLOSE DATABASES all &&关闭所有数据库OPEN DATABASE paper&&打开paper数据库USE 学生基本信息&&打开学生基本信息表(在1号工作区)ListUSE 导师基本信息in 3 &&在3号工作区打开导师基本信息表ListUSE 论文成绩表in 0 &&在空闲的最小号工作区(2号)打开论文成绩表ListSELECT 2ListUSE &&关闭当前表USE &&关闭当前表USE &&关闭当前表CLOSE all &&关闭所有E <表文件名> AGAIN IN 工作区号&&在指定的工作区重复打开表例2:重复打开同一张表CLOSE DATABASES all &&关闭所有数据库OPEN DATABASE paper &&打开paper数据库USE 学生基本信息&&打开学生基本信息表(在1号工作区)USE 学生基本信息AGAIN IN 0 &&在空闲的最小号工作区(2)重复打开学生基本信息表USE &&关闭当前表USE &&关闭当前表CLOSE all &&关闭所有二、记录的命令操作总结SET DEFAULT TO D:\******\xwlw &&设置系统默认路径CLOSE ALL &&关闭所有OPEN DATABASE paper &&打开paper数据库USE 学生基本信息&&打开学生基本信息表BROWSE &&浏览学生基本信息表APPEND &&追加记录(交互式)或者APPEND BLANK &&在表尾追加空白记录,随后replace命令REPLACE sno WITH "20090102",sname WITH "张三",sold WITH 19,tel WITH "(010)-66893707",sex WITH .T. &&修改当前记录BROWSEREPLACE sold WITH sold+1 &&修改当前记录的年龄字段加1REPLACE sold WITH sold-1 &&修改当前记录的年龄字段减1REPLACE ALL sold WITH sold+1 &&修改所有记录的年龄字段加1REPLACE ALL sold WITH sold-1 &&修改所有记录的年龄字段减1GO 5 &&指针定位到记录5?RECNO() &&测试当前的记录号并将结果输出到屏幕;此时输出为5GO TOP &&指针定位到首记录?RECNO() &&输出为1SKIP -1 &&指针上移一条记录?BOF() &&测试指针是否到达表的起始位置并输出测试结果,T为到达,F为没有到达;此时输出 TGO bottom &&指针定位到尾记录SKIP &&指针下移一条记录?EOF() &&测试指针是否到达表的结束位置并输出测试结果,T为到达,F为没有到达;此时输出T?RECCOUNT() &&测试当前表的记录总数并将结果输出到屏幕LOCATE FOR sold>22 &&顺序查找符合“年龄大于22”的记录,到发现满足条件的第一条记录停止?FOUNT() &&测试是否查找到符合条件的记录,T为找到,F为没有找到;此时输出T DISPLAY &&显示当前的记录CONTINUE &&继续查找DISPLAYCONTINUECLEAR &&清屏SET FILTER TO sex &&屏蔽不符合“sex为真(男)”的记录LIST &&在屏幕上列出性别为男的所有记录CLEARBROWSEDELETE ALL &&逻辑删除所有的记录RECALL all &&恢复逻辑删除所有的记录GO 5DELETE &&逻辑删除当前的记录RECALL &&恢复逻辑删除当前的记录GO bottomDELETEPACK &&彻底删除当前记录BROWSEDELETE FOR sex &&逻辑删除sex为真的记录RECALL allSET SAFETY ON &&设置在彻底删除所有记录时,先询问再删除ZAPUSE &&关闭当前表CLOSE all。
数据库实用教程课后习题参考答案(1-4章)第1、2章1.1 名词解释:◆ DB:数据库(Database),DB是统一管理的相关数据的集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。
◆ DBMS:数据库管理系统(Database Management System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。
◆ DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
◆ 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。
◆ 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。
◆ M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。
◆ 数据模型:表示实体类型及实体类型间联系的模型称为“数据模型”。
它可分为两种类型:概念数据模型和结构数据模型。
◆ 概念数据模型:它是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。
◆ 结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。
这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。
结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。
1.数据(Data)是数据库中存储的基本对象2.数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
3.数据库的基本特征:数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展4.DBMS是位于用户与操作系统之间的一层数据管理软件。
是基础软件,是一个大型复杂的软件系统5.DBMS的主要功能:数据定义功能数据组织、存储和管理数据操纵功能数据库的事务管理和运行管理数据库的建立和维护功能(实用程序) 其它功能。
6.数据管理技术的发展过程A人工管理阶段(20世纪40年代中--50年代中)特点:应用程序管理数据a数据不保存b数据面向的对象:某一应用程序c无共享、冗余度极大d 不独立,完全依赖于程序e无结构f 应用程序自己控制B文件系统阶段(20世纪50年代末--60年代中)特点:文件系统管理数据,a数据可长期保存b数据面向的对象:某一应用程序c共享性差、冗余度大d记录内有结构,整体无结构e 独立性差,数据的逻辑结构改变必须修改应用程序应用程序自己控制C数据库系统阶段(20世纪60年代末--现在)特点:7.数据库系统的特点: a数据结构化b 数据的共享性高,冗余度低,易扩充c数据独立性高d数据由DBMS统一管理和控制8.数据模型的组成要素:a数据结构b 数据操作c完整性约束条件9.(1) 实体(Entity):客观存在并可相互区别的事物称为实体。
(2) 属性(Attribute)实体所具有的某一特性称为属性。
(3) 码(Key): 唯一标识实体的属性集称为码。
10.关系模式:对关系的描述称为关系模式。
11.关系模型:是一种用二维表格结构表示数据及数据之间联系的数据模型。
12.关系的完整性约束条件a实体完整性b参照完整性c用户定义的完整性13.关系数据模型的优缺点:优点a建立在严格的数学概念的基础上b概念单一c关系模型的存取路径对用户透明.缺点a存取路径对用户透明导致查询效率往往不如非关系数据模型b为提高性能,必须对用户的查询请求进行优化增加了开发DBMS的难度14.数据库系统的三级模式结构是指:模式外模式内模式。
第1章数据库系统概论三、简答题1. 答:数据库DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。
DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
2. 答:数据库管理系统DBMS是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS 总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。
3. 答:①数据定义语言及其翻译处理程序;②数据操纵语言及其编译(或解释)程序;③数据库运行控制程序;④实用程序。
4. 答:文件系统中的文件是面向应用的,一个文件基本上对应于一个应用程序,文件之间不存在联系,数据冗余大,数据共享性差,数据独立性差;数据库系统中的文件不再面向特定的某个或多个应用,而是面向整个应用系统,文件之间是相互联系的,减少了数据冗余,实现了数据共享,数据独立性高。
5. 答:①实现数据的集中化控制;②数据的冗余度小,易扩充;③采用一定的数据模型实现数据结构化;④避免了数据的不一致性;⑤实现数据共享;⑥提供数据库保护;⑦数据独立性;⑧数据由DBMS统一管理和控制。
6. 答:数据独立性是指数据库中的数据独立于应用程序,即数据的逻辑结构、存储结构与存取方式的改变不影响应用程序。
数据独立性一般分为数据的逻辑独立性和数据的物理独立性。
数据逻辑独立性是指数据库总体逻辑结构的改变(如修改数据定义、增加新的数据类型、改变数据间的联系等)不需要修改应用程序。
数据物理独立性是指数据的物理结构(存储结构、存取方式等)的改变,如存储设备的更换、物理存储格式和存取方式的改变等不影响数据库的逻辑结构,因而不会引起应用程序的改变。
7. 答:数据库系统中数据不是面向单个应用组织的,而是直接面向数据本身及数据间的内在联系来组织的,因此可以方便地供多用户多应用共享,这样,数据的冗余度就大幅度降低了。