首页 >excel操作 > 内容

数据库(MySQL)开发技术题库

2023年5月27日 11:21

选择+填空+简答

选择题

1、SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个___D___

A) 数据项 B) 记录 C) 元组 D) 表

2、如果学生表st是使用以下SQL语句创建的:

CREATE TABLE st (sno CHAR(4) not null,sn CHAR(8),sex CHAR(2),age INT)

下面的SQL语句中可以正确执行的是___A___

A) INSERT INTO st(sno,sex,age) VALUES ('s9','男',17)

B) INSERT INTO st(sn,sex,age) VALUES(″李安齐″,″男″,20)

C) INSERT INTO st(sex,age)VALUES(″男″,20)

D) INSERT INTO st(sno,sn)VALUES(″s9″,″安齐″,16)

3、学生表中st(学号,姓名,性别,年龄)

删除其中的“年龄”字段的SQL语句是___A___

A) ALTER TABLE st DROP 年龄

B) DROP 年龄 FROM st

C) ALTER TABLE st DELETE 年龄

D) DELETE年龄FROM st

4、在SQL Server2005中,通配符只有在____D_____子句中才有意义,否则会被当作普通字符使用。

A)COUNT B)SELECT C)SUM D)LIKE

5、SQL Server 2005中,主数据库文件的扩展名为___A___

A) .mdf B) .dbf C) .ldf D) .ndf

6、SQL语句中删除表的命令是___C____

A) DELETE TABLE B) DELETE DBF

C) DROP TABLE D) DROP DBF

7、下面哪一个不是SQL SERVER 2005的系统数据库? C

A)master B)tempdb

C)txl D)msdb

8、下面哪一个是SQL SERVER 2005事务日志文件的后缀名?D

A)mdf B) ndf C) doc D) ldf

9、在数据库设计中,将ER图转换成关系数据模型的过程属于(B)

A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段

10、SQL语言的标准库函数COUNT、SUM、AVG、MAX和MIN等,不允许出现在下列哪个子句中D

A) SELECT B) HAVING C) GROUP D) WHERE

11、SQL语言中建立唯一性索引的命令是___C___

A) CREATE INDEX 索引名 ON 基本表名(属性名)

B) CREATE INDEX UNIQUE索引名 ON 基本表名(属性名)

C) CREATE UNIQUE INDEX索引名 ON 基本表名(属性名)

D) CREATE DISTINCT INDEX索引名 ON 基本表名(属性名)

12、要想用T-SQL语句从学生表中查询学号的前四个字符为“2004”的学生,条件表达式为__A__

A) 学号 LIKE '2004%'

B) 学号= '2004%'

C) 学号 LIKE '2004*'

D) 学号 = '2004*'

13、下面哪一个不是SQL SERVER 2005常用的数据类型?A

A)integer B) bit C) datetime D) varchar

14、SQL中的视图提高了数据库系统的( D)

A.完整性 B.并发控制 C.隔离性 D.安全性

15、数据库中数据的正确性、有效性和相容性称为(C)

A、恢复 B、并发控制 C、完整性 D、安全性

16、SQL中的主键子句和外键子句属于DBS的(A)

A、完整性措施 B、安全性措施 C、并发性措施 D、恢复措施

17、视图的概念具有很多优点,下面哪一个不是它的优点(C)

A、视图对于数据库的重构造提供了一定程度的逻辑独立性

B、简化了用户观点

C、视图机制方便了不同的用户以同样的方式看待同一数据

D、视图机制对机密数据提供了自动的安全保护功能

18、在创建数据库时,系统自动将(C)系统数据库中的所有用户定义的对象都复制到数据库中。

A.Master

B.Msdb

C.Model

D.Tempdb

19、SQL Server 2008 R2的系统数据库是(D )。

A.Master,Tempdb,AdventureWorks,Msdb,Resource

B.Master,Tempdb,Model,Librar,Resource

C.Master,Northwind,Model,Msdb,Resource

D.Master,Tempdb,Model,Msdb,Resource

20、使用T-SQL创建表的语句是( B )。

A.DELETE TABLE B.CREATE TABLE

C.ADD TABLE D.DROP TABLE

21、在T-SQL中,关于NULL值叙述正确选项是 (D)。

A.NULL 表示空格

B.NULL表示0

C.NULL既可以表示0,也可以表示是空格

D.NULL表示空值

22、为数据表创建索引的目的是(A )

A.提高查询的检索性能 B.创建唯一索引 C.创建主键 D.归类

23、可以在创建表时用(C)两种方法来创建唯一索引。

A.设置主键约束,设置唯一约束

B.CREATE TABLE,CREATE INDEX

C.设置主键约束,CREATE INDEX

D.以上都可以

24、SQL Server的字符型系统数据类型主要包括(B )。

A.int、money、char B.char、varchar、text

C.datetime、binary、int D.char、varchar、int

25、字符串常量使用(A )作为定界符。

A.单引号 B .双引号 C.方括号 D.花括号

26、表达式 ‘123'+‘456' 的结果是(C )。

A. '579' B. 579 C . '123456' D . '123'

27、下列函数中,返回值数据类型为 int 的是(B )。

A. LEFT B .LEN

C . LTRIM D.SUNSTRING

28、关系数据表的关键字可由(D)列属性组成

A .一个 B .两个 C .多个 D .一个或多个

29、下面是有关主键和外键之间关系的描述,请问哪些描述是正确的(A)。

A.一个表中最多只能有一个主键约束,多个外键约束。

B.一个表中最多只能有一个外键约束,一个主键约束。

C.在定义主键外键时,应该首先定义主键约束,然后定义外键约束。

D.在定义主键外键时,应该首先定义外键约束,然后定义主键约束。

30、【表设计器】的“允许空”单元格用于设置该列是否可输入空值,实际上就是创建该列的(C )约束。

A.主键 B.外键 C.NULL D.CHECK

31、可使用下列操作中的( D)为字段输入 NULL 值。

A.输入 NULL

B.输入 <NULL>

C.将字段清空

D.按【 Ctrl+O 】键

32、假设列中的数据变化规律如下,请问哪一种情况可以使用IDENTITY列定义(A)。

A.1,2,3,4,5…

B.10,20,30,40,50…

C.1,1,2,3,5,8,13,21…

D.2,4,6,8,10…

33、关于索引描述错误的是以下的哪一项?(A)

A.表中的任何数据列都可以添加索引

B.创建索引的列最好不要含有许多重复的值

C.一般不给很少使用的列添加索引

D.并不是数据库中的聚集索引越多搜索效率就越高

34、以下哪种情况应尽量创建索引( A )。

A. 在WHERE子句中出现频率较高的列

B. 具有很多NULL值的列

C. 记录较少的基本表

D. 需要更新频繁的基本表

35、在一个表上,最多可以定义多少个聚簇索引(A)。

A.1

B.2

C.3

D.多个

36、在查看关系图内容时,下面操作不能实现的是(C )。

A.调整数据表大小

B.调整数据表位置

C.自动排列数据表

D.自定义数据表显示比例

37、对于DROP TABLE 命令的解释正确的是(B)

A.删除表里的数据,保留表的数据结构

B.删除表里的数据,同时删除了表的数据结构

C.保留数据,删除表的数据结构

D.删除此表,并删除数据库里所有与此表有关联的表

38、CREATE TABLE 语句(C )。

A.必须在数据表名称中指定表所属的数据库

B.必须指明数据表的所有者

C.指定的所有者和表名称组合起来在数据库中必须唯一

D.省略数据表名称时,则自动创建一个本地临时表

39、下列叙述错误的是(C)。

A.ALTER TABLE 语句可以添加字段

B.ALTER TABLE 语句可以删除字段

C.ALTER TABLE 语句可以修改字段名称

D.ALTER TABLE 语句可以修改字段数据类型

40、ALTER TABLE 语句可以(A )。

A.同时修改字段数据类型和长度

B.修改计算列

C.在添加字段时创建该字段的约束

D.同时删除字段和字段约束

41、下面关于 UPDATE 语句错误的是(D )。

A.可以使用 DEFAULT 关键字将字段设置为默认值

B.可以使用 NULL 关键字将字段设置为空值

C.可使用 UPDATE 语句同时修改多行

D.如果 UPDATE 语句中没有指定搜索条件,则默认只能修改第一行

42、如果表创建唯一索引后SQL Server将禁止(B)语句向表中添加重复的键值行。

A.INSERT B.INSERT或UPDATE C.UPDATE D.ADD

43、查询语句“SELECT name,sex,birthday FROM human”返回(C )列。

A.1 B.2 C.3 D.4

44、语句“SELET COUNT(*) FROM human”返回(A )行。

A.1 B.2 C.3 D.4

45、假设数据表“test1”中有10条数据行,可获得最前面两条数据行的语句为( B )。

A.SELECT 2 * FROM test1 B.SELECT TOP 2 * FROM test1

C.SELECT PERCENT 2 * FROM test1 D.SELECT PERCENT 20 * FROM test1

46、下面关于查询语句中 ORDER BY 子句使用正确的是(C )。

A.如果未指定排序列,则默认按递增排序

B.数据表的列都可用于排序(各种类型)

C.如果在 SELECT 子句中使用了 DISTINCT 关键字,则排序列必须出现在查询结果中

D.联合查询不允许使用 ORDER BY 子句

47、在 T-SQL 语法中, SELECT 查询语句的子句有很多个,但至少包括的子句是( B)

A.SELECT ,INTO B.SELECT ,FROM

C.SELECT ,GROUP D.仅SELECT

48、在 T-SQL 语法中,使用关键字(A )可以把重复行屏蔽

A.DISTINCT B.UNION C.ALL D.TOP

49、在 T-SQL 语法中,可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(B )

A.JOIN B.UNION C.INTO D.LIKE

50、在 T-SQL 语法中,如果在 SELECT 语句中使用聚合函数(列函数)进行分组统计或汇总时,一定在后面使用( A )

A.GROUP BY B.COMPUTE BY C.HAVING D.COMPUTE

51、在T-SQL中,与NOT IN等价的操作符是(D)

A.=SOME

B.<>SOME

C.=ALL

D.<>ALL

52、下列关于执行查询叙述正确的是(C)

A.如果没有选中的命令,则只执行最前面的第一条命令

B.如果有多条命令选择,则只执行选中命令中的第一条命令

C.如果查询中有多条命令有输出,则按顺序显示所有结果

D.都正确

53、下列关于查询结果错误的是(C)

A.查询结果可以显示在表格中

B.查询结果可以按文本方式显示

C.以文本和表格显示的查询结果在保存时,其文件格式不同

D.不管以那种方式查看,查询结果都会显示在查询结果窗口中

54、设 A 、 B 两个数据表的记录数分别为 3 和 4 ,对两个表执行交叉联接查询,查询结果中最多可获得(C )条记录

A. 3 B.4 C.12 D.81

55、如果查询的 SELECT 子句为 SELECT A, B, C * D ,则不能使用的 GROUP By 子句是(D )

A.GROUP BY A

B.GROUP BY A,B

C.GROUP BY A,B,C*D

D.GROUP BY A,B,C,D

56、T-SQL中,下列操作不正确的是(D)

A.AGE IS NOT NULL

B.NOT(AGE IS NULL)

C.SNAME='王五'

D.SNAME='王%'

57、有关SELECT colA colB FROM table-name语句,请问下面哪一种说法正确的(A)

A.该语句不能正常执行,因为出现了语法错误。

B.该语句可以正常执行,其中colA 是colB的别名。

C.该语句可以正常执行,其中colB是colA的别名。

D.该语句可以正常执行,colA和colB两个不同的列名。

58、下面是有关分组技术的描述,请问哪一种描述是正确的(B)

A.SELEGT子句中的非合计列必须出现在GROUP BY子句中。

B.SELEGT子句中的非合计列可以不出现在GROUP BY子句中。

C.SELEGT子句中的合计列必须出现在GROUP BY子句中。

D.SELEGT子句中的合计列可以不出现在GROUP BY子句中。

59、由EXISTS引出的子查询,其目标列表达式通常都用(C),因为带EXISTS的子查询只返回真值或假值

A.% B.? C.* D._

60、不允许对视图中的计算列进行修改,也不允许对视图定义中包含有统计函数或(B)子句的视图进行修改和插入操作

A.ORDER BY B.GROUP BY C.HAVING D.SELECT

70、下面语句(B)是正确的

A. 视图是一种常用的数据库对象,使用视图不可以简化数据操作。

B. 使用视图可以提高数据库的安全性。

C.视图结构与SELECT子句所返回的结果集结构相同,但视图中的列是由算术表达 式、函数或常量等产生的计算列时,必须在创建视图时指出列名。

D.DELETE VIEW语句是删除视图

71、下列(D)功能是视图可以实现的

A.将用户限定在表中的特定行上

B.将用户限定在特定列上

C.将多个表中的列连接起来

D.将多个数据库的视图连接起来(分布式分区)

72、下列(C)选项是在使用视图修改数据时需要注意的

A.在一个UPDATE语句中修改的字段必须属于同一个基表

B.一次就能修改多个视图基表

C.图中的所有列的修改必须遵守视图基表中所定义的各种数据完整性约束

D.可以对视图中的计算列进行修改

73、下面是有关视图特征的描述,请问那些描述是正确的

A.ORDER BY子句可以出现在CREATE VIEW语句中。

B.ORDER BY 子句不可以出现在CREATE VIEW语句中。

