MySQL数据库基础与实例教程练习题参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.关系数据库的设计步骤是什么?为每张表定义一个主键有技巧可循吗?主键与关键字有什么关系?