0.0851

五煦查题

快速找到你需要的那道考题与答案

中国大学数据库原理_2答案(mooc2023课后作业答案)

66 min read

中国大学数据库原理_2答案(mooc2023课后作业答案)

1.10章节测试

1、中国【单选题】数据库系统与文件系统的大学主要区别是____。
A、数据数据库系统复杂,库原c课而文件系统简单
B、理答文件系统只能管理程序文件,案m案而数据库系统能够管理各种类型的后作文件
C、文件系统管理的业答数据量较少,而数据库系统可以管理庞大的中国数据量
D、文件系统不能解决数据冗余和数据独立性问题,大学而数据库系统可以解决

2、数据【单选题】同一个关系模型的库原c课任意两个元组值____。
A、理答不能全同
B、案m案可全同
C、后作必须全同
D、以上都不是

3、【单选题】在DBS中,最接近于物理存储设备一级的结构,称为
A、外模式
B、概念模式
C、用户模式
D、内模式

4、【单选题】关系模型中,一个候选码____。
A、可由多个任意属性组成
B、至多由一个属性组成
C、可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成
D、只能由一个标识该关系模式的属性组成

5、【单选题】数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作的数据库语言称为
A、数据定义语言(DDL)
B、数据管理语言
C、数据操纵语言(DML)
D、数据控制语言

6、【单选题】数据库系统的特点是____、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。
A、数据共享
B、数据存储
C、数据应用
D、数据保密

7、【填空题】数据库系统的核心是____。

8、【填空题】关系数据库中可命名的最小数据单位是_____

9、【填空题】完整性约束是指_______ 和________ 。

10、【填空题】数据结构、___________和_______________这三方面内容完整地描述了一个数据模型。

11、【填空题】数据库系统中主要的逻辑数据模型有_________、__________、__________、面向对象数据模型、对象关系数据模型、半结构化数据模型。

12、【填空题】数据库系统的三级模式结构是指数据库系统是由__________、_____________、__________三级构成。

13、【填空题】数据库系统一般由数据库、_________、___________、数据库管理员组成。

2.7章节测试

1、【单选题】自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的____。
A、元组
B、行
C、记录
D、属性

2、【单选题】设有关系R(A,B,C)和关系S(B,C,D),那么与R?S等价的关系代数表达式是_________
A、π1,2,3,4(σ2=1∧3=2(R×S))
B、π1,2,3,6(σ2=1∧3=2(R×S))
C、π1,2,3,6(σ2=4∧3=5(R×S))
D、π1,2,3,4(σ2=4∧3=5(R×S))

3、【单选题】设W=R?S,且W、R、S的属性个数分别为w、r和s,那么三者之间应满足
A、w≤r+s
B、w<r+s
C、w≥r+s
D、w>r+s

4、【单选题】设属性A 是关系R 的主属性,则属性A 不能取空值(NULL),这是_________
A、实体完整性规则
B、参照完整性规则
C、用户定义完整性规则
D、域完整性规则

5、【单选题】下面对于关系的叙述中,不正确的是_______。
A、关系中的每个属性是不可分解的
B、在关系中元组的顺序是无关紧要的
C、任意的一个二维表都是一个关系
D、每一个关系只有一种记录类型

6、【单选题】设关系R与关系S具有相同的目(或称度),且相对应的属性的值取自同一个域,则R-(R-S)等于________。
A、R∪S
B、R∩S
C、R╳S
D、R-S

7、【填空题】在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为______;从表中选出满足某种条件的元组的操作称为_______;将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为________。

8、【填空题】关系代数运算中,专门的关系运算有________、_________、__________。

9、【填空题】若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为___________。若一个关系有多个这样的属性组,则选定一个作为___________。

10、【计算题】设有关系S、SC、C, S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,'男') SC(S#,C#,SCORE) 例:(003,'C1',83) C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华') 1).用关系代数检索既选修了C1课程,又选修了C2课程的学生学号(S#) 2).用关系代数检索选修了“程军”老师所授课程之一的学生姓名。

11、【计算题】设教学数据库中有三个基本表: 学生表 S(SNO,SNAME,AGE,SEX) 选课表 SC(SNO,CNO,GRADE) 课程表 C(CNO,CNAME,TEACHER) 写出“不学C6课程的男学生的学号和姓名(SNO,SNAME)”关系代数表达式。 。

3.8章节测试

1、【单选题】SQL语言是 的语言,易学习。
A、过程化
B、非过程化
C、格式化
D、导航式

2、【单选题】SQL语言是________________ 语言。
A、层次数据库
B、网络数据库
C、关系数据库
D、非数据库

3、【单选题】SQL语言具有 的功能。
A、关系规范化、数据操纵、数据控制
B、数据定义、数据操纵、数据控制
C、数据定义、关系规范化、数据控制
D、数据定义、关系规范化、数据操纵

4、【单选题】SQL语言具有两种使用方式,分别称为交互式SQL和 。
A、提示式SQL
B、多用户SQL
C、嵌入式SQL
D、解释式SQL

5、【单选题】SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE,最重要的,也是使用最频繁的语句是____。
A、SELECT
B、INSERT
C、UPDATE
D、DELETE

6、【单选题】下列SQL语句中,修改表结构的是____。
A、ALTER
B、CREATE
C、UPDATE
D、INSERT

7、【单选题】为“学院”表增加一个字段“教师人数”的SQL语句是( )
A、change table 学院 add 教师人数
B、alter stru 学院 add 教师
C、alter table学院 add 教师人数
D、change table 学院 insert 教师人数

8、【单选题】第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#,SN, SEX, AGE, DEPT) C(C#,CN) SC(S#,C#, GRADE)其中:S#为学号,SN 为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE.为成绩。 检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是____。
A、SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=’王华’)
B、SELECT SN, AGE, SEX FROM S WHERE SN=’王华’
C、SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=’王华’)
D、SELECT SN, AGE, SEX FROM S WHERE AGE>王华.AGE

