数据库单元练习5

合集下载

计算机二级(VF)数据库设计基础章节练习试卷5(题后含答案及解析)

计算机二级(VF)数据库设计基础章节练习试卷5(题后含答案及解析)

计算机二级(VF)数据库设计基础章节练习试卷5(题后含答案及解析)全部题型 2. 填空题填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上。

注意:以命令关键字填空的必须拼写完整。

1.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体“工人”与实体“设备”之间存在______联系。

正确答案:一对多(或1:N) 涉及知识点:数据库设计基础2.关系数据库管理系统能实现的专门关系运算包括选择、连接和______。

正确答案:投影涉及知识点:数据库设计基础3.数据库系统的三级模式分别为______模式、内部级模式与外部级模式。

正确答案:概念(或概念级) 涉及知识点:数据库设计基础4.数据字典是各类数据描述的集合,它通常包括五个部分,即数据项、数据结构、数据流、______和处理过程。

正确答案:数据存储涉及知识点:数据库设计基础5.______是数据库应用的核心。

正确答案:数据库设计涉及知识点:数据库设计基础6.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。

正确答案:参照完整性涉及知识点:数据库设计基础7.数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。

正确答案:概念涉及知识点:数据库设计基础8.数据流的类型有______和事务型。

正确答案:变换型涉及知识点:数据库设计基础9.数据库系统中实现各种数据管理功能的核心软件称为______。

正确答案:数据库管理系统(DBMS) 涉及知识点:数据库设计基础10.关系模型的数据操纵就是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。

正确答案:查询涉及知识点:数据库设计基础11.数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。

正确答案:概念设计阶段(数据库概念设计阶段) 涉及知识点:数据库设计基础12.数据库保护分为安全性控制、______、并发性控制和数据的恢复。

数据库第五章习题及答案

数据库第五章习题及答案

数据库第五章习题及答案本文档为数据库第五章的习题及答案,帮助读者巩固数据库相关知识。

习题1. 数据库的优点有哪些?数据库具有以下优点: - 数据共享:多个用户可以同时访问和共享数据库中的数据。

- 数据一致性:数据库提供事务管理能力,保证了数据的一致性。

- 数据持久性:数据在数据库中是永久存储的,不会因为系统关机或程序结束而丢失。

- 数据冗余度低:数据库通过规范化设计,减少了数据的冗余性,提高了数据的存储效率。

- 数据独立性:数据库支持数据与应用程序的独立性,提高了系统的灵活性和维护性。

- 数据安全性:数据库提供了用户权限管理和数据备份机制,保证了数据的安全性。

2. 数据库的三级模式结构是什么?数据库的三级模式结构包括: - 外模式(视图层):外模式是用户所看到的数据库的子集,用于描述用户对数据库的逻辑视图。

每个用户可以有不同的外模式来满足自己的需求。

- 概念模式(逻辑层):概念模式是全局数据库的逻辑结构和组织方式,描述了数据的总体逻辑视图。

概念模式独立于具体的应用程序,是数据库管理员的角度来看待数据库的。

- 内模式(物理层):内模式是数据库的存储结构和物理组织方式,描述了数据在存储介质上的实际存储方式。

3. 数据库的完整性约束有哪些?数据库的完整性约束包括: - 实体完整性约束:确保表的主键不为空,每个实体都能够唯一标识。

- 参照完整性约束:确保外键的引用关系是有效的,即外键值必须等于被引用表中的主键值或者为空。

- 用户定义完整性约束:用户可以自定义额外的完整性约束,如检查约束、唯一约束、默认约束等。

4. 数据库的关系模型有哪些特点?数据库的关系模型具有以下特点: - 数据用二维表的形式进行组织,表由行和列组成,每一行表示一个实体,每一列表示一个属性。

- 表与表之间通过主键和外键建立关联关系,形成关系。

- 关系模型提供了一种数据独立性的设计方法,使得应用程序与数据的逻辑结构相分离,提高了系统的灵活性和可维护性。

数据库练习题库与答案

数据库练习题库与答案

数据库练习题库与答案一、单选题(共88题,每题1分,共88分)1.在Access2010中,要设置数据库密码,可以选择“文件”选项卡中的()命令。

A、信息B、选项C、保存并发布D、打开正确答案:A答案解析:文件à信息à用密码进行加密2.下面关于Acess 表的叙述中,错误的是 ()A、在Access表中,可以对备注型字段进行“格式”属性设置B、若删除表中含有自动编号型字段的一条记录后,Access不会对表中自动编号型字段重新编号C、创建表之间的关系时,应关闭所有打开的表D、可在access表的设计视图“说明”列中,对字段进行具体的说明,不影响字段的数据。

