MySQL数据库基础与实例教程练习题参考答案

MySQL数据库基础与实例教程练习题参考答案
MySQL数据库基础与实例教程练习题参考答案

MySQL数据库基础与实例教程练习题参考答案

由于时间仓促,答案中难免存在错误,不妥之处恳请读者批评指正!

第一章答案

1.数据库管理系统中常用的数学模型有哪些?

数据库管理系统通常会选择某种“数学模型”存储、组织、管理数据库中的数据,常用的数学模型包括“层次模型”、“网状模型”、“关系模型”以及“面向对象模型”等。

2.您听说过的关系数据库管理系统有哪些?数据库容器中通常包含哪些数据库对象?

目前成熟的关系数据库管理系统主要源自欧美数据库厂商,典型的有美国微软公司的SQL Server、美国IBM公司的DB2和Informix、德国SAP公司的Sybase、美国甲骨文公司的Oracle。

数据库容器中通常包含表、索引、视图、存储过程、触发器、函数等数据库对象。

3.通过本章知识的讲解,SQL与程序设计语言有什么关系?

SQL并不是一种功能完善的程序设计语言,例如,不能使用SQL构建人性化的图形用户界面(Graphical User Interface,GUI),程序员需要借助Java、VC++等面向对象程序设计语言或者HTML的FORM表单构建图形用户界面(GUI)。如果选用FORM表单构建GUI,程序员还需要使用JSP、PHP或者.NET编写Web应用程序,处理FORM表单中的数据以及数据库中的数据。

其他答案:

1、首先SQL语言是数据库结构化查询语言,是非过程化编程语言。而程序设计语言则有更多的面向对象及逻辑程序设计。比如用SQL语言编写图形用户界面(例如窗口、进度条),是无法实现的。

2、SQL语言可以说是,程序设计语言和数据库之间的一个翻译官。程序设计语言需要操作数据库时,需要借助(或者说调用)SQL语言来翻译给数据库管理系统。

3、不同数据库管理系统会有一些特殊的SQL规范,比如limit关键词在SQL Server 中无法使用。而这些规范与程序设计语言无关。

4.通过本章的学习,您了解的MySQL有哪些特点?

与题目2中列举的商业化数据库管理系统相比,MySQL具有开源、免费、体积小、便于安装,但功能强大等特点。

5.通过本章的学习,您觉得数据库表与电子表格(例如Excel)有哪些区别?

限于本章的知识点:外观上,关系数据库中的一个数据库表和一个不存在“合并单元格”的电子表格(例如Excel)相同。与电子表格不同的是:同一个数据库表的字段名不能重复。为了优化存储空间以及便于数据排序,数据库表的每一列必须指定某种数据类型。

关系数据库中的表是由列和行构成的,和电子表格不同的是,数据库表要求表中的每一行记录都必须是唯一的,即在同一张数据库表中不允许出现完全相同的两条记录。

6.您所熟知的数据库设计辅助工具有哪些?您所熟知的模型、工具、技术有哪些?

数据库设计辅助工有数据模型、数据建模工具、关系数据库设计技术。其中常用的数据模型有ER模型和类图;常用的数据建模工具如ERwin、PowerDesigner、Visio等;常用的关系数据库设计技术如数据库规范化技术。

1.模型

数据模型有E-R图或者类图等数据模型。业务模型有程序流程图、数据流程图DFD、时

序图、状态图等业务模型。

2.工具

软件项目管理工具如美国微软公司的Project,数据建模工具如ERwin、PowerDesigner、Visio,业务建模工具如PowerDesigner、Rational Rose以及Visio等。IDE工具有VC++6.0、Visual Studio、Eclipse以及NetBeans等。测试工具有Junit单元测试工具、QuickTest Professional功能测试工具以及LoadRunner性能测试工具等。

3.技术

软件开发时常用的技术包括:面向对象分析和设计技术、结构化分析和设计技术、软件测试技术和关系数据库设计技术等。

7.请您罗列出“选课系统”需要实现哪些功能,使用数据库技术能够解决“选课系统”中的哪些商业问题?

“选课系统”中存在的商业问题(等于“选课系统”需要实现的功能):

如何存储以及维护课程、学生、教师以及班级的详细信息?

不同教师申报的课程名能否相同?如果允许课程名相同,如何区分课程?

如何控制每位教师只能申报一门选修课程?

如何控制每门课程的人数上限在(60、150、230)中取值?

如何控制每一门课程的选课学生总人数不超过该课程的人数上限?

如何实现学生选课功能、退选功能以及调课功能?

如何控制每位学生最多可以选修两门课程,且两门课程不能相同?

系统如何自动记录学生的选课时间?

如何统计每一门课程还可以供多少学生选修?

如何统计人数已经报满的课程?

如何统计某一个教师已经申报了哪些课程?

如何统计某一个学生已经选修了多少门课程,是哪些课程?

如何统计选修人数少于30人的所有课程信息?

如何统计选修每一门课程的所有学生信息?

课程信息删除后,如何保证选择该课程的学生可以选修其他课程?

如何通过搜索关键字检索自己感兴趣的课程信息?

8.您所熟知的编码规范有哪些?

1.命名规范

2.注释

3.书写规范(缩进规范)

9.您是如何理解“E-R图中实体间的关系是双向的”?能不能举个例子?

请参看1.3.1章节的内容。

10.E-R图中,什么是基数?什么是元?什么是关联?

请参看1.3.2章节的内容。

11.E-R图的设计原则是什么?您是怎么理解E-R图的设计原则的?

请参看1.3.3章节数据库开发人员通常采用“一事一地”的原则的内容。

12.关系数据库的设计步骤是什么?为每张表定义一个主键有技巧可循吗?主键与关键字有什么关系?

关系数据库的设计步骤,请参看1.4章节的内容。

为每张表定义一个主键技巧,请参看1.4.2章节的内容。

主键与关键字有什么关系,请参看1.4.2章节的内容。

12.在关系数据库设计过程中,如何表示E-R图中的1:1、1:m、m:n关系?

请参看1.4.3以及1.4.4章节的内容。

13.在数据库管理系统中,您所熟知的数据类型有哪些?每一种数据类型能不能各列举一些例子?

请参看1.4.5章节的内容。

14.您所熟知的约束条件有哪些?MySQL支持哪些约束条件?

请参看1.4.6章节的内容。MySQL支持主键(primary key)约束、外键(foreign key)约束、唯一性()约束、默认值(default)约束、非空()约束。

15.数据库中数据冗余的“并发症”有哪些,能不能列举一些例子?

数据冗余“并发症”插入有异常、删除异常、修改复杂。例子参看1.4.8章节的内容。

16.如何避免数据冗余?什么是1NF、2NF、3NF?

使用规范化减少数据冗余请参看1.4.8章节的内容。

17.根据本章的场景描述——“很多团购网站在网上对房源进行出租”的E-R图,请设计该场景描述的数据库表。

团购网站(网站ID,网址)

房源(房间号,房型)

顾客(顾客号)

出租(出租ID,网站ID,房间号,顾客号)

19.如果将学生student表设计为如下表结构:

(student_no,student_no,student_name,student_contact,class_no,department_name)

请用数据库规范化的知识解释该表是否满足3NF范式的要求?该表是否存在数据冗余?是否会产生诸如插入异常、删除异常、修改复杂等数据冗余“并发症”?

此题题目中的学生student表存在问题。建议将学生student表修改为如下结构。

请参看1.4.8章节的内容。

20.在“选课系统”中,学生选课时,由于每一门课程受到教室座位数的限制,每一门课程设置了人数上限,如何确保每一门课程选报学生的人数不超过人数上限?有几种设计方案?这些设计方案的区别在哪里?

请参看1.4.9章节的内容。

21.“选课系统”有几张表,每个表有哪些字段?

teacher(teacher_no,teacher_name ,teacher_contact)

classes(class_no,class_name, department_name)

course(course_no ,course_name, up_limit,description,status,teacher_no)

student(student_no, student_name, student_contact,class_no)

choose(choose_no,student_no char(11),course_no,score,choose_time)

22.依据自己所掌握的知识,描述如何使用数据库技术解决“选课系统”问题域中的问题。

如何存储以及维护课程、学生、教师以及班级的详细信息?