C.GROUP BY子句可以不出现在CREATE VIEW语句中。

D.GROUP BY子句不可以出现在CREATE VIEW语句中。

一、选择题

构成DBS有

(A) DB、DBMS、DBA、APP、用户 (B) DB、DBMS、DBA

(C) DBMS、DBA、APP、用户 (D) DB

DB、DBMS和DBS三者之间的关系是(B)

(A) DB包括DBMS和DBS (B) DBS包括DB和DBMS

(C) DBMS包括DB和DBS (D) 不能相互包括

E-R图是数据库设计的工具之一它适用干建立数据库的(A)

(A) 概念模型 (B) 逻辑模型

(C) 结构模型 (D) 物理模型

SELECT语句使用(A)可以把检索结果中的重复行屏蔽掉。

(A) DISTINCT (B) UNION

(C) UNIQUE (D) Top

SQL语言的一次查询的结果是一个(D)

(A)数据项 (B) 记录

(C)元组 (D) 表

SQL语言具有两种使用方式,分别称为交互式SQL和(C)

(A)编译式SQL (B)解释式SQL

(C)嵌入式SQL (D)过程化SQL

SQL语言是(C)语言

(A)层次数据库 (B)网络数据库

(C)关系数据库 (D)非数据库

SQL语言是关系数据库的标准语言,它是(B)

(A)过程化的 (B)非过程化的

(C)格式化的 (D)导航式的

X→Y,当下列(C)成立时,称为非平凡函数依旅。

(A)X非空 (B)Y→X (C) Y⊈X (D)Y⊆X

按所使用的数据模型来分.数据库可分为(A)三种类型.

(A)层次、关系和网状 (B)网状、环状和链状

(C)大型、中型和小型 (D)独享、共享和分时

保护数据库.防止未经授权的或不合法的使用适成的数据泄露、更改破坏。这是指数据库的(A)

(A)安全性 (B)完整性

(C)并发控制 (D)恢复

不属于E-R模型中的概念是

(A)实体 (B)属性 (C)联系 (D)数据表

从E-R模型向关系模型转换时,一个M:N联系转换为关系模式,该关系模式的码是(C)

(A) N端实体的码 (B) M端实体的码

(C) M端实体的码与N端实体的码的组合 (D)非M端非N端实体码的其它属性

从一个数据库文件中取出满足某个条件的所有记录的操作是(A)

(A)选择 (B)连接

(C)投影 (D)复制

当关系模式R(A.B)已属于3NF,下列说法中(B)是正确的.

(A)它一定消除了插入异常和删除异常 (B)仍存在一定的插入和删除异常

(C)一定属于BCNF (D)A和C都是

根据关系数据基于的数据模型,对关系模型特征判断正确的是(B)

(A)只能表示实体之间的一对多关系。

(B)以二维表格结构来保存数据,在关系表中不允许有重复行存在。

(C)能体现一对多、多对多的关系,但不能体现一对一的关系。

(D)关系模型数据库是数据库发展的最初阶段。

在关系型数据库中,DBMS利用(B)来自动保持一个关系模式中的元组不重复

(A)SELECT (B)码 (C)BCNF (D)3NF

根据数据库规范化理论,下面命题中正确的是(D)

(A)若R∈2NF,则R∈3NF (B)若R∈1NF,则R∉BCNF

(C)若R∈3NF,则R∈BCNF (D)若R∈BCNF,则R∈3NF

关系规范化理论中的播入异常是指(D)

(A)不该删除的数据被删除 (B)不该插入的数据被插入

(C)应该删除的数据不能被删除 (D)应该插入的数据不能被插入

关系规范化中的删除操作异常是指(A)

(A)不该删除的数据被删除 (B)不该插入的数据被插入

(C)应该删除的数据不能被删除 (D)应该插入的数据不能被插入

关系规范化理论中的播入异常的原因是(D)

(A)不该插入的数据的码重复 (B)应该插入的数据的码重复

(C)不该插入的数据的码不全 (D)应该插入的数据的码不全

关系模式中,满足2NF的模式,(D)

(A)可能是1NF (B)必定是BCNF

(C)必定是3NF (D)必定是1NF

关系数据库的规范化理论指出.关系数据库中的关系应满足一定的要求,起码的要求是达到1NF,即满足(D)

(A)每个非主属性都完全依赖于主属性 (B)主属性唯一标识关系中的元组

(C)关系中的元组不可重复 (D)每个属性都是不可再分的

关系数据库规范化是为解决关系数据库中(A)问题而引入的。

(A) 插入、删除异常和数据冗余 (B)提高查询速度

(C) 减少数据操作的复杂性 (D)保证数据的安全性

关系数据库中的码是指(D)

(A) 能唯一决定关系的字段 (B) 不可改动的专用保留字

(C) 关系的很重要的字段 (D) 能唯一标识元组的一个属性或一组属性

关系数据模型是目前最重要的一种数据模型.它的三个要素分别是(B)

(A)实体完整性、参照完整性、用户自定义完整性

(B)数据结构、关系操作、完整性约束

(C)数据增加、数据修改、数据查询

(0)外模式、模式、内模式

关系运算以关系代数为理论基础.关系代数的最基本操作是并、差(C)

(A)投影、连接、规范化 (B)连接、选择、规范化

(C)选择、投影、连接 (D)选择、投影、规范化

