首页 > 编程知识 正文

mysql数据库及应用题库(mysql数据库应用综合分析题)

时间:2023-11-29 12:18:48 阅读:310203 作者:ELWT

本文目录一览:

  • 1、mysql 7.8本章习题work表怎么建立
  • 2、mysql 数据库题目 查询Student表中每个学生的姓名和年龄。
  • 3、mysql数据库面试题(学生表_课程表_成绩表_教师表)
  • 4、哪位大侠可以提供一些mysql数据库的题库,一定要带答案的!将感激不尽!!
  • 5、这两种题型mysql数据库结构应该怎么设计,B形题和A3A4题

mysql 7.8本章习题work表怎么建立

1.数据库概述

简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在的Oracle、SQLServer、MySQL等诸多优秀的数据库。

详解内容:

数据存储方式

数据库在开发中的作用

数据库访问技术

MySQL数据库的介绍

数据库泛型

SQL语言

常见数据库系统

如果学习数据库

1.1 数据库理论基础

数据库能够将数据按照特定的规律组织起来。那么,数据是如何存储的、数据库要遵守什么规则、数据库在什么地方使用,这些都是首先要了解的问题。

1.1.1 数据存储方式

如今数据库已经无处不在了。

一个网站需要有数据库来存储数据。

一个学校需要用数据库来存储学生和教师的信息。

一个公司需要用数据库来存储员工的信息和公司的资料。

要学习数据库,必须先了解数据库是如何存储数据的。

数据发展分为三个阶段:

1. 人工管理阶段

2. 文件系统阶段

3. 数据库系统阶段

1.1.2 数据库泛型

数据库泛型就是数据库应该遵循的规则。数据库泛型也称为范式。目前关系数据库最常用的四种范式分别是:

第一范式(1NF)

第二范式(2NF)

第三范式(3NF)

BCN范式(BCNF)

在设计数据库时,数据库需要满足的最低要求的范式是第一范式。第一范式的要求表中不能有重复字段,并且每个字段不能再拆分。如果有一个数据库连第一范式都不满足的话,那就不能称之为关系型数据库了。只有满足了第一范式的要求,才可能在这个关系数据库中创建表。

在满足第一范式的基础上,可以将数据库中进行一步的细化。细化后可以使数据库满足第二范式的要求。依次进行细化,可以得到第三范式、BCN范式。

1.1.3 数据库在开发中作用

现在大部分的管理系统和软件都需要使用数据库来存储数据。在开发过程中,数据库已经成为必不可少的一部分。本小节将为读者简单介绍一下数据库在开发中的作用。

在软件开发过程中,经常需要使用数据库来存储数据。比如,一个学校的学生管理系统就需要数据库来存储学生的学籍信息、考试信息、教师的信息、课程信息等。再比如,银行的管理系统也需要数据库来存储信息。用户的银行帐户、存款量、存款和取款的记录等信息都是存储在数据库中的。当用户向自己的帐户里存款时,管理系统会在数据库中更新该用户的存款量。

1.2 数据库系统

1.2.1 数据库系统

很多读者认为数据库就是数据库系统(DataBase System, 简称为DBS)。其实,数据库系统的范围比数据库大很多。数据库系统不是一个单纯的数据库,而是由数据库、数据库管理系统、应用开发工具构成。很多时候,数据库管理员和用户可以当成数据库系统的一份子。

数据库就是存储数据的地方。

数据库管理系统(DataBase Management System, 简称为DBMS)是用来定义数据、管理和维护数据的软件。它是数据库系统的一个重要组成部分。应用系统是需要使用数据库的软件。比如学员管理系统就是一个应用系统,这个应用系统需要数据库管理它的数据。应用开发工具就是用来开发应用系统的。

1.2.2 SQL语言

SQL(Structured Query Language)语言的全称是结构化查询语言。数据库管理系统通过SQL语言来管理数据库中的数据。

SQL语言分为三个部分:

数据定义语言(Data Definition Language, 简称为DDL)

数据操作语言(Data Manipulation Language, 简称为DML)

数据控制语言(Data Control Language, 简称为DCL)

数据查询语言(Data Query Language, 简称DQL)

1.2.3 数据库访问技术

应用程序中,程序语言需要使用数据库访问技术来访问数据库。只有使用了数据库访问技术,程序中嵌入的SQL语句才会起作用。不同程序语言访问数据库的方式是不一样的。