9、【单选题】检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是____。
A、SELECT S# FORM SC WHERE C#=’C2’ AND GRADE>= (SELECT GRADE FORM SC WHERE C#=’CZ’)
B、SELECT S# FORM SC WHERE C#=’C2’ AND GRADE IN (SELECT GRADE FORM SC WHERE C#=’C2’)
C、SELECT S# FORM SC WHERE C#=’C2’ AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=’C2’)
D、SELECT S# FROM SC WHERE C#=’C2’AND GRADE>=ALL (SELECT GRADE FROM SC WHERE C#=’C2’)

10、【单选题】检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是____。
A、SELECT S.SN, SC.C#, SC.GRADE FROM S WHERE S.S#=SC.S#
B、SELECT S.SN, SC.C#, SC.GRADE FROM SC WHERE S.S#=SC.GRADE
C、SELECT S.SN, SC.C#, SC.GRADE FROM S, SC WHERE S.S#=SC.S#
D、SELECT S.SN, SC.C#, SC.GRADE FROM S.SC

11、【单选题】假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。 要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系____。
A、S
B、SC,C
C、S,SC
D、S,C,SC

12、【单选题】若用如下的SQL语句创建一个Studen表: CREATE TABLE student (NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C (2), AGE N (2)) 可以插入到student表中的是
A、(‘1031’,’曾华’,男,23)
B、(‘1031’,’曾华’,NULL,NULL)
C、(NULL,’曾华’,’男’,’23’)
D、(’1031’,NULL,’男’,23)

13、【单选题】1986年,________被定为关系数据库标准语言。
A、关系代数
B、关系演算
C、SQL语言
D、QBE

14、【单选题】建立数据库三级模式的功能由SQL语言的________完成。
A、数据定义功能
B、数据操纵功能
C、数据查询
D、数据控制

15、【单选题】数据库中只存放视图的________。
A、操作
B、对应的数据
C、定义
D、限制

16、【单选题】视图的优点之一是________。
A、提高数据的逻辑独立性
B、提高查询效率
C、操作灵活
D、节省存储空间

17、【单选题】当修改基表数据时,视图________。
A、需要重建
B、可以看到修改结果
C、无法看到修改结果
D、不许修改带视图的基表

18、【填空题】SQL是____。

19、【填空题】SQL语言的数据定义功能包括①、②、③和④。

20、【填空题】视图是一个虚表,它是从①中导出的表。在数据库中,只存放视图的②,不存放视图的③。

21、【填空题】设有如下关系表R、S和T: R(BH,XM,XB,DWH) S(DWH,DWM) T(BH,XM,XB,DWH) ①实现 R∪T的SQL语句是____。 ②实现σDWH='100' (R)的 SQL语句是____。 ③实现ΠXM ,XB(R)的SQL语句是____。 ④实现ΠXM ,DWH (σXB ='女' (R) )的 SQL语句是____。 ⑤实现R∞S的SQL语句是____。 ⑥实现ΠXM,XB,DWM (σXB ='男' (R∞S) )的SQL语句是____。

22、【填空题】设有如下关系表R: R(NO,NAME,SEX,AGE,CLASS) 主码是NO 其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。 ①插入一个记录(25,‘李明’,‘男’,21,‘95031’); ②插入‘95031’ 班学号为30、姓名为‘郑和’的学生记录; ③将学号为 10的学生姓名改为 ‘王华’; ④将所有‘95101’ 班号改为‘95091’; ⑤删除学号为20的学生记录; ⑥删除姓‘王’的学生记录;

23、【填空题】设有关系R(A,B,C)和S(C,D),与SQL语句“SELECT A,B,D FROM R,S WHERE R.C=S.C”等价的关系代数表达式是 ____________ 。

24、【填空题】现有学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#, SN, SEX, AGE, DEPT) C(C#, CN,TEACHER) SC(S#, C#, GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。要查找选修数据库技术这门课的学生姓名和成绩,可使用如下的语句:SELECT SN,GRADE FROM S,SC,C WHERE CN=‘数据库技术’ AND S.S#=SC.S# AND _____________ 。

4.2数据库安全性控制

1、【单选题】

4.6章节测试

1、【单选题】保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的 。
A、安全性
B、完整性
C、并发控制
D、恢复

2、【单选题】在数据系统中,对存取权限的定义称为 。
A、命令
B、授权
C、定义
D、审计

3、【单选题】数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的 。
A、可靠性
B、一致性
C、完整性
D、安全性

4、【单选题】下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)的修改权”这一功能的是 。
A、REVOKE UPDATE(XH) ON TABLE FROM ZHAO
B、REVOKE UPDATE(XH) ON TABLE FROM PUBLIC
C、REVOKE UPDATE(XH) ON STUD FROM ZHAO
D、REVOKE UPDATE(XH) ON STUD FROM PUBLIC

5、【单选题】把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是 。
A、GRANT GRADE ON SC TO ZHAO
B、GRANT UPDATE ON SC TO ZHAO
C、GRANT UPDATE (GRADE) ON SC TO ZHAO
D、GRANT UPDATE ON SC (GRADE) TO ZHAO