37、关干数据库设计的正确描述是(B〕

(A)进行数据模型的设计 (B)在DBMS的支持下,进行数据模型和应用程序设计

(C)开发应用程序 (D)设计开发DBMS

规范化的关系模式的任何属性(A)

(A)不可再分 (B〕可以再分

(C)命名在关系模式上可以不唯一 (D)上述都不正确

规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及(C)缺陷。

(A)数据的不一致性 (B)结构不合理

(C)冗余度大 (D)数据丢失

规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足,其每一属性都是(B)

(A)互不相关的 (B〕不可分解的 (C〕长度可变的 (D)互相关联的

规范化理论可以消除数据库的(A)

(A)插入异常、删除异常 (B)插入异常 (C)删除异常 (D)查询异常

规范化理论建立在()的基础上

(A)DBMS (B)SELECT (C)函数依赖 (D)数据库

候选码中的属性称为(B)

(A)非主属性 (B)主属性 (C)复合属性 (D)关健属性

假设关系模式R(A.B)∈3NF,下列说法中正确的是(B)。

(A)R一定消除了插入和删除异常 (B)R仍可能存在一定的插入和删除异常

(C)R一定属于BCNF (D)R一定存在插入和删除异常

将一个关系从2NF规范到3NF,目的是消除(B)

(A)非主属性对码的部分函数依赖 (B)非主属性对码的传递函数依赖

(C)主属性对码的部分和传递函数依赖 (D)非平凡的函数依赖

如果想找出关系R上属性A的值为空的那些元组,则条件子句应该为(C)

(A)WHERE A=NULL (B)WHERE A==NULL

(C)WHERE A IS NULL (D)WHERE A NOT IS NULL

如果一个关系符合3NF,则它(A)

(A)必然符合2NF (B)必然符合4NF

(C)必然不符合2NF (D)必然符合BCNF

如果有两个事务同时对数据库中同一数据进行操作,不会引起冲突的操作是(D

(A)一个是DELETE.一个是SELECT (B)一个是SELECT.一个是DELETE

(C)两个都是UPDATE (D)两个都是SELECT

若关系模式R∈3NF,则下面最正确的说法是(C)

(A)某个非主属性不传递依赖于码 (B)某个非主属性不部分依赖于码

(C)所有非主属性都不传递依赖于码 (D)所有非主属性都不部分依赖于码

若关系模式R中的属性全是主属性,则R的最高范式等级至少是(C)

(A)1NF (B)2NF (C)3NF (D)BCNF

若关系模式R只有一个候选码且所有属性全是主属性,则R的最高范式等级至少是(C)

(A)1NF (B)2NF (C)3NF (D)BCNF

设学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT)的主健为SNO,学生选课关系SC(SNO,CNO,SCORE)的主健为SNO和CNO,关系R(SNO,CNO,SSEX,SAGE,SDEPT,SCORE)的主健为SNO和CNO,关系R满足(A)

(A)1NF(B)2NF(C)3NF(D)都不对

设学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT)的主健为SNO,课程关系C(CNO,CNAME)的主键为CNO,学生选课关系SC(SNO,CNO,SCORE)的主健为SNO和CNO,则这三个关系都(D)

(A)属于1NF不属于2NF (B)属于2NF不属于3NF

(C)属于3NF不属于BCNF (D)属于BCNF

设学生关系模式为:学生(学号.姓名.年龄.性别.平均成绩.专业).则该关系模式的主键是(C)

(A)姓名 (B)学号,姓名 (C)学号 (D)学号,姓名,年龄

设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是(C〕

(A)Wl(工号,姓名),WZ(工种,定额)

(B)Wl(工号,工种,定额),WZ(工号,姓名)

(C)wi(工号.姓名.工种),wZ(工种,定额)

(D)以上都不对

设有关系WORK(ENO,CNO,PAY),主码为(ENO,CNO),正确的是(D)

(A)只有ENO不能取空值 (B)只有CNO不能取空值

(C)只有PAY不能取空值 (D)ENO与CNO都不能取空值

设有关系模式R(S,D,M).其函数依赖集F(S→D,D→M),则关系模式R的规范化程度最高达到(B)

(A)1NF(B)2NF(C)3NF(D)都不正确

数据库的概念模型独立于(A)

(A)具体的机器和DBMS (B)E-R图 (C)信息世界 (D)现实世界

数据库概念设计的E-R方法中,用属性描述实体的特征,属性在E-R图中用(D)表示

(A)矩形 (B)四边形 (C)菱形 (D)椭圆形

数据库完整性约束的建立需要使用DBMS报供的(A)

(A)数据定义语言 (B〕数据操纵语言 (C)数据查询语言 (D)数据控制语言

数据库系统的数据独立性体现在(B)

(A)不会因为数据的变化而影响到应用程序

(B)不会因为数据存储结构与数据逻辑结构的变化而影响应用程序

(C)不会因为存储策略的变化而影响存储结构

(D)不会因为某些存储结构的变化而影响其他的存储结构

数据库系统是在(A)的基础上发展起来的。

(A)文件系统(B)应用程序系统(C)数据库管理系统(D)编译系统

数据库系统与文件系统的主要区别是(B)

(A)数据库系统复杂.而文件系统简单。

(B)文件系统不能解决数据冗余和数据独立性间题,而数据库系统可以解决。

(C)文件系统只能管理程序文件.而数据库系统能够管理各种类型的文件。

(D)文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量。

为了考虑安全性,每个部门的领导只能存取本部门员工的档案,为此DBA应创建相应的(C)

(A)表(table) (B)索引(index) (C)视图(view) (D)游标(cursor)

为数据表创建索引的目的是(A)

(A)提高查询的检索速度(B)创建唯一索引(C)创建主健(D)分类

下列关于“数据库三级模式结构”的叙述中,哪一条是不正确的?(C)

(A)视图是外模式

(B)模式是数据库中全体数据的逻辑结构和特征的描述

(C)一个数据库可以有多个逻辑模式

(D)一个数据库只有一个内模式

下列关干SQL语言中索引(Index)的叙述,哪一条是不正确的?(A)

(A)索引是外模式

(B)一个基本表上可以创建多个索引

(C)索引可以加快查询的执行速度

(D)系统在存取数据时会白动选择合适的索引作为存取路径

下列关于视图的说法中错误的是(C)

(A)视图是从一个或多个基本表导出的表,它是虚表

(B)视图可以被用来对无权用户屏蔽数据

(C)视图一经定义就可以进行任意的插入和删除操作

(D)视图可以用来定义新的视图

下列哪种关系运算不要求R和S具有相同的属性(D)

(A)RUS(B)R∩S

(C)R-S (D)R∩S

下列四顶中.不属干数据库系统特点的是(C)

(A)数据共享 (B)数据完整性

(C)数据冗余度高 (D)数据独立性高

下面关于自然连接与等值连接的各个叙述中,不正确的是(B)

(A)自然连接是一种特殊的等值连接

(B)自然连接要求两个关系中具有相同的属性组,而等值连接不必

(C)两种连接都可以只用笛卡尔积和选择运算导出

(D)自然连接要在结果中去掉重复的属性,而等值连接则不必

下面哪个不是数据库系统必须提供的数据控制功能(B)

(A)安全性(B)可移植性

(C)完整性(D)并发控制

下述SQL命令的短语中,不是定义属性上约束条件的是(D)

(A)NOT NULL短语(B)UNIQUE短语(C)CHECK短语(D)HAVING短语

现要查找缺少学习成绩G的学生学号(SNO)和课程号(CNO),相应的SQL语句应为

SELECT SNO,CNO

FROM SC

WHERE (D)

(A)G=0 (B)G<0 (C)G=NULL (D)G IS NULL

消除了非主属性对码的部分函数依赖的1NF的关系模式必定是(B)

(A)1NF(B)2NF(C)3NF(D)BCNF

下列选项中关于视图的说法错误的是(B)

(A)视图是一种虚拟表

(B)视图中也保存有数据

(C)视图也可由视图派生出来

(D)视图的内容来源于一个SQL的SELECT查询

下列选项中删除表的语句是(A)

(A)DROP(B)ALTER(C)UPDATE(D)DELETE

学生表s(id,name,sex,age,dept_id,deptname).存在的函数依赖是id→name、sex、age、dept_id ,dept_id→dept_name,S满足(B)

(A)1NF(B)2NF(C)3NF(D)都不正确

要修改表的结构.应使用SQL语言的命令(C)

(A)UPDATE TABLE (B)MODIFY TABLE

(C)ALTER TABLE (D)CHANGE TABLE

一个关系只有一个(D)

(A)候选码 (B)编码 (C)密码 (D)主码

已知关系R和S如下表所示:试对R和S进行交运算.其结果的元组行数应是(B)

(A)0(B)1(C)4(D)6

以下哪一条属于关系数据库的规范化理论要解决的问题?(A)

(A)如何构造合适的数据库逻辑结构

(B)如何构造合适的数据库物理结构

(C)如何构造合适的应用程序界面

(D)如何控制不同用户的数据操作权限

有关系模式R(S,T,C,D,G),其函数依赖集:F={(S,C)→T,C→D,(S,C)→G,T→C)关系模式R的候选关键字(D)

(A)仅有1个,为(S,C)

(B)仅有1个,为(S,T)

(C)有2个,为(S,C)和(T)

(D)有2个,为(S,C)和(S,T)

有学生关系.学生(学号,姓名,年龄).对学生关系的查询语句如下:

SELECT学号

FROM学生

WHERE年龄>20 AND姓名LIKE ’%伟’

如果要提高查询速度,应该建索引的属性是(C)

(A)学号(B)姓名(C)年龄(D)(学号,姓名)

在SQL语言的SELECT语句中,对投影操作进行说明的是哪个子句(A)

(A)SELECT(B)FROM(C)WHERE(D)ORDER BY

在SQL语言中.DELETE语句的作用是(D)

(A)删除基本表(B)删除视图

(C)删除基本表和视图 (D)删除基本表或视图的元组

在SQL语言中.数值函数COUNT(列名)用干(C)

(A)计算元组个数(B)计算属性的个数

(C)对一列中的非空值计算个数(D)对一列中的非空值和空值计算个数

在SQL语言中.用于测试列值非空的短语是(C)

(A)IS NOT EMPTY (B)NOT UNIQUE

(C)IS NOT NULL(D)NOT EXISTS

在关系代数的专门关系运算中,从表中取出指定的属性的操作称为(B)

(A)选择(B)投影(C)连接(D)扫描

在关系代数的专门关系运算中,从表中选出满足某种条件的元组的操作称为〔A)

(A)选择(B)投影(C)连接(D)扫描

在关系代数的专门关系运算中,将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为(C)

(A)选择(B)投影(C)连接(D)笛卡尔积

在关系代数中,从两个关系的笛卡尔积中选取它们属性间满足一定条件的元组的操作称为(D)

(A)并(B)选择(C)自然连接(D)连接

在关系规范化中,分解关系的基本原则是(B)

I、实现无损连接.

II、分解后的关系相互独立.

III、保持原有的依赖关系.

(A)I和II,(B)I和III;(C)I.(D)II.

在关系模式设计时.每个关系模式应对应于(A)

(A)一个实体类型或一个联系类型(B)一个实体类型加一个联系类型

(C)多个实体类型(D)多个联系类型

在关系数据库中.要求基本关系中所有的主属性上不能有空值.其遵守的约束规则是(C)

(A〕数据依赖完整性规则(B)用户定义完整性规则

(C)实体完整性规则(D)上述都不正确。

在数据管理技术的发展过程中.经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是(A)阶段。

(A)数据库系统(B)文件系统(C)人工管理(D)数据单独管理

在数据库的三级模式结构中.描述数据库中全体数据的全局逻辑结构和特征的是(D)

(A)外模式(B)内模式(C)存储模式(D)模式

在数据库中存储的是(C)

(A)数据(B)数据模型(C)数据以及数据之间的联系(D)信息

在数据库中可以创建和删除表、视图,可以修改表结构。这是因为数据库管理系统提供了(A)

(A)数据定义功能(B)数据操纵功能(C)数据维护功能(D)数据控制功能

在下面的数据库表中.若学生表的主码是学号,系别表的主码是系别号,用SQL语句不能完成的操作是(B)

(A)从学生表中删除行('005',‘王明’,20,'01')

(B)将行(’005’,’王山’,19,'04’)插入到学生表中

(C)将学号为’001’的年龄改为18

(D)将学号为’010’的系别号改为’04’,

自然连接是构成新关系的有效方法。一般情况下,当关系R和S进行自然连接时,要求R和S含有一个或多个共有的(D)

(A)元组(B)行(C)记录(D)属性

第一章 MySQL概述

选择:

1、根据关系模式的完整性规则,一个关系中的主键(  )。

A.不能由两个字段组成 B.不能成为另一个关系的外部键

C.不允许空值 D.可以取空值

正确答案是: C 

2、若MySql默认设置为手动提交,DELETE FROM S WHERE 年龄>60语句的功能是______。

A.从S表中彻底删除年龄大于60岁的记录

B.S表中年龄大于60岁的记录被加上删除标记

C.删除S表 D.删除S表的年龄列

正确答案是: B    

3、用SQL 的ALTER TABLE 语句修改基本表时,删除其中某个列的约束条件应使用的子句是( )

A.ADD B. DELETE C. MODIFY D. DROP

正确答案是: D 

4、使用SELECT语句显示表的所有的列时,选用的符号是( )。

A.* B.[] C._ D.[^]

正确答案是: A   

5、下列语言中属于结构化查询语言的是( )。

A.Java B.C C.SQL D.C++

正确答案是: C  

6、在SQL中,建立视图用(  )。

A. Create table 命令 B. Create view 命令

C. Create index 命令 D. Create proc 命令

正确答案是: B   

7、要快速完全清空一个表,可以使用如下语句:

A. TRUNCATE TABLE B. DELETE TABLE

C. DROP TABLE D. CLEAR TABLE

正确答案是: A   

8、创建视图时:

A. 可以引用其它的视图 B. 一个视图只能涉及一张表

C. 可以替代一个基表 D. 以上说法都不正确

正确答案是: A   

9、使用ALTER TABLE修改表时,如果要修改表的名称,可以使用哪一子句?

A.CHANGE NAME B.SET NAME

C.RENAME D.NEW NAME

正确答案是: C    

10、数据库信息系统的核心是________。

A.数据模型 B.数据库管理系统

C.数据库 D.数据库管理员

正确答案是: C   

11、设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员。则部门与职员实体之间的联系类型是

A.m:n B.1:m

C.m:1 D.1:1

正确答案是: B    

12、以下哪些命令是DDL语句()

A.CREATE DATABASE命令 B. Update命令

C.SELECT 命令 D. INSERT命令

正确答案是: A   

13、陈述A:查询的类型返回一个带有多值结果的单列用IN子句实现。

陈述B:对于是否存在数据的子查询用EXISTS实现。

关于对以上陈述的描述中,正确的是( )。

A.陈述A错误,陈述B正确 B.陈述A正确,陈述B错误

C.都是错误的 D.都正确

正确答案是: D    

14、有一表:DEPT (dno, dname) ,如果要找出倒数第三个字母为W,并且至少包含4个字母的dname,则查询条件子句应写成 where dname like ( )。

A.’_ _W_% ’ B.’_%W_ _’

C.’_W_ ’ D.’_W_%’

正确答案是: B   

15、查询结果集中将name字段显示为“姓名”,应该使用下面哪个语句?( )

A. select name from authors as 姓名

B. select au_fname=姓名 from authors

C. select * from authors where name=姓名

D. select name 姓名 from authors

正确答案是: D    

16、视图是一个“虚表”,视图的构造基于( )

A.基本表 B.视图

C.基本表或视图 D.数据字典

正确答案是: A   

17、创建表时,不允许某列为空可以使用:

A.NOT NULL B.NO NULL

C.NOT BLANK D.NO BLANK

正确答案是: A   

18、下列四项中,不属于数据库特点的是( )。

A.数据共享 B.数据完整性

C.数据冗余很高 D.数据独立性高

正确答案是: C    

19、E-R图是数据库设计的工具之一,它一般适用于建立数据库的________。

A.概念模型 B.结构模型

C.物理模型 D.逻辑模型

正确答案是: A    

20、在SQL语句中,与表达式"仓库号 NOT IN("wh1","wh2")"功能相同的表达式是

A.仓库号="wh1" AND 仓库号="wh2"

B.仓库号!="wh1" OR 仓库号!= "wh2"

C.仓库号="wh1" OR 仓库号="wh2"

D.仓库号!="wh1" AND 仓库号!="wh2"

正确答案是: D   

21、在SQL中,DROP INDEX 语句的作用是()

A.建立索引 B. 删除索引

C.修改索引 D. 更新索引

正确答案是: B   

22、要想对表中记录分组查询,可以使用哪一子句?

A.GROUP BY B.AS GROUP

C.GROUP AS D.TO GROUP

正确答案是: A   

23、MySQL是一种( )类型的数据库管理系统。

A.关系模型 B.网状模型

C.实体-关系模型 D.层次模型

正确答案是: A  

24、储蓄所有多个储户,储户在多个储蓄所存取款,储蓄所与储户之间是( )。

A.一对一的联系 B.一对多的联系

C.多对一的联系 D.多对多的联系

正确答案是: D   

25、在SELECT语句中用于实现条件选择运算的关键字是

A.FOR B.WHILE

C.WHERE D.CONDITION

正确答案是: C   

26、在SQL中,删除视图用______。

A.DROP SCHEMA命令 B.CREATE TABLE命令

C.DROP VIEW命令 D.DROP INDEX命令

正确答案是: C   

27、下列哪一种连接保证包含第一个表中的所有行和第二个表中的所有匹配行( )。

A. LEFT OUTER JOIN B. RIGHT OUTER JOIN

C. INNER JOIN D. JOIN

正确答案是: A   

28、SQL 查询中去除重复数据的是( )

A. ORDER BY B. GROUP BY

C. DISTINCT D. DESC

正确答案是: C     

第二章 数据库操作

选择:

1、你需要修改 STUDENTS 表在STUDENT_ID列上增加一个PK约束,当前此表为空表,下面语句正确的是?

A. ALTER TABLE students ADD PRIMARY KEY student_id;

B. ALTER TABLE students ADD CONSTRAINT PRIMARY KEY (student_id);

C. ALTER TABLE students ADD CONSTRAINT stud_id_pk PRIMARY KEY student_id;

D. ALTER TABLE students ADD CONSTRAINT stud_id_pk PRIMARY KEY (student_id);

正确答案是: D  

2、下列哪类命令在未提交前可以通过ROLLBACK命令进行回退( )

A. DCL

B. DDL

C. DML

D. DQL

正确答案是: C  

3、评估SQL语句:

SELECT ROUND(45.953, -1) FROM dual;

该语句的显示结果?

A. 46 B. 45.93

C. 50 D. 45.9

正确答案是: C  

4、( )函数通常用来计算累计排名、移动平均数和报表聚合等。

A.汇总 B.分析 C.分组 D.单行

正确答案是: A  

5、( )SQL语句将为计算列SAL*12生成别名Annual Salary

A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp;

B.SELECT ename,sal*12 “Annual Salary” FROM emp;

C.SELECT ename,sal*12 AS Annual Salary FROM emp;

D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp;

正确答案是: A  

6、分析以下的SQL命令:

SELECT 图书.书号,图书.书名,借阅.读者号 FROM 借阅 RIGHT JOIN 图书 ON 图书.书号=借阅.书号

如下描述正确的是(  )。

A 将没借书的读者信息也查出来 B 只查出被借走的图书信息

C 将没被借走的图书信息也查出来 D 只查出被借走图书的书号和书名

正确答案是: C   

7、评估SQL语句:SELECT ename, sal, 12*sal+100 FROM emp;

Sal 列存储的是月薪,现在要求查询语句能够显示 每月增加100元补贴后的年薪,上面的语句如何更改?

A. 不需要做任何修改

B. SELECT ename, sal, 12*(sal+100) FROM emp;

C. SELECT ename, sal, (12*sal)+100 FROM emp;

D. SELECT ename, sal+100,*12 FROM emp;

正确答案是: B   

8、用于显示表结构的命令是什么?

A. DESC B. HOST C. SELECT D. DIR

正确答案是: A   

9、下列SELECT语句用于查询表中email列为空值的行,哪个是正确的?

A. SELECT ename,sal,email from emp where email = 0;

B. SELECT ename,sal,email from emp where email =’ ’;

C. SELECT ename,sal,email from emp where email is null;

D. SELECT ename,sal,email from emp where email is not null;

正确答案是: C    

10、关于约束,下列哪些描述是正确的?()

A. UNIQUE约束不允许空值

B. 在创建PK或UNIQUE 约束时默认会同进创建唯一性索引

C. PK 约束允许列中有一个空值

D. NOT NULL约束是确保列中会出现空值

正确答案是: B    

11、CREATE,DROP,ALTER等命令属于下列哪类命令( )

A. DCL

B. DDL

C. DML

D. DQL

正确答案是: B   

12、INSERT,UPDATE,DELETE等命令属于下列哪类命令( )

A. DCL

B. DDL

C. DML

D. DQL

正确答案是: C   

13、评估SQL语句

SELECT ROUND(TRUNCATE(MOD(1600,10),-1),2) FROM dual;语句执行完成后的结果是?

A. 0 B. 1 C. 0.00 D. 发生错误

正确答案是: A    

第三章 数据表操作

选择:

1、若需要更新居住地为亚特兰大 (Atlanta) 的雇员的区域代码。考虑下面的部分 UPDATE 语句:

UPDATE 雇员 SET 区域代码 = 770

应在 UPDATE 语句中包括以下哪个子句才能得到所需结果?

A. UPDATE 城市 = Atlanta; B. SET 城市 = 'Atlanta';

C. WHERE 城市 = 'Atlanta'; D. LIKE 'At%';

正确答案是: C   

2、MySql数据库中,下面( )可以作为有效的列名。

A. Column

B. 123_NUM

C. NUM_#123

D. #NUM123

正确答案是: C   

3、MySql数据库中,以下( )命令可以删除整个表中的数据,并且无法回滚。

A. drop

B. delete

C. truncate

D. cascade

正确答案是: C   

4、若MySql设置默认提交方式为手动提交,第一步用DELETE命令删除了表A中的数据(但并没有提交),

第二步试图创建了一个表B,但由于权限不足,表B并没有创建成功.

第三步执行了一个ROLLBACK回滚操作.请问以下叙述正确的是( )

A. 表A中的数据被恢复回来

B. 表A中的数据被彻底从数据库中删除

C. 表A中的数据被移至一个临时的表中

D. 表A中的数据将处于一个不确定的状态

正确答案是: A   

5、若MySql设置默认提交方式为手动提交,第一步执行了DELETE命令,删除了某表中的一条记录.第二步执行了COMMIT命令.

最后又执行了ROLLBACK命令.请问以下叙述正确的是( )

A. 被删除的记录又被恢复回来,仍然存放在数据库的表中

B. 被删除的记录彻底从数据库中被删除掉了

C. 被删除的记录只是当前用户看不到了,而其它用户还能看到

D. 被删除的记录当前用户可以看到,而其它用户却看不到了

正确答案是: B   

6、若MySql设置默认提交方式为手动提交,第一步用DELETE命令删除了表A中的数据(但并没有提交),第二步成功创建了一个表B,

第三步执行了一个ROLLBACK回滚操作.请问以下叙述正确的是( )

A. 表A中的数据被恢复回来,创建的表B被从数据库中被删除,恢复为未建表之前的状态

B. 表A中的数据被恢复回来,表B被创建在数据库中.

C. 表A中的数据被彻底从数据库中删除,但表B被从数据库中被删除,恢复为未建表之前的状态

D. 表A中的数据被彻底从数据库中删除,表B被创建在数据库中.

正确答案是: B  

7、若想要修改一个表的结构,应该用以下哪个命令( )

A. ALTER TABLE

B. DEFINE TABLE

C. MODIFY TABLE

D. REBUILD TABLE

正确答案是: A   

8、以下对于事务的叙述,比较全面的是( )

A. 事务中的操作是一个整体,要成功都成功,要失败都失败

B. 事务可以把所操作的数据库由一个状态转变到另一个状态

C. 事务在提交之前,其它事务看不到它对数据库的影响

D. 以上所述都是正确的

正确答案是: D    

9、对于MySql数据库,设计用户表时,家庭住址字段最好采用下面的哪个数据类型进行存储

A. CHAR

B. CHAR2

C. VARCHAR

D. VARCHAR2

正确答案是: C   

10、假定有一张表用户表users,其中一身份证字段ID_card。为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束(  )

A.primary key B.check C.default D.not null

正确答案是: A   

11、以下哪个选项不是有效的MySql约束类型?( )

A. UNIQUE B.NONUNIQUE

C. CHECK D.PRIMARY KEY

正确答案是: B    

12、有数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为

A. 10 10 B. 4 4 C. 10 4 D. 4 10

正确答案是: C    

13、关于表的主键,说法正确的是( )。

A. 主键字段最多只能建立在一个字段上

B. 主键字段的值可以重复

C. 主键字段的值能为Null

D. 主键字段的值不能重复

正确答案是: D   

13、以下哪个命令是DDL命令( )

A. CREATE

B. INSERT

C. COMMIT

D. SELECT

正确答案是: A    

15、以下关于列的叙述中,哪一项是不正确的?

A. 可以增大 CHAR 列的宽度。

B. 如果列包含非空数据,则可以修改列的数据类型。

C. 可以将 CHAR 数据类型的列转换为 VARCHAR2 数据类型。

D. 可以将 DATE 日期类型的列转换为 VARCHAR2 列。

正确答案是: B    

16、如果需要更新 6 月 30 日之前生产的产品的有效期。应在 UPDATE 语句的哪个子句中指定这一条件?

A. ON 子句 B. WHERE 子句 C. SET 子句 D. USING 子句

正确答案是: B    

17、MySql数据库中,取余数的运算符是()。

A. % B. mod C. / D.

正确答案是: A    

18、下面哪个命令不属于数据操纵语言(DML)( )

A.ALTER…

B.INSERT…

C.UPDATE…

D. Delete…

正确答案是: A   

19、使用哪个命令可以从表的行中删除所有数据而不删除表自身?

A. ALTER TABLE B. DROP TABLE C. MODIFY D. DELETE FROM

正确答案是: D    

20、以下哪项陈述最符合此 SQL 语句中“学生”表发生的变化?

UPDATE 学生

SET 午餐编号 = (SELECT 午餐编号 FROM 学生 WHERE 学生标识 = 17 )

WHERE 学生标识 = 19;

A. 此语句将更新“学生”表,具体操作为将标识号为 19 的学生的午餐编号替换为标识号为 17 的学生的午餐编号。

B. 将一个新行插入“学生”表中。

C. 不发生任何变化,因为不能在 UPDATE 语句中使用子查询。

D. 删除学生 17 的午餐编号,并根据学生 19 的午餐编号插入一个新值。

正确答案是: A    

21、删除emp表中所有数据,且可以rollback,以下语句哪个命令可以实现( )

A. truncate table emp

B. drop table emp

C. delete * from emp

D. delete from emp

正确答案是: D   

22、哪个命令用来创建一个primary key constraint pk_books 在表 BOOKS, 列 ISBN上? 请选择一个。

A. create primary key on books(ISBN);

B. create constraint pk_books primary key on books(ISBN);

C. alter table books add constraint pk_books primary key (ISBN);

D. alter table books add primary key (ISBN);

正确答案是: C    

23、以下哪个命令是DCL命令( )

A. CREATE

B. INSERT

C. COMMIT

D. GRANT

正确答案是: D    

第四章 查询操作

选择:

1、应使用以下哪个组函数来显示“雇员”表中的最高薪金值?

A. AVG B. COUNT C. MAX D. MIN

正确答案是: C   

2、转换日期类型为字符串的转换函数是( )。

A. to_date B. to_datetime C. to_char D. to_number

正确答案是: C   

3、下列正确查询姓张的学生的语句是( )。

A. select * from 表名 where 姓名 = ‘张’

B. select * from 表名 where 姓名 like ‘张%’

C. select * from 表名 where 姓名 = ‘%张%’

D. select * from 表名 where 姓名 like ‘张’

正确答案是: B   

4、查询出EMP表中1982年及以后入职的员工信息(注:字段hiredate为入职日期,数据类型为DATE型)

A. select * from emp where hiredate>='19820101';

B. select * from emp where hiredate>=to_char('19820101','YYYYMMDD');

C. select * from emp where to_date(hiredate,'YYYYMMDD')>='19820101';

D. select * from emp where to_char(hiredate,'YYYYMMDD')>='19820101';

正确答案是: A   

5、在PL/SQL中用以下哪个运算符或函数,可以将两个字符串连接起来

A. strcat

B. +

C. ||

D. stradd

正确答案是: C   

6、emp表是雇员信息表,sal字段存放是的雇员的月薪

以下哪个变量可以存放sal类型的值

A. v_sal emp%rowtype;

B. v_sal emp.sal%type;

C. v_sal emp.sal.%type;

D. v_sal %type(emp.sal);

正确答案是: B   

7、emp表是雇员信息表,以下哪个变量可以存放emp表中的一条记录

A. v_record emp%type;

B. v_record emp%recordtype;

C. v_record emp%record_type;

D. v_record emp%rowtype;

正确答案是: D   

8、下面四个语句中哪一个是正确的?( )

A.SELECT * , ENAME FROM EMP;

B.DELETE * FROM EMP;

C.SELECT DISTINCT EMPNO ,HIREDATE FROM EMP;

D.SELECT ENAME|SAL AS “name” FROM EMP ;

正确答案是: C   

9、下列哪个是组合主键的特征( )

A.每列有唯一的值,但不是NULL值

B.组合有唯一的值,并且其中每列没有NULL值

C.组合的第一列和最后一列有唯一值

D.组合的第一列和最后一列有唯一值,但没有NULL值

正确答案是: B   

10、以下 SQL 语句将返回什么结果?

SELECT COUNT(DISTINCT 薪金) FROM 雇员;

A. 雇员表中所有唯一薪金的列表 B. 雇员表中的薪金总额

C. 雇员表中的总行数 D. 雇员表中的唯一薪金的数量

正确答案是: D   

11、在Oracle中,有一个教师表teacher的结构如下:

ID NUMBER(5)

NAME VARCHAR2(25)

EMAIL VARCHAR2(50)

下面哪个语句显示没有Email地址的教师姓名()。

A.SELECT name FROM teacher WHERE email = NULL;

B.SELECT name FROM teacher WHERE email <> NULL;

C.SELECT name FROM teacher WHERE email IS NULL;

D.SELECT name FROM teacher WHERE email IS NOT NULL;

正确答案是: C    

12、关于通配符中的“%”,以下说法正确的两项是( )。

A. 代表任意一个字符,与Like结合使用

B. 代表任意多个字符,与Like结合使用

C. 代表任意一个字符,在Like后的表达式中只能使用一次“%”

D. 代表任意多个字符,在Like后的表达式中不可以使用多次“%”

正确答案是: B   

13、查询出所有名字以'S'开始的员工( )

A. select * from emp where ename in 'S%';

B. select * from emp where ename='S%';

C. select * from emp where ename like 'S%';

D. select * from emp where ename like 'S_';

正确答案是: C   

14、语句SELECT * FROM dept WHERE NOT EXISTS (SELECT * FROM emp WHERE deptno=dept.deptno)执行后的结果为( )

A.只显示存在于EMP表中的部门全部信息。

B.只显示不存在于EMP表中的部门全部信息

C.未返回任何数据

D.显示DEPT表中的全部信息

正确答案是: B   

15、在Oracle中,下面用于限制分组函数的返回值的子句是()。

A.WHERE

B.HAVING

C.ORDER BY

D.无法限定分组函数的返回值

正确答案是: B   

16、对于以下SQL语句说法正确的是

SELECT ename FROM emp

WHERE sal IN (SELECT MAX(sal)

FROM emp GROUP BY deptno);

A. 这个语句是符合语法的

B. 这个语句是不能执行的,因为缺少HAVING子句

C. 这个语句是不能执行的,因为分组的条件列不在SELECT列表中

D. 这个语句是不能执行的,因为GROUP BY子句应该在主查询中,而不是在子查询中

正确答案是: A   

17、( )子句用于列出唯一值。

A.unique B.distinct C.order by D.group by

正确答案是: B    

18、下面哪一个语句可以使用子查询( )

A.SELECT 语句 B.UPDATE语句

C.DELETE语句 D.以上都是

正确答案是: D   

19、列出EMP表中,从事每个工种(JOB)的员工人数( )

A. select job from emp;

B. select job,count(*) from emp;

C. select distinct job,count(*) from emp;

D. select job,count(*) from emp group by job;

正确答案是: D   

20、查询出EMP表中COMM字段为空的记录( )

A. select * from emp where comm='';

B. select * from emp where comm=null;

C. select * from emp where nvl(comm)=0;

D. select * from emp where comm is null;

正确答案是: D   

21、哪一个是子查询执行的顺序( )

A.最里面的查询到最外面的查询

B.最外面的查询到最里面的查询

C.简单查询到复杂查询

D.复杂查询到简单查询

正确答案是: A   

22、数据库中有两个用户scott和myuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( )

A.select*from scott.wz where wunit is null and rownum<5;

B.select*from myuser.wz where wunit = null and rownum<5;

C.select*from myuser.wz where wunit is null and rownum<6;

D.select*form scott.wz where wunit is null and rownum<6;

正确答案是: C   

23、 要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( )

A.select * from wz where wunit is null limit 0,5;

B.select * from wz where wunit = null limit 0,5;

C.select * from wz where wunit is null limit 1,5;

D.select * form wz where wunit = null limit 1,5;

正确答案是: A   

24、使用以下哪个函数可返回月份中的最大日期?

A. END_DAY B. FINAL_DAY C. HIGHEST_DAY D. LAST_DAY

正确答案是: D   

25、要统计某表中记录的总个数,以下哪项是正确的SQL语句( )。

A. select Max(*) from 表名

B. select Sum(*) from 表名

C. select Count(*) from 表名

D. select Min(*) from 表名

正确答案是: C   

26、查询出当前的数据库系统时间,精确到秒( )

A. select to_date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

B. select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

C. select date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

D. select chr(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

正确答案是: B  

27、 查询出当前的日期,可以用下面哪个选项( )

A. select curdate();

B. select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

C. select date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

D. select chr(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

正确答案是: A   

28、取出工资在2000到3000元(包括上下限)之间的员工( )

A. select * from emp wher sal in (2000,3000);

B. select * from emp wher sal like (2000,3000);

C. select * from emp wher sal = (2000,3000);

D. select * from emp wher sal between 2000 and 3000;

正确答案是: D   

第五章 视图和索引操作

选择:

1、下面语句中,哪种语句用来创建视图?

A. CREATE TABLE B. ALTE VIEW

C. DROP VIEW D. CREATE VIEW

正确答案是: D   

2、一个VIEW被以下语句创建,请问在该VIEW上可进行哪个操作?

CREATE VIEW USA_STATES

AS SELECT count(*) FROM STATE

WHERE CNT_CODE =1

WITH check option;

A. SELECT

B. SELECT , UPDATE

C. SELECT , DELETE

D. SELECT , INSERT

正确答案是: A   

3、下列关于表和视图的说法正确的是( )

A. 每个视图对应一个表

B. 视图是表的一个镜像备份

C. 对所有视图也可象表一样执行UPDATE操作

D. 视图的数据全部在表中

正确答案是: D   

4、有如下2步操作,并且均成功执行,请选择结果( )

delete from emp;

rollback;

A. emp表中数据处于回滚段中

B. emp表中的数据被永久删除

C. emp表中的数据没有变化

D. 原来的emp表中的数据被添加到新emp表中

正确答案是: C    

5、( )是用于控制数据访问的语言。

A.DML B.DDL C.DCL D.DLL

正确答案是: C   

6、视图可以用于( )

A.限制对表中指定列的访问

B.限制对表中行的子集的访问

C.A和B都是

D.A和B都不是

正确答案是: C   

7、下面关于删除视图的说法哪一个是正确的(  )。

A.删除视图后应立即用COMMIT语句使更改生效

B.删除视图后,和视图关联的表中的数据不再存在

C.视图被删除后视图中的数据也将被删除

D.用dorp VIEW删除视图

正确答案是: D   

8、 建表语句中的 not null,该代码表示的含义是:   

A 允许空格 B 非空约束   C 不允许写入数据   D 不允许读取数据

正确答案是: B   

9、 select * from student 该代码中的 * 号,表示的正确含义是:   

A 普通的字符*号   B 错误信息   C 所有的字段名   D 模糊查询

正确答案是: C    

10、 在语句 select * from student where s_name like ’%晓%’ where 关键字表示的含义是:   

A 条件   B 在哪里   C 模糊查询   D 逻辑运算

正确答案是: C   

二、填空题

1、_____数据库是系统提供的最重要的数据库,其中存放了系统级的信息。(系统)

2、修改数据库使用T-SQL的_______语句,删除数据库使用T-SQL的_____语句。(ALTER,DROP)

3、在SQL Server中,一般主要数据文件的扩展名为_____,一般次要数据文件的扩展名为____,事物日志文件的扩展名为______。(mdf,ndf,ldf)

4、在SQL Server中,数据库具有三类操作系统文件,它们是_____,_______,_________。(主要数据文件、次要数据文件、事务日志文件)

5、在SQL Server中,一个数据库至少有一个________文件和一个_______文件。(主要数据文件、事务日志文件)

6、使用T-SQL创建表的语句是:_________;修改表结构的语句是:________;删除表的语句是:__________.(CREATE TABLE,ALTER TABLE,DROP TABLE)

7、使用T-SQL操作表的数据,添加语句是:________;更新语句是:_______;删除语句是:_______.(INSERT INTO, UPDATE, DELETE)

8、T-SQL表定义有_______、________、_________、________和_________5个列级约束。(定义主键约束,定义唯一性约束,定义外键约束,定义检查约束,定义默认值约束)

9、T-SQL表定义有_______、________、_________、和_________4个表级约束。(实体完整性约束,域完整性约束,参照完整性约束,用户定义完整性约束,)

10、T-SQL中,_______语句使用频率最高。(SELECT查询)

11、左外连接返回连接中左表的_______数据行,返回右表中的______数据行。(所有,所有匹配)

12、SELECT查询语句中两个必不可少的子句是_______和_______。(SELECT,FROM)

13、在SQL Server中不仅可以通过视图检查表中的数据,而且还可以向表中添加和修改数据,但是所插入的数据必须符合表中的________.(列和约束)

14、视图是从______或其他视图导出的表。(基本表)

15、数据模型的三个要素是________、________、_________。(数据结构、数据操作、[数据]完整性约束)

96

1.

在Transact-SQL中如果要对查询结果进行分组,则需要使用_________子句。

考答案:group^groupby^^^^^^

2.

使用Transact-SQL删除数据库的语句为_________。

考答案:DROPDATABASE^dropdatabase^DropDatabase^Dropdatabase^drop^^^^

3.

使用Transact-SQL创建数据库的语句为_________。

考答案:CREATEDATABASE^createdatabase^CreateDatabase^Createdatabase^create^^^^

4.

数据库是计算机系统中按照一定方式组织、存储和应用的____________。

考答案:相关数据集合^数据集合^^^^^^^

5.

数据是表示信息的符号,信息是数据所包含的________。

考答案:含义^^^^^^^^

6.

ER 数据模型一般在数据设计的_________阶段使用。

考答案:概念设计^^^^^^^^

7.

数据库的物理设计是对一个给定的_________模型选取一个最合适应用环境的物理结构的过程。

考答案:逻辑数据^^^^^^^^

8.

数据库设计中,将分ER 图集成时,主要任务是增补_________。

考答案:各局部ER之间的联系^^^^^^^^

9.

DBS的维护工作由_________承担。

考答案:DBA^^^^^^^^

10.

在DBD中,子类具有一个重要的性质:_________。

考答案:继承性^^^^^^^^

11.

θ连接操作由关系代数的_________操作和_________操作组合而成。

考答案:笛卡尔积^选择^选择^笛卡尔积^^^^^

12.

关系代数是以_________为运算对象的一组高级运算的集合。

考答案:关系^^^^^^^^

13.

若在关系中置换属性的次序,可用的关系代数运算是_________。

考答案:投影^^^^^^^^

14.

查询优化是指系统对关系代数表达式进行优化组合,它的目的是_________。

考答案:提高系统效率^^^^^^^^

15.

自然连接要求被连接的两个关系具有_________。

考答案:一个或多个相同的属性名^^^^^^^^

16.

基本表结构的修改用_________关键字,基本表内容的修改用_________关键字。

考答案:ALTER^UPDATE^^^^^^^

17.

删除表中数据的命令是:______

考答案:delete^deletefrom^^^^^^^

18.

新建数据库的命令是:______

考答案:createdatabase^creatdatabase^

19.

备份数据库的命令是_____________

考答案:backup^backupdatabase^

20.

SQL Server2008中,局部变量名必须以______开头。

考答案:@^

21.

数据库的并发操作带来三个问题是:丢失更新问题、读脏数据问题和_________。

考答案:不可重复读问题^^^^^^^^

22.

封锁技术中基本的两种封锁是排他型封锁和_________。

考答案:共享型封锁^^^^^^^^

23.

SQL2 中,程序开始时默认的事务存取模式是_________。

考答案:READWRITE^^^^^^^^

24.

SQL中用_________语句定义新的域。

考答案:CREATEDOMAIN^^^^^^^^

25.

触发器的动作事件条件用_________子句定义,它可以是任意的条件表达式。

考答案:WHEN^^^^^^^^

26.

SQL server 2000 是分布式的关系型数据库管理系统,具有_________体系结构。

考答案:客户服务器^^^^^^^^

27.

服务管理器在启动_________服务后才能进行数据库操作。

考答案:SQLserver ^^sqlserver^^^^^^

28.

用户在混合验证模式下使用_________用户登录SQL sever ,必须提供登录名和密码。

考答案:sql授权^SQL授权^^^^^^^

29.

T-SQL语言中局部变量的作用域是_________。

考答案:当前的批处理^^^^^^^^

30.

在SQL server 中,将一组具有相同权限的用户组织在一起称为_________。

考答案:角色^^^^^^^^

31.

如果要使用SELECT语句返回指定条数的记录,则应使用_________关键字来限定输出字段。

考答案:TOP ^top^Top^^^^^^

32.

使用Transact-SQL修改数据库的语句为_________。

考答案:ALTERDATABASE^alterdatabase^AlterDatabase^Alterdatabase^alter^^^^

33.

在Transact-SQL中删除记录使用_________语句。

考答案:DELETE^delete^Delete^^^^^^

34.

数据模型是用来描述数据库的结构和语义的,数据模型有概念数据模型和结构数据模型两类,ER 模型是_________。

考答案:概念数据模型^^^^^^^^

35.

DBD的逻辑设计分成两大部分:_________和_________。

考答案:DB逻辑结构设计^应用程序设计^应用程序设计^DB逻辑结构设计^^^^^

36.

在关系代数运算中,最浪费时间的两个运算是_________和_________。

考答案:笛卡尔积^连接运算^连接运算^笛卡尔积^^^^^

37

安全运算是指不产生_________和_________的运算。

考答案:无限关系^无穷验证^无穷验证^无限关系^^^^^

38.

θ 连接操作由_________等基本操作组合而成。

考答案:× Q ^^^^^^^^

39.

SQL中表结构的修改命令是_________。

考答案:ALTER^ALTERTABLE^^^^^^^

40.

数据库中只存放视图的_________而不存放视图的_________。

考答案:定义^记录数据 ^^^^^^^

41.

对查询结果分组使用的关键字是________

考答案:groupby^

42.

truncate table 的作用是______________

考答案:删除表中的所有记录^删除所有记录^删除表中的全部记录^删除全部记录^

43.

事务运行过程中,由于种种原因,使事务未运行到正常终止点就被撤消,这种情况称为_________。

考答案:事务故障^^^^^^^^

44.

若事务丁对数据A 加上_________锁,则允许T读取和修改A ,其他任何事务都不允许对A 加任何类型的锁,直到T释放A 上的锁。

考答案:X^^^^^^^^

45.

在数据库技术中,把未提交的随后被撤消的数据称为__________。

考答案:脏数据^^^^^^^^

46.

S锁解决了丢失更新问题,但同时又可能会引起_________问题。

考答案:死锁^^^^^^^^

47.

SQLserver2000 的版本主要有企业版、标准版、_________和开发版4 个版本。

考答案:个人版^^^^^^^^

48.

用户访问SQL server 数据库中的数据时,经过的第一个验证过程是_________。

考答案:身份验证^^^^^^^^

49.

T-SQL中用于循环结构的流程控制语句是_________。

考答案:while^^^^^^^^

50.

创建局部临时表必须使用由_________开头的表名。

考答案:#^^^^^^^^

51.

内连接查询可分为_________、不等值连接和自然连接3种类型。

考答案:等值连接^^^^^^^^

52.

在Transact-SQL中添加记录使用_________语句。

考答案:INSERT^insert^Insert^INSERT INTO^Insert Into^insert into^^^

53.

“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的_________阶段。

考答案:物理设计^^^^^^^^

54.

ER方法是设计_________的方法。

考答案:概念数据模型^^^^^^^^

55.

现实世界到机器世界过渡的中间层次是_________。

答案:概念模型^^^^^^^^

56.

概念设计的目标是产生反映_________的数据库概念结构,即概念模式。

考答案:企业组织信息需求^^^^^^^^

57.

自然连接操作由_________等基本操作组合而成。

考答案:×∏ Q^^^^^^^^

58.

对关系进行垂直分割的操作称为_________,对关系进行水平分割的操作称为_________。

考答案:投影^选择^^^^^^^

59.

SELECT语句进行查询时,如果要列出所查表中的所有列的简便方法是列名表用_________表示。

考答案:*^

60.

在SELECT语句中,HAVING子句必须跟在_________子句后面。

考答案:group^groupby^

61.

排序的时候关键字DESC表示_________的含义。

考答案:降序^降^降序^递减^递减顺序^倒序^倒^^

62.

事务的原子性由DBMS的_________子系统来实现的。

考答案:事务管理^^^^^^^^

63.

企业管理器提供遵从_________的用户界面。

考答案:Microsoft管理控制台^^microsoft管理控制台^^^^^^

64.

一个存储过程可以声明零个或多个参数,参数名以_________开头。

考答案:@^^^^^^^^

65.

在Transact-SQL中如果要把查询结果放到一个新建的表中,则需要使用_________子句。

考答案:INTO^into^Into^^^^^^

66.

在Transact-SQL中如果要对查询结果进行排序,则需要使用_________子句。

考答案:orderBY^order^orderby^^^^^^

67.

在SQL Server 中 tinyint型数的范围为______________。

考答案:0~255^0-255^0到255^^^^^^

68.

由计算机硬件、操作系统、DBMS、数据库、应用程序及有关人员等组成的一个整体叫_________。

考答案:数据库系统^DBS^数据库应用系统^^^^^^

69.

在Transact-SQL中修改记录使用_________语句。

考答案:UPDATE^update^Update^^^^^^

70.

域关系演算类似与元组演算,域变量的变化范围是_________,(某个值域)

元组变量的变化范围是_________。

考答案:一个关系^^^^^^^^

71.

若D1 = { a1 , a2 , a3 } , D2 = { 1 , 2 , 3 } ,则。D1×D2集合共有元组_________个 。

考答案:9^^^^^^^^

72.

SQLserver2000 中,实际上用户连接的数目上限是_________个。

考答案:32767^^^^^^^^

73.

在SQL server 2000 中,每个表最多有3 个触发器,分别用于Insert 、Update 和_________

考答案:delete^Delete^^^^^^^

74.

SQL Server 2005 支持两种登录认证模式,一种是Windows身份验证模式,另一种是_____________。

考答案:混合模式^混合^^^^^^^

75.

ER 图向关系模型转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的_________。

考答案:属性和键^^^^^^^^

76.

关系模型用_________表示实体之间的联系。

考答案:关键码^^^^^^^^

77.

关系代数的基本操作是_________。

考答案:∪ - ×∏ Q ^^^^^^^^

78.

如果在查询结果中不允许出现重复元组,应在SELECT语句中增加保留字_________。

考答案:DISTINCT^

79.

SQL server Agent 服务包括作业、_________和操作员三部分。

考答案:警告^^^^^^^^

80.

导入和导出数据可以完成多个数据库之间的_________。

考答案:数据转换和转移^^^^^^^^

81.

在关系R 和S自然连接时,把原该舍弃的元组放在结果关系中,这种操作称为_________。

考答案:外连接^^^^^^^^

82.

除法操作由_________等基本操作组合而成。

考答案:- ∏ Q ^^^^^^^^

83.

视图是一种虚表,它是从_________导出的表。

考答案:基本表^^^^^^^^

84.

在SQL Server中,数据库是由数据文件和_________文件组成的。

考答案:事务日志^日志^^^^^^^

85.

数据库应用系统设计中逻辑设计的主要内容是把ER模型的_________和_________转换为关系模式。

考答案:实体^联系^联系^实体 ^^^^^

86.

更新表中数据的命令是:______

考答案:update^^^^^^^^

87.

实体完整性规则是对_________的约束,参照完整性规则是对的_________约束。

考答案:主键^外键^^^^^^^

88.

SQL中getdate()的作用是____________

考答案:取系统时间^取数据库服务器的系统时间^系统时间^系统日期^

89.

新增表中数据的命令是:______

考答案:insert^insertinto^^^^^^^

90.

支持数据库各种操作的软件系统叫_________。

答案:DBMS^数据库管理系统^^^^^^^

91.

数据实施阶段包括两项重要的工作,一项是数据的_________,另→项是应用程序的编码和调试。

考答案:载入^^^^^^^^

92.

关系中没有行序的原因是_________

考答案:关系被定义为一个集合^^^^^^^^

93.

删除数据库的命令是:

考答案:dropdatabase^

94.

删除数据库中表的命令是:

考答案:droptable^

95.

关系模型的基本数据结构是_________,其数据库存储时基本组织方式是_________。

考答案:关系^文件^二维表^文件^^^^^

96.

对查询结果排序的关键字是_______,默认的顺序是_______

考答案:orderby^升序^

1、 Oracle 9i中的i代表____________.

参考答案:internet^Internet^

2、 Oracle 11g中的g代表____________.

参考答案:grid^Grid^

3、 oracle 11g发布于________年

参考答案:2007^07^

4、 启动监听器的命令是_______

参考答案:lsnrctl start^

5、 启动服务的命令是__________.

参考答案:net start^

1、 一个表在物理空间上对应一个或多个_________文件。

参考答案:数据^

2、 创建表空间的语法格式是create_________表空间名 datafile 路径 size 20m

参考答案:tablespace^

3、 修改表空间的命令为________ tablespace 表空间名 add datafile 路径 size 20m;

参考答案:alter^

4、 删除表空间的命令是:_______ tablespace 表空间名

参考答案:drop^

5、 oracle数据库中最小的存储分配单元是________

参考答案:块^数据块^

1、 oracle数据库系统的物理存储结构主要由三类文件组成,分别为_________,重做日志文件,控制文件。

参考答案:数据文件^

1、数据操纵语言中典型的四种语句是Insert、select 、update和___________。

参考答案:delete^delete^

2、事务处理控制语言中的Commit命令表示提交事务,而回退事务则用_________命令表示。

参考答案:ROLLBACK^rollback^

3、PL/SQL基本语句块中的声明部分使用___________关键词。

参考答案:DECLARE^declare^

4、存储过程的参数模式除了具有In和Out外,还有___________模式。

参考答案:IN OUT^in out^

1、 查询数据表的表结构要用到的关键字为_______.(字母小写)

参考答案:desc^DESC^

2、 查询数据表的内容,需要用到的sql命令为:_________.(字母小写)

参考答案:select^SELECT^

简答题

1、数据库设计过程一般包括哪些内容?

答:需求分析、概念设计、逻辑设计、物理设计、应用开发(系统实施)、系统维护。

2、数据库系统的特点?

答:数据结构化、数据共享性高,数据独立性强,数据粒度小,统一的管理和控制,独立的数据操作界面。

3、简述数据库的三级模式结构?

答:(1)、内模式也称为物理结构、物理模式,是对数据的物理结构和存储方式的描述

(2)、模式也成为整理逻辑结构、逻辑模式,是对数据的整体数据逻辑结构和特征的描述,是现实世界信息内容集合的表示。模式是数据库模式结构的中间层,通过建立数据模型的方法来抽象、表示和处理现实世界中的数据和信息。

(3)、外模式也称局部逻辑结构、子模式, 是对数据库用户看到并允许使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。外模式是三级结构的最外层,是保护数据库安全性的一个有力措施。

4、简述视图的特点?

答:(1)视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。

(2)视图是由表(实表)产生的虚表。

(3)视图的建立和删除不影响表。

(4)对视图数据的修改(增加、删除和更新)直接影响表。

(5)当视图来自多个表时,不允许添加和删除数据行。

5、简述UNION操作符和JOIN操作的区别与联系?

答:UNION是将相同列的若干跳数据进行合并,而JOIN是将两个或多个表的若干个列进行连接。二者均是进行连接操作,但是一个是对行进行操作,另一个是对列进行操作。

-----问答题-----

谈谈你对索引的理解,索引越多越好吗?

学生答案:索引是帮助MySQL高效获取数据的数据结构,可以明显的提高查询效率,分为普通索引,唯一索引,复合索引,聚簇索引。索引不是越多越好。

10

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

学生答案:SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOTLIKE比较操作符。%:表示任意个或多个字符。可匹配任意类型和长度的字符。_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)

10

简述limit以及distinct的用法?

学生答案:limit用于限制查询的数量,常用于分页语句。limit子句可以被用于强制select语句返回指定的记录数。limit接受一个或两个数字参数,参数必须是一个整数常量。distinct一般是用来去除查询结果中的重复记录的,而且这个语句在select、insert、delete和update中只可以在select中使用。

10

MySQL支持哪些外连接,各有什么特点?

学生答案:外连接有左外连接与右外连接、全连接。左连接的结果集包括指定的左表全部数据与匹配的右表数据,右表中没匹配的全为空值.关键字leftjoin右连接的结果集包含指定的右表全部数据与匹配的左边数据,左边中没匹配的全为空值.关键字rightjoin全连接返回左右数据表的所有行.关键字fulljoin

10

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

学生答案:timestamp和datetime的相同点:(1)两者都可用来表示YYYY-MM-DDHH:MM:SS[.fraction]类型的日期。timestamp和datetime的不同点:(1)两者的存储方式不一样对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。而对于DATETIME,不做任何改变,基本上是原样输入和输出。(2)两者所能存储的时间范围不一样

10

你怎样理解having子句与where子句之间的区别?

学生答案:1.where不能放在GROUPBY后面2.HAVING是跟GROUPBY连在一起用的,放在GROUPBY后面,此时的作用相当于WHERE3.WHERE后面的条件中不能有聚集函数,比如SUM(),AVG()等,而HAVING可以

8

忘记MySQL管理员root的密码如何解决?写出步骤和指令

学生答案:1、停止mysql服务开始&→运行&→输入cmd,打开命令提示符窗口,然后输入netstopmysql2、在命令提示符窗口中进入mysql安装目录中的bin目录在命令提示符窗口中分别输入以下两条命令,每输入一条命令按回车键:d:cdwww\mysql\bin3、进入mysql安全模式(这样不用输入密码就能进入mysql数据库)输入mysqld-nt--skip-grant-tables,此时屏幕上可能没啥反应,不用管它,放在一边接着往下做4、重新打开一个cmd命令提示符窗口,开始&→运行&→输入cmd,在新打开命令提示符窗口中输入mysql-uroot-p,然后提示输入密码,不用输入密码,直接按回车键5、输入以下命令开始修改超级管理员root密码(注意:命令中mysql.user中间有个【点】;命令中的htmer.com即为新密码,根据你的实际情况,换成你的新密码即可)6、刷新权限表,输入如下命令flushprivileges;7、退出,输入如下命令quit重新启动mysql服务(也可以直接重启服务器)8、重新启动mysql服务(也可以直接重启服务器)①打开任务管理器,将mysql-nt.exe这个进程结束②在命令提示符中输入netstartmysql即可重新启动mysql服务了

40

请说明mysql数据库中标识符大小写敏感规则?

学生答案:1、数据库名与表名是严格区分大小写的;2、表的别名是严格区分大小写的;3、列名与列的别名在所有的情况下均是忽略大小写的;4、字段内容默认情况下是大小写不敏感的。

40

举例说明什么是一对多、多对多关系

学生答案:

一对多:一张表中有一条记录可以对应另外一张表中的多条记录;但是反过来,另外一张表的一条记录只能对应第一张表的一条记录,这种关系就是一对多或多对一。多对多:一对表中(A)的一条记录能够对应另外一张表(B)中的多条记录;同时B表中的一条记录也能对应A表中的多条记录

5

常见的数据模型有哪些,各有哪些优缺点?

学生答案:

1、层次模型特点(1)有且只有一个结点没有双亲结点(这个结点叫根结点);(2)除根结点外的其他结点有且只有一个双亲结点.优点:1)层次模型的数据结构比较简单清晰;2)层次数据库的查询效率高;3)层次数据库模型提供了良好的完整性支持。缺点:1)现实世界中很多联系是非层次性的,如结点之间具有多对多联系。2)一个结点具有多个双亲等,层次模型表示这联系的方法很笨拙,对插入和删除操作的限制比较多。3)查询子女结点必须通过双亲结点。4)由于结构严密,层次命令趋于程序化.2、网状模型特点(1)允许一个以上的结点没有双亲结点;(2)一个结点可以有多个双亲结点.优点:(1)能够更为直接地描述现实世界。如一个结点可以有多个双亲,结点之间可以有多种联系。(2)具有良好的性能,存取效率较高。缺点:(1)结构负责,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。(2)其数据定义语言(DDL)、数据操作语言(DML)复杂,用户不容易使用。3、关系模型优点:(1)关系模型和格式化模型不同,它是简历在严格的数学概念的基础上的。(@)关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据库的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。缺点:(1)由于存取路径岛屿用户是隐蔽的,查询效率往往不如格式化数据模型。(2)为了提高性能,数据库管理系统必须到用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。