答:course、student、teacher、classes表可以用于存储以及维护课程、学生、教师以及班级的详细信息。

不同教师申报的课程名能否相同?如果允许课程名相同,如何区分课程?

答:如果需求要求:不同教师申报的课程名不能相同,则可以通过将course表的course_name字段设置为unique约束即可。

如果需求要求:不同教师申报的课程名可以相同,此时可以通过给course表添加course_id(无任何逻辑意义)主键字段,标记不同教师申报的课程。

如何控制每位教师只能申报一门选修课程?

请参看1.4.3章节的“情形二”内容。

如何控制每门课程的人数上限在(60、150、230)中取值?

答:MySQL目前不正常check约束。但该问题可以借助MySQL触发器解决,该题超出本章知识点内容,请参看触发器章节内容。

如何控制每一门课程的选课学生总人数不超过该课程的人数上限?

请参看1.4.9章节的内容。

如何实现学生选课功能、退选功能以及调课功能?

答:该问题可以借助MySQL存储过程、事务解决,该题超出本章知识点内容,请参看存储过程章节以及事务章节的内容。

如何控制每位学生最多可以选修两门课程,且两门课程不能相同?

答:该问题可以借助MySQL存储过程解决,该题超出本章知识点内容,请参看存储过程章节内容。

系统如何自动记录学生的选课时间?

答:借助MySQL的now()函数。

如何统计每一门课程还可以供多少学生选修?

如何统计人数已经报满的课程?

如何统计某一个教师已经申报了哪些课程?

如何统计某一个学生已经选修了多少门课程,是哪些课程?

如何统计选修人数少于30人的所有课程信息?

如何统计选修每一门课程的所有学生信息?

答:上述统计信息超出本章知识点内容,请参看表记录的检索章节内容。

课程信息删除后,如何保证选择该课程的学生可以选修其他课程?

答:可以通过外键约束级联删除实现,也可以通过触发器实现。

如何通过搜索关键字检索自己感兴趣的课程信息?

答:通过全文检索或者模糊查询like关键字实现。

第二章答案

1.通过本章的学习,您了解的MySQL有哪些特点?

答:请参看2.1.1章节内容。

2.请您简单描述MySQL的使用流程。什么是MySQL客户机?登录主机与MySQL客户机有什么关系?什么是MySQL会话?

答:请参看2.1.1章节内容。

MySQL客户机:与MySQL服务器通话的客户端不止一种,比如Windows操作系统下的命令行,可以直接通过命令建立与mysql数据库的通话,另外还有phpmyadmin、MySQL 等图形化界面连接方式等。本书经常使用的MySQL客户机程序mysql.exe存放在C:\Program Files\MySQL\MySQL Server 5.6\bin目录。

在一台登录主机上可以开启多个MySQL客户机。

数据库用户访问MySQL服务器的数据时,首先需要选择一台登录主机,然后在该登录主机上开启MySQL客户机,输入正确的账户名、密码,建立一条MySQL客户机与MySQL 服务器之间的“通信链路”。通信链路断开之前,MySQL客户机可以向MySQL服务器发送多次“请求”,MySQL服务器会对每一次请求做出“响应”,请求/响应期间称为MySQL会话。

3.通过Google或者Baidu搜索引擎,搜索常用的MySQL客户端工具(或者客户机程序)有哪些。

答案参见知乎,网址:https://https://www.360docs.net/doc/d97015210.html,/question/20423448

4.MySQL服务、MySQL服务实例、MySQL服务器分别是什么?什么是端口号?端口号有什么作用?

答:请参看2.1.1章节内容。

5.请列举my.ini配置文件中常用的参数选项组以及参数信息。

答:请参看2.1.5章节内容。

6.启动MySQL服务的方法有哪些?停止MySQL服务的方法有哪些?

答:请参看2.1.4章节内容。

7.MySQL客户机连接MySQL服务器的方法有哪些?连接MySQL服务器时,需提供哪些信息?

答:请参看2.1.7章节内容。

8.字符、字符集、字符序分别是什么?字符序的命名规则是什么?

答:请参看2.2.1章节内容。

9.您所熟知的字符集、字符序有哪些?它们之间有什么区别?

答:请参看2.2.2章节内容。

10.请简述MySQL字符集的转换过程。

答:请参看2.2.3章节内容。

11.MySQL系统数据库有哪些?这些系统数据库有什么作用?

答:请参看2.2.1章节内容。

12.如果仅仅需要在数据库中存储中文简体字符,那么如何设置MySQL字符集?

答:请参看2.2.4章节内容。

13.请自己编写一段SQL脚本文件,并运行该脚本文件中的代码。

答:请参看2.2.5章节内容。

14.您所熟知的存储引擎有哪些?MyISAM存储引擎与InnoDB存储引擎相比,您更喜欢哪一个?它们都有什么特点?

答:请参看2.4.1章节内容。

15.创建student数据库,并在该数据库中创建student表,用于保存您的个人信息(如姓名、性别、身份证号、出生日期等),并完成下列操作或问题。

1)上述的student表有没有出现数据冗余现象?(提示:出生日期可以由身份证号推算得出)

答:出生日期可由身份证号计算得出,所以上述的student表存在数据冗余现象。

2)student数据库目录存放在数据库根目录中,默认情况下,根目录是什么?

答:使用命令“show variables like 'datadir';”可以查看参数datadir的值。默认安装MySQL 后,数据库根目录datadir的值为“C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.6/Data/”。

3)如何查看student数据库的结构。

答:请参看2.3.3章节内容。

4)如何查看student表的结构,并查看该表的默认字符集、字符序、存储引擎等信息。

答:请参看2.4.4章节内容。

5)student数据库目录中存放了哪些文件?数据库根目录中存放了哪些文件?

答:请参看2.4.1章节内容。

student数据库目录中存放了如下文件:

(1)数据库文件(如db.opt)

(2)表名、后缀名为frm的表结构定义文件

(3)如果student数据库中存在InnoDB存储引擎的独享表空间的表,则student数

据库目录中还会存放一个名为“表名.ibd”的数据文件。

(4)如果student数据库中存在MyISAM存储引擎的表,则student数据库目录中会

存在一个文件名为表名、后缀名为MYD(即MYData的简写)的数据文件以及文件名

为表名、后缀名为MYI(即MYIndex的简写)的索引文件。

数据库根目录中存放如下文件以及目录(如下图所示):

数据库目录(例如test数据库目录、student数据库目录)

ib_logfile0及ib_logfile1是重做日志文件

InnoDB共享表空间文件ibdata1文件

mysql-bin.000001等一系列二进制日志文件(该知识点超出本章范围)

mysql-bin.index二进制日志索引文件(该知识点超出本章范围)

mysqld.exe进程ID号PID文件

https://www.360docs.net/doc/d97015210.html,f文件:server_uuid:服务器身份ID。在第一次启动MySQL时,会自动生成一个server_uuid并写入到数据库根目录下https://www.360docs.net/doc/d97015210.html,f文件里,官方不建议修改。

6)将个人信息插入到student表中,并查询student表的所有记录。

7)在上一步骤的查询结果中是否出现了乱码?如果出现了乱码,如何避免乱码问题的发生?如果没有出现乱码,经过哪些设置可以产生乱码?

如果出现了乱码,重新删除数据库,重新设置字符集,再创建数据库和数据库表(要求

8)您的个人信息存放到了哪个文件中?

情形一:如果student表是MyISAM存储引擎的表,则则张三的数据存放在一个文

件名为studnet、后缀名为MYD(即MYData的简写)的数据文件。

情形二:如果student表是InnoDB存储引擎的共享表空间的表,则张三的数据存放在InnoDB共享表空间文件ibdata1数据文件。

情形三:如果student表是InnoDB存储引擎的独享表空间的表,则张三的数据存放在“student.ibd”的数据文件。

9)如何修改student表的存储引擎?修改student表的存储引擎后,您的个人信息存放到了哪个文件中?

答案:参考上一题。

16.您所熟知的系统变量有哪些?如何设置系统变量的值?答:请参看2.5.2章节内容。请参看2.5.3章节内容。

17.如何进行数据库备份和恢复?备份期间,有哪些注意事项?答:请参看2.6章节内容。

第三章答案

1.MySQL数据库类型有哪些?如何选择合适的数据类型?