JDBC是一种用于执行SQL语句的Java API。通过JDBC可以访问多种关系数据库。JDBC由一组用Java语言编写的类和接口组成。使用JDBC时,必须要安装驱动程序Connector/J。

PHP中为程序员提供了MySQL功能模块,PHP5以后开始提供mysqli接口。PHP可以通过MySQL功能模块和mysqli接口来访问MySQL数据库。

1.3 常见数据库

1.3.1 常见数据库系统

如今已经在很多优秀的商业数据库

如甲骨文(Oracle)公司的Oracle数据库

IBM公司的DB2数据库

微软公司的SQL Server数据库和Access数据库。

还有很多优秀的开源数据库,如MySQL数据库、PostgreSQL数据库等。

1. 甲骨文的Oracle

2. IBM的DB2

3. 微软的Access和SQL Server

4. 开源PostgreSQL

6. 开源MySQL

1.3.2 为什么要使用MySQL

如今很多大型网站已经选择MySQL数据库来存储数据。那么,MySQL到底有什么优势呢?MySQL数据库的使用非常广泛,尤其是在Web应用方面。由于MySQL数据库发展势头迅猛,SUN公司于2008年收购了MySQL数据库。这笔交易的收购价格高达10亿美元。这中以说明MySQL数据库价值。

MySQL数据库的优势:

1. 开源代码

2. 跨平台性

3. 价格优势

4. 功能强大且使用方便

1.3.3 MySQL版本和获取

MySQL数据库可以在Windows、UNIX、Linux和Mac OS等操作系统上运行。因此,MySQL有不同操作系统的版本。而且,根据发布的先后顺序,现在已经在开发MySQL的6.0版了。

根据MySQL的开发情况,可以将MySQL分为Alpha、Beta、Gamma和Generally Available(GA)等版本。

- Alpha(开发过程中)

- Beta(测试版)

- Gamma(比Beta版更高级)

- Generally Available(GA)(稳定版)

1.4 如果学习数据库

数据库已经成为软件系统的一部分,那么学好数据库将是软件开发的一个必要条件。如何才能学好数据库,这个问题没有确切的答案。

学好数据库的方法:

1. 多上机实践

2. 多编写SQL语句

3. 通过Java或PHP程序语言操作数据库

4. 数据库理论知识不能丢

1.5 常见问题及解答

1. 如何选择数据库?

2. 如何选择MySQL版本?

1.6 本章习题

1. 数据存储的发展过程经历了哪几个阶段?

2. 常用数据库系统有哪些?

3. MySQL数据库如何分类?

2.Windows平台下安装与配置MySQL

在Windows系列的操作系统下,MySQL数据库的安装包分为图形化界面安装和免安装(noinstall)这两种安装包。这两种安装包的安装方式不同,而且配置方式也不同。图形化界面安装包有完整的安装向导,安装和配置很方便。免安装的安装包直接解压即可使用,但是配置起来很不方便。

安装MySQL数据库

配置MySQL数据库

常用图形管理工具介绍

配置和使用免安装的MySQL数据库

2.1 安装与配置MySQL

2.1.1 安装MySQL

MySQL图形化安装包有一个完整的安装向导,根据安装向导可以很方便的安装MySQL数据库。在Windows操作系统下,有两种MySQL图形化安装包。这两种安装包分别是"Windows Essentials"和"Windows MSI Installer"。前者包含了MySQL中最主要和最常用的功能,但是不包含一些不常用的功能。后者包含了MySQL全部功能,包括不常用的功能。

选择Microsoft Windows选项

mysql-5.1.40-win32.msi(图形界面安装)

mysql-essential-5.1.40-win32.msi (图形界面安装)

mysql-noinstall-5.1.40-wind32.zip (免安装)

安装步骤:

1. Next

2. Typical Complete Custom(O)

3. MySQL Server

Client Programs

C Includes Files / Lib Files(X)

Change: ?????

4. Install

Setup Type: Custom

Destination Folder(程序安装路径):

Data Folder(数据存储的路径):

5. Next-Next-

(O)Configure the MySQL Serer now

(O)Register the MySQL Server now

6. Finish

2.1.2 配置MySQL

安装完成时,选上了Configure the MySQL Server now选项,图形化安装向导将进入MySQL配置欢迎界面。通过配置向导,可以设置MySQL数据库的各种参数。

1. Next

2. (O)Detailed Configuration

(X)Standard Configuration

3. (O)Developer Machine(开发者)

