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

合集下载

mysql习题和答案

mysql习题和答案

mysql习题和答案MySQL习题和答案MySQL是一种开源的关系型数据库管理系统,广泛应用于各种Web应用程序和企业级应用中。

掌握MySQL的基本知识和技能对于数据库开发和管理人员来说至关重要。

本文将介绍一些常见的MySQL习题和答案,帮助读者更好地理解和掌握MySQL的使用。

一、基础知识篇1. 什么是数据库?答:数据库是一个有组织的数据集合,用于存储和管理数据。

2. 什么是关系型数据库?答:关系型数据库是一种基于关系模型的数据库,数据以表格的形式组织,表格由行和列组成。

3. 什么是SQL?答:SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。

4. 什么是MySQL?答:MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种Web应用程序和企业级应用中。

二、查询语句篇1. 如何查询表中的所有数据?答:使用SELECT语句,例如:SELECT * FROM table_name;2. 如何查询表中的特定列?答:使用SELECT语句,并指定需要查询的列,例如:SELECT column1,column2 FROM table_name;3. 如何使用WHERE子句进行条件查询?答:使用SELECT语句,并在WHERE子句中指定条件,例如:SELECT * FROM table_name WHERE condition;4. 如何对查询结果进行排序?答:使用SELECT语句,并在ORDER BY子句中指定排序的列和排序方式,例如:SELECT * FROM table_name ORDER BY column_name ASC(升序)/DESC(降序);三、数据操作篇1. 如何插入新数据?答:使用INSERT INTO语句,例如:INSERT INTO table_name (column1,column2) VALUES (value1, value2);2. 如何更新已有数据?答:使用UPDATE语句,例如:UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;3. 如何删除数据?答:使用DELETE FROM语句,例如:DELETE FROM table_name WHERE condition;四、表操作篇1. 如何创建新表?答:使用CREATE TABLE语句,例如:CREATE TABLE table_name (column1datatype, column2 datatype);2. 如何修改已有表的结构?答:使用ALTER TABLE语句,例如:ALTER TABLE table_name ADDcolumn_name datatype;3. 如何删除已有表?答:使用DROP TABLE语句,例如:DROP TABLE table_name;五、高级技巧篇1. 如何进行表的连接查询?答:使用JOIN语句,例如:SELECT * FROM table1 JOIN table2 ONtable1.column = table2.column;2. 如何进行数据的分组统计?答:使用GROUP BY语句,例如:SELECT column, COUNT(*) FROMtable_name GROUP BY column;3. 如何进行数据的多表排序和限制查询结果数量?答:使用ORDER BY和LIMIT语句,例如:SELECT * FROM table_name ORDER BY column_name LIMIT 10;六、总结通过以上习题和答案的学习,我们可以更好地掌握MySQL的使用。

MySQL数据库基础实例教程试题及答案

MySQL数据库基础实例教程试题及答案

MySQL数据库基础实例教程试题及答案一、选择题(每题2分,共60分)1、SQL语言通常称为( A )A、结构化查询语言B、结构化控制语言C、结构化定义语言D、结构化操纵语言2、目前三种基本的数据模型是 ( A )。

A、层次模型、网络模型、关系模型B、对象模型、网络模型、关系模型C、网络模型、对象模型、层次模型D、层次模型、关系模型、对象模型3、关系模型的基本结构是( A )。

A、二维表B、树形结构C、无向图D、有向图4、下列四项中,不属于数据库特点的是( B )。

A、数据共享B、数据冗余很高C、数据独立性高D、数据完整性5、SQL语言是( C )语言A、层次数据库B、网络数据库C、关系数据库D、非数据库6、DBMS是什么( B )A、操作系统B、数据库管理系统C、数据库D、数据库管理员7、MySQL是一个( C )的数据库系统。

A、网状型B、层次型C、关系型D、以上都不是8、如果要修改表的结构,应该使用SQL语言的命令(C )A、UPDATE TABLEB、MODIFY TABLEC、ALTER TABLED、CHANGE TABLE9、数据库中存放两个关系:教师(教师编号,姓名)和课程(课程号,课程名,教师编号),为快速查出某位教师所讲授的课程,应该(C )A、在教师表上按教师编号建索引B、在课程表上按课程号建索引C、在课程表上按教师编号建索引D、在教师表上按姓名建索引10、下列关于索引的说法中正确的是( C )A、一个表可以建立多个主键索引B、索引只能建立在1个字段上C、索引可以加快表之间连接的速度D、可以使用ADD INDEX语句创建索引11、下列对DELETE权限的叙述中,正确的是( C )A、允许删除数据B、允许删除关系C、允许对数据库模式进行删除D、和DROP权限等价12、数据库的完整性是指数据的( A )。

A、正确性和相容性B、合法性和不被恶意破坏C、正确性和不被非法存取D、合法性和和相容性13、MySQL中的Create Database语句可以创建一个( C )。