答:请参看3.1章节内容。请参看3.1.7章节内容。

2.简单总结char(n)数据类型与varchar(n)数据类型有哪些区别。

答:请参看3.1.3章节内容。

3.datetime与timestamp数据类型有什么区别?

答:请参看3.1.4章节内容。

4.MySQL模式与MySQL复合数据类型有什么关系?

答:请参看3.1.5章节内容。

5.创建SQL脚本文件choose.sql,书写SQL代码,运行choose.sql,创建choose数

6.分析choose数据库的5张表的表结构,通过这5张表,可以解决“选课系统”问题域中的哪些问题?

答:请参看第一章课后习题的答案。

7.您是如何理解索引的?索引越多越好吗?

答:请参看3.5章节内容。请参看3.5.1章节内容。

8.索引关键字的选取原则有哪些?

答:请参看3.5.2章节内容。

9.您所熟知的索引种类有哪些?什么是全文索引?

答:请参看3.5.4章节内容。

全文索引与全文检索

全文索引:当查询数据量大的字符串信息时,使用全文索引可以大幅提升字符串的检索效率。需要注意的是,全文索引只能创建在char、varchar或者text字符串类型的字段上,且全文索引不支持前缀索引。

全文检索是指以全部文本信息作为检索对象的一种信息检索技术。

摘自https://www.360docs.net/doc/d97015210.html,/wiki/全文检索

本书5.10章节中,也给出了全文检索的定义:简单地说,MySQL中的全文检索使用特定的分词技术,利用查询关键字和查询字段内容之间的相关度进行检索。通过全文索引可以提高文本匹配的速度。

10.索引与约束有什么关系?

答:请参看3.5.3章节内容。

第四章答案

1.NUL与NULL有什么区别?

答:请参看4.4章节内容。

2.truncate与delete有什么区别?

答:请参看4.3.2章节内容。

3.更新操作与字符集有什么关系?

答:如果更新语句中包含中文简体字符,应该合理地设置字符集,否则,将把乱码数据更新到数据库表中。详细请参看4.1.2章节内容。

4.数据库表中自增型字段的值一定连续吗?

答:请参看4.1.3章节内容。

5.replace语句与insert语句有什么区别?

答:请参看4.1.6章节内容。

6.执行了delete语句后,表结构被删除了吗?使用什么命令可以删除表结构?

答:delete语句删除的是表中的记录,无法删除表结构;删除表结构可以使用drop table 命令。

7.请读者向“选课系统”choose数据库中的选课choose表插入表4-8所示的信息,并完成其他操作。

表4-8 向choose表添加的测试数据

(1)学生张三(student_no=2012001)已经选修了课程java程序设计(course_no=1),在选修时间截止前,他想把该课程调换成MySQL数据库(course_no=2),试用SQL语句实现该功能。

说明:题目中的张三(student_no=2012005)应该修改为张三(student_no=2012001)第一种方法:

第二种方法:

(2)学生田七(student_no=5)已经选修了课程c语言程序设计(course_no=3),由于

某种原因,在选修时间截止前,他不想选修该课程了,试用SQL语句实现该功能。

说明:题目中的田七(student_no=5)应该修改为田七(student_no=2012005)

(3)课程结束后,请录入某个学生的最终成绩,最终成绩=(原成绩*70%)+30。

说明:题目修改为:课程结束后,请修改所有学生的最终成绩,最终成绩=(原成绩*70%)

(4)请解释学生的成绩为NULL值的含义,NULL值等于零吗?

答:成绩为NULL值,表示学生还没有考试该课程,成绩未知。成绩为零,表示学生已经考试了该课程,成绩已知。

第五章答案

1.简述limit以及distinct的用法。

答:请参看5.1.2章节内容。

2.什么是内连接、外连接?MySQL支持哪些外连接?

答:请参看5.1.3章节内容。

3.NULL参与算术运算、比较运算以及逻辑运算时,结果是什么?

答:请参看5.2.2章节内容。

4.NULL参与排序时,MySQL对NULL如何处理?

答:请参看5.3章节内容。

5.您怎样理解select语句与字符集之间的关系?

答:请参看5.2.3章节内容。

6.MySQL常用的聚合函数有哪些?这些聚合函数对NULL值操作的结果是什么?

答:请参看5.4章节内容。

7.您怎样理解having子句与where子句之间的区别?

答:请参看5.5.2章节内容。

8.您怎样理解concat()与group_concat()函数之间的区别?

答:请参看5.5.3章节内容。

9.什么是相关子查询与非相关子查询?

答:如果子查询中仅仅使用了自己定义的数据源,不依靠主查询,能够独立运行的子查询,这种查询是非相关子查询。非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给主查询。

如果子查询中使用了主查询的数据源,这种查询是相关子查询,此时主查询的执行与相关子查询的执行相互依赖。

10.请编写SQL脚本,输入选课系统综合查询章节内的select语句。

答:请参看5.8章节内容。

11.MySQL如何使用like关键字实现模糊查询?有什么注意事项?

答:请参看5.2.5章节内容。

12.MySQL如何使用正则表达式实现模糊查询?

答:请参看5.9章节内容。

13.MySQL如何进行全文检索?全文检索有什么注意事项?

答:请参看5.10章节内容。

14.您觉得全文检索与like模糊查询、正则表达式模糊查询最大的区别是什么?

15.最新版本的MySQL中,InnoDB存储引擎的表支持全文检索吗?

答:支持

16.MySQL不支持完全连接,您能不能通过其他技术手段实现完全连接的功能?答:将左连接和右连接通过union模拟实现完全连接。

17.合并结果集时,union与union all有什么区别?

答:请参看5.6章节内容。

18.给定一个教师的工号(例如'001'),统计该教师已经申报了哪些课程。

第六章答案

1.使用select语句输出各种数据类型的常量时,数据类型都是如何转换的?

答:各种数据类型的常量会被自动转换为“字符串”再进行显示。

2.系统会话变量与用户会话变量有什么区别与联系?

答:请参看6.1.2章节内容。

3.用户会话变量与局部变量有什么区别与联系?

答:请参看6.1.2章节内容。

4.为用户会话变量或者局部变量赋值时,有哪些注意事项?

答:请参看6.1.2章节内容。

5.编写MySQL存储程序时,为什么需要重置命令结束标记?

答:请参看6.1.5章节内容。

6.创建本书涉及到的所有自定义函数,并进行调用。

答:请参看本章内容。

7.总结哪些日期、时间函数的执行结果与时区的设置无关。

答:请参看6.3.6章节内容。

8.创建自定义函数有哪些注意事项?

(1)自定义函数的函数体使用select语句时,该select语句不能产生结果集,否则将产生编译错误。

(2)自定义函数是数据库的对象,因此,创建自定义函数时,需要指定该自定义函数隶属于哪个数据库。

(3)同一个数据库内,自定义函数名不能与已有的函数名(包括系统函数名)重名。建议在自定义函数名中统一添加前缀“fn_”或者后缀“_fn”。

(4)函数的参数无需使用declare命令定义,但它仍然是局部变量,且必须提供参数的数据类型。自定义函数如果没有参数,则使用空参数“()”即可。

(5)函数创建成功后,记得将命令结束标记恢复“原状”。

(6)函数必须指定返回值数据类型,且须与return语句中的返回值的数据类型相近(长度可以不同)。

9.请分析下面的getdate()函数完成的功能,创建该函数,并调用该函数。

函数的功能:对日期时间进行格式化。

10.通过本章知识的讲解,您是如何理解中文全文检索的?您觉得实现中文全文检索的核心技术是什么?

答:请参考第五章课后习题答案。

第七章答案

1.视图与基表有什么区别和联系?视图与select语句有什么关系?

答:视图与基表有什么区别和联系:

数据库表称为基本表或者基表,视图称为虚表。基表的数据发生变化时,虚表的数据也会随之变化。

触发器基于表(严格地说是基于表的记录),这里的表是基表,不是临时表(temporary 类型的表),也不是视图。

通过视图虽然可以更新基表的数据,但本书并不建议这样做。原因在于,通过视图更新基表数据,并不会触发触发器的运行。

视图与select语句有什么关系:

视图中保存的就是一条select语句。对于经常使用的结构复杂的select语句,建议将其封装为视图。