Server Machine(服务器)

Dedicated MySQL Server Machine(专用的数据库服务器)

4. (O)Multifunctional Database(多功能型数据库)

Transactional Database Only(事务型的数据库, InnoDB)

Non-Transactional Database Only(只支持MyISaM类型数据库,非事务)

5. InnoDB Tablespace Settings (配置表空间)

6. 设置服务器的连接数

Decision Support(DSS) / OLAP

Online Transaction Processing(OLTP)

(O)Manual Setting

Concurrent Connections: 10

7. MySQL服务的端口号:

(O)Add firewall exception for this port(允许防火墙)

(X)Enable Strict Mode(是区分大写)

8. 设置字符集

Standard Character Set

Best Support for Multilingualism

(O)Manual Selected Default Character Set / Collation

utf-8

9. Install As Windws Service 服务选项

Service Name: MySQL

(O)Lanch the MySQL Server automatically(服务是否自动启动)

(O)Include Bin Directory in Windows PATH(添加到path路径当中)

10. Modify Security Setting:

New root password:

confirm:

(X)Enable root access from remote machines(不否远程访问root)

11. Execute

12. Finish

2.2 启动服务并登录MySQL数据库

MySQL数据库分为服务器端(Server)和客户端(Client)两部分。只有服务器端的服务开户以后,才可以通过客户端来登录到MySQL数据库。

2.2.1 启动MySQL服务

开始-设置-控制面板-管理工具-服务

2.2.2 登录MySQL服务器

1. 开始-运行-cmd

mysql -h localhost -u root -p

mysql

2. 开始-运行-mysql -h 127.0.0.1 -u root -p

2.2.3 配置path变量

如果MySQL的应用程序的目录没有添加到Windows系统的path环境变量中,可以手工的将MySQL的目录添加到path中。

将MySQL的应用程序的目录添加到Windows系统的path环境变量中,可以使以后的操作更加方便。例如,可以直接从运行对话框输入MySQL数据库命令。而且,以后在编程时也会更加方便。配置path路径很简单,只要将MySQL的应用程序的目录添加到系统的path环境变量中就可以了。

1. 右击【我的电脑】-【属性】

2. 在系统环境变量中选中path变量,然后单击编辑按钮进入编辑环境变量的对话框。

3. 把MySQL应用程序的目录添加到path环境变量名值的后面。已经存在的目录用分号隔开。

2.3 更改MySQL的配置

MySQL数据库安装好了以后,可能根据实际情况更改MySQL的某些配置。一般可以通过两种方式来更改。一种是通过配置向导来更改配置,另一种是手工来更改配置。

mysql 数据库题目 查询Student表中每个学生的姓名和年龄。

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(SBIRTHDAY, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d')

DATE_FORMAT(SBIRTHDAY, '00-%m-%d')) AS age from student; 查出精确。。。。自己加名字

mysql数据库面试题(学生表_课程表_成绩表_教师表)

Student(Sid,Sname,Sage,Ssex)学生表

Sid:学号

Sname:学生姓名

Sage:学生年龄

Ssex:学生性别

Course(Cid,Cname,Tid)课程表

Cid:课程编号

Cname:课程名称

Tid:教师编号

SC(Sid,Cid,score)成绩表

Sid:学号

Cid:课程编号

score:成绩

Teacher(Tid,Tname)教师表

Tid:教师编号:

Tname:教师名字

1、插入数据

2、删除课程表所有数据

3、将学生表中的姓名 张三修改为张大山

或者

4、查询姓’李’的老师的个数:

5、查询所有课程成绩小于60的同学的学号、姓名:

6、查询没有学全所有课的同学的学号、姓名

7、查询平均成绩大于60分的同学的学号和平均成绩

8、查询学过“100”并且也学过编号“101”课程的同学的学号、姓名

9、查询“100”课程比“101”课程成绩高的所有学生的学号

10、查询课程编号“100”的成绩比课程编号“101”课程高的所有同学的学号、姓名

11、查询学过“鲁迅”老师所教的所有课的同学的学号、姓名

12、查询所有同学的学号、姓名、选课数、总成绩

13、查询至少有一门课与学号为“1”同学所学相同的同学的学号和姓名

14、把“SC”表中“鲁迅”老师教的课的成绩都更改为此课程的平均成绩,

错误

15、查询和“2”学号的同学学习的课程完全相同的其他同学学号和姓名