5

简述主键的作用及特征

学生答案:主键的作用:1)保证实体的完整性;2)加快数据库的操作速度;3)强化每行的唯一标识;4)降低磁盘占用空间主键的特征:1)唯一性:不能有重复值;2)非空性:不能为空值。

3

什么是数据库管理系统?

学生答案:数据库管理系统(DatabaseManagementSystem)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(DataDefinitionLanguage)和数据操作语言DML(DataManipulationLanguage),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。

5

什么是数据库,它的用途是什么?

学生答案:数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:(1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。(2)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。利用数据库可以高效、有组织地存储数据,使人们能够更快、更方便地管理数据,主要表现在以下几个方面:1.从结构上存储大量的数据信息,方便用户对数据进行有效的检索和访问。数据库可以对数据进行排序和保存,并提供快速查询在去百度搜索所需要的数据时,实际上,百度也基于数据库和数据分类技术来达到快速搜索的目的。数据库中存储的数据能够保证数据有效,无损.3.可满足应用程序共享和安全的要求。在许多情况下,将数据放入数据库也是出于安全原因。例如,如果所有员工信息和薪资数据都放在磁盘文件中,那么就不可能谈论工资的机密性:如果将员工信息和薪资信息放在数据库中,则只能查询和修改员工信息,而薪资信息只能由财务人员查看,从而确保数据的安全性。4数据库技术可以很容易和智能地分析和产生新的有用信息。例如,超市将销售信息保存在数据库中,月销售额排名实际确定下月的采购数量,数据库查询的信息实际生成新信息。数据挖掘、在线分析技术最近已经发展起来,其核心意义在于从一堆数据中分析有用的新信息。

5

请论述数据类型char和varchar的区别和各自的优点。

学生答案:char是固定长度的,varchar是可变长度的;char的索引效率高,varchar的索引效率稍弱

5

1什么是sql注入式攻击,如何防范sql注入式攻击?

学生答案:

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQLInjection如何防范1)在构造动态SQL语句时,一定要使用类安全(type-safe)的参数加码机制。大多数的数据API,包括ADO和ADO.NET,有这样的支持,允许你指定所提供的参数的确切类型(譬如,字符串,整数,日期等),可以保证这些参数被恰当地escaped/encoded了,来避免黑客利用它们。一定要从始到终地使用这些特性。