mysql数据库考试试题及答案

mysql数据库考试试题及答案

mysql数据库考试试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认使用的端口号是多少?A. 3306B. 8080C. 80D. 21答案:A2. 下列哪个不是MySQL的数据类型?A. INTB. VARCHARC. DATED. BOOLEAN答案:D3. 在MySQL中,以下哪个命令用于创建数据库?A. CREATE TABLEB. CREATE DATABASEC. DROP DATABASED. ALTER DATABASE答案:B4. 如何在MySQL中查看当前所有数据库?A. SHOW DATABASES;B. LIST DATABASES;C. SELECT DATABASES;D. DISPLAY DATABASES;答案:A5. 在MySQL中,以下哪个语句用于删除表?A. DROP TABLEB. REMOVE TABLEC. DELETE TABLED. DESTROY TABLE答案:A6. 下列哪个不是MySQL的索引类型?A. PRIMARYB. UNIQUEC. INDEXD. FOREIGN答案:D7. 在MySQL中,使用哪个命令来查看表结构?A. DESCRIBE table_name;B. EXPLAIN table_name;C. SHOW table_name;D. SELECT table_name;答案:A8. 如何在MySQL中为表添加新列?A. ADD COLUMN column_name;B. INSERT COLUMN column_name;C. CREATE COLUMN column_name;D. APPEND COLUMN column_name;答案:A9. 在MySQL中,使用哪个命令来创建视图?A. CREATE VIEW view_name AS SELECT ...B. VIEW view_name AS SELECT ...C. DEFINE VIEW view_name AS SELECT ...D. CREATE SELECT view_name AS ...答案:A10. 下列哪个命令用于在MySQL中备份数据库?A. BACKUP DATABASEB. COPY DATABASEC. DUMP DATABASED. SAVE DATABASE答案:C二、填空题(每空1分,共10分)1. 在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具有开源、免费、体积小、便于安装,但功能强大等特点。

mysql数据库基础习题(分章节带答案)

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.模式外模式内模式2.浏览器/服务器结构(B/S结构) 3.逻辑4。

关系5.逻辑设计6.实体三、简答题1.略。

可参考第1章1.1节内容。

MySQL数据库基础与实践实践与练习答案-第1章

MySQL数据库基础与实践实践与练习答案-第1章

实践与练习答案第1章1.选择题BBACA2.概念题1)数据库(Dstabase DB)是“按照某种数据结构对数据进行组织、存储和管理的容器”,简单的说就是用来存储、管理数据的容器。

数据库系统(Dstabase System,DBS)是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统、应用程序、数据库管理员组成。

数据库管理系统(Dstabase Management System,DBMS)是一个管理、控制数据库容器中各种数据库对象的系统软件。

2)使用关系模型对数据进行组织、存储和管理的数据库称为关系数据库,关系数据库系统是支持关系数据模型的数据库系统。

3)表1-1SQL功能及包含的主要动词4)数据库设计分为如下6个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理结构设计阶段、数据库实施阶段以及数据库运行于维护阶段。

各阶段内容(略)。

5)E-R图中的实体表示现实世界具有相同属性描述的事物的集合,不是某一个具体事物,而是一类事物的统称。

E-R图中的实体通常使用矩形表示。

E-R图中的属性通常表示实体的某种特征,也可以使用属性表示实体间关系的特征。

一个实体通常包含多个属性,每个属性由属性名唯一标记,画在椭圆内。

3.操作题(1)学生:学好、姓名、年龄、性别、班级名班级:班级名、班主任、班级人数(2)一个学生只能属于一个班级,一个班级可以有很多学生,多以班级和学生之间是1对多的关心,即1:n。

(3)拥有(4)E-R图如下:12 班班班班班班1n 班班班班班班班班班班班班班班班班班班班。

mysql试题及答案

mysql试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认的端口号是多少?A. 21B. 22C. 3306D. 80答案:C2. 在MySQL中,以下哪个命令用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE USERD. CREATE INDEX答案:A3. 如何在MySQL中选择所有的行和列?A. SELECT * FROM table_name;B. SELECT ALL FROM table_name;C. SELECT ALL table_name;D. SELECT table_name;答案:A4. 下列哪个选项不是MySQL的数据类型?A. INTB. DATEC. FLOATD. STRING答案:D5. 在MySQL中,如何删除一个数据库?A. DROP DATABASE database_name;B. DELETE DATABASE database_name;C. REMOVE DATABASE database_name;D. REMOVE database_name;答案:A6. 如何在MySQL中为一个表添加一个新列?A. ADD COLUMN column_name datatype;B. CREATE COLUMN column_name datatype;C. INSERT COLUMN column_name datatype;D. ADD NEW COLUMN column_name datatype;答案:A7. 在MySQL中,以下哪个命令用于删除表中的行?A. DELETE FROM table_name;B. REMOVE FROM table_name;C. DROP FROM table_name;D. REMOVE table_name;答案:A8. 如何在MySQL中更新表中的记录?A. UPDATE table_name SET column1=value1, column2=value2 WHERE condition;B. CHANGE table_name SET column1=value1, column2=value2 WHERE condition;C. MODIFY table_name SET column1=value1, column2=value2 WHERE condition;D. ALTER table_name SET column1=value1, column2=value2WHERE condition;答案:A9. MySQL中的事务是什么?A. 一系列原子性的SQL操作B. 单个SQL语句C. 一组数据D. 一个数据库答案:A10. 如何在MySQL中查看当前数据库的版本?A. SELECT VERSION();B. SHOW VERSION;C. VERSION();D. SHOW DATABASE VERSION;答案:A二、填空题(每题2分,共20分)1. MySQL的默认用户是________。