2.什么是检查视图?什么是local检查视图与cascaded检查视图?

答:创建视图时,没有使用with check option子句时,即with_check_option的值为0,表示视图为普通视图;使用with check option子句或者with cascaded check option子句时,表示该视图为cascaded检查视图;使用with local check option子句,表示该视图为local检查视图。

检查视图:通过检查视图更新基表数据时,检查视图对更新语句进行了先行检查,只有满足检查条件的更新语句才能成功执行。如果更新语句不满足检查视图定义的检查条件,则检查视图抛出异常,更新失败。

local检查视图与cascaded检查视图的区别联系,请参看7.1.7章节内容

3.请用触发器实现检查约束:一个学生某门课程的成绩score要求在0到100之间取值。

答:本题需要为choose表创建了一个before、insert触发器和一个before、update触发器。由于本章7.2.3章节中,已经为choose表创建了一个before、insert触发器和一个before、update触发器。而同一个表不能创建两个相同触发时间、触发事件的触发程序。

因此,为了实现本题功能,需要首先删除7.2.3章节中的两个触发器。

然后再为choose表创建一个after、insert触发器和一个after、update触发器,自动维护课程available的字段值。

最后,再为choose表创建一个before、insert触发器和一个before、update触发器实现检查约束:一个学生某门课程的成绩score要求在0到100之间取值。

4.MySQL触发器中的触发事件有几种?触发器的触发时间有几种?

答:请参看7.2.1章节内容。

5.创建触发器时,有哪些注意事项?

答:本题修改为:使用触发器时,有哪些注意事项?

请参看7.2.7章节内容。

6.使用触发器可以实现哪些数据的自动维护?

答:使用触发器可以实现检查约束

使用触发器可以自动维护冗余数据,例如课程available的字段值。使用触发器可以模拟外键级联选项。

7.您是如何理解临时表的?临时表与基表有什么关系?

答:请参看7.3.1章节内容。请参看7.3.4章节内容

8.您是如何理解视图、子查询、临时表、派生表之间的关系的?答:请参看7.5章节内容。

第八章答案

1.编写“选课系统”的存储过程,并对其进行调用、测试。

答:请参看本章代码。

2.查看存储过程定义的方法有哪些?

答:请参看8.1.4章节内容。

3.请罗列存储过程与函数的区别与联系。

答:请参看8.1.6章节内容。

4.数据库开发人员定义错误处理机制时,需要提供错误处理类型、错误触发条件以及错误处理程序等信息,错误处理类型有哪些?什么是错误触发条件以及错误处理程序?

答:错误处理类型的取值要么是continue,要么是exit。当错误处理类型是continue时,表示错误发生后,MySQL立即执行自定义错误处理程序,然后忽略该错误继续执行其他MySQL语句。当错误处理类型是exit时,表示错误发生后,MySQL立即执行自定义错误处理程序,然后立刻停止其他MySQL语句的执行。

错误触发条件以及错误处理程序,请参看8.2.1章节内容。

5.游标的使用步骤是什么?每一个步骤完成什么任务?

答:请参看8.3.1章节内容。

6.举例说明,如何遍历游标中的“结果集”。

答:请参看8.3.2章节内容。

7.使用预处理SQL语句有哪些注意事项?预处理SQL语句与静态SQL语句有什么区别和联系?

答:注意事项请参看8.4.1章节内容;预处理SQL语句与静态SQL语句有什么区别和联系请参看8.4.4章节内容。

数据库基础练习题解答

--1、显示系部编号为“”的系部名称! select departname as'系部名称' from department where departno='03' --2、查询系部名称中含有“工程”两个字的系的全名。select departname '系部名称' from department where departname like'%工程%' --3、查询共有多少个系部。 select departname '系部名称' from department compute count(departname) --4、查询“01”年级共有多少个班级。 select count(classname)as'班级总数' from class where classname like'01%'

--5、查询在“周二晚”上课的课程名称和教师。 select couname as'课程名称',teacher as'教师' from course where schooltime='周二晚' --6、查询姓“张”、“陈”、“黄”同学的的基本信息,要求按照姓名降序排序。 select* from student Where stuname like'张%'or stuname like'陈%'or stuname like'黄%' order by stuname desc --7、按系部统计课程的平均报名人数,要求显示系部编号、平均报名人数。 select departno '系部编号',avg(willnum)'平均报名人数'

from course group by departno --8、按系部统计课程的平均报名人数,要求显示系部名称、平均报名人数。 select departname '系部名称',avg(willnum)'平均报名人数' from course,department where= group by departname --9、统计各系的班级数,要求显示系部编号、系部名称、班级数量。 select'系部编号',departname '系部名称',count(classname)'班级数量' from class,department where= group by,departname

数据库应用试卷及答案

; 数据库及应用(B卷) 一、选择题(从备选答案中选1 个正确的答案,每题2分、共24分) 1.支持所有用户建立、存储数据库的软件系统是。 A.数据库系统 B.数据库管理系统 C.应用程序 D.操作系统2.DB的三级模式结构中最接近外部存储器的是。 A.子模式 B.外模式 C.概念模式 D.内模式 3.在关系模式R中,函数依赖X→Y的语义是。 A.在R的某一关系中,若两个元组的X值相等,则Y值也相等: B.在R的每一关系中,若两个元组的X值相等,则Y值也相等 C.在R的某一关系中,Y值应与X值相等 D.在R的每一关系中,Y值应与X值相等 4. DBA是________的简称。 A.系统分析员 B.应用程序员 C.数据库管理员 D.数据录入员 5. _____是长期存储在计算机内的有组织,可共享的数据集合. A.数据库管理系统B.数据库系统 C.数据库D.文件组织6.数据库系统的核心是。 《 A. 数据库 B. 数据库管理系统 C. 数据模型 D. 软件工具 7.客观存在并可相互区别的事物叫________。 A.码 B.属性 C.实体 D. 实体集8.数据库的完整性是指数据的_____和_____。 (1)正确性(2)合法性(3)不被非法存取 (4)相容性 (5)不被恶意破坏 A. (1)和(3) B. (2)和(5) C. (1)和(4) D. (2)和(4) 9.一组具有相同数据类型的值的集合称为________。 \ A.关系 B.属性 C.分量 D.域 10.以下______封锁违反两段锁协议。 A.Slock A … Slock B … Xlock C …… Unlock A … Unlock B … Unlock C B.Slock A … Slock B … Xlock C …… Unlock C … Unlock B … Unlock A C.Slock A … Slock B … Xlock C …… Unlock B … Unlock C … Unloc k A D.Slock A …Unlock A …Slock B … Xlock C …… Unlock B … Unlock C 11. “日志”文件用于保存________。

MySQL数据库考试试题及答案

专业:移动通信科目:MySQL数据库 一、单项选择题 1.以下聚合函数求数据总和的是( ) A.MAX B.SUM C.COUNT D.AVG 答案:B 2.可以用( )来声明游标 A.CREATE CURSOR B.ALTER CURSOR C.SET CURSOR D.DECLARE CURSOR 答案:D 3.SELECT语句的完整语法较复杂,但至少包括的部分是( ) A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO 答案:B 4.SQL语句中的条件用以下哪一项来表达( ) A.THEN B.WHILE C.WHERE D.IF 答案:C 5.使用CREATE TABLE语句的( )子句,在创建基本表时可以启用全文本搜索A.FULLTEXT B.ENGINE C.FROM D.WHRER 答案:A 6.以下能够删除一列的是( ) A.alter table emp remove addcolumn B.alter table emp drop column addcolumn C.alter table emp delete column addcolumn D.alter table emp delete addcolumn 答案:B 7.若要撤销数据库中已经存在的表S,可用()。 A.DELETE TABLE S B.DELETE S C.DROP S D.DROP TABLE S 答案:D