2)在部署你的应用前,始终要做安全审评(securityreview)。建立一个正式的安全过程(formalsecurityprocess),在每次你做更新时,对所有的编码做审评。后面一点特别重要。很多次我听说开发队伍在正式上线(goinglive)前会做很详细的安全审评,然后在几周或几个月之后他们做一些很小的更新时,他们会跳过安全审评这关,推说,“就是一个小小的更新,我们以后再做编码审评好了”。请始终坚持做安全审评。3)千万别把敏感性数据在数据库里以明文存放。我个人的意见是,密码应该总是在单向(one-way)hashed过后再存放,我甚至不喜欢将它们在加密后存放。在默认设置下,ASP.NET2.0MembershipAPI自动为你这么做,还同时实现了安全的SALT随机化行为(SALTrandomizationbehavior)。如果你决定建立自己的成员数据库,我建议你查看一下我们在这里发表的我们自己的Membershipprovider的源码。同时也确定对你的数据库里的信用卡和其他的私有数据进行了加密。这样即使你的数据库被人入侵(compromised)了的话,起码你的客户的私有数据不会被人利用。4)确认你编写了自动化的单元测试,来特别校验你的数据访问层和应用程序不受SQL注入攻击。这么做是非常重要的,有助于捕捉住(catch)“就是一个小小的更新,所有不会有安全问题”的情形带来的疏忽,来提供额外的安全层以避免偶然地引进坏的安全缺陷到你的应用里去。5)锁定你的数据库的安全,只给访问数据库的web应用功能所需的最低的权限。如果web应用不需要访问某些表,那么确认它没有访问这些表的权限。如果web应用只需要只读的权限从你的accountpayables表来生成报表,那么确认你禁止它对此表的insert/update/delete的权限。6)很多新手从网上下载SQL通用防注入系统的程序,在需要防范注入的页面头部用来防止别人进行手动注入测试(。可是如果通过SQL注入分析器就可轻松跳过防注入系统并自动分析其注入点。然后只需要几分钟,你的管理员账号及密码就会被分析出来。7)对于注入分析器的防范,笔者通过实验,发现了一种简单有效的防范方法。首先我们要知道SQL注入分析器是如何工作的。在操作过程中,发现软件并不是冲着“admin”管理员账号去的,而是冲着权限(如flag=1)去的。这样一来,无论你的管理员账号怎么变都无法逃过检测。