6、【填空题】在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用 语句,收回所授的权限使用 语句。

7、【填空题】DBMS存取控制机制主要包括两部分:自主存取控制和 。

5.7章节测试

1、【单选题】下述SQL命令中,允许用户定义新关系时,引用其他关系的主码作为外码的是()。
A、INSERT
B、DELETE
C、REFERENCES
D、SELECT

2、【单选题】下述SQL命令的短语中,不用于定义属性上约束条件的是()。
A、NOT NULL短语
B、UNIQUE短语
C、CHECK短语
D、HAVING短语

3、【单选题】关于约束叙述正确的是( )。
A、每个约束只能作用于一个列上
B、每个约束可以作用多个列,但是必须在一个表里
C、每个约束可以作用到多个表的多个列
D、以上都不对

4、【单选题】下列( )是对触发器的描述。
A、定义了一个有相关列和行的集合
B、当用户修改数据时,一种特殊形式的存储过程被自动执行
C、SQL语句的预编译集合
D、它根据一或多列的值,提供对数据库表的行的快速访问

5、【单选题】在数据库的表定义在,限制成绩属性列的取值在0~100的范围内,属于数据的( )约束。
A、实体完整性
B、参照完整性
C、用户自定义
D、用户操作

6、【填空题】数据库的完整性是指数据的 和_________________。

7、【填空题】数据库完整性的定义一般由SQL的 语句来实现。它们作为数据库模式的一部分存入 中。

8、【填空题】关系模型的实体完整性在CREATE TABLE中用___________关键字来实现。

9、【填空题】检查主码值出现_______和___________情况时,则DBMS拒绝插入或修改。

10、【填空题】关系模型的参照完整性在__________中用_____________关键字来实现。

11、【填空题】当参照完整性检查出现违约情况时,则DBMS可以采用_____、________和___________策略处理。

12、【填空题】在CREATE TABLE中定义属性上的约束条件,检查列值唯一用________关键字。

13、【填空题】关系模型的元组上的约束条件的定义,在___________中用______关键字来实现。

14、【填空题】在Sno(学号)列上创建约束,要求Sno的值在18至22岁之间,约束名Sno_CK。请写出对应的完整性命名子句___________________________________。

15、【填空题】创建触发器使用 语句。在表或视图上执行 、 和 语句可以激活触发器。

16、【简答题】试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?

17、【简答题】数据库的完整性概念与数据库的安全性概念有什么区别和联系?

18、【简答题】DBMS的完整性控制机制应具有哪些功能?

19、【计算题】假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。用 SQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。

6.6章节测试

1、【单选题】规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一属性都是()
A、互不相关的
B、不可分解的
C、长度可变的
D、互相关联的

2、【单选题】设有关系模式R(S,D,M)。其函数依赖集F={ S->D,D->M},则关系R的规范化程序至多达到()。
A、1NF
B、2NF
C、3NF
D、BCNF

3、【单选题】在一个关系中,能够惟一确定一个元组的属性或属性组合的叫做()。
A、索引码
B、关键字
C、域
D、排序码

4、【单选题】设有关系模式R(A,B,C,D),F={ (A,D->C.C->B)},则R的所有候选码为()
A、(A,D,C)
B、(A,D)
C、(A,C)
D、(A,D),(A,C)

5、【单选题】关系模式R(P,W,A),P表示演奏者,W表示作品,A表示听众。这个关系模式的码为()
A、(P)
B、(A)
C、(P,A)
D、(P,W,A)

6、【单选题】有关系模式R=ABCDE,其函数依赖集为F={ A—>B,B—>C,AB—>D,AB—>E},则属性集AB关于F的闭包(AB)+为
A、ABCDE
B、DE
C、CDE
D、ABDE

7、【单选题】有一个学生关系模式STUDENT(学号,姓名,出生日期,系名,班号,宿舍号),其候选键为( )。
A、(学号,姓名)
B、(学号)
C、(学号,班号)
D、(学号,宿舍号)

8、【单选题】有关系R=ABCD,其函数依赖集为F={ A—>B,B—>C,AB—>D,AB—>E,A—>DE},则F的最小集为
A、{ A—>B,A—>C,A—>D,A—>E}
B、{ A—>B,B—>C,AB—>D}
C、{ A—>B,B—>C,A—>D,A—>E}
D、{ A—>C,A—>D,A—>E}

9、【单选题】当关系模式R(A,B)已属于3NF,下列说法中正确的是( )
A、它一定消除了插入和删除异常
B、仍存在一定的插入和删除异常
C、一定属于BCNF
D、A,C都是

10、【单选题】下列关于规范化理论各项中正确的是 ( )
A、对于一个关系模式来说,规范化越深越好
B、满足二级范式的关系模式一定满足一级范式
C、一级范式要求一个非主码属性完全函数依赖于关键字
D、规范化一般是通过分解各个关系模式实现的,但是有时也有合并

11、【单选题】根据关系数据库规范化理论,关系数据库中的关系要满足第一范式,下面“部门“关系 中,因哪个属性而使它不满足第一范式 ( ) 部门(部门号,部门名,部门成员,部门总经理)
A、部门总经理
B、部门成员
C、部门名
D、部门号

12、【单选题】设有关系模式R(S,D,M)。其函数依赖集F={ S->D,D->M},则关系R的规范化程序至多达到()
A、1NF
B、3NF
C、BCNF

13、【填空题】如果模式是BCNF,则模式R必定是________,反之,则___________成立。