正确答案:C答案解析:只需关闭相关联的表3.在Access2003中,若要在打开网络共享数据库时禁止他人打开该数据库,应选择( )打开方式。

A、只读B、独占C、独占只读D、打开正确答案:B答案解析:采用以独占方式打开数据库,当前用户进行读写期间,其他用户无法打开数据库。

4. 在关系代数中,( )操作称为从两个关系的笛卡尔积中,选取它们属性间满足一定条件的元组。

A、自然连接B、θ连接C、选择D、投影正确答案:B5.当多名用户需要Access数据库协同办公时,打开方式应设为A、只读方式B、打开C、独占只读方式D、独占方式正确答案:B答案解析:协同办公属于多个用户同时读写的操作场景,因此要采用“打开”的方式打开数据库,便于多用户共享读写数据。

6.某文本型字段中有数据“201”,“52”,“510”,“90”,如果按照降序的方式进行排序,则排序后的结果为()A、201,52,510,90B、510,201,90,52C、52,90,201,510D、90,52,510,201正确答案:D答案解析:文本型的排序方式是从左到右逐字符比较,直到可以比较出大小为止。

7.Access不能对数据类型进行排序和索引。

( )A、文本B、数字C、备注D、自动编号正确答案:D8.设置文本型字段默认值时不用输入引号,系统自动加入。

数据库复习题5,6,7,8章(附答案)

数据库复习题5,6,7,8章(附答案)

数据库复习题5,6,7,8章(附答案)第5章数据库完整性一、选择题:1、在数据库系统中,保证数据及语义正确和有效的功能是(D)A.并发控制B.存取控制C.安全控制D.完整性控制2、关于主键约束以下说法错误的是(C)A.一个表中只能设置一个主键约束B.允许空值的字段上不能定义主键约束C.允许空值的字段上可以定义主键约束D.、可以将包含多个字段的字段组合设置为主键3、在表或视图上执行除了(D)以外的语句都可以激活触发器。

A.InsertB.DeleteC.UpdateD.Create4、数据库的__B__是指数据的正确性和相容性。

A.安全性B.完整性C.并发控制D.恢复5、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的_____C___约束。

A、实体完整性B、参照完整性C、用户自定义D、用户操作二、填空题1.数据库的完整性是指数据的①实体完整性.②参照完整性__和③用户定义完整性。

2、实体完整性是指在基本表中,。

答案:主属性不能取空值3、参照完整性是指在基本表中,。

答案:外码可以是空值或者另一个关系主码的有效值4、为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS 就。

答案:拒绝此操作第6章关系数据理论一、选择题1、关系规范化中的删除操作异常是指①A,插入操作异常是指②D。

A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是A。

A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑3、规范化过程主要为克服数据库逻辑结构中的插入异常,删除;异常以及C的缺陷。

A.数据的不一致性B.结构不合理C.冗余度大D.数据丢失4、当关系模式R(A,B)已属于3NF,下列说法中B是正确的。

A.它一定消除了插入和删除异常B.仍存在一定的插入和删除异常C.一定属于BCNFD.A和C都是5、关系模型中的关系模式至少是AA.1NFB.2NFC.3NFD.BCNF6、在关系DB中,任何二元关系模式的最高范式必定是DA.1NFB.2NFC.3NFD.BCNF7、候选关键字中的属性称为B。

数据库第五章课后习题答案

数据库第五章课后习题答案

关系规范化理论题目4.20 设关系模式R(ABC),F是R上成立的FD集,F={B→A,C→A },ρ={AB,BC }是R上的一个分解,那么分解ρ是否保持FD集F?并说明理由。

答:已知F={ B→A,C→A },而πAB(F)={ B→A },πBC(F)=φ,显然,分解ρ丢失了FD C→A。

4.21 设关系模式R(ABC),F是R上成立的FD集,F={B→C,C→A },那么分解ρ={AB,AC }相对于F,是否无损分解和保持FD?并说明理由。

答:①已知F={ B→C,C→A },而πAB(F)=φ,πAC(F)={ C→A }显然,这个分解丢失了FD B→C②用测试过程可以知道,ρ相对于F是损失分解。

4.22 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C,A→D,D→C },ρ={AB,AC,BD }是R的一个分解。

①相对于F,ρ是无损分解吗?为什么?②试求F在ρ的每个模式上的投影。

③ρ保持F吗?为什么?答:①用测试过程可以知道,ρ相对于F是损失分解。