8.查找表结构用以下哪一项( ) A.FIND B.SELETE C.ALTER D.DESC 答案:D 9.要得到最后一句SELECT查询到的总行数,可以使用的函数是( ) A.FOUND_ROWS B.LAST_ROWS C.ROW_COUNT D.LAST_INSERT_ID 答案:A 10.在视图上不能完成的操作是( ) A.查询 B.在视图上定义新的视图 C.更新视图 D.在视图上定义新的表 答案:D 11.UNIQUE惟一索引的作用是( ) A.保证各行在该索引上的值都不得重复 B.保证各行在该索引上的值不得为NULL C.保证参加惟一索引的各列,不得再参加其他的索引 D.保证惟一索引不能被删除 答案:A 12.用于将事务处理写到数据库的命令是( ) A.insert B.rollback C.commit D.savepoint 答案:C 13.查找条件为:姓名不是NULL的记录( ) A.WHERE NAME ! NULL B.WHERE NAME NOT NULL C.WHERE NAME IS NOT NULL D.WHERE NAME!=NULL 答案:C 14.主键的建立有( )种方法 A.一 B.四 C.二 D.三 答案:D 15.在视图上不能完成的操作是( ) A.更新视图数据

《数据库基础及应用》网上作业(1-5章).

Access2010《数据库基础及应用》网上作业(1-6章) (共68 题 第1 题: (单选题, 1.5 分 有三个关系 R、S 和 T 如下: R S T A B m 1 n 2 B C 1 3 3 5 A B C m 1 3 由关系 R 和 S 通过运算得关系 T,则所使用的运算是________。 A)笛卡尔积 B)自然连接 C)并

D)交 [A]选A [B]选B [C]选C [D]选D 答案: B 第2 题: (单选题, 1.5 分 数据库技术的根本目标是要解决数据的_____。 [A]存储问题 [B]共享问题 [C]安全问题 [D]保护问题 答案: B 第3 题: (单选题, 1.5 分 下列叙述中错误的是_______。 [A]数据库系统是在文件系统之上加入数据库管理系统对数据进行管理 [B]各种数据库管理系统均基于某种数据模型 [C]数据库管理系统必须在操作系统支持下工作 [D]数据库系统比文件系统能够管理更多的数据 答案: D 第4 题: (单选题, 1.5 分

数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的_____。 [A]可靠性 [B]一致性 [C]完整性 [D]安全性 答案: D 第5 题: (单选题, 1.5 分 有三个关系 R、S 和 T 如下: R S T D E F b0h1 y j p2 D E F g8f3 b0h1 c5z4 D E F b0h1

由关系 R 和 S 通过运算得到关系 T,则所使用的运算是________。 A)并 B)交 C)笛卡尔积 D)自然连接 [A]选A [B]选B [C]选C [D]选D 答案: B 第6 题: (单选题, 1.5 分 有两个关系 R 和 T 如下: R T A B C a 1 2 A B C c 3 2

数据库基础知识习题答案

数据库基础知识习题 一、数据库系统基本概念 (1)数据管理技术发展的三个阶段中,数据共享最好的是(C)。 A)人工管理阶段B)文件系统阶段C)数据库系统阶段D)三个阶段相同 (2)数据库技术的根本目标是要解决数据的(B)。 A)存储问题B)共享问题C)安全问题D)保护问题 (3)数据库系统的核心是(B)。 A)数据模型B)数据库管理系统C)数据库D)数据库管理员 (4)数据库DB、数据库系统DBS、数据库管理系统DBMS 之间的关系是(C)。 A)DB 包含DBS 和DBMS B)DBMS 包含DB 和DBS C)DBS 包含DB 和DBMS D)没有任何关系 (5)负责数据库中查询操作的数据库语言是(C)。 A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言 (6)数据库设计中反映用户对数据要求的模式是(C)。 A)内模式B)概念模式C)外模式D)设计模式 (7)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指(D) 。 A)数据与程序独立存放B)不同的数据被存放在不同的文件中 C)不同的数据只能被对应的应用程序所使用D)以上三种说法都不对 二、数据模型及关系数据库系统 (1)层次型、网状型和关系型数据库划分原则是(D)。 A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式 (2)数据模型的三要素是(C)。 A)数据结构、数据操作、数据分析B)数据分析、数据操作、数据完整性约束C)数据结构、数据操作、数据完整性约束D)数据结构、数据分析、数据完整性约束 (3)下面哪种数据模型与计算机无关(A)。 A)概念数据模型B)逻辑数据模型C)物理数据模拟D)层次数据模型 (4)在关系数据库中,用来表示实体间联系的是(B)。 A)属性B)二维表C)网状结构D)树状结构 (5)在学生管理的关系数据库中,存取一个学生信息的数据单位是(D)。 A)文件B)数据库C)字段D)记录 (6)下列关于关系数据库中数据表的描述,正确的是(D)。 A)数据表相互之间存在联系,但用独立的文件名保存 B)数据表相互之间存在联系,是用表名表示相互间的联系 C)数据表相互之间不存在联系,完全独立 D)数据表既相对独立,又相互联系 (7)学校规定学生住宿标准是:本科生4 人一间,硕士生2 人一间,博士生1 人一间,学生与宿舍之间形成了住宿关系,这种住宿关系是(C)。 A)一对一联系B)一对四联系C)一对多联系D)多对多联系

数据库考题及答案参考

一、填空和选择 1.数据库管理产生和发展的三个阶段Page: 6 人工管理阶段、文件系统阶段、数据库系统阶段 2.视图的概念page 118 视图是从一个或几个基本表(虚表),视图一经定义,就可以和基本表一样被查询,被删除,也可以在一个视图之上在定义新的视图,但对视图的更新操作则有一定的限制 3.关系模型的三类完整性约束page 30 实体完整性、参照完整性、和用户定义性的完整性 4.关系运算运算中的两种特殊符号%百分号,_ 下划线page 96 5.四类数据逻辑模型page 18 逻辑模型主要包括:层次模型/网状模型(格式化模型)、关系模型、面向对象模型、对象关系模型 6.关系模型的三个组成部分page 338 数据结构、关系操作、数据完整性 7.数据字典包含的五个组成部分page 207 数据项、数据结构、数据流、数据存储、处理过程5个部分;其中数据项是数据的最小组成单位,若干数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流,数据存储的逻辑内容 8.两种数据操作类型page 12 概念模型一信息模型;(按用户的观点来对数据和信息建模,用于数据库设计) 逻辑模型(按计算机系统的观点对数据建模,主要用于DBMS的实现) 9.数据库系统和文化系统的区别page 7~9 数据库系统实现整体数据的结构化,这事数据库的主要特征之一,也是数据库系统与文件系统的本质区别 Page6的表也可以参照! 10.数据库设计过程的六个阶段(注意ER图转换)page 201 需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护 11.关系模型的几个概念page 28 关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据组织方式 关系:relation 一个关系对应通常说的一张表 元组tuple: 表中的一行,即一个元组

mysql练习题和答案

一、选择题 1.数据库系统的核心是________。 A.数据模型 B.数据库管理系统 C.数据库 D.数据库管理员 2.E-R图提供了表示信息世界中实体、属性和________的方法。 A.数据 B.联系 C.表 D.模式 3.E-R图是数据库设计的工具之一,它一般适用于建立数据库的________。 A.概念模型 B.结构模型 C.物理模型 D.逻辑模型 4.将E.R图转换到关系模式时,实体与联系都可以表示成________。 A.属性 B.关系 C.键 D.域 5.在关系数据库设计中,设计关系模式属于数据库设计的________。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 6.从E—R模型向关系模型转换,一个M:N的联系转换成一个关系模式时,该关系模式的键是________。 A.M端实体的键 B.Ⅳ端实体的键 C.M端实体键与N端实体键组合 D.重新选取其他属性 二、填空题 1.数据库系统的三级模式结构是指数据库系统是由________、________和________三级构成。2.数据库系统的运行与应用结构有客户/服务器结构(C/S结构)和________两种。 3.在数据库的三级模式体系结构中,外模式与模式之间的映射实现了数据库的________独立性。 4.用二维表结构表示实体以及实体间联系的数据模型称为________数据模型。 5.数据库设计包括概念设计、________和物理设计。 6.在E-R图中,矩形表示________。 三、简答题 1.请简述什么是数据库管理系统,以及它的主要功能有哪些? 2.请简述什么是数据库系统? 3.请简述什么是模式、外模式和内模式? 4.请简述C/S结构与B/S结构的区别。 5.请简述关系规范化过程。 第一章 一、选择题 1.A 2.B 3.A 4.B 5.C 6.C

数据库基础与应用形考作业答案