14、【填空题】设有关系R(工号,姓名,工种,定额),则R是属于第2范式,将其转化为第三范 式,结果应为_______________________________________________。

15、【填空题】关系模型中的关系模式至少为____________________ 。

16、【填空题】如果关系R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是___________模式。

17、【填空题】关系模式的规范化过程是通过关系模式的__________ 来实现的,但在进行这种操作时必须 保证操作前后的关系模式__________________。

18、【填空题】模式分解需要保持_______________ 或__________________,或两者均保持。

19、【填空题】一个关系模式不属于第二范式可能会产生___________ 、____________和 ________ 等几个问题, 解决的办法是________________ 。

20、【填空题】如果R为第一范式,并且R中每一个非主属性完全依赖于R 的某个侯选码,则称为______范式。

21、【其它】设有关系模式R(U,F),其中: U={ A,B,C,D,E},F = { A→BC,CD→E,B→D,E→A}。 ⑴计算B+。 ⑵求R的所有候选码。

22、【其它】设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME为候选码,设关系中有如下函数依赖: S#,CNAME→SNAME,SDEPT,MNAME S#→SNAME,SDEPT,MNAME S#,CNAME→GRADE SDEPT→MNAME 试求下列问题: (1)关系STUDENT属于第几范式? (2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为BCNF。 要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。

7.8章节测试

1、【单选题】从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是____。
A、M端实体的关键字
B、N端实体的关键字
C、M端实体关键字与N端实体关键字组合
D、重新选取其他属性

2、【单选题】关系模型中,一个候选码____。
A、可由多个任意属性组成
B、至多由一个属性组成
C、可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成
D、不用属性组成

3、【简答题】试述数据库设计过程。

4、【简答题】试述数据库设计过程各个阶段上的设计描述。

5、【简答题】试述数据库设计过程中结构设计部分形成的数据库模式。

6、【简答题】什么是数据库的概念结构?试述其特点和设计策略。

7、【简答题】学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E-R 图画出此学校的概念模型。

8、【简答题】某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E—R 图画出此工厂产品、零件、材料、仓库的概念模型。

9、【简答题】什么是数据库的逻辑结构设计?试述其设计步骤。

10、【简答题】设有如下实体: 学生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名 上述实体中存在如下联系: 一个学生可选修多门课程,一门课程可为多个学生选修; 一个教师可讲授多门课程,一门课程可为多个教师讲授; 一个单位可有多个教师,一个教师只能属于一个单位。 试完成如下工作: (1)分别设计学生选课和教师任课两个局部信息的结构E-R图。 (2)将上述设计完成的E-R图合并成一个全局E-R图。 (3)将该全局E-R图转换为等价的关系模型表示的数据库逻辑结构。

11、【简答题】设关系模式R(车间编号,零件编号,数量,仓库编号,仓库地址)。 如果规定:每个车间每需要一种零件只有一个数量; 每种零件只存放在一个仓库里; 每个仓库只有一个地址。 (1)试根据上述规定,写出模式R的基本FD和关键码。 (2)说明R不是2NF的理由,并把R分解成2NF模式集。 (3)再进而分解成3NF模式集,并说明理由。

12、【简答题】 数据库设计题某学员为高校社团信息管理系统设计了数据库的ER图,对学生、社团、社团成员、社团活动、主管老师、对活动和成员的评价等信息进行了管理,其ER图如下所示。 该ER图有9个实体类型,其结构如下: 学生(学号,姓名,性别,出生年月,政治面貌) 社团(社团编号,类别,名称,成员数,组织描述,活动概览) 社团成员(成员编号,在社职务,证件编号,发放日期) 主管老师(教师工号,姓名,性别,政治面貌,职称,电话) 社团活动(社团活动编号,活动日期,主题,参加成员数,活动级别,活动内容) 活动评价(社团活动编号,评价日期,评分,说明) 奖励信息(奖励序号,奖励日期,奖项,奖励描述) 能力状况(序号,日期,健康状况,体育特长,文学特长,艺术特长) 评语(序号,日期,等级,描述,评语教师) 该ER图有10个联系类型,其中1个是1:1联系,7个是1:N联系,2个是M:N联系。其联系的属性如下: 参加(参加情况评级) 开展(开展日期) 试将上述ER图转换成关系模型: 写出关系模式集,并用下划线和波浪线标识出每个模式的主键和外键。 在上述数据库中,写出主键和外键的总数这两个数字。

8.7章节测试

1、【简答题】设教学数据库中有三个基本表: 学生表 S(SNO,SNAME,AGE,SEX) 选课表 SC(SNO,CNO,GRADE) 课程表 C(CNO,CNAME,TEACHER) 试写出下列查询语句的关系代数表达式: 检索不学C6课程的男学生的学号和姓名(SNO,SNAME)。 2) 写出上面第1题的SQL查询语句形式。 3) 试写出下列删除操作的SQL语句: 从SC表中把Maths课程中低于Maths平均成绩的选课元组全部删去。 4) 试写出下列修改操作的SQL语句: 把Wu老师的女同学选课成绩增加4% 。