②πAB(F)={ A→B },πAC(F)={ A→C },πBD(F)=φ。

③显然,分解ρ不保持FD集F,丢失了B→C、A→D和D→C等三个FD。

4.23 设关系模式R(ABCD),R上的FD集F={A→C,D→C,BD→A},试说明ρ={AB,ACD,BCD }相对于F是损失分解的理由。

答:据已知的F集,不可能把初始表格修改为有一个全a行的表格,因此ρ相对于F是损失分解。

4.24 设关系模式R(ABCD)上FD集为F,并且F={A→B,B→C,D→B}。

①R分解成ρ={ACD,BD},试求F在ACD和BD上的投影。

②ACD和BD是BCNF吗?如不是,望分解成BCNF。

解:①F在模式ACD上的投影为{A→C,D→C},F在模式BD上的投影为{D→B}。

②由于模式ACD的关键码是AD,因此显然模式ACD不是BCNF。

单元5 查询和更新数据

单元5  查询和更新数据

【相关知识与技能】
1.集函数
【任务实施】
1.使用集函数汇总数据 【例1】统计Student表中学生的记录数。 【例2】统计出信息工程学院的专业个数。
【任务实施】
【练习1】查询学号为'200931010100101'学生的所有选 修课程的平时成绩的总分和平均分。 【练习2】查询课程编号为'2003003'课程的学生期末成绩 的最高分和最低分。
1.单表查询的SELECT语句
SELECT [ALL|DISTINCT] 目标列表达式 FROM 表名 [WHERE 行条件表达式] [ORDER BY 排序列 [ASC|DESC]]
【相关知识与技能】
2.SELECT语句的含义
根据WHERE子句的行条件表达式, 从FROM子句指定的表中找出满足条件的行(记录), 再按SELECT子句中的列名或表达式选出记录中的字 段值形成查询结果。 如果有ORDER BY子句,则查询结果还要按照排序列 的值进行升序或降序排列。
【任务实施】
(4)查询经过计算的列
格式:SELECT 计算表达式或列名 FROM 表名 【例4】查询所有学生的学号、姓名和出生年份。 【练习4】查询所有学生的学号、姓名和年龄。
【任务实施】
2.选择表中的若干行 (1)查询满足条件的记录 格式:SELECT 目标列表达式 FROM 表名 WHERE 行条件表达式
【任务实施】
1)比较大小
【例5】查询所有女生的学号和姓名。 【练习5】查询课程学时超过50学时的课程号和课程名称。 【练习6】查询所有在1992年5月10日后(包含1992年5月 10日)出生的学生的详细信息。 【练习7】查询年龄小于20岁的学生的学号、姓名和出生 年月。查询结果应如图5-12所示。

MySQL数据库技术 周德伟 电子课件单元5 数据查询

MySQL数据库技术 周德伟 电子课件单元5 数据查询

知识能力目标
【情境】:Petstore数据查询 【职业岗位】:操作员、程序员 【典型工作任务】:查询记录、多 表查询、子查询 【技能要求】: 1、使用MySQL命令完成多功能数据 查询; 2、使用图形工具完成多功能数据 查询 【知识要求】: 1、简单查询、分类汇总 2、联接和嵌套查询 3、数据操作的SQL语句 “员工管理系统”数据库查询操作
SELECT 图书编号, 书名, CASE WHEN 数量 IS NULL THEN '尚未进货' WHEN 数量 < 5 THEN '需进货' WHEN 数量 >=5 and 数量<=50 THEN '库存正常' ELSE '库存积压' END AS 库存 FROM Book;
计算列值
4. 计算列值
注意:当自定义的列标题中含有空格时,必须使用引号将标题括起来。
SELECT 学号 AS 'Student number', 姓名 AS 'Student name', 总学分 AS mark FROM XS WHERE 专业名= '计算机';
替换查询结果中的数据
3. 替换查询结果中的数据来自在对表进行查询时,有时对所查询的某些列希望得到的是一种概念 而不是具体的数据。例如查询XS表的总学分,所希望知道的是学习的总 体情况,这时,就可以用等级来替换总学分的具体数字。 要替换查询结果中的数据,则要使用查询中的CASE表达式,格式为:
聚合函数
SELECT子句的表达式中还可以包含所谓的聚合函数。聚合函数常
常用于对一组值进行计算,然后返回单个值。
函 数 名 说 明
COUNT MAX

数据库练习题

数据库练习题