16、删除学习“鲁迅”老师课的SC表记录

17、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号、002号课的平均成绩

18、查询各科成绩最高和最低的分:以如下的形式显示:课程ID,最高分,最低分

19、按各科平均成绩从低到高和及格率的百分数从高到低顺序

20、查询如下课程平均成绩和及格率的百分数(用”1行”显示): 数学(100),语文(101),英语(102)

22、查询不同老师所教不同课程平均分从高到低显示

23、查询如下课程成绩第3名到第6名的学生成绩单:数学(100),语文(101),英语(102)

23、统计下列各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ 小于60]

24、查询学生平均成绩及其名次

25、查询各科成绩前三名的记录(不考虑成绩并列情况)

26、查询每门课程被选修的学生数

27、查询出只选修一门课程的全部学生的学号和姓名

28、查询男生、女生人数

29、查询姓“张”的学生名单

30、查询同名同姓的学生名单,并统计同名人数

31、1981年出生的学生名单(注:student表中sage列的类型是datetime)

32、查询平均成绩大于85的所有学生的学号、姓名和平均成绩

33、查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列

34、查询课程名称为“英语”,且分数低于60的学生名字和分数

35、查询所有学生的选课情况

36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数

37、查询不及格的课程,并按课程号从大到小的排列

38、查询课程编号为“101”且课程成绩在80分以上的学生的学号和姓名

39、求选了课程的学生人数:

40、查询选修“鲁迅”老师所授课程的学生中,成绩最高的学生姓名及其成绩

41、检索至少选修两门课程的学生学号

42、查询全部学生都选修的课程的课程号和课程名(1.一个课程被全部的学生选修,2.所有的学生选择的所有课程)

43、查询没学过“鲁迅”老师讲授的任一门课程的学生姓名

44、查询两门以上不及格课程的同学的学号及其平均成绩

45、检索“101”课程分数小于60,按分数降序排列的同学学号

46、删除“2”同学的“101”课程的成绩

哪位大侠可以提供一些mysql数据库的题库,一定要带答案的!将感激不尽!!

一、不定项选择题(共40题,每小题2.5分,总分100分)

1. 数据库管理系统的发展历经了如下那些模型阶段( ACDE )

A. 层次模型 B. 结构模型 C. 关系模型

D. 网状模型 E.对象模型

2. 关系型数据库的核心单元是( B )

A. 对象 B. 表

C. 行 D. 列

3. 对于关系型数据库来说,表之间存在下面那些关系( ABC )

A. 一对一关系 B. 一对多关系

C. 多对多关系 D. 继承关系

4. 在SQL中,下面对于数据定义语言(DDL)描述正确的是( D )。

A. DDL关心的是数据库中的数据 B. 完成数据的增、删、改、查操作

C. 控制对数据库的访问 D. 定义数据库的结构

5. MySQL是一种( C )数据库管理系统。

A. 层次型 B. 网络型 C. 关系型 D. 对象型

6. SQL中,下列操作有语法错误的是( B )

A. AGE IS NOT NULL B. NOT(AGE IS NULL)

C. SNAME=‘王五’ D. SNAME=‘王%’

7. SQL中,下列关于创建、管理数据库的操作语句不正确的是( CDE )

A. CREATE DATABASE Instant B. USE Instant C. NEW DATABASE Instant

D. Connection Instant E. Delete DATEBASE Instant

8. 在MySQL中,不存在的数据类型是( F )。

A. INT B. TEXT C. DECIMAL

D. VARCHAR E. DATETIME F. VARCHAR2

9. 在MySQL中,下列关于创建数据库表的描述正确的是( C )。

A. 在创建表时必须设定列的约束

B. 在删除表的时候通过外键约束连接在一起的表会被一同删除

C. 在创建表时必须设置列类型

D. 通过CREATE TABLE new_t SELECT * FROM old_t复制表的同时,表的约束能够一起被复制到新表中

10. 根据数据完整性实施的方法,可以将其分为( ACDF )

A. 实体完整性 B. 表完整性 C.域完整性

D. 引用完整性 E. 记录完整性 F.用户自定义完整性

11. 下面关于域完整性的方法,不正确的是( A )。

A. 主键约束 B. 外键约束 C.检查约束

D. 非空约束 E. 默认值

12. 下面关于创建和管理索引正确的描述是( C )。

A. 创建索引是为了便于全表扫描

B. 索引会加快DELETE、UPDATE和INSERT语句的执行速度