2、【简答题】设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。 S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男') SC(S#,C#,SCORE) 例:(003,'C1',83) C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华') (1)用关系代数检索既选修了C1课程,又选修了C2课程的学生学号(S#)。 (2)用元组关系演算表达式检索年龄大于21的男生的学号和姓名。 (3)用SQL找出“程序设计”课程成绩在90分以上的学生姓名。

3、【简答题】用一条SQL语句查询出每门课都大于80分的学生姓名 准备数据的sql代码: create table score(id int primary key auto_increment, name varchar(20),sub ject varchar(20), score int); insert into score values (null,'张三','语文',81), (null,'张三','数学',75), (null,'李四','语文',76), (null,'李四','数学',90),(null,'王 五','语文',81), (null,'王五','数学',100), (null,'王五 ','英语',90);

4、【简答题】每个月份的发生额都比101科目多的科目 请用SQL语句实现:从TestDB数据表中查询出所有月份的发生额都比101科目相应月份的发生额高的科目。请注意:TestDB中有很多科目,都有1-12月份的发生额。 AccID:科目代码,Occmonth:发生额月份,DebitOccur:发生额。 数据库名:JcyAudit,数据集:Select * from TestDB 准备数据的sql代码: drop table if exists TestDB; create table TestDB( id int primary key auto_increment, AccID varchar(20), Occmonth date, DebitOccur bigint); insert into TestDB values (null,'101','1988-1-1',100), (null,'101','1988-2-1',110), (null,'101','1988-3-1',120), (null,'101','1988-4-1',100), (null,'101','1988-5-1',100), (null,'101','1988-6-1',100), (null,'101','1988-7-1',100), (null,'101','1988-8-1',100); --复制上面的数据,故意把第一个月份的发生额数字改小一点 insert into TestDB values (null,'102','1988-1-1',90), (null,'102','1988-2-1',110), (null,'102','1988-3-1',120), (null,'102','1988-4-1',100), (null,'102','1988-5-1',100), (null,'102','1988-6-1',100), (null,'102','1988-7-1',100), (null,'102','1988-8-1',100); --复制最上面的数据,故意把所有发生额数字改大一点 insert into TestDB values (null,'103','1988-1-1',150), (null,'103','1988-2-1',160), (null,'103','1988-3-1',180), (null,'103','1988-4-1',120), (null,'103','1988-5-1',120), (null,'103','1988-6-1',120), (null,'103','1988-7-1',120), (null,'103','1988-8-1',120); --复制最上面的数据,故意把所有发生额数字改大一点 insert into TestDB values (null,'104','1988-1-1',130), (null,'104','1988-2-1',130), (null,'104','1988-3-1',140), (null,'104','1988-4-1',150), (null,'104','1988-5-1',160), (null,'104','1988-6-1',170), (null,'104','1988-7-1',180), (null,'104','1988-8-1',140); --复制最上面的数据,故意把第二个月份的发生额数字改小一点 insert into TestDB values (null,'105','1988-1-1',100), (null,'105','1988-2-1',80), (null,'105','1988-3-1',120), (null,'105','1988-4-1',100), (null,'105','1988-5-1',100), (null,'105','1988-6-1',100), (null,'105','1988-7-1',100), (null,'105','1988-8-1',100);

5、【简答题】统计每年每月的信息 year month amount 1991 1 1.1 1991 2 1.2 1991 3 1.3 1991 4 1.4 1992 1 2.1 1992 2 2.2 1992 3 2.3 1992 4 2.4 查成这样一个结果: year m1 m2 m3 m4 1991 1.1 1.2 1.3 1.4 1992 2.1 2.2 2.3 2.4 准备sql语句: drop table if exists sales; create table sales( id int auto_increment primary key, year varchar(10), month varchar(10), amount float(2,1)); insert into sales values (null,'1991','1',1.1), (null,'1991','2',1.2), (null,'1991','3',1.3), (null,'1991','4',1.4), (null,'1992','1',2.1), (null,'1992','2',2.2), (null,'1992','3',2.3), (null,'1992','4',2.4);

6、【简答题】显示文章标题,发帖人、最后回复时间 表:id,title,postuser,postdate,parentid 准备sql语句: drop table if exists articles; create table articles( id int auto_increment primary key, title varchar(50), postuser varchar(10), postdate datetime, parentid int references articles(id) ); insert into articles values (null,'第一条','张三','1998-10-10 12:32:32',null), (null,'第二条','张三','1998-10-10 12:34:32',null), (null,'第一条回复1','李四','1998-10-10 12:35:32',1), (null,'第二条回复1','李四','1998-10-10 12:36:32',2), (null,'第一条回复2','王五','1998-10-10 12:37:32',1), (null,'第一条回复3','李四','1998-10-10 12:38:32',1), (null,'第二条回复2','李四','1998-10-10 12:39:32',2), (null,'第一条回复4','王五','1998-10-10 12:39:40',1);

7、【简答题】删除除了id号不同,其他都相同的学生冗余信息 学生表 如下: id号 学号 姓名 课程编号 课程名称 分数 1 2005001 张三 0001 数学 69 2 2005002 李四 0001 数学 89 3 2005001 张三 0001 数学 69 准备数据: create table student2( id int auto_increment primary key, code varchar(20), name varchar(20) ); insert into student2 values (null,'2005001','张三'), (null,'2005002','李四'), (null,'2005001','张三');

8、【简答题】航空网的几个航班查询题: 实验环境: create table city( cityID int auto_increment primary key, cityName varchar(20)); create table flight ( flightID int auto_increment primary key, StartCityID int references city(cityID), endCityID int references city(cityID), StartTime timestamp); //航班本来应该没有日期部分才好,但是下面的题目当中涉及到了日期 insert into city values (null,'北京'), (null,'上海'), (null,'广州'); insert into flight values (null,1,2,'9:37:23'), (null,1,3,'9:37:23'), (null,1,2,'10:37:23'), (null,2,3,'10:37:23'); (1) 查询起飞城市是北京的所有航班,按到达城市的名字排序 (2)查询北京到上海的所有航班纪录(起飞城市,到达城市,起飞时间,航班号) (3)查询具体某一天(2005-5-8)的北京到上海的的航班次数

9、【简答题】查出比经理薪水还高的员工信息: 准备数据: Drop table if not exists employees; create table employees( id int primary key auto_increment, name varchar(50), salary int, managerid int references employees(id)); insert into employees values (null,' lhm',10000,null), (null,' zxx',15000,1), (null,'flx',9000,1), (null,'tg',10000,2), (null,'wzg',10000,3); Wzg大于flx,lhm大于zxx

10、【简答题】求出小于45岁的各个老师所带的大于12岁的学生人数 实验数据: drop table if exists tea_stu; drop table if exists teacher; drop table if exists student; create table teacher( teaID int primary key, name varchar(50), age int); create table student( stuID int primary key, name varchar(50), age int); create table tea_stu( teaID int references teacher(teaID), stuID int references student(stuID)); insert into teacher values (1,'zxx',45), (2,'lhm',25) , (3,'wzg',26) , (4,'tg',27); insert into student values (1,'wy',11), (2,'dh',25) , (3,'ysq',26) , (4,'mxc',27); insert into tea_stu values (1,1), (1,2), (1,3); insert into tea_stu values (2,2), (2,3), (2,4); insert into tea_stu values (3,3), (3,4), (3,1); insert into tea_stu values (4,4), (4,1), (4,2), (4,3);

11、【简答题】一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? alter table drop column score; alter table add colunm score int; 可能会很快,但是需要试验,试验不能拿真实的环境来操刀,并且要注意,这样的操作时无法回滚的,在我的印象中,只有inert update delete等DML语句才能回滚,对于create table,drop table ,alter table等DDL语句是不能回滚。

12、【简答题】用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name course grade 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90

13、【简答题】现有学生表如下: 自动编号 学号 姓名 课程编号 课程名称 分数 1 2005001 张三 0001 数学 69 2 2005002 李四 0001 数学 89 3 2005001 张三 0001 数学 69 删除除了自动编号不同, 其他都相同的学生冗余信息

14、【简答题】一个叫 team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球对,现在四个球对进行比赛,用一条sql 语句显示所有可能的比赛组合

15、【简答题】1)根据表查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩 2)根据表查询在 SC 表存在成绩的学生信息 实验数据: 学生表: create table Student( Sid varchar(6), Sname varchar(10), Sage datetime, Ssex varchar(10)); insert into Student values('01' , '赵雷' , '1990-01-01' , '男'); insert into Student values('02' , '钱电' , '1990-12-21' , '男'); insert into Student values('03' , '孙风' , '1990-05-20' , '男'); insert into Student values('04' , '李云' , '1990-08-06' , '男'); insert into Student values('05' , '周梅' , '1991-12-01' , '女'); insert into Student values('06' , '吴兰' , '1992-03-01' , '女'); insert into Student values('07' , '郑竹' , '1989-07-01' , '女'); insert into Student values('08' , '王菊' , '1990-01-20' , '女') 成绩表 create table SC( Sid varchar(10), Cid varchar(10), score decimal(18,1)); insert into SC values('01' , '01' , 80); insert into SC values('01' , '02' , 90); insert into SC values('01' , '03' , 99); insert into SC values('02' , '01' , 70); insert into SC values('02' , '02' , 60); insert into SC values('02' , '03' , 80); insert into SC values('03' , '01' , 80); insert into SC values('03' , '02' , 80); insert into SC values('03' , '03' , 80); insert into SC values('04' , '01' , 50); insert into SC values('04' , '02' , 30); insert into SC values('04' , '03' , 20); insert into SC values('05' , '01' , 76); insert into SC values('05' , '02' , 87); insert into SC values('06' , '01' , 31); insert into SC values('06' , '03' , 34); insert into SC values('07' , '02' , 89); insert into SC values('07' , '03' , 98) 课程表 create table Course( Cid varchar(10), Cname varchar(10), Tid varchar(10)); insert into Course values ('01' , '语文' , '02'); insert into Course values ('02' , '数学' , '01'); insert into Course values ('03' , '英语' , '03') 教师表 create table Teacher( Tid varchar(10), Tname varchar(10)); insert into Teacher values ('01' , '张三'); insert into Teacher values ('02' , '李四'); insert into Teacher values ('03' , '王五')