20

请描述MySql事务的特点及事务机制的实现方法?

学生答案:

1、原子性(atomicity):一个事务必须被作为一个不可分割的最小工作单元,每个事务中的所有操作必须要么成功,或者要么失败,永远不可能一些操作失败,一些操作成功,这就是所谓的原子性的概念.2、一致性(consistency):一致性就像上面举的一个例子一样,当发生异常情况下,数据仍然是正确的。就是说当一个事务执行失败了,数据之间是不会受异常的情况而影响,永远保持着他的正确性.3、隔离性(isolation):当一个事务还未提交,每个事务之间是相互隔离的,互补受到影响.4、持久性(durability):当一个事务进行提交之后,发生的变化就会永远保存在数据库中.

20

3)实现数据完整性通常有几种方式?请分别阐述每种方式的特点

学生答案:

数据完整性(DataIntegrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性分为四类:实体完整性(EntityIntegrity)、域完整性(DomainIntegrity)、参照完整性(ReferentialIntegrity)、用户定义的完整性(User-definedIntegrity)。保证数据的完整性:1.用约束而非商务规则强制数据完整性如果你按照商务规则来处理需求,那么你应当检查商务层次/用户界面:如果商务规则以后发生变化,那么只需要进行更新即可。假如需求源于维护数据完整性的需要,那么在数据库层面上需要施加限制条件。如果你在数据层确实采用了约束,你要保证有办法把更新不能通过约束检查的原因采用用户理解的语言通知用户界面。除非你的字段命名很冗长,否则字段名本身还不够。只要有可能,请采用数据库系统实现数据的完整性。这不但包括通过标准化实现的完整性而且还包括数据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。不要依赖于商务层保证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上。2.分布式数据系统对分布式系统而言,在你决定是否在各个站点复制所有数据还是把数据保存在一个地方之前应该估计一下未来5年或者10年的数据量。当你把数据传送到其他站点的时候,最好在数据库字段中设置一些标记。在目的站点收到你的数据之后更新你的标记。为了进行这种数据传输,请写下你自己的批处理或者调度程序以特定时间间隔运行而不要让用户在每天的工作后传输数据。本地拷贝你的维护数据,比如计算常数和利息率等,设置版本号保证数据在每个站点都完全一致。3.强制指示完整性没有好办法能在有害数据进入数据库之后消除它,所以你应该在它进入数据库之前将其剔除。激活数据库系统的指示完整性特性。这样可以保持数据的清洁而能迫使开发人员投入更多的时间处理错误条件。4.关系如果两个实体之间存在多对一关系,而且还有可能转化为多对多关系,那么你最好一开始就设置成多对多关系。从现有的多对一关系转变为多对多关系比一开始就是多对多关系要难得多。5.采用视图为了在你的数据库和你的应用程序代码之间提供另一层抽象,你可以为你的应用程序建立专门的视图而不必非要应用程序直接访问数据表。这样做还等于在处理数据库变更时给你提供了更多的自由。6.给数据保有和恢复制定计划考虑数据保有策略并包含在设计过程中,预先设计你的数据恢复过程。采用可以发布给用户/开发人员的数据字典实现方便的数据识别同时保证对数据源文档化。编写在线更新来“更新查询”供以后万一数据丢失可以重新处理更新。7.用存储过程让系统做重活解决了许多麻烦来产生一个具有高度完整性的数据库解决方案之后,我所在的团队决定封装一些关联表的功能组,提供一整套常规的存储过程来访问各组以便加快速度和简化客户程序代码的开发。在此期间,我们发现3GL编码器设置了所有可能的错误条件,比如以下所示:SELECTCnt=COUNT(*)FROM[<Table>]WHERE[<primarykeycolumn>]=<newvalue>IFCnt=0BEGININSERTINTO[<Table>]([<primarykeycolumn>])VALUES(<Newvalue>)ENDELSEBEGIN<indicateduplicationerror>END而一个非3GL编码器是这样做的:INSERTINTO[<Table>]([<primarykeycolumn>])VALUES(<Newvalue>)IF@@ERROR=2627--LiteralerrorcodeforPrimaryKeyConstraintBEGIN<indicateduplicationerror>END第2个程序简单多了,而且事实上,利用了我们给数据库的功能。虽然我个人不喜欢使用嵌入文字(2627)。但是那样可以很方便地用一点预先处理来代替。数据库不只是一个存放数据的地方,它也是简化编码之地。8.使用查找控制数据完整性的最佳方式就是限制用户的选择。只要有可能都应该提供给用户一个清晰的价值列表供其选择。这样将减少键入代码的错误和误解同时提供数据的一致性。某些公共数据特别适合查找:国家代码、状态代码等

20

请举例说明使用视图的优点?

学生答案:优点:1、视图能够简化用户的操作2、视图使用户能以多钟角度看待同一数据3、视图对重构数据库提供了一定程度的逻辑独立性4、视图能够对机密数据提供安全保护5、适当的利用视图可以更清晰的表达查询,

15

请简单描述delete语句和drop语句的差异?

学生答案:1、执行速度不同drop语句的速度要大于delete语句。2、语言种类不同delete语句是DML语言,不会自动提交。drop语句是DDL语言,执行后会自动提交。3、功能不同delete语句用于删除局部性数据如表中的某一元组。drop语句一般用于删除整体性数据如表,模式,索引,视图,完整性限制等。4、删除形式不同delete语句删除内容、释放空间但不删除定义,但是delete既可以对行数据进行删除,也可以对整表数据进行删除。drop语句删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。

20

连接查询中,什么是内连接查询,什么是外连接查询?

学生答案:内连接查询:内连接查询的关键字是innerjoin或者join。返回的是表中存在至少一个匹配的数据,那么不匹配的数据肯定就不返回了,如果都不匹配,是空。外连接查询:左外连接关键字是LEFTOUTERJOIN或LEFTJOIN。左外连接查询是以左边的表为基准,去匹配要连接的表,不管是否匹配条件都会以基准表的条数返回结果(这里明显不同于内连接),匹配到的数据就显示匹配到的数据,没有匹配条件的数据就显示为null。

20大题

有一个关于商品供应及顾客订单的数据库。其中包括四个表,表中信息如下:供应表apply(id、name、sid、price) 说明:id供应厂家编号,name供应厂家名称,sid商品编号,price商品价格。 顾客表customers(gid、name、address、balance) 说明:gid顾客编号,address地址,balance余额。 订单表orders(sid、gid、date) 说明:sid商品编号,gid顾客编号,date订单日期。 商品表goods(sid、name、count) 说明:sid商品编号,name商品名称,count商品数量 写出SQL完成如下操作的SQL语句:

1)查询出2008-8-8这一天顾客的订单信息,要求包括顾客姓名、商品名称及订单日期.