数据库基础与应用形考作业参考答案 作业1: 一、单选:ABCDBACBB 二、判断:√√√√╳√√╳╳√ 三、填空:(1-36)依赖于、文件管理数据库、文件管理数据库、 局部全局、主属性非主属性、多多、1 多、型值、元组属 性、关系定义 DBMS、继承封装多态、DBA 数据库设计员应 用程序设计员终端用户、外模式与模式模式与内模式、定义/ 操作/控制自动建立、关系数据结构关系运算关系完整性规 则、单值重复、侯选码属性的、主非主、空主码、7 3 2、选择 2、S >< II学生号 (X))、II课程号(X)与C 、X←→Y 决 定因素、非平凡完全、学号系主任、 X→Y X→Z 分解性、X 侯选码、2、3、第一不可再分、数据冗余操纵异常、第 一 2 、第二二、第三、BC 主属性 作业2: 一、填空:(1-21)视图基本表、CREATE SCHEMA DROP SCHEMA、列级表级、列级表级、建立修改删除、V ALUES SELECT、表建立、按需要安全、不影响直接影响、SELECT FROM WHERE、GROUP BY ORDER BY 、需求分析概 念设计、数据流图数据字典需求说明书、需求分析ER图、商品销售收款、全局模式外模式、1对1 1对多、设计 要求功能完善操作方便、客房表住宿、娱乐费表催补款表、

客房表客房空闲表 二、写功能 1.从商品库中查询出每一种商品的商品代号、分类名、数量和品牌 等信息。 2.从商品库中查询出所有商品的不同产地的总数。 3.从教学库中查询出每门课程被选修的学生数。 4.从教学库中查询出学生号为@S1的学生和学生号为@S2的学生所 选修的共同课程的课程号。 5.从教学库中查询出所有已被学生选修的课程。 6.从教学库中查询出最多选修了2门课程(含未选任何课程)的全 部学生。 7.从教学库中查询出每个学生的选课的全部情况,并依次按学生号 和成绩排序。 8.从教学库中查询出选修了姓名为@a的学生全部选课的所有学生。 三、写命令 1. Select * from 商品表1 where 数量between 10 to 20 2. Select 分类名,sum(数量) as 总数量 From 商品表1

数据库基本操作习题与答案

第三章数据库基本操作 一、选择题 1. 如果需要给当前表增加一个字段,应使用的命令是________。 A) APPEND B) INSERT C) EDIT D) MODIFY STRU 2. 设表文件及其索引已打开,为了确保指针定位在物理记录号为1的记录上,应该使用命令________。 A) SKIP 1 B) SKIP -1 C) GO 1 D) GO TOP 3. 要显示数据库中当前一条记录的内容,可使用命令________。 A) LIST B) BROWSE C) TYPE D) DISPLAY 4. 在当前表中,查找第2个女同学的记录,应使用命令________。 A) LOCATE FOR 性别="女" B) LOCATE FOR 性别="女" NEXT 2 C) LIST FOR 性别="女" CONTINUE D) LOCATE FOR 性别="女" CONTINUE 5. Visual FoxPro的数据库表之间可建立两种联系,它们是________。 A) 永久联系和临时联系B) 长期联系和短期联系 C) 永久联系和短期联系D) 长期联系和临时联系 6. 数据库表的索引中,字段值不能有重复的索引有________种。 A) 1 B) 2 C) 3 D) 4 7. 建立表间临时关联的命令是________。 A) LET RELATION TO命令 B) JOIN命令 C) SET RELATION TO命令 D) 以上都不是 8. 通过关键字建立表间的临时关联的前提是________。 A) 父表必须索引并打开B) 子表必须索引并打开 C) 两表必须索引并打开D) 两表都不必索引 9. 查询设计器的“筛选”选项卡上,“插入”按钮的作用是________。 A) 用于增加查询输出字段B) 用于增加查询的表 C) 用于增加查询去向D) 用于插入查询输出条件 10. 在多工作区的操作中,如果选择了4,7,8号工作区并打开了相应的数据库,在命令窗口执行命令SELECT 0,其功能是________。 A) 选择4号工作区为当前工作区B) 选择0号工作区为当前工作区 C) 选择7号工作区为当前工作区D) 选择8号工作区为当前工作区 11. 表结构中空值(NULL)的含义是________。 A) 空格B) 尚未确定

数据库试题及答案_

笔试样卷一 参考答案 一、简答题(25分) 1.数据库阶段数据管理的主要特点是什么? 2.解释DB、DBMS、DBS三个概念? 3.什么是物理数据独立性和逻辑数据独立性? 4.试说明DBMS的主要功能? 5.在ER模型转换为关系模型时,联系类型要根据不同的情况作不同的处理,试说明之。 二、计算题(20分) 1.设有关系R和S R: S: A B C A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 3 4 4 4 3 列表计算R∪S、R-S、R×S、π 3,2(S)、δ B<5 (R)。(5分) 2.设有三个关系 S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 试用关系代数表达式表示下列查询