16、【简答题】查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显示为 null )

17、【简答题】查有成绩的学生信息

18、【简答题】查询「李」姓老师的数量

19、【简答题】查询学过「张三」老师授课的同学的信息

20、【简答题】查询没有学全所有课程的同学的信息

21、【简答题】查询至少有一门课与学号为” 01 “的同学所学相同的同学的信息

22、【简答题】查询没学过”张三”老师讲授的任一门课程的学生姓名

23、【简答题】查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

24、【简答题】检索” 01 “课程分数小于 60,按分数降序排列的学生信息

25、【简答题】按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

26、【简答题】查询各科成绩最高分、最低分和平均分,以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率(及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90)。 要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

27、【简答题】统计各科成绩各分数段人数:课程编号,课程名称,[100-85],[85-70],[70-60],[60-0] 及所占百分比

28、【简答题】查询出只选修两门课程的学生学号和姓名

29、【简答题】查询名字中含有「风」字的学生信息

30、【简答题】成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩

31、【简答题】查询和“01”号的同学学习的课程完全相同的其他同学的信息

9.7章节测试

1、【单选题】____是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。
A、程序
B、命令
C、事务
D、文件

2、【单选题】事务并发执行时,每个事务不必关心其他事务,如同在单用户环境下执行一样,这个性质称为事务的___________。
A、持久性
B、一致性
C、孤立性
D、隔离性