数据库练习题一、单选题(共81题,每题1分,共81分)1.关于索引,说法错误的是( )A、当一个表建立了索引,就可以加快其查询速度B、虽然建立索引可以加快查询速度,但不是索引越多越好C、建立了主键的字段就自动建立了索引D、为了更快地提高数据检索速度,索引建立得越多越好正确答案:D答案解析:创建索引可以提高数据的检索速度、但应该适可而止。

2.( )是存储在磁盘上的唯一标识。

A、表名B、查询C、窗体D、报表正确答案:A答案解析:表是存储在磁盘上的唯一标识。

3.如果在创建表中建立字段“简历”,其数据类型应当是()A、文本B、日期C、数字D、备注正确答案:D4.一个实体对应Access表中的()A、表B、字段C、记录D、主键正确答案:C答案解析:一条记录代表一个实体,一个表代表一个实体集。

5.数据库中最能体现数据库设计目的的对象是A、表B、查询C、窗体D、程序正确答案:B答案解析:表是数据库最基本的对象,查询是最能够体现数据库设计目的的对象。

因为数据库保存的是数据与数据之间的联系,设计数据库的目的就是为了更加方便使用数据,查询则是最能满足使用数据这一特点。

6.教师和同学之间的关系是( )A、1:1B、1:nC、m:nD、n: 1正确答案:C答案解析:一个教师可以教多名学生,一个学生可以被多个教师教,因此两者之间是多对多的联系。

7.在窗体中要显示一名教师基本信息和该教师所承担的全部课程情况,窗体设计时在主窗体中显示教师基本信息,在子窗体中显示承担的课程情况,则主窗体和子窗体数据源之间的关系是A、一对一关系B、一对多关系C、多对一关系D、多对多关系正确答案:B答案解析:窗体中的窗体称为子窗体,包含子窗体的窗体称为主窗体,主窗体和子窗体常用来表示一对多的关系。

根据题意,主窗体和子窗体数据源之问的关系就是教师实体集和课程实体集之问的关系。

一名教师可以承担多门课程,但是一门课程只能由一个教师承担。