(1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 三、设有三个基本表(45分) S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 1.试用T-SQL的查询语句表达下列查询 (1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 2.试用T-SQL的查询语句表达下列查询 (1)统计有学生选修的课程的门数 (2)求选修C4课程的学生的年龄 (3)求LIU老师所授课程的每门课程的学生的平均成绩 (4)统计每门课程的学生选修人数 (5)求年龄大于所有女同学年龄的男学生的姓名和年龄(10分)3.试用T-SQL更新语句完成下列更新操作 (1)往表S中插入一个学生资料(‘S9’, ‘WU’, 18)

mysql数据库武洪萍版第四章习题与答案

一.选择题 1.下面哪种数字数据类型不可以存储数据256?(D) A. bigint B. int C. Smallint D. tinyint 2.下面是有关主键和外键之间的关系描述,正确的是(AC) A.一个表最多只能有一个主键约束,多个外键约束。 B.一个表中最多只有一个外键约束,一个主键约束。 C.在定义主键外键约束时,应该首先定义主键约束,然后定义外键约束。 D.在定义主键外键约束时,应该首先定义主键约束,然后定义主键约束。 3.下面关于数据库中表的行和列的叙述正确的是(D) A.表中的行是有序的,列是无序的 B. 表中的列是有序的,行是无序的 C. 表中的行和列都是有序的 D. 表中的行和列都是无序的 4.SQL语言的数据操作语句包括 SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是(A) A.SELECT 5.在下列SQL语句中,修改表结构的语句是(A)。 A. ALTER B. CREATE C. UPDATE D. INSERT 6.设有关系R(A,B,C)和S(C,D),与关系代数表达式πA,B,D(σ=(R ∞ S)等价的SQL语句是(B)。 A.SELECT *FROM R,S WHERE = B.SELECT A,B,D FROM R,S WHERE = C.SELECT A,B,D FROM R,S WHERE R=S D.SELECT A,B FROM R WHERE(SELECT D FROM S WHERE = 7.设关系 R(A,B,C) 与SQL语句“SELECT DISTINST A FROM R WHERE B=17”等价的关系代数表达式是(A) A.(R)) B. ((R))Aπ(σπσA B=17 B=17 C. ((R)) D. (R)) σπA. C(πσA. C B=17 B=17 下面第(8)-(12)题,基于“学生-选课-课程”数据库中的3个关系。 S(S#,SNAME,SEX,DEPAPTMENT),主码是S# C(C#,CNAME,TEACHER),主码是 C# SC(S#,C#,GRADE),主码是(S#,C#) 8.在下列关于保持数据库完整性的叙述中,哪一个是不正确的?(D) A.向关系SC 插入元组时,S#和C#都不能是空值(NULL) B.可以任意删除关系SC中的元组 C.向任何一个关系插入元组时,必须保证该关系主码值得唯一性 D.可以任意删除关系C中的元组 9.查找每个学生的学号、姓名、选修的课程名和成绩,将使用关系(D) A. 只有 S,SC B. 只有 SC,C C. 只有 S,C D. S,SC,C 10若要查找姓名中第1个字为“王”的学生的学号和姓名,则下面列出的SQL 语句中,哪个(些)是正确的?(B) Ⅰ. SELECT S#,SNAME FROM S WHERE SNAME='王%' Ⅱ. SELECT S#,SNAME FROM S WHERE SNAME LIKE ‘王%' Ⅲ. SELECT S#,SNAME FROM S WHERE SNAME LIKE'王_' A.Ⅰ B.Ⅱ C.Ⅲ D.全部 )B语句是(SQL,则正确的门以上课程的学生的学号”3若要“查询选修了11.

数据库基础与应用形成作业答案

《数据库基础与应用》形成性作业 第一次作业 一、单项选择题 1、域是实体中相应属性的(A)。 A、取值范围 B、值 C、名称 D、描述 2、把保存关系定义的关系称为对应数据库的(B)。 A、一般关系 B、元关系 C、特定关系 D、正常关系 3、在一个关系R中,若存在X→Y和X→Z,则存在X→(Y,Z),称此为函数依赖的(C)规则。 A、传递性 B、分解性 C、合并性 D、增广性 4、设一个关系为(R(A、B、C、D、E、F),它的最小函数依赖集为FD={A→B,A→C,D→E,D→F},则该关系的候选码为(D)。 A、(A,B) B、(A,C) C、(A,E) D、(A,D) 5、设D1,D2和D3域的基数分别为2,3,4,则D1*D2*D3的元组数为(B)。 A、9 B、24 C、10 D、20 6、若一个关系为R(学生号,姓名,性别,年龄),则(A)适合作为该关系的主码。 A、学生号 B、姓名 C、性别 D、年龄 7、设一个集合A={3,4,5,6,7},集合B={1,3,5,7,9},则A和B的并集中包含有(C)个元素。 A、10 B、8 C、7 D、6 8、在一个关系R中,若存在X→(Y,Z),则也隐含存在X→Y和X→Z,称此为函数依赖的(B)规则。 A、传递性 B、分解性 C、合并性 D、增广性 9、若一个关系的任何非主属性都不部分依赖于任何候选码,则称该关系最高达到了(B)范式。 A、第一 B、第二 C、第三 D、BC 二、是非题 1、在文件管理阶段,文件之间是相互联系的,在数据库管理阶段,文件之间是相互独立的。(错) 2、分布式数据库系统既支持客户局部应用,又支持客户的全局应用。(对)

最新最全数据库 10个ER图基础练习题复习(只有ER图)完整版.doc

第1题: 设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 商店(商店编号,商店名,地址,电话) 顾客(顾客编号,姓名,地址,年龄,性别) 消费(商店编号,顾客编号,消费金额,日期) 第2题: 假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。“教师”有属性:职工号、教师姓名、职称,“课程”有属性:课程号、课程名。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分)

学生(学号,姓名,地址,年龄,性别) 课程(课程号,课程名) 教师(职工号,教师姓名,职称,课程) 选课(学号,课程号,成绩) 第3题: 设某商业公司数据库中有三个实体集,一是”公司”实体集,属性有公司编号、公司名、地址等;二是”仓库”实体集,属性有仓库编号、仓库名、地址等;三是”职工”实体集,属性有职工编号、姓名、性别等。每个公司有若干个仓库,每个仓库只能属于1个公司,每个仓库可聘用若干职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 ①试画出E-R图(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分)

MySQL练习题及答案

答案见参考下列黄色标记 一、下面所有题目中包括单选或多选 1.若MySQL Server运行在Linux系统上,那访问MySQL服务器的客 户端程序也必须运行在Linux系统吗? A.是 B. 否 2.MySQL与其他关系型数据库(SQL Server/Oracle)架构上最大的区别 是? A.连接层 B. SQL层 C.存储引擎层 3.MySQL使用磁盘空间来存储下面哪些信息? A.server和client程序、其他lib库文件 B.日志文件和状态文件 C.数据库 D.表格式(.frm)文件、数据文件、索引文件 E.当内部临时表超过控制设置时,由内存表形式转化为磁盘形式存储 F.上面所有 4.下面哪四种是mysql客户端程序的功能? A.创建、删除数据库 B.创建、删除、修改表和索引

C.使用shutdown命令关闭服务器 D.创建、管理用户 E.显示replication状态信息 F.使用start backup命令来进行数据库二进制备份 5.在MySQL内部有4种常见日志,哪种日志是不能直接cat或more 文本查阅日志内容? A.错误日志(error-log) B.二进制日志(bin-log) C.查询日志(query-log) D.慢查询日志(slow-log) 6.下面哪三种方式可以查看Country表的存储引擎? A.SHOW CREATE TABLE Country; B.SHOW ENGINE Country STATUS;; C.SHOW TABLE STATUS LIKE ‘Country’; D.SELECT ENGINE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME=’Country’; E.SELECT ENGINE FROM INFORMATION_SCHEMA.ENGINES WHERE TABLE_NAME =’County’; 7.在高并发、事务等场景下,MySQL5.6数据库默认使用哪种存储引

数据库设计基础习题及答案

数据库设计基础习题及答案 1.在数据库中,数据模型包括数据结构、数据操作和()。A A)数据约束 B)数据类型 C)关系运算 D)查询 3.有两个关系R和T如下: 则由关系R得到关系T的操作是()。A A)投影 B)交 C)选择 D)并 5.若实体A和B是一对一的联系,实体B和C是多对一的联系,则实体A和C的联系是()。A A)多对一 B)一对多 C)一对一 D)多对多

6.有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是()。A A)自然连接 7.当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的()。A A)逻辑独立性 B)物理独立性 C)应用独立性 D)以上都不对 9.有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是()。A

A)并 B)投影 C)交 D)选择 11.运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个项目。则实体项目和运动员之间的联系是()。A A)多对多 B)一对多 C)多对一 D)一对一 12.有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是()。B A)选择 13.下面对软件测试描述错误的是()。B A)严格执行测试计划,排除测试的随意性 B)随机地选取测试数据 C)软件测试的目的是发现错误 D)软件测试是保证软件质量的重要手段

15.某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。则实体仓库和零件间的联系是()。A A)多对多 B)一对多 C)多对一 D)一对一 16.有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是()。A A)交 17.设数据集合为D={ 1,3,5,7,9 },D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是()。D A)R={ (5,1), (7,9), (1,7), (9,3) } B)R={ (9,7), (1,3), (7,1), (3,5) } C)R={ (1,9), (9,7), (7,5), (5,3) } D)R={ (1,3), (3,5), (5,9) } 19.大学下面有若干学院,每个学院有一名院长(不可兼任),则实体学院和院长的联系是()。A A)一对一 B)一对多 C)多对一 D)多对多 20.大学生学籍管理系统中有关系模式 S(S#,Sn,Sg,Sd,Sa),其中属性S#、Sn、Sg、Sd、Sa 分别是学生学号、姓名、性别、系别和年龄,关键字是S#。检索全部大于20岁男生姓名的表达式为()。A

数据库期末试题(附答案)

《数据库原理》课程考试模拟题四 一、单项选择题(在每小题的四个备选答案中选出一个正确答案。本题共16分,每小题1分) 1. 在数据库中,下列说法()是不正确的。 A.数据库中没有数据冗余 B.数据库具有较高的数据独立性 C.数据库能为各种用户共享 D.数据库加强了数据保护 2. 按照传统的数据模型分类,数据库系统可以分为( )三种类型。 A.大型、中型和小型 B.西文、中文和兼容 C.层次、网状和关系 D.数据、图形和多媒体 3. 在数据库的三级模式结构中,( )是用户与数据库系统的接口,是用户用到的那部分数据的描述。 A.外模式 B.内模式 C.存储模式 D.模式 4. 下面选项中不是关系的基本特征的是( )。 A. 不同的列应有不同的数据类型 B. 不同的列应有不同的列名 C. 没有行序和列序 D. 没有重复元组 5. SQL语言具有两种使用方式,分别称为交互式SQL和( )。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 6. 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C},则(BD)+为( )。 A.BCD B.BC C.ABC D.C 7. E-R图是数据库设计的工具之一,它适用于建立数据库的( )。 A.概念模型 B.逻辑模型 C.结构模型 D.物理模型 8. 若关系模式R(ABCD)已属于3NF,下列说法中( )是正确的。 A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A和C都是 9. 解决并发操作带来的数据不一致性普遍采用( )。 A.封锁技术 B.恢复技术 C.存取控制技术 D.协商 10. 数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( )。 A.可靠性 B.一致性 C.完整性 D.安全性 11. 一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中,不会丢失。这是指事务的( ) 。 A. 原子性 B. 一致性 C. 隔离性 D. 持久性 12. 在数据库中,软件错误属于( )。 A. 事务故障 B. 系统故障 C. 介质故障 D. 活锁 13. 在通常情况下,下面的关系中不可以作为关系数据库的关系是( )。 A.R1(学生号,学生名,性别) B.R2(学生号,学生名,班级号) C.R3(学生号,学生名,宿舍号) D.R4(学生号,学生名,简历) 14. 有12个实体类型,并且它们之间存在着15个不同的二元联系,其中4个是1:1联系类型,5个是1:N