MySQL数据库及应用题库附答案

MySQL数据库及应用题库附答案【仅供学习参考,切勿通篇使用!】MySQL数据库及应用题库附答案第一章测验1 单选计算机进行数据处理经历了从低级到高级的____________个发展阶段A. 2B. 3C. 4D. 5答案: C2 单选关系数据模型是以__________理论为基础的,用二维表结构来表示实体以及实体之间联系的模型。

A. 关系B. 表C. 元组D. 记录答案: A3 单选关系中能唯一标识每个元组的最少属性或属性组称之为_________________。

A. 列B. 外关键字C. 索引D. 关键字(主码或主键)答案: D4 单选在同一个数据库中某个关系R1中的属性或属性组若在另一个关系R2中作为关键字(主码)使用,则该属性或属性组为R1的___________。

A. 列B. 外关键字C. 索引D. 关键字(主码或主键)答案: B5 单选一个数据库中往往包含多个关系,一个数据库中这些关系的集合称之为___________。

A. 关系组合B. 关系集合C. 数据库模式D. 关系模式答案: C6 单选关系代数的运算分为两大类,第一类是传统的集合运算并、交、差运算,另一类是专门的关系运算,主要是选择、投影和___________。

A. 连接B. 自然连接C. 笛卡尔积D. 查询答案: A7 单选数据库、数据库管理和数据库系统之间的关系正确的是A. 数据库包括了数据库管理系统和数据库系统B. 数据库管理系统包括了数据库和数据库系统C. 数据库系统包括数据库和数据库管理系统D. 以上都不对答案: C8 单选目前,商品化的数据库管理系统以__________型为主。

A. 关系B. 层次C. 网状D. 对象答案: A9 单选从给定关系中找出满足一定条件的元组的运算,称为________运算。

A. 集合B. 投影C. 连接D. 选择答案: D10 单选数据模型所描述的内容包括三个部分,分别是数据结构、数据操作和_______。

MySQL基础题库及答案

MySql数据库基础题库及答案一、填空题1.数据库是按照某种数据结构对数据进行____、_____和______的容器。

组织、存储、管理2.结构化查询语言SQL 分为_______、_______、_______和________四种语言。

DDL、DML、DQL、DCL3.MySQL中常用的约束有_____、_____、_____、_____、_____。

主键、外键、唯一、默认、非空4.MySQL配置文件my.ini常用的参数选项组有_____、_____、_____。

[client]、[mysql]、[mysqld]5.MySQL字符序命名规则中:ci 表示_____、cs 表示_____、bin 表示_____。

大小写不敏感、大小写敏感、二进制编码值比较6.查看MySQL 字符集的命令是:___________________________。

show variables like 'character%’7.MySQL5.6默认支持的存储引擎是______。

InnoDB8.显示表结构的命令_________、_____________。

desc <table_name> 、show create table <table_name>9.查看全局系统变量的命令_________,查看当前会话系统变量的命令_________。

show global variables; show session variables;10.MySQL提供的数据类型包括:_____、_____、_____、_____和_____。

数值类型、字符串类型、日期类型、复合类型、二进制类型11.MySQL 支持两种复合数据类型:_____和_____。

enum枚举类型、set集合类型12.默认情况下,MySQL自增型字段的值从1开始递增,且步长为1,设置自增字段的语法:______。

<字段名> <数据类型> auto_increment13.创建表时,设置表的字符集语法格式:____________________。

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.模式外模式内模式2.浏览器/服务器结构(B/S结构) 3.逻辑4。

关系5.逻辑设计6.实体三、简答题1.略。

可参考第1章1.1节内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.关系数据库的设计步骤是什么?为每张表定义一个主键有技巧可循吗?主键与关键字有什么关系?关系数据库的设计步骤,请参看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范式的要求?该表是否存在数据冗余?是否会产生诸如插入异常、删除异常、修改复杂等数据冗余“并发症”?请参看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章节内容。

相关文档
最新文档