2)将商品表中商品编号为'204'的商品名称更改为百事可乐

3)将顾客表上余额不足1000元的,将其订单日期延后10天

4)删除订单表中商品编号为102的订单记录 5)将商品表中没有顾客订购的商品信息删除

学生答案:

1.select*fromcustomerswherecustomers.gid=orders.gidanddate="2008-8-8"

2.updategoodssetsid=’百事可乐’wheresid=’204’;

3.selectbalanceDATE_ADD(NOW(),INTERVAL10day)fromcustomerswherebalance<1000;

4.deletefromorderswheresid=’102’;

10

已知进销存数据库Jxcxt包含如下数据表: 1)商品表:商品id(自增1),商品名称,单位,单价,商品状态 2)库存表:库存id(自增1),商品id,库存数量 请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上两个表的SQL语句;

2、在商品表上创建一个触发器(名字自定),当删除商品时自动删除该商品在库存表中的记录。

学生答案:

  1. CREATETABLE商品表(商品idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,商品名称VARCHAR(20)NOTNULL,单位VARCHAR(10),单价DOUBLE,商品状态VARCHAR(10));
  2. CREATETABLE库存表(库存idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,商品idINTNOTNULL,库存数量INT,FOREIGNKEY(商品id)REFERENCES商品表(商品id));2>CREATETRIGGERdelChainBEFOREDELETEON商品表FOREACHROWDELETEFROM库存表WHERE商品id=old.商品id;

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写 2)课程表:课程id,课程名称,学分 3)选课表:选课id,学生id,课程id,成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上三个表的SQL语句;

2、创建视图V_选课,其中包含这些字段:选课id,学号,姓名,课程名,成绩;

3、查询张三的数据开发技术课程的成绩。

学生答案:

1.学生表:CREATETABLEstudent(xsidINTPRIMARYKEY,xhVARCHAR(13),xmVARCHAR(5),zyVARCHAR(10),njCHAR(2),xmpysxVARCHAR(5))CHARSET=utf8;课程表:CREATETABLEcourse(kcidINTPRIMARYKEY,kcmcVARCHAR(9),xfSMALLINT)CHARSET=utf8;选课表:CREATETABLEsc(xkidINTPRIMARYKEY,xsidINT,kcidINT,gradeDOUBLE(3,2),FOREIGNKEY(xsid)REFERENCESstudent(xsid),FOREIGNKEY(kcid)REFERENCEScourse(kcid))CHARSET=utf8;

2.CREATEVIEWv_选课ASSELECTs.xkid,st.xh,st.xm,c.kcmc,s.gradeFROMscsINNERJOINstudentstONs.xsid=st.xsidINNERJOINcoursecONc.kcid=s.kcid;

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写 2)课程表:课程id,课程名称,学分 3)选课表:选课id,学生id,课程id,成绩 系统已建有getstrpy(p_nameVARCHAR(100))用户自定义函数。 请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、创建一个存储过程(名字自定),实现学生表的插入,姓名拼音缩写需要调用getstrpy函数实现。

学生答案:CREATEDATABASExkglxt;CREATETABLE学生表(学生idCHAR(4)PRIMARYKEY,学号CHAR(4),姓名CHAR(4),专业CHAR(4),年级CHAR(4),姓名拼音缩写CHAR(8))CHARSET=utf8;CREATETABLE课程表(课程idCHAR(4)PRIMARYKEY,课程名称CHAR(10),学分CHAR(4))CHARSET=utf8;CREATETABLE选课表(选课idCHAR(4)PRIMARYKEY,学生idCHAR(4),课程idCHAR(4),成绩INT,FOREIGNKEY(学生id)REFERENCES学生表(学生id),FOREIGNKEY(课程id)REFERENCES课程表(课程id))CHARSET=utf8;SELECT学号,姓名,专业,年级FROM学生表,课程表WHERE学分>=100;

7

已知选课管理系统Xkglxt包含如下数据表和自定义函数(函数已定义好可直接使用): 1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写 2)自定义函数拼音缩写查询:pysx('中文字符串')返回该中文字符串的拼音缩写 请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建选课管理系统数据库以及学生表的SQL语句;

2、在学生表上创建一个触发器(名字自定),当新增学生时自动处理姓名拼音缩写。

学生答案:

1、CREATEDATABASEXkglxtCHARSETutf8;CREATETABLE学生(学生idINTPRIMARYKEY,学号INT,专业VARCHAR(30),年纪INT,姓名VARCHAR(30),姓名拼音缩写VARCHAR(30));

2DELIMITER$$CREATETRIGGERmytriggerAFTERINSERTON学生FOREACHROWBEGININSERTINTO学生(姓名拼音缩写)VALUES(pysx(new.姓名));END$$DELIMITER;