MYSQL练习题及答案

题目一 问题描述: 为管理岗位业务培训信息,建立3个表: S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄C (C#,CN ) C#,CN 分别代表课程编号、课程名称 SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩 1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名 --实现代码: SELECT SN,S# FROM S WHERE [S#] IN( SELECT [S#] FROM C,SC WHERE C.[C#]=SC.[C#] AND CN=N\'税收基础\') 2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位 --实现代码: SELECT S.SN,S.SD FROM S,SC WHERE S.[S#]=SC.[S#] AND SC.[C#]=\'C2\' 3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位 --实现代码: SELECT SN,SD FROM S WHERE [S#] NOT IN(

SELECT [S#] FROM SC WHERE [C#]=\'C5\') 4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位--实现代码: SELECT SN,SD FROM S WHERE [S#] IN( SELECT [S#] FROM SC RIGHT JOIN C ON SC.[C#]=C.[C#] GROUP BY [S#] HAVING COUNT(*)=COUNT([S#])) 5. 查询选修了课程的学员人数 --实现代码: SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC 6. 查询选修课程超过5门的学员学号和所属单位 --实现代码: SELECT SN,SD FROM S WHERE [S#] IN( SELECT [S#] FROM SC GROUP BY [S#] HAVING COUNT(DISTINCT [C#])>5) 题目二 问题描述:

数据库基础与应用(带答案)

B.

C. 元组 D. 基数 5. 在Access 数据库中,任何事物都被称为分值:2 A. 方法 B. 对象 C. 属性 D. 事件 6.Access 数据库类型是分值:2 8. Access 2 A. 必须包含构成Access 数据库的七类不同的对象

B. 至少应包括三个以上不同类型的对象 C. 可以不包含任何对象 D. 每个对象必须作为单独的文件存放在Windows操作系统中 9. 在Access 中,空数据库是指分值:2 A. 数据库中数据是空的 B. 没有基本表的数据库 C. 没有窗体、报表的数据库 D. 没有任何数据库对象的数据库 10. 若使打开的数据库文件能为网上其他用户共享,但只能浏览数据,要选择打开数据库文件的方式为分值:2 A. 常规打开 B. 以只读方式打开 以独占方式打开 D. 以独占只读方式打开 B. C. 使用用户级安全机制 D. 设置访问数据库的权限

12. 表“设计”视图窗口包括两个区域:字段输入区和分值:2 A. 格式输入区 B. 数据输入区 C. 字段属性区 D. 页输入区 13. 输入掩码是给字段输入的数据时设置的分值:2 A. 初值 B. 当前值 C. 输出格式 14. 子表的概念是相对主表而言的,它是嵌在__ 中的表。分值:2 A. 从表 C. 子表 D. 大表 15. 在Access中表和数据库的关系是分值:2 A. 一个数据库可以包含多个表 B. 一个表只能包含两个数据库 C. 一个表可以包含多个数据库 D. 一个数据库只能包含一个表

16. 在Access的数据类型中,不能建立索引的数据类型是分值:2 A. 文本型 B. 备注型 C. OLE 对象 D. 超链接 17. 设置主关键字是在_ 中实现的。分值:2 A. 表设计视图 B. 表的数据表视图 C. 查询设计视图 D. 报表的设计视图 18. 假设规定某个日期型字段的取值范围是2008年1月1日到2009年1月 1 日,则可设置该字段的有效性规则为分值:2 A. Between #1/1/2008# And #1/1/2009# B. Between "1/1/2008" And "1/1/2009" C. Between *1/1/2008* And *1/1/2009* D. Between [2008 年1月1日] And [2009 年 1 月1 日] 19. ___________________________________________ Access 数据库系统 提供四种查询向导,分别是_______________________ 、交叉表查询向导、

《数据库基础与应用》练习题及答案[1]

第一章综合练习题 1. 数据库处理技术经历了__人工管理阶段__、___文件管理阶段__、__数据库管理系统阶段__、以及分布式数据库管理等四个发展阶段。 2_分开__存放的。 3.在人工管理和文件管理阶段,程序设计_依赖于_数据表示。 4.数据库系统具有_数据结构化_、_数据共享__、__数据独立性_、数据粒度小、独立的数据操作界面、由DBMS统一管理等优点。 5.在文件管理阶段,文件之间是相互_独立的_,在数据库管理阶段,文件之间是相互___联系__的。 6.在___文件__系统中,不容易做到数据共享,在____数据库__系统中,容易做到数据共享。 7.使用数据库设计程序时,只需要告诉数据库管理系统__做什么__,不需要告诉它__怎么做_。 8.在文件系统中,存取数据的基本单位为___纪录____,在数据库系统中,存取数据的基本单位为___数据项_____。 9.在__文件___系统中,数据没有独立的操作界面,在___数据库__系统中,数据具有独立的操作界面。 10.在数据库系统中访问数据,既可以采用__程序__方式,也可以采用_视屏交互_方式。 11.DBMS具有_安全性_、_一致性__、_并发性_和__数据库恢复__等管理控制功能。 12.分布式数据库系统既支持客户的__局部__应用,又支持客户的__全局__应用。 13.分布式数据库系统除了具有一般数据库系统的优点之外,还具有_兼容性强__、__可靠性高__、__地域范围广_、__数据量大_等优点。 14.若一个联系涉及到两个实体则称为__二元__联系,若只涉及到一个实体则称为_一元__联系。 15.在实体中能作为码的属性称为__主属性__,否则称为__非主属性__。 16.域是实体中相应属性的__取值范围__,性别属性的域包含有_2_个值。 17.实体之间的联系类型有三种,分别为_1:1__、__1:n__和__m:n__。 18.若实体A和B是多对多的联系,实体B和C是1对1的联系,则实体A和C是_多_对__多__的联系。 19.若实体A和B是1对多的联系,实体B和C是1对多的联系,则实体A和C是_1_对__多_的联系。 20.若实体A和B是1对多的联系,实体B和C是多对1的联系,则实体A和C是_多__对__多__的联系。 21.若实体A和B是1对多的联系,实体B和C是1对1的联系,则实体A和C是__一__对__多_的联系。 22.数据库的逻辑数据模型有__层次__、__网状_、___关系__和__面向对象__等四种。 23.在非关系模型中,每个结点代表着一个_纪录型__,每个父子联系代表着__1:n_联系。 24.任一种数据模型都有_型_和__值_的区别。 25.在非关系模型中操作记录的方式是_过程_式的,在关系模型中,操作记录的方式是__集合__式的。 26.层次模型是一棵_树__结构,关系模型是一个__二维表__结构。 27.关系中的每一行称为一个_元组_,每一列称为一个_属性_。 28.在一个关系中不允许出现重复的_元组_,也不允许出现具有相同名字的_属性_。 29.假定一个关系中有n个元组,则某个列的当前全部取值的个数最少为_1_个,最多为_n_个。 30.把保存_关系定义__的关系称为对应数据库的元关系,一个数据库的元关系由_DBMS__自动建立。 31. 关系数据库系统具有___数据结构___单一、采用__集合运算__、数据完全__独立___、___数学___理论支持等优点。 32.在对象数据模型中,每个对象不仅要包含描述实体的__状态__特征,而且要包含描述实体的__行为__特征。 33.在对象数据模型中,对象具有__封装__性、_继承_性和_多态_性。 34.在__对象__数据模型中,__对象_不但能够继承,而且能够嵌套。 35.数据库管理系统的下层支持软件是__OS__,上层软件是数据库应用__开发工具___。 36.数据库系统中的四类用户分别为__数据库管理员___、___数据库设计员___、__应用程序员__和_终端用户__。

相关文档
最新文档