所以是一对多的关系,因此选择B选项。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ x=r->vec[i];
r->vec[i]=r->[r->len-i+1];
r->vec[r->len-i+1]=x;
}
return(r );
}
(3)算法思想:从头到尾扫描r串,对于值为ch的元素用移动的方式进行删除。
str *delall(r,ch)
str *r;
char ch;
{ inti,j;
(11)设S="My Music",则LenStr(s)=_8。
(12)两个字符串分别为:S1="Today is",S2="30 July,2005",ConcatStr(S1,S2)的结果是:Today is 30 July,2005。
(13)求子串函数SubStr("Today is 30 July,2005",13,4)的结果是:July。
int len; // len为串的长度
}St ;
void ConcatStr(Str *r1,Str *r2) // 字符串连接函数
{int i;
cout << r1->vec<<r2->vec;
if(r1->len+r2->len>MAXLEN)
cout<< "两个串太长,溢出!";
else
{for(i=0;i<r2->len;i++) // 把r2连接到r1
A.35 B.36 C.37 D.38
(8+7+6+5+4+3+2+1+1=37)
四.程序题填空(每空2分,共50分)
1.下面程序是把两个串r1和r2首尾相连的程序,即:r1=r1+r2,试完成程序填空。
typedef Struct
{ char vec[MAXLEN]; // 定义合并后串的最大长度
if (r->vec[i]==ch1)
r-vec[i]=ch2;
return(r);
}
(2)算法思想是:将第一个元素与最后一个元素交换,第二个元素与倒数第二个元素交换,依次类推,便将该串的所有字符反序了。
str *invert(r)
str *r;
{ inti;
char x;
for (i=0;#34;c:/mydocument/text1.doc",T="mydont",则字符定位的位置为0。
(20)若n为主串长度,m为子串长度,且n>>m,则模式匹配算法最坏情况下的时间复杂度为:
(n-m+1)*m。
三.选择题
(1)串是一种特殊的线性表,其特殊性体现在( B)。
A.可以顺序存储 B.数据元素是一个字符
(√)(9)子串的定位运算称为模式匹配。
(√)(10)在链串中为了提高存储密度,应该增大结点的大小。
二.填空题
(1)由零个或多个字符组成的有限序列称为字符串(或串)。
(2)字符串按存储方式可以分为:顺序存储、链接存储和堆分配存储。
(3)串的顺序存储结构简称为顺序串。
(4)串顺序存储非紧凑格式的缺点是:空间利用率低。
(2)将串中r中所有字符按照相反的次序仍存放在r中。
(3)从串r中删除其值等于ch的所有字符。
(4)从串r1中第index个字符起求出首次与字符r2相同的子串的起始位置。
(5)从串r中删除所有与串r3相同的子串(允许调用第(4)小题的函数)。
(6)编写一个比较x和y两个串是否相等的函数。
2.设计一算法判断字符串是否为回文(即正读和倒读相同)
(ㄨ)(4)如果两个串含有相同的字符,则说明它们相等。
(ㄨ)(5)如果一个串中所有的字母均在另一个串中出现,则说明前者是后者的子串。
字符串中任意多个连续字符所组成的子序列,称作是该串的“子串”
(√)(6)串的堆分配存储是一种动态存储结构。
(ㄨ)(7)“DT”是“DATA”的子串。要连续。
(ㄨ)(8)串中任意个字符组成的子序列称为该串的子串。
int partposition(r2,r1,index)
str*r2,*r1;
int index;
{inti,j,k;
for (i=index;r1->vec[i];i++)
for (j=i,k=0;r1->vec[j]==r2->vec[k];j++,k++)
if (!r2->vec[k+1])
A."I AM"B."I AM A SDUDENT"
C."IAMASDUDENT"D. "A SDUDENT"
(11)设S="",则LenStr(S)=( A)。
A.0B.1C.2 D.3
(12)设目标串T="AABBCCDDE",模式P="ABCDE",则该模式匹配的有效位移为(A)。
A.0B.1C.2 D.3
(13)设目标串T="AABBCCDDEEFF",模式P="CCD",则该模式匹配的有效位移为(D)。
A.2B.3 C.4 D. 5
(14)设目标串T="aabaababaabaa",模式P="abab",朴素匹配算法的外层循环进行了( D )次。
A.1 B.9C.4 D.5
(15)朴素模式匹配算法在最坏情况下的时间复杂度是( D )。
A.空串与空格串是相同的B."ton"是"Teleptone"的子串
C.空格串是有空格的串D.空串的长度等于1
(5)以下论断正确的是( A )。
A.""是空串," "空格串B."BEIJING"是"BEI JING"的子串
C."something"<"Somethig"D."BIT"="BITE"
(6)设有两个串S1和S2,则EqualStr(S1,S2)运算称作( D )。
单元练习5
一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳)
(ㄨ)(1)串是n个字母的有限序列。“串”是由0个或多个字符构成的一个有限序列,用双引号作为其定界符。
(√)(2)串的数据元素是一个字符。
(ㄨ)(3)串的长度是指串中不同字符的个数。
括在双引号内的字符个数n,称为字符串的“长度”。当n=0时,称其是一个“空串”
return(i);
return(-1);
}
(5)算法思想:从位置1开始调用第(4)小题的函数partposition(),若找到了一个相同子串,则调用delsubstring(),再相同的方法查找后面位置的相同子串。
str *delstringall(r,r3)
str *r, *r3;
{inti=0;
(19)设串S1="ABCDEFG",S2="PQRST" ,
则ConcatStr(SubStr(S1,2,LenStr(S2)),SubStr(S1,LenStr(S2),2))的结果串为( D )。
A.BCDEF B.BCDEFG C.BCPQRST D. BCDEFEF
(20)若串S="SOFTWARE",其子串的数目最多是:(C)。
3.设计一算法从字符串中删除所有与字串"del"相同的子串
4.设计一算法统计字符串中否定词"not"的个数
1.解:
(1)算法思想:从头至尾扫描r串,对于值为ch1的元素直接替换成ch2即可。
str *trans(r,ch1,ch2)
str *r;
char ch1,ch2;
{int i;
for (i=0;i<r->len;i++)
r1->vec[r1->len+i]=r2->vec[i];
r1->vec[r1->len+i]='\0'; // 添上字符串结束标记
r1->len=r1->len+r2->len; // 修改新串长度
}
}
2.设x和y两个串均采用顺序存储方式,下面的程序是比较x和y两个串是否相等的函数,试完成程序填空。
{ if ( x->vec[i]!=y->vec[i] )tag=0;
i++;(或i=i+1)
}
return (tag);
}
}
3.下面算法是判断字符串是否为回文(即正读和倒读相同),试完成程序填空。
解:#include"stdio.h"
typedefstruct
{charvec[MAXLEN];
intlen;
A."goodmorning"B."good morning"
C."GOODMORNING"D."GOOD MORNING"
(18)S1="good",S2="morning",执行函数SubStr(S2,4,LenStr(S1))后的结果为( B )。
A."good"B."ning"
C."go"D."morn"
相关文档
最新文档