3、【单选题】DBMS的恢复子系统,保证了事务__________的实现。
A、原子性
B、一致性
C、隔离性
D、持久性

4、【单选题】若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为 。
A、事务故障
B、系统故障
C、介质故障
D、运行故障

5、【单选题】若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为 。
A、事务故障
B、系统故障
C、介质故障
D、运行故障

6、【单选题】用来记录对数据库中数据进行的每一次更新操作。
A、后援副本
B、日志文件
C、数据库
D、缓冲区

7、【单选题】数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括 。
A、数据字典、应用程序、审计档案、数据库后备副本
B、数据字典、应用程序、日志文件、审计档案
C、日志文件、数据库后备副本
D、数据字典、应用程序、数据库后备副本

8、【单选题】关于具有检查点的恢复技术,下列说法不正确的是()。
A、检查点最大限度地减少数据库完全恢复时所必须执行的日志部分
B、使用检查点方法可以改善恢复效率
C、无论事务在检查点之前还是之后提交,都需要执行REDO操作
D、恢复子系统可以定期地建立检查点,也可以按照某种规则建立检查点

9、【多选题】数据转储按操作可分为___________和____________。
A、静态转储
B、系统转储
C、属性转储
D、动态转储

10、【填空题】如果数据库中只包含成功事务提交的结果,就说数据库处于__________状态。

11、【填空题】数据库系统在运行过程中,可能会发生故障。故障主要有 、 、介质故障和 四类。

12、【简答题】简述事务故障时的数据库恢复策略和方法。

13、【简答题】简述事务中的提交和回滚。

10.7章节测试

1、【单选题】为了防止一个用户的工作不适当地影响另一个用户,应该采取( )
A、完整性控制
B、访问控制
C、安全性控制
D、并发控制

2、【单选题】解决并发操作带来的数据不一致问题普遍采用( )技术。
A、封锁
B、存取控制
C、恢复
D、协商

3、【单选题】下列不属于并发操作带来的问题是( )
A、丢失修改
B、不可重复读
C、死锁
D、脏读

4、【单选题】事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放,这是( )
A、零级封锁协议
B、一级封锁协议
C、二级封锁协议
D、三级封锁协议

5、【单选题】如果事务T获得了数据项Q上的排他锁,则T对Q( )
A、只能读不能写
B、只能写不能读
C、既可读又可写
D、不能读也不能写

6、【单选题】设事务T1和T2,对数据库中地数据A进行操作,可能有如下几种情况,请问哪一种不会发生冲突操作( )
A、T1正在写A,T2要读A
B、T1正在写A,T2也要写A
C、T1正在读A,T2要写A
D、T1正在读A,T2也要读A

7、【简答题】在数据库中为什么要并发控制?

8、【简答题】基本的封锁类型有几种?试述它们的含义。

9、【简答题】并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?

10、【简答题】不同封锁协议与系统一致性级别的关系是什么?

1、【单选题】为了防止一个用户的工作不适当地影响另一个用户,应该采取( )
A、完整性控制
B、访问控制
C、安全性控制
D、并发控制

2、【单选题】解决并发操作带来的数据不一致问题普遍采用( )技术。
A、封锁
B、存取控制
C、恢复
D、协商

3、【单选题】下列不属于并发操作带来的问题是( )
A、丢失修改
B、不可重复读
C、死锁
D、脏读

4、【单选题】事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放,这是( )
A、零级封锁协议
B、一级封锁协议
C、二级封锁协议
D、三级封锁协议

5、【单选题】如果事务T获得了数据项Q上的排他锁,则T对Q( )
A、只能读不能写
B、只能写不能读
C、既可读又可写
D、不能读也不能写

6、【单选题】设事务T1和T2,对数据库中地数据A进行操作,可能有如下几种情况,请问哪一种不会发生冲突操作( )
A、T1正在写A,T2要读A
B、T1正在写A,T2也要写A
C、T1正在读A,T2要写A
D、T1正在读A,T2也要读A

7、【简答题】在数据库中为什么要并发控制?

8、【简答题】基本的封锁类型有几种?试述它们的含义。

9、【简答题】并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?

10、【简答题】不同封锁协议与系统一致性级别的关系是什么?

学习通数据库原理_2

在上一篇文章中,我们了解了什么是数据库以及数据库管理系统的基本概念。本篇文章将继续介绍数据库的相关知识,包括数据库的结构和类型。

1. 数据库的结构

1.1 层次结构

层次结构是最早的数据库结构,它的表现形式是一棵树状结构。其中,根节点为数据库,分支节点为记录类型,叶子节点为记录。

1.2 网状结构

网状结构是在层次结构的基础上发展而来的,不同之处在于节点之间的关系可以是多对多的。这种结构可以更好地处理一些具有复杂关系的数据。

1.3 关系结构

关系结构是现代数据库管理系统最常用的结构,它是以表格为基础的结构,其中每个表格代表一个关系,每个关系有一定数量的列和行。每行代表一个记录,每列代表记录中的一个属性。

2. 数据库的类型

2.1 关系型数据库