C. 索引被用于快速找到想要的记录

D. 大量使用索引可以提高数据库的整体性能

13. SQL中,“AGE IN(20,22)”的语义是( D )。

A. AGE=22 AND AGE =20 B. AGE 22 AND AGE 20

C. AGE =20 AND AGE =22 D. AGE =20 OR AGE =22

14. 有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( C )

A. 实体完整性约束 B. 参照完整性约束

C. 用户自定义完整性约束 D. 关键字完整性约束

15. 下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:( B )

Select stu_id,subId,count(*) as x

From t_exam

Where ex_date=’2008-08-08’

Group stu_id,subId

Having count(*)1

Order by x desc

A. 找出’2008-08-08’这天某科考试2次及以上的学生记录

B. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面

C. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面

D. 根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面

16. EMP表如下所示,下面哪些SQL语句的返回值为3:( BD )

EMP

雇员号 雇员名 部门号 工资 

001  张山  02 2000

010  王宏达 01 1200

056  马林生 02 1000

101  赵敏 04

A. select count(*) from emp

B. select count(distinct 部门号) from emp

C. select count(*) from emp group by 雇员号

D. select count(工资) from emp

17. 下面那一项不是SELECT语句对数据的操作:( D )

A. 投影 B. 联接 C. 并 D. 级联

18. 下面关于SQL数据查询操作描述正确的有:( ABD )

A. 投影操作是选择对表中的哪些列进行查询操作

B. 使用DISTINCT关键字可以过滤查询中重复的记录

C. 在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符

D. 在MySQL中使用LIMIT关键字限制从数据库中返回记录的行数

19. 在SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且( A )。

A. 包括20岁和30岁 B. 不包括20岁和30岁

C. 包括20岁,不包括30岁 D. 不包括20岁,包括30岁

20. SQL语言中,删除EMP表中全部数据的命令正确的是( C )。

A. delete * from emp B. drop table emp

C. truncate table emp D. 没有正确答案

21. 有关索引的说法错误的是( AD )

A. 索引的目的是为增加数据操作的速度

B. 索引是数据库内部使用的对象

C. 索引建立得太多,会降低数据增加删除修改速度

D. 只能为一个字段建立索引

22. 下列哪个关键字在Select语句中表示所有列( A )

A. * B. ALL C. DESC D. DISTINCT

23. 在表中设置外键实现的是哪一类数据完整性( B )

A. 实体完整性 B. 引用完整性

C. 用户定义的完整性 D. 实体完整性、引用完整性和用户定义的完整性

24. 下面正确表示Employees表中有多少非NULL的Region列的SQL语句是( B )

A. SELECT count(* ) from Employees

B. SELECT count(ALL Region) from Employees

C. SELECT count(Distinct Region) from Employees

D. SELECT sum(ALL Region) from Employees

25. 下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是( C )

A. WHERE子句 B. GROUP BY子句

C. HAVING 子句 D. ORDER BY子句

26. t_score(stu_id,sub_id,score),即成绩表(学号,科目编号,成绩)。学生如果某科没有考试,则该科成绩录入null。能够获取各位学生的平均成绩的选项是( A )

A. select avg(nvl(socre,0)) from score group by stu_id

B. select stu_id,avg(sorce) from score

C. select stu_id,avg(score) from score

D. select stu_id,sum(score)/count(score) from score

27. 若要求查找S表中,姓名的第一个字为'王'的学生学号和姓名。下面列出的SQL语句中,哪个是正确的( B )

A. SELECT Sno,SNAME FROM S WHERE SNAME=′王%′

B. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王%′

C. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王_′

D. 全部

28. 若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是( B )

A. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) 3

B. SELECT Sno FROM SC GROUP BY Sno HAVING( COUNT(*) 3)

C. SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*) 3

D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)= 3

29. 对下面的查询语句描述正确的是( D )

Select StudentID,Name,

(select count(*) from StudentExam

where StudentExam.StudentID = Student.StudentID) as ExamsTaken

from Student

order by ExamsTaken desc

A. 从Student表中查找StudentID和Name,并按照升序排列

B. 从Student表中查找StudentID和Name,并按照降序排列

C. 从Student表中查找StudentID、Name和考试次数

D. 从Student表中查找StudentID、Name,并从StudentExam表中查找与StudentID一致的学生考试次数,并按照降序排列

30. 下面题基于学生-课程数据库中的三个基本表:

学生信息表:s(sno, sname, sex, age, dept) 主键为sno

课程信息表:c(cno, cname, teacher) 主键为cno

学生选课信息表:sc(sno, cno, grade) 主键为(sno, cno)

“从学生选课信息表中找出无成绩的学生信息”的SQL语句是( C d )

A.

SELECT * FROM sc WHERE grade=NULL

B.

SELECT * FROM sc WHERE grade IS ‘ ’

C.

SELECT * FROM sc WHERE grade IS NULL

D.

SELECT * FROM sc WHERE grade =‘ ’

31. 当子查询返回多行时,可以采用的解决办法是( C )。

A. 使用聚合函数 B. Where条件判断

C. 使用IN运算符 D. 使用Group by进行分组

32. 下面关于在子查询中使用运算符描述不正确的是( D )。

A. 使用IN运算符用于查找字段值属于某一组值的行

B. 使用Exists运算符用于测试子查询是否返回行,如果返回其值就为真

C. 使用ALL运算符用于测试子查询结果集的所有行是否满足指定的条件

D. 使用Any运算符用于测试子查询结果集中的一行或多行不满足指定的条件

33. 下面关于组合查询描述不正确的是( D )。

A. 从一个表中获取的数据必须和其它表中的数据具有相同的列数

B. 两个表中相对应的列必须具有相同的数据类型

C. UNION的结果集列名与第一个SELECT语句的结果集中的列名相同

D. UNION的结果集列名与第二个SELECT语句的结果集中的列名相同

E. UNION ALL运算符返回每个数据集的所有成员

34. 下面关于联接的描述正确的是( A )。

A. 内联接使用比较运算符根据每个表共有的列值来匹配两个表中的行

B. 左外联接结果集包含从右边的表返回的所有行

C. 右外联接结果集包含从左边的表返回的所有行

D. 全外联接返回左表和右表中的所有匹配的行

35. 下面关于数据库设计过程正确的顺序描述是( C )。

A. 需求收集和分析、逻辑设计、物理设计、概念设计

B. 概念设计、需求收集和分析、逻辑设计、物理设计

C. 需求收集和分析、概念设计、逻辑设计、物理设计

D. 需求收集和分析、概念设计、物理设计、逻辑设计

36. ER图属于下面哪一种数据库设计模型( B )。

A. 物理数据模型

B. 概念数据模型

C. 逻辑数据模型

D. 需求模型

37. 非主键必须完全依赖于主键列,这属于下列范式的内容( BC )

A. 1NF B. 2NF C. 3NF D. 都没有的

38. 如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立( B )。

A. PK(主键) B. FK(外键) C. UK(唯一键) D. 复合主键

39. 根据三个范式的定义,下面哪个选项的设计是正确的( C )

职工编号 姓名 工种 车间 车间主任

1001 李宁 车工 一车间 周杰

1002 王海 铣工 一车间 周杰

1003 赵亮 钳工 二车间 吴明

1001 李宁 钳工 二车间 吴明

A. 员工表、工种表、车间表

B. 员工表、工种表、车间表、车间主任表

C. 员工表、工种表、车间表、员工工种表、员工车间表

D. 以上设计均不正确

40. 下列说法中,哪些是正确的( BD )

A. RDBMS是数据库管理系统的简称

B. 各行记录都不能重复,是第二范式要求的

C. 在数据库设计中一定要满足第三范式

D. 索引越多,查询越快,数据更新越慢

这两种题型mysql数据库结构应该怎么设计,B形题和A3A4题

