MySQL数据库原理及应用习题答案.docx
- 文档编号:5422675
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:34
- 大小:74.72KB
MySQL数据库原理及应用习题答案.docx
《MySQL数据库原理及应用习题答案.docx》由会员分享,可在线阅读,更多相关《MySQL数据库原理及应用习题答案.docx(34页珍藏版)》请在冰豆网上搜索。
MySQL数据库原理及应用习题答案
第1章.数据库技术概述
习题
1.单选题
(1)数据库、数据库系统和数据库管理系统之间的关系是A。
(A)数据库系统包括数据库和数据库管理系统
(B)数据库管理系统包括数据库和数据库系统
(C)数据库包括数据库系统和数据库管理系统
(D)数据库系统就是数据库,也就是数据库管理系统
(2)下列四项中,不属于数据库系统特点的是D。
(A)数据共享(B)数据独立(C)数据结构化(D)数据高冗余
(3)下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的阶段是D:
(A)人工管理阶段和文件系统阶段
(B)只有文件系统阶段
(C)文件系统阶段和数据库阶段
(D)只有人工管理阶段
(4)下面列出的4种世界,哪种不属于数据的表示范畴B。
(A)现实世界(B)抽象世界(C)信息世界(D)计算机世界
(5)E-R图是数据库设计的工具之一,它适用于建立数据库的A。
(A)概念模型(B)逻辑模型(C)结构模型(D)物理模型
(6)数据库的数据独立性是指C。
(A)不会因为数据的存储策略变化而影响系统存储结构
(B)不会因为系统存储结构变化而影响数据的逻辑结构
(C)不会因为数据存储结构与逻辑结构的变化而影响应用程序
(D)不会因为某些数据的变化而影响其他数据
(7)关系模型中,一个候选码C。
(A)可由多个任意属性组成
(B)至多由一个属性组成
(C)可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成
(D)必须由多个属性组成
(8)用户或应用程序看到的那部分局部逻辑结构和特征描述的是B,它是模式的逻辑子集。
(A)模式(B)外模式(C)内模式(D)物理模式
(9)进行自然连接运算的两个关系必须具有B。
(A)相同的属性个数(B)相同的属性组(C)相同的关系名称(D)相同的主码
(10)通常用以下的顺序来完成数据库的设计工作C。
(A)概念设计、物理设计、逻辑设计(B)逻辑设计、概念设计、物理设计
(C)概念设计、逻辑设计、物理设计(D)物理设计、概念设计、逻辑设计
2.填空题
(1)数据库系统的三级模式结构是指数据库系统由模式、外模式和内模式三级构成。
。
(2)在描述实体集的所有属性中,可以唯一地标识每个实体的属性称为键或标识。
(3)在E-R图中,属性用椭圆形来表示,并用无向边将其与相应的实体集连接起来。
(4)数据模型通常是由数据结构、数据完整性规则和数据操作3部分内容构成的。
(5)在关系模型中,表(关系)的每一行称为一个元组。
(6)关系完整性约束包括域完整性、实体完整性、参照完整性和用户定义完整性。
(7)数据库概念设计是在需求分析的基础上建立概念数据模型,用概念模型描述实际问题所涉及的数据以及数据之间的联系。
(8)在关系代数中,从两个关系中找出相同元组的运算称为交运算。
(9)在关系A(S,SN,D)和B(D,CN,NM)中,A的主码是S,B的主码是D,则D在A中被称为外部关键字。
(10)在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都不允许为空,这种约束称为实体完整性。
3.简答题
(1)试述数据、数据库、数据库系统和数据库管理系统的概念。
答案:
数据(Data)是对客观事物的抽象描述,是用于承载信息的物理符号。
数据库(DataBase,DB)是长期存储在计算机内的、有组织的、可共享的数据集合,可以形象地理解为存储数据的仓库。
数据库管理系统(DataBaseManagementSystem,DBMS)是一类系统软件,提供能够科学地组织和存储数据、高效地获取和维护数据的环境。
一个完整的数据库系统(DataBaseSystem,DBS)由保存数据的数据库、数据库管理系统、用户应用程序和用户组成。
DBMS是数据库系统的核心。
用户以及应用程序都是通过数据库管理系统对数据库中的数据进行访问的。
(2)什么是模式、外模式和内模式?
这三者是如何保证数据独立性的?
答案:
模式(Schema)又称逻辑模式,是数据库中全部数据的逻辑结构和特征的描述,是对数据的结构和属性的描述。
外模式(ExternalSchema)又称子模式或用户视图,是用户能够看到和使用的逻辑数据模型描述的数据。
内模式(InternalSchema)又称存储模式或物理模式,是数据物理结构和存储方式的描述。
数据库系统的三级模式提供了二级映像,即外模式与模式之间的映像、模式与内模式之间的映像。
二级映像技术不仅在三级模式之间建立了联系,也保证了数据库系统中数据的逻辑独立性和物理独立性。
外模式/模式之间的映像,定义并保证了外模式和模式之间的对应关系。
应用程序是依据数据的外模式编写的,因此当模式改变时,可通过修改映像的方式使外模式不变,应用程序就可以不必改变,从而实现了数据与程序之间的逻辑独立性。
模式/内模式之间的映像,定义并保证了数据的逻辑模式与内模式之间的对应关系。
当数据库的存储结构改变时,可通过修改模式/内模式之间的映像使数据模式不变化。
由于用户或程序是按照数据的逻辑模式使用数据的,所以只要数据模式不变,用户仍可以按原来的方式使用数据,程序也可以不修改。
(3)举例说明关系模型的参照完整性规则。
在参照完整性中,为什么外部关键字的属性值可以为空?
什么情况下才可以为空?
答案:
例如,如果在学生表和选修课之间用学号建立关联,学生表是主表,选修课是从表,那么,在向从表中输入一条新记录时,系统要检查新记录的学号是否在主表中已存在,如果存在,则允许执行输入操作,否则拒绝输入,这就是参照完整性。
外部关键字在从表中不是主关键字,所以可以为空。
例如,学生表中的某些学生因为某种原因没有选课,可以不出现在选课表中。
(4)设有关系R和S,其值如下,试求连接运算(C 关系R关系S D B E 3 5 6 2 4 7 2 5 6 2 4 8 A B C 2 4 6 2 5 6 3 4 7 4 4 7 答案: A B C D E 2 4 6 2 7 2 4 6 2 8 3 4 7 2 8 4 4 7 2 8 (5)某医院病房计算机管理中需要如下信息。 科室: 科名,科地址,科电话,科主任 床位: 床位号,病房号,所属科室 医生: 姓名,性别,职称,所属科室,出生日期,工作证号 病人: 病例号,姓名,性别,主管医生,床位号 其中,一个科室可以有多个医生和多个床位,一个床位只能属于一个科室,一个医生只能属于一个科室;一个医生可以诊治多位病人,一个病人只能有一个主管医生。 完成如下设计: 1)设计该计算机管理系统的E-R图。 2)将该E-R图转换为关系模式。 3)确定每个关系模式的主关键字。 答案: E-R图: 关系模式: 科室(科室编号,科名,科地址,科电话,科主任) 床位(床位号,病房号,科室编号) 医生(姓名,性别,职称,科室编号,出生日期,工作证号) 病人(病例号,姓名,性别,主管医生,床位号) 第2章.MySQL概述 习题 1.单选题 (1)下列四项中,不属于MySQL数据库优势和特性的是C。 (A)运行速度快 (B)可移植性强 (C)对所有用户免费 (D)接口十分丰富 (2)在高并发、事务等场景下,MySQL5.5数据库默认使用哪种存储引擎? B。 (A)Myisam(B)InnoDB(C)Memory(D)ndbCluster (3)如果MySQLServer运行在Linux操作系统上,那么访问MySQL服务器的客户端程序应该运行在D操作系统上。 (A)Linux(B)Windows(C)MacOS(D)以上都可以 (4)MySQL数据库是一个A数据库服务器。 (A)多用户、多线程(B)单用户、多线程 (C)单用户、单线程(D)以上都不是 (5)下列四项中,哪种方式不能启动MySQL服务器D。 (A)在Windows“服务”窗口设置 (B)在DOS命令窗口输入start命令 (C)将MySQL安装为Windows服务,启动Windows时自动启动 (D)双击MySQL在桌面上的图标 (6)下面四项中,哪种不是MySQL图形化管理工具C。 (A)MySQLWorkbench (B)phpMyAdmin (C)MySQLCommunityServer (D)MySQLDumper (7)下列关于WampServer说法错误的是A。 (A)WampServer安装完成后,需要对环境进行各种配置 (B)WampServer是完全免费的 (C)WampServer支持中文语言 (D)Windows环境下的ApacheWeb服务器、PHP解释器以及MySQL数据库的整合软件包 (8)下面关于MySQLWorkbench,说法错误的是D。 (A)可用于创建复杂的ER模型(B)可用于建立数据库文档 (C)可用于数据库管理(D)提供中文操作界面 2.填空题 (1)MySQL作为最流行的关系型数据库管理系统之一,所使用的SQL语言是用于访问数据库的最常用标准化语言。 (2)MySQL数据库是C/S结构的实现,由一个服务器守护程序mysqlId和很多不同的客户程序和库组成。 (3)MySQL安装完毕之后,需要启动服务器进程,不然客户端无法连接数据库。 (4)退出MySQL数据库的命令为quit或exit。 (5)在登录MySQL数据库时,直接用mysql登录命令出现“mysql不是内部或外部命令,也不是可运行的程序”错误提示,则有可能是需要进行环境变量配置。 (6)phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。 3.简答题 (1)MySQL的优势和特性有哪些? 答案: 和其他数据库管理系统相比,MySQL数据库具有如下优势和特性: 1)运行速度快: 支持多线程,充分利用CPU资源;优化的SQL查询算法可有效地提高查询速度。 2)价格: MySQL是开源的,对多数个人用户来说是免费的。 3)容易使用: 与其他大型数据库的设置和管理相比,其复杂程度较低,容易学习。 为用户提供了用于管理、检查、优化数据库操作的管理工具。 4)可移植性强: 使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。 支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。 5)接口十分丰富: 为C、C++、Python、Java、Perl、PHP、Eiffel、Ruby、.NET和Tcl等多种编程语言提供了API。 6)功能强大: MySQL数据库是一个真正多用户、多线程SQL数据库服务器,它是C/S结构的实现,由一个服务器守护程序mysqlId和很多不同的客户程序和库组成。 可支持大型的数据库,并且支持多种存储引擎。 7)使用灵活: 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。 提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。 此外,还提供了TCP/IP、ODBC和JDBC等多种数据库连接途径。 8)安全性强: 十分灵活和安全的权限和密码系统,允许基于主机的验证。 连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。 (2)MySQL官方网站上都提供了哪些下载版本? 作为普通学习者,通常用哪个版本比较合适? 答案: MySQL官方网站上针对不同的用户,提供了多种版本。 1)MySQLCommunityServer(社区版): 该版本完全免费,但官方不提供技术支持。 2)MySQLEnterpriseEdition(企业版): 能够以很高性价比为企业提供数据仓库应用,支持ACID事务处理,提供完整的提交、回滚、崩溃服务和行级锁定功能。 但该版本是付费使用的,官方提供电话技术支持。 3)MySQLCluster(集群版): 可将几个MySQLServer封装成一个Server,主要用于架设集群服务器。 无法单独使用,需要在社区版或企业版上使用。 开源免费。 MySQLCommunityServer是开源免费的,这也是普通学习者最常使用的版本。 (3)启动和停止MySQL服务的命令是什么? 答案: 启动命令: \>netstart*name 停止命令: \>netstop*name (4)登录和退出MySQL的命令是什么? 答案: 登录MySQL数据库的命令格式为: \>mysql–u登录名–h服务器地址–p密码 退出MySQL数据库的命令格式为: mysql>quit或mysql>exit 第3章数据库基本操作 习题 1.单选题 (1)下列四项中,关于创建MySQL数据库说法错误的是A。 (A)MySQL中所有的数据库都需要用户自己创建 (B)每一个数据库都有一个唯一的名称 (C)用户可以通过命令创建数据库 (D)用户通过图形操作界面工具创建数据库 (2)设置字符集的目的是为了避免在数据库中存储的数据出现乱码的情况,如果要在数据库中存放中文,最好使用C。 (A)big5(B)gb2312(C)gbk(D)dec8 (3)如果要查看某一个数据库的详细信息,可以使用C命令进行查看。 (A)SHOW(B)SHOWCHARACATERSET (C)SHOWCREATEDATABASE(D)以上都可以 (4)下列四项中,关于删除MySQL数据库说法正确的是D。 (A)使用图形操作界面工具删除数据的方法仅有一种 (B)删除数据库成功后,原来分配的系统空间被暂时不被收回,需要时还可以恢复 (C)用于删除数据库的语句是DELETEDATABASEdb_name (D)删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复 (5)MySQL与其他关系型数据库(SQLServer/Oracle)架构上最大的区别是D。 (A)索引层(B)连接层(C)SQL层(D)存储引擎层 (6)MySQL提供了多种存储引擎,下列哪种不属于它是存储引擎C? (A)MyISAM(B)InnoDB(C)OLTP(D)MEMORY (7)下列关于事务的描述,错误的是C。 (A)MySQL事务主要用于处理操作量大,复杂度高的数据 (B)在关系数据库中,事务可以是一组SQL语句或整个程序 (C)在关系数据库中,事务不可以是一条SQL语句 (D)事务指访问并可能更新数据库中各种数据项的一个程序执行单元。 (8)下列哪种锁定机制没有被MySQL各存储引擎使用B。 (A)表级锁定 (B)列级锁定 (C)行级锁定 (D)页级锁定 2.填空题 (1)如果在创建MySQL数据库时不指定字符集,那么就使用系统的字符集。 系统默认的字符集是ServerDefault。 (2)可以通过SHOWCHARACATERSET语句查看MySQL中支持的字符集。 (3)如果要选择某一个数据库,使其成为当前数据库,可以使用USE命令。 (4)数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用它进行创建、查询、更新和删除数据等操作。 (5)查看MySQL数据库中存储引擎的语句是SHOWENGINES。 (6)事务中的操作要么都被执行,要不都不执行,这个特征称之为事务的原子性。 (7)当用户对数据库并发访问时,为了确保事务完整性和数据库一致性,需要使用锁机制。 (8)InnoDB是当前MySQL数据库版本的默认存储引擎,支持事务安全表,支持行级锁定和外键,是事务型数据库的首选引擎。 3.简答题 (1)创建数据库的命令语句是什么? 如何为数据库指定字符集? 答案: 创建数据库的语法: CREATEDATABASEdb_name[[DEFAULT]CHARACTERSETcharacter_name]; character_name: 指数据库的字符集,设置字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。 如果在创建数据库时不指定字符集,那么就使用系统的字符集。 系统默认的字符集是ServerDefault。 除了系统的默认字符集外,还可以选择big5、dec8、gb2312、gbk等。 如果要在数据库中存放中文,最好使用gbk。 (2)通过DROPDATABASE命令删除的数据库还可以恢复其中的数据吗? 答案: 使用DROPDATABASE命令时要非常谨慎,在执行该命令时,MySQL不会给出任何提醒确认信息。 删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复。 (3)如何通过命令将某个数据库设置为MySQL的当前数据库? 答案: 如果要选择某一个数据库,使其成为当前数据库,可以使用USE命令。 选择某一个数据库的语法: USEdb_name; (4)MySQL是如何实现数据的一致性和并发性的? 答案: MySQL通过事务和锁来实现数据的一致性和并发性。 事务指访问并可能更新数据库中各种数据项的一个程序执行单元。 一般来说,事务必须满足4个条件: 原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)和持久性(Durability),称之为ACID特性。 当用户对数据库并发访问时,为了确保事务完整性和数据库一致性,需要使用锁机制,它是实现数据库并发控制的主要手段。 锁可以防止用户读取正在由其他用户更改的数据,并可以防止多个用户同时更改相同数据。 如果不使用锁,数据库中的数据可能在逻辑上不正确,并且对数据的查询可能会产生意想不到的结果。 (5)MySQL中都支持哪些存储引擎? 实际应用时该如何选择? 答案: MySQL中支持的存储引擎主要包括: InnoDB、MyISAM、MEMORY、MRG_MYISAM、BLACKHOLE、CSV、ARCHIVE、PERFORMANCE_SCHEMA等。 实际工作中选择一个合适的存储引擎是个很复杂的问题,每种存储引擎都有各自的优势。 因此,不能笼统地说哪个存储引擎更好,只能说合适不合适。 如果要提供提交、回滚和崩溃恢复能力的事务安全(ACID兼容)能力,并要求实现并发控制,InnoDB是个很好的选择。 如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率。 如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的MEMORY引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果。 如果只有INSERT和SELECT操作,可以选择ARCHIVE引擎,ARCHIVE引擎支持高并发的插入操作,适合存储归档数据。 第4章数据表 习题 1.单选题 (1)若用如下的SQL语句创建的一个student表: CREATE TABLEstudent(NOC(4)NOTNULL,NAME C(8)NOTNULL,SEX C (2),AGE N (2)) 以下SQL语句中,能够正常执行的是B (A)INSERTINTOstudentVALUES(‘1001’,‘张冰’,男,23) (B)INSERTINTOstudentVALUES(‘1001’,‘张冰’,NULL,NULL) (C)INSERTINTOstudentVALUES(NULL,‘张冰’,‘男’,‘23’) (D)INSERTINTOstudentVALUES(‘1001’,NULL,‘男’,23) (2)以下数据类型中,不属于SQL中常用的数据类型的是B (A)INT (B)VAR (C)TIME (D)CHAR (3)在数据表中,可以删除字段列的指令是D (A)ALTERTABLE…DELETE (B)ALTERTABLE…DELETECOLUMN… (C)ALTERTABLE…DROP… (D)ALTERTABLE…DROPCOLUMN… (4)SQL语句中,用于修改表结构的命令是C (A)MODIFYTABLE(B)MODIFYSTRUCTURE (C)ALTERTABLE(D)ALTERSTRUCTURE (5)数据表中,可修改字段的数据类型的指令是A (A)ALTERTABLE…ALTERCOLUMN (B)ALTERTABLE…MODIFYCOLUMN… (C)ALTERTABLE…UPDATE… (D)ALTERTABLE…UPDATECOLUMN… (6)下列有关数据表的说法,正确的是B (A)一个数据库只能包含一个数据表 (B)一个数据库可以包含多个数据表 (C)一个数据库只能包含两个数据表 (D)一个数据表可以包含多个数据库 (7)在student表中执行如下操作: UPDATEstudentSETNAME=’李平’WHERENO=’2001’,该操作的功能是: D (A)添加一个姓名叫李平的记录 (B)删除姓名叫李平的记录 (C)返回姓名叫李平的记录 D)更新了学号为2001的学生的姓名为李平 (8)执行如下操作: DELETEFROMstudentwhereNO=”1001”,该操作的功能是B (A)添加一条记录 (B)删除一条记录 (C)修改一条记录 (D)查询记录 2.填空题 (1)创建数据表的SQL命令是CREATETABLE。 (2)在日期时间类型数据中,要表示年月日,通常用DATE表示,表示时分秒,通常用TIME表示,时间戳是TIMESTAMP。 (3)创建数据表时,使用TEMPORARY关键词,使当前建立的表为临时表。 (4)要设置数据表中的一个整型字段的数据为自动增值,可使用的关键字是AUTO_INCREMENT。 (5)删除数据表中的字段列的关键字是DROPCOLUMN。 (6)在SQL中,通常使用NULL值来表示当前没有值,为空。 (7)要为student表添加一个字段“简历”,数据类型为text,不允许为空,可使用的命令是ALTERStudentADDCOLUMN简历TEXTNOTNULL。 (8)若要删除当前数据库中已经存在的表S,SQL命令是DROPTABLES。 3.简答题 (1)MySQL数据表中字段允许的数据类型有哪些? 各自用于存放什么类型的数据? (2)在MySQL数据表中,有哪些约束? 各自对数据产生什么影响? (3)创建一个病房管理数据库,在该数据库下创建如下四个表: 字段名 字段类型 约束 备注 科室 科
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 数据库 原理 应用 习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)