关系型数据库是以关系模型为基础的数据库类型。它包括表格、行和列,表格之间的关系可以通过外键来实现。

2.2 非关系型数据库

非关系型数据库是相对于关系型数据库而言的,不依赖于表格和外键,而是使用不同的数据模型来存储数据。这种数据库类型包括文档型数据库、键值型数据库、图形数据库等。

2.3 分布式数据库

分布式数据库是由多个数据库组成的系统,这些数据库互相连接并交换数据,形成一个整体。分布式数据库可以提高数据的安全性和可用性。

3. 数据库的应用

数据库应用广泛,包括以下几个方面:

3.1 企业管理系统

企业管理系统中包含各种管理信息,包括人事管理、财务管理、物资管理等,这些信息需要进行存储、查询和统计。

3.2 电子商务

电子商务平台需要进行商品的存储、订单管理、支付信息等操作,这些都需要依赖于数据库。

3.3 在线教育

在线教育平台需要存储大量的教学资源、学生信息、教育管理信息等,这些都需要依赖于数据库。

3.4 科学研究

科学研究中需要进行大量的数据分析和处理,这些数据需要存储在数据库中,以便于进行后续的分析操作。

4. 总结

数据库是现代科技发展中的重要组成部分,它的应用范围十分广泛。在今后的学习和工作中,对数据库的理解和掌握将变得越来越重要。

中国大学数据库原理_2

1. 关系数据库管理系统

关系数据库管理系统(Relational Database Management System,简称RDBMS)是指一种使用关系模型来组织数据的数据库管理系统。在RDBMS中,数据以表格的形式存储,每个表格都有一个唯一的名称,并且由一组字段组成,每个字段都有一个名称和数据类型,它们定义了表格中的数据类型和约束条件。关系数据库管理系统主要由以下几个组件构成:

  1. 数据库服务器
  2. 数据库
  3. 表格
  4. 字段
  5. SQL查询语言
  6. 索引

2. 数据库设计

数据库设计是指根据特定需求,设计出满足这些需求的数据库系统的过程。在数据库设计中,需要考虑数据的组织方式、数据表之间的关系、数据的可靠性和安全性等方面。数据库设计应该遵循以下原则:

  1. 确保数据的完整性和一致性
  2. 尽量避免数据冗余
  3. 尽量避免数据更新异常
  4. 尽量避免数据删除异常
  5. 尽量避免数据插入异常

3. SQL查询语言

SQL(Structured Query Language)是一种用于处理关系型数据库的标准语言。SQL主要由以下几个部分构成:

  • DDL(Data Definition Language):用于定义数据结构,包括创建、修改和删除表格、索引等操作。
  • DML(Data Manipulation Language):用于操作数据,包括插入数据、修改数据、删除数据等操作。
  • DQL(Data Query Language):用于查询数据,包括SELECT、FROM、WHERE等关键字。

SQL查询语言具有以下几个特点:

  1. 简单易学:使用SQL语言进行数据库操作十分简单明了。
  2. 高效性:SQL查询语言能够优化查询过程,使数据库操作更加高效。
  3. 可扩展性:SQL语言能够进行自定义操作,扩展数据库的功能性。
  4. 标准性:SQL语言是一种标准语言,能够在不同的数据库中进行移植和使用。

4. 数据库备份与恢复

数据库备份是指将数据库的数据复制到备份媒介,以便在数据库出现故障或数据丢失时进行恢复。数据库备份主要包括以下几种类型:

  • 完全备份:包括数据库的所有数据和对象。
  • 差异备份:基于完全备份,只备份在上一次备份之后发生变化的数据。
  • 增量备份:基于上一次备份,只备份在上一次备份之后新增的数据。

数据库恢复是指在数据库发生故障或数据丢失时,将备份数据恢复到数据库中,以保证数据的完整性和可用性。数据库恢复主要包括以下几种方式:

  • 完全恢复:将完全备份的数据恢复到数据库中。
  • 差异恢复:将差异备份的数据恢复到数据库中。
  • 增量恢复:将增量备份的数据恢复到数据库中。

5. 数据库安全性

数据库安全性是指保护数据库不受非法访问、修改和破坏的能力。数据库安全性主要包括以下几个方面:

  • 用户管理:控制用户对数据库的访问权限,包括用户的创建、删除、修改和赋权等操作。
  • 数据保护:保护数据的机密性、完整性和可用性,包括数据的加密、备份、恢复和访问控制等方式。
  • 审计跟踪:记录数据库中的操作,以便追踪非法操作和故障原因。
  • 网络安全:保护数据库系统与网络的连接,包括防火墙、入侵检测和加密传输等措施。

6. 数据库性能优化

数据库性能优化是指通过调整数据库的参数、优化查询语句和索引等方式,提升数据库的响应速度和并发访问能力。数据库性能优化主要包括以下几个方面:

  • 调整服务器参数:包括内存、CPU、磁盘和网络等资源的分配和优化。
  • 优化查询语句:尽量避免全表扫描和笛卡尔积等操作,使用索引和聚集函数等方式提升查询效率。
  • 创建索引:对常用的查询字段创建索引,减少查询时间。
  • 分表和分区:将大型数据表拆分成多个小型数据表,提高查询速度。
  • 缓存机制:对常用的数据进行缓存,减少读取操作。

7. 结语

以上就是关于中国大学数据库原理的相关内容,包括了关系数据库管理系统、数据库设计、SQL查询语言、数据库备份与恢复、数据库安全性和数据库性能优化等方面,希望对读者有所启发和帮助。