一、不定项选择题(共40题,每小题2.5分,总分100分)1.数据库管理系统的发展历经了如下那些模型阶段(ACDE)A.层次模型B.结构模型C.关系模型D.网状模型E.对象模型2.关系型数据库的核心单元是(B)A.对象B.表C.行D.列3.对于关系型数据库来说,表之间存在下面那些关系(ABC)A.一对一关系B.一对多关系C.多对多关系D.继承关系4.在SQL中,下面对于数据定义语言(DDL)描述正确的是(D)。A.DDL关心的是数据库中的数据B.完成数据的增、删、改、查操作C.控制对数据库的访问D.定义数据库的结构5.MySQL是一种(C)数据库管理系统。A.层次型B.网络型C.关系型D.对象型6.SQL中,下列操作有语法错误的是(B)A.AGEISNOTNULLB.NOT(AGEISNULL)C.SNAME=‘王五’D.SNAME=‘王%’7.SQL中,下列关于创建、管理数据库的操作语句不正确的是(CDE)A.CREATEDATABASEInstantB.USEInstantC.NEWDATABASEInstantD.ConnectionInstantE.DeleteDATEBASEInstant8.在MySQL中,不存在的数据类型是(F)。A.INTB.TEXTC.DECIMALD.VARCHARE.DATETIMEF.VARCHAR29.在MySQL中,下列关于创建数据库表的描述正确的是(C)。A.在创建表时必须设定列的约束B.在删除表的时候通过外键约束连接在一起的表会被一同删除C.在创建表时必须设置列类型D.通过CREATETABLEnew_tSELECT*FROMold_t复制表的同时,表的约束能够一起被复制到新表中10.根据数据完整性实施的方法,可以将其分为(ACDF)A.实体完整性B.表完整性C.域完整性D.引用完整性E.记录完整性F.用户自定义完整性11.下面关于域完整性的方法,不正确的是(A)。A.主键约束B.外键约束C.检查约束D.非空约束E.默认值12.下面关于创建和管理索引正确的描述是(C)。A.创建索引是为了便于全表扫描B.索引会加快DELETE、UPDATE和INSERT语句的执行速度C.索引被用于快速找到想要的记录D.大量使用索引可以提高数据库的整体性能13.SQL中,“AGEIN(20,22)”的语义是(D)。A.AGE=20B.AGE20C.AGE=20ANDAGE=22D.AGE=20ORAGE=2214.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于(C)A.实体完整性约束B.参照完整性约束C.用户自定义完整性约束D.关键字完整性约束15.下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:(B)Selectstu_id,subId,count(*)asxFromt_examWhereex_date=’2008-08-08’Groupstu_id,subIdHavingcount(*)1OrderbyxdescA.找出’2008-08-08’这天某科考试2次及以上的学生记录B.找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面C.找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面D.根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面16.EMP表如下所示,下面哪些SQL语句的返回值为3:(BD)EMP雇员号雇员名部门号工资 001 张山 02 2000010 王宏达 011200056 马林生 021000101 赵敏04A.selectcount(*)fromempB.selectcount(distinct部门号)fromempC.selectcount(*)fromempgroupby雇员号D.selectcount(工资)fromemp17.下面那一项不是SELECT语句对数据的操作:(D)A.投影B.联接C.并D.级联18.下面关于SQL数据查询操作描述正确的有:(ABD)A.投影操作是选择对表中的哪些列进行查询操作B.使用DISTINCT关键字可以过滤查询中重复的记录C.在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符D.在MySQL中使用LIMIT关键字限制从数据库中返回记录的行数19.在SQL语言中,条件“BETWEEN20AND30”表示年龄在20到30之间,且(A)。A.包括20岁和30岁B.不包括20岁和30岁C.包括20岁,不包括30岁D.不包括20岁,包括30岁20.SQL语言中,删除EMP表中全部数据的命令正确的是(C)。A.delete*fromempB.droptableempC.truncatetableempD.没有正确答案21.有关索引的说法错误的是(AD)A.索引的目的是为增加数据操作的速度B.索引是数据库内部使用的对象C.索引建立得太多,会降低数据增加删除修改速度D.只能为一个字段建立索引22.下列哪个关键字在Select语句中表示所有列(A)A.*B.ALLC.DESCD.DISTINCT23.在表中设置外键实现的是哪一类数据完整性(B)A.实体完整性B.引用完整性C.用户定义的完整性D.实体完整性、引用完整性和用户定义的完整性24.下面正确表示Employees表中有多少非NULL的Region列的SQL语句是(B)A.SELECTcount(*)fromEmployeesB.SELECTcount(ALLRegion)fromEmployeesC.SELECTcount(DistinctRegion)fromEmployeesD.SELECTsum(ALLRegion)fromEmployees25.下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是(C)A.WHERE子句B.GROUPBY子句C.HAVING子句D.ORDERBY子句26.t_score(stu_id,sub_id,score),即成绩表(学号,科目编号,成绩)。学生如果某科没有考试,则该科成绩录入null。能够获取各位学生的平均成绩的选项是(A)A.selectavg(nvl(socre,0))fromscoregroupbystu_idB.selectstu_id,avg(sorce)fromscoreC.selectstu_id,avg(score)fromscoreD.selectstu_id,sum(score)/count(score)fromscore27.若要求查找S表中,姓名的第一个字为'王'的学生学号和姓名。下面列出的SQL语句中,哪个是正确的(B)A.SELECTSno,SNAMEFROMSWHERESNAME=′王%′B.SELECTSno,SNAMEFROMSWHERESNAMELIKE′王%′C.SELECTSno,SNAMEFROMSWHERESNAMELIKE′王_′D.全部28.若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是(B)A.SELECTSnoFROMSCGROUPBYSnoWHERECOUNT(*)3B.SELECTSnoFROMSCGROUPBYSnoHAVING(COUNT(*)3)C.SELECTSnoFROMSCORDERBYSnoWHERECOUNT(*)3D.SELECTSnoFROMSCORDERBYSnoHAVINGCOUNT(*)=329.对下面的查询语句描述正确的是(D)SelectStudentID,Name,(selectcount(*)fromStudentExamwhereStudentExam.StudentID=Student.StudentID)asExamsTakenfromStudentorderbyExamsTakendescA.从Student表中查找StudentID和Name,并按照升序排列B.从Student表中查找StudentID和Name,并按照降序排列C.从Student表中查找StudentID、Name和考试次数D.从Student表中查找StudentID、Name,并从StudentExam表中查找与StudentID一致的学生考试次数,并按照降序排列30.下面题基于学生-课程数据库中的三个基本表:学生信息表:s(sno,sname,sex,age,dept)主键为sno课程信息表:c(cno,cname,teacher)主键为cno学生选课信息表:sc(sno,cno,grade)主键为(sno,cno)“从学生选课信息表中找出无成绩的学生信息”的SQL语句是(Cd)A.SELECT*FROMscWHEREgrade=NULLB.SELECT*FROMscWHEREgradeIS‘’C.SELECT*FROMscWHEREgradeISNULLD.SELECT*FROMscWHEREgrade=‘’31.当子查询返回多行时,可以采用的解决法是(C)。A.使用聚合函数B.Where条件判断C.使用IN运算符D.使用Groupby进行分组32.下面关于在子查询中使用运算符描述不正确的是(D)。A.使用IN运算符用于查找字段值属于某一组值的行B.使用Exists运算符用于测试子查询是否返回行,如果返回其值就为真C.使用ALL运算符用于测试子查询结果集的所有行是否满足指定的条件D.使用Any运算符用于测试子查询结果集中的一行或多行不满足指定的条件33.下面关于组合查询描述不正确的是(D)。A.从一个表中获取的数据必须和其它表中的数据具有相同的列数B.两个表中相对应的列必须具有相同的数据类型C.UNION的结果集列名与第一个SELECT语句的结果集中的列名相同D.UNION的结果集列名与第二个SELECT语句的结果集中的列名相同E.UNIONALL运算符返回每个数据集的所有成员34.下面关于联接的描述正确的是(A)。A.内联接使用比较运算符根据每个表共有的列值来匹配两个表中的行B.左外联接结果集包含从右边的表返回的所有行C.右外联接结果集包含从左边的表返回的所有行D.全外联接返回左表和右表中的所有匹配的行35.下面关于数据库设计过程正确的顺序描述是(C)。A.需求收集和分析、逻辑设计、物理设计、概念设计B.概念设计、需求收集和分析、逻辑设计、物理设计C.需求收集和分析、概念设计、逻辑设计、物理设计D.需求收集和分析、概念设计、物理设计、逻辑设计36.ER图属于下面哪一种数据库设计模型(B)。A.物理数据模型B.概念数据模型C.逻辑数据模型D.需求模型37.非主键必须完全依赖于主键列,这属于下列范式的内容(BC)A.1NFB.2NFC.3NFD.都没有的38.如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立(B)。A.PK(主键)B.FK(外键)C.UK(唯一键)D.复合主键39.根据三个范式的定义,下面哪个选项的设计是正确的(C)职工编号姓名工种车间车间主任1001李宁车工一车间周杰1002王海铣工一车间周杰1003赵亮钳工二车间吴明1001李宁钳工二车间吴明A.员工表、工种表、车间表B.员工表、工种表、车间表、车间主任表C.员工表、工种表、车间表、员工工种表、员工车间表D.以上设计均不正确40.下列说法中,哪些是正确的(BD)A.RDBMS是数据库管理系统的简称B.各行记录都不能重复,是第二范式要求的C.在数据库设计中一定要满足第三范式D.索引越多,查询越快,数据更新越慢

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。