10

已知产品销售数据库cpxs包含如下数据表: 1)产品表:产品编号,产品名称,价格,库存量。 2)销售商表:客户编号,客户名称,地区,负责人,电话。 3)产品销售表:销售日期,产品编号,客户编号,数量,销售额。 写出SQL完成如下操作的SQL语句:

1.写出产品表的建表语句

2.向产品表中插入如下记录: 0001空调3000200 0002冰箱2500300

3.将产品表中每种商品价格打八折后进行显示

4.查找价格在2000到2900之间的产品名称。 5.在产品销售表上创建“冰箱”产品表的视图bxcp

学生答案:

1、CREATETABLE产品表(产品编号char(4)PRIMARYKEY,产品名称VARCHAR(20)NOTNULL,价格float(7,2),库存量int(5));CREATETABLE销售商表(客户编号char(5)PRIMARYKEY,客户名称VARCHAR(20)NOTNULL,地区VARCHAR(10),负责人VARCHAR(10),电话VARCHAR(11));CREATETABLE产品销售表(销售日期date,产品编号char(4),客户编号char(5),数量int,销售额float(8,2));

2、insertinto产品表values(’0001’,’空调’,3000,200);insertinto产品表values(’0002’,’冰箱’,2500,300);

3、update产品表set价格=价格*0.8;

4、select产品名称from产品表where价格between2000and2900;5、createviewbxcpasselect*from产品表where产品名称=冰箱withcheckoption;

10

已知进销存数据库Jxcxt包含如下数据表: 1)商品表:商品id,商品名称,单位,单价,商品状态 2)库存表:库存id,商品id,库存数量 请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上两个表的SQL语句;

2、创建一个存储过程(名字自定),实现商品表的的插入,需要判断当前商品名称是否存在。

学生答案:

CREATEDATABASEJxcxt;CREATETABLE商品表(商品idCHAR(4)PRIMARYKEYAUTO_INCREMENT,商品名称CHAR(4),单位CHAR(4),单价INT,商品状态CHAR(4))CHARSET=utf8;CREATETABLE库存表(库存idCHAR(4)PRIMARYKEYAUTO_INCREMENT,商品idCHAR(4),库存数量INT,FOREIGNKEY(商品id)REFERENCES商品表(商品id))CHARSET=utf8;CREATEVIEWV_库存(库存id,商品名称,单位,库存数量,库存金额)ASSELECT*FROM(商品表,库存表)WITHCHECKOPTION;

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写 2)课程表:课程id,课程名称,学分 3)选课表:选课id,学生id,课程id,成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上三个表的SQL语句;

2、创建一个存储过程(名字自定),实现选课表的插入,需要判断当前课程id和学生id是否存在。

学生答案:

CREATEDATABASExkglxt;CREATETABLE学生表(学生idCHAR(4)PRIMARYKEY,学号CHAR(4),姓名CHAR(4),专业CHAR(4),年级CHAR(4),姓名拼音缩写CHAR(8))CHARSET=utf8;CREATETABLE课程表(课程idCHAR(4)PRIMARYKEY,课程名称CHAR(10),学分CHAR(4))CHARSET=utf8;CREATETABLE选课表(选课idCHAR(4)PRIMARYKEY,学生idCHAR(4),课程idCHAR(4),成绩INT,FOREIGNKEY(学生id)REFERENCES学生表(学生id),FOREIGNKEY(课程id)REFERENCES课程表(课程id))CHARSET=utf8;

SELECT学号,姓名,专业,年级FROM学生表,课程表,选课表WHERE成绩<60;

10

有一个关于商品供应及顾客订单的数据库。其中包括四个表,表中信息如下:供应表apply(id、name、sid、price) 说明:id供应厂家编号,name供应厂家名称,sid商品编号,price商品价格。 顾客表customers(gid、name、address、balance) 说明:gid顾客编号,address地址,balance余额。 订单表orders(sid、gid、date) 说明:sid商品编号,gid顾客编号,date订单日期。 商品表goods(sid、name、count) 说明:sid商品编号,name商品名称,count商品数量

1)从供应表中查询全体供应厂商的基本信息

2)从顾客表中查询地址在"长春"的顾客的顾客编号、顾客姓名及余额.

3)从商品表中查询以"可乐"两个字结尾的商品名称及数量,并按商品数量降序排序

4)从订单表中查询购买商品编号为"101"商品的顾客编号及订单日期.

5)向商品表中追加一条纪录(204,可口可乐,900)

6)从商品表中查询最多商品数量、最少商品数量及商品总数量的记录信息

学生答案:

1、select*fromapply;

2、selectgid,name,balancefromcustomerswhereaddress="长春";

3、selectname,countfromgoodswherenamelike"%可乐"orderbycountdesc;

4、selectgid,datefromorderswheresid=101;

5、insertintogoodsvalues(204,"可口可乐",900);

6、selectmax(count),min(count),sum(count)fromgoods;

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写 2)课程表:课程id,课程名称,学分 3)选课表:选课id,学生id,课程id,成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、创建一个存储过程(名字自定),实现课程表的插入,需要判断当前课程名称的课程是否存在。

学生答案:

  1. CREATETABLE`temp`.`学生表`(`学生id`VARCHAR(20),`学号`VARBINARY(20),`姓名`VARCHAR(20),`专业`VARCHAR(20),`年级`VARCHAR(20),`姓名拼音缩写`VARCHAR(10))CHARSET=utf8;CREATETABLE`temp`.`课程表`(`课程id`VARCHAR(20),`课程名称`VARCHAR(20),`学分`VARCHAR(20))CHARSET=utf8;
  2. CREATETABLE`temp`.`选课表`(`选课id`VARCHAR(20),`学生id`VARCHAR(20),`课程id`VARCHAR(20),`成绩`VARCHAR(20))CHARSET=utf8;2.SELECT`学生表`.`学号`,`学生表`.`姓名`,`学生表`.`专业`,`学生表`.`年级`FROM`学生表`,`选课表`,`课程表`WHERE`学生表`.`学生id`=`选课表`.`学生id`AND`课程表`.`课程id`=`选课表`.`课程id`AND`课程表`.`课程名称`="数据库原理";

8

已知选课管理系统Xkglxt包含如下数据表和自定义函数(函数已定义好可直接使用): 1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写 2)自定义函数拼音缩写查询:pysx('中文字符串')返回该中文字符串的拼音缩写 请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建选课管理系统数据库以及学生表的SQL语句;

2、在学生表上创建一个触发器(名字自定),当修改学生表的姓名时自动处理姓名拼音缩写

学生答案:

1、CREATEDATABASEXkglxtCHARSETutf8;CREATETABLE学生(学生idINTPRIMARYKEY,学号INT,专业VARCHAR(30),年纪INT,姓名VARCHAR(30),姓名拼音缩写VARCHAR(30));

2`DELIMITER$$CREATETRIGGERmytriggerAFTERINSERTON学生FOREACHROWBEGININSERTINTO学生(姓名拼音缩写)VALUES(pysx(new.姓名));END$$DELIMITER;

8

已知选课管理系统Xkglxt包含如下数据表: 1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写 2)课程表:课程id,课程名称,学分 3)选课表:选课id,学生id,课程id,成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、在课程表上创建一个触发器(名字自定)。,当删除课程信息时自动删除该课程的选课信息。

学生答案:

1、1、CREATETABLE学生(学生idINTPRIMARYKEY,学号INT,姓名VARCHAR(30),专业VARCHAR(30),年纪INT,姓名拼音缩写VARCHAR(10))CHARSETutf8;CREATETABLE课程(课程idINTPRIMARYKEY,课程名称VARCHAR(30),学分INT)CHARSETutf8;CREATETABLE选课(选课idINTPRIMARYKEY,学生idINT,课程idINT,成绩INT)CHARSETutf8;

2、DELIMITER$$CREATETRIGGERmytriggerAFTERDELETEON课程FOREACHROWBEGINDELETEFROM选课WHERE选课.课程id=old.课程id;END$$DELIMITER;

8

已知进销存数据库Jxcxt包含如下数据表:

1)商品表:商品id(自增1),商品名称,单位,单价,商品状态

2)库存表:库存id(自增1),商品id,库存数量

请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上两个表的SQL语句;

2、在商品表上创建一个触发器(名字自定),当新增商品时自动在库存表中插入该商品的库存信息(库存数量为0)。

学生答案:

1)

createtable商品表(商品idintnotnullauto_increment,商品名称varchar(255),单位varchar(10),单价int,商品状态varchar(10),primarykey(商品id))charsetutf8;createtable库存表(库存idintnotnullauto_increment,商品idint,库存数量int,foreignkey(商品id)references商品表(商品id),primarykey(库存id))charsetutf8;

2)delimiter$$createtrigger增商品触库存afterinserton商品表foreachrowbegininsertinto库存表values(null,new.商品id,0);end$$

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写 2)课程表:课程id,课程名称,学分 3)选课表:选课id,学生id,课程id,成绩 请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上三个表的SQL语句;

2、创建一个存储过程(名字自定),实现学生表的插入,需要判断当前学号的学生是否存在。

学生答案:

1>CREATETABLE学生表(学生idINTNOTNULLPRIMARYKEY,学号VARCHAR(20)NOTNULL,姓名VARCHAR(10)NOTNULL,专业VARCHAR(20),年级VARCHAR(10),姓名拼音缩写VARCHAR(10));CREATETABLE课程表(课程idINTNOTNULLPRIMARYKEY,课程名称VARCHAR(20),学分FLOAT);CREATETABLE选课表(选课idINTNOTNULLPRIMARYKEY,学生idINTNOTNULL,课程idINTNOTNULL,成绩FLOAT,FOREIGNKEY(学生id)REFERENCES学生表(学生id),FOREIGNKEY(课程id)REFERENCES课程表(课程id));2>DELIMITER$$CREATEPROCEDUREisInsert(id1INT,id2INT,id3INT,gradeFLOAT)BEGINIF((SELECTCOUNT(*)FROM课程表,学生表WHERE学生表.学生id=id2AND课程表.课程id=id

3)<>0)THENINSERTINTO选课表VALUES(id1,id2,id3,grade);ENDIF;END$$DELIMITER;

10

、计算题

1、按照要求,完成以下操作。

(1)、建立一个通信录数据库,要求需要有以下三个表:

lxrenb(联系人表)其字段为(联系人编号、姓名、联系电话、家庭地址),

thjlb(通话记录表)其字段为(通话记录编号、联系人编号、通话开始时间、通知结束时间、通话类别、通话状态),

dxjlb(短信记录表)其字段为(短信记录编号、联系人编号、接发时间、短信内容、短信类别)。

请在SQL SERVER 下建立这个数据库,数据库名为:TXLSJK。字段名以及字段数据类型可自拟。

(2)、在联系人表中插入以下5条记录:

(1,朱红敏,15857455696,河南洛阳市中学路1号)

(2,张丽花,18953991767,河南洛阳市武汉路2号)

(3,梁宝莉,13752317719,河南洛阳市大学路3号)

(4,王君志,13057676112,河南洛阳市大学路4号)

(5,李保江,13752309239,河南洛阳市大学路5号)

(3)、在短信记录表中插入以下一条记录

(1,1,当前系统时间,你的书已到请速来领取,1)

(4)、更新联系人编号为4的联系人电话为13938801001

(5)、依据联系人表和通话记录表建立视图:v_lxren_thjlb(联系人编号、姓名、通话类别、通话状态)

答:(1)createtable lxrenb(idint NOT NULL,name varchar(20) NOT NULL,tel varchar(11),address varchar(255),primary key(id))

---同上

(2)insertinto lxrenb(id, name, tel, address)values(1,’朱红敏’,’15857455696’,’河南洛阳市中学路1号’)

---同上

(3)insertinto dxjlb

(4)updatelxrenbset ... where

(5)CREATE VIEW v_lxren_thjlb(联系人编号、姓名、通话类别、通话状态) AS

SELECT ... WHERE ...

2、学生选课系统,主要表有:学生基本信息表steudents(学号sid、姓名sname、性别ssex、专业spro、出生年月sbirthday等),选课表courses_selection(学号sid、课程号cid、分数score),课程表courses(课程号cid、课程名cname、所属专业professional、学分credits)要求:

写出SQL语句。

1) 查询所有选SQL课程的学生学号,姓名和专业。

2) 删除所有选择数学的同学的选课记录。

3) 查询有哪些课程没有被任何同学报选。

答:

  1. select… from
  2. delete table_name where
  3. select … from courses where cid not in (select cid from courses_selection)


参考文章:https://blog.csdn.net/qq_63884627/article/details/130295583

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,在此表示感谢。

特别提醒:

1、请用户自行保存原始数据,为确保安全网站使用完即被永久销毁,如何人将无法再次获取。

2、如果上次文件较大或者涉及到复杂运算的数据,可能需要一定的时间,请耐心等待一会。

3、请按照用户协议文明上网,如果发现用户存在恶意行为,包括但不限于发布不合适言论妄图

     获取用户隐私信息等行为,网站将根据掌握的情况对用户进行限制部分行为、永久封号等处罚。

4、如果文件下载失败可能是弹出窗口被浏览器拦截,点击允许弹出即可,一般在网址栏位置设置

5、欢迎将网站推荐给其他人,网站持续更新更多功能敬请期待,收藏网站高效办公不迷路。

      



登录后回复

共有0条评论