数据库考试

TOP用法

(1)返回确定数目的记录个数

  语法格式: SELECT TOP n <列名表> FROM <表名> [查询条件]

  其中,n为要返回结果集中的记录条数

  (2)返回结果集中指定百分比的记录数

  语法格式: SELECT TOP n PERCENT <列名表> FROM <表名> [查询条件]

  其中,n为所返回的记录数所占结果集中记录数目的百分比数

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

软件工程大二下

选择+填空+简答

选择题

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、在SQLServer2005中,通配符只有在      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

1

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.一个表中最多只能有一个外键约束,一个主键约束。

3

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

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

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

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

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

A.输入NULL

B.输入

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.删除表里的数据,同时删除了表的数据结构

4

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)

6

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端实体的码

8

(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,

10

第三章数据表操作

选择:

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.被删除的记录又被恢复回来,仍然存放在数据库的表中

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

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

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

确答案是:B         你选择的答案是:未选            判题结果:×

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

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

20

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';

23

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           你选择的答案是:未选               判题结果:×

24

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

考答案:ALTER^UPDATE^^

17.

删除表中数据的命令是:        

考答案: delete' deletefrom'  

18.

新建数据库的命令是:        

考答案:create database'creatdatable'

19.

备份数据库的命令是              

考答案:backup*backupdatabase*

20.

SQLServer2008中,局部变量名必须以      开头。

考答案:@^

21 .

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

考答案:不可重复读问题

22.

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

考答案:共享型封   锁

2 3.

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语句返回指定条数的记录,则应使用            关键字来限定输出字段。

31

考答案: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.

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

考答案:XQ^^^^^^^^

39.

SQL中表结构的修改命令是           

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

40.

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

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

41.

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

考答案:groupby^

42.

truncate table 的作用是                 

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

43.

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

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

44.

若事务丁对数据A加上            锁,则允许T读取和修改A,其他任何事务都不允许对A加任何类型的锁,直到T释放A上的锁。

考答案:X^^^^^^^^

45.

在数据库技术中,把未提交的随后被撤消的数据称为           

考答案:脏数据^^^^^^^^

32

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子句必须跟在            子句后面。

33

考答案: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身份验证模式,另一种是              

考答案:混合模式^混合^^^^^^^

34

75.

ER图向关系模型转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的           

考答案:属性和键^^^^^^^^

76

关系模型用            表示实体之间的联系。

考答案:关键码^^^^^^^^

77

关系代数的基本操作是           

考答案:U-×π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.

新增表中数据的命令是:        

35

三、简答题:

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中使用。

38

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

37

考答案: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^

36

便地管理数据,主要表现在以下几个方面: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注入分析器就可轻松跳过防注入系统并自动分析其注入点。然后只需要几分钟,你的管理员账号及密码

41

常见的数据模型有哪些,各有哪些优缺点?

学生答案:

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)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。利用数据库可以高效、有组织地存储数据,使人们能够更快、更方

40

10

MySQL支持哪些外连接,各有什么特点?

学生答案:外连接有左外连接与右外连接、全连接。左连接的结果集包括指定的左表全部数据与匹配的右表数据,右表中没匹配的全为空值.关键字&felt 0;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

39

1. select*fromcustomerswherecustomers. gid=orders gidanddate="2008-8=8"

2. updategoodssetsid=`百事可乐'wheresid=`204`;

3.selectbalanceDATE   ADD(NOW(   ),INTERVAL10day) fromcustomerswherebalance=1000;

4. deletefromorderswheresid=`102`;

10

已知进销存数据库Jxext包含如下数据表: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),zyVARC HAR(10),njCHAR(2),xmpysxVARCHAR(5))CHARSET=utf8;课程表:

CREATETABLEcourse(kcidINTPRIMARYKEY,kcmcVARCHAR(9),xfSMALLINT)CHARSET =utf8;选课表:

CREATETABLEsc(xkidINTPRIMARYKEY,xsidINT,kcidINT,gradeDOUBLE(3,2),FOREIGNKE Y(xsid)REFERENCESstudent(xsid),FOREIGNKEY(kcid)REFERENCEScourse(kcid))CHARSE T=utf8;

2.CREATEVIEWv_选课

ASSELECTs. xkid, st. xh, st. xm,c. kcmc,s. gradeFROMscsINNERJOINstudentstONs. xsid=st. xsidlN NERJOINcoursecONc. kcid=s. kcid;

10

已知选课管理系统Xkglxt包含如下数据表:1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写2)课程表:课程id,课程名称,学分   3)选课表:选课id,学生id,课程id,成绩系统已建有 getstry(p_name VARCHAR(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,

44

一整套常规的存储过程来访问各组以便加快速度和简化客户程序代码的开发。在此期间,我们发现3GL编码副设置了所有可能的情况条件,比如以下所示:

SELECTCH=COUNT(*)FROM[|WHERE[BEGININSERT1NTO[]((N

INSERTINTO[]([iteralerrorcodeforPrimaryKeyConstraintBEGIN 多了,而且事实上,利用了我们给数据库的功能。虽然我个人不喜欢使用嵌入文字(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或LEFT JOIN。左外连接查询是以左边的表为基准,去匹配要连接的表,不管是否匹配条件都会以基准表的条数返回结果(这里明显不同于内连接),匹配到的数据就显示匹配到的数据,没有匹配条件的数据就显示为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)将商品表中没有顾客订购的商品信息删除学生答案:

43

就会被分析出来。7)对于注入分析器的防范,笔者通过实验,发现了一种简单有效的防范方法。首先我们要知道SQL注入分析器是如何工作的。在操作过程中,发现软件并不是冲着“admin”管理员账号去的,而是冲着权限(如flag=1)去的。这样一来,无论你的管理员账号怎么变都无法逃过检测。

20

请描述MySql事务的特点及事务机制的实现方法?

学生答案:

1、原子性(atomicity):一个事务必须被作为一个不可分割的最小工作单元,每个事务中的所有操作必须要么成功,或者要么失败,永远不可能一些操作失败,一些操作成功,这就是所谓的原子性的概念.2、一致性(consistency):一致性就像上面举的一个例子一样,当发生异常情况下,数据仍然是正确的。就是说当一个事务执行失败了,数据之间是不会受异常的情况而影响,永远保持着他的正确性.3、隔离性(isolation):当一个事务还未提交,每个事务之间是相互隔离的,互补受到影响.4、持久性(durability):当一个事务进行提交之后,发生的变化就会永远保存在数据库中.

20

3)实现数据完整性通常有几种方式?请分别阐述每种方式的特点

学生答案:

数据完整性(Datalntegrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性分为四类:实体完整性(EntityIntegrity)、域完整性(DomainIntegrity)、参照完整性(Referentiallntegrity)、用户定义的完整性(User-definedIntegrity)。保证数据的完整性:1.用约束而非商务规则强制数据完整性如果你按照商务规则来处理需求,那么你应当检查商务层次/用户界面:如果商务规则以后发生变化,那么只需要进行更新即可。假如需求源于维护数据完整性的需要,那么在数据库层面上需要施加限制条件。如果你在数据层确实采用了约束,你要保证有办法把更新不能通过约束检查的原因采用用户理解的语言通知用户界面。除非你的字段命名很冗长,否则字段名本身还不够。只要有可能,请采用数据库系统实现数据的完整性。这不但包括通过标准化实现的完整性而且还包括数据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。不要依赖于商务层保证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上。2.分布式数据系统对分布式系统而言,在你决定是否在各个站点复制所有数据还是把数据保存在一个地方之前应该估计一下未来5年或者10年的数据量。当你把数据传送到其他站点的时候,最好在数据库字段中设置一些标记。在目的站点收到你的数据之后更新你的标记。为了进行这种数据传输,请写下你自己的批处理或者调度程序以特定时间间隔运行而不要让用户在每天的工作后传输数据。本地拷贝你的维护数据,比如计算常数和利息率等,设置版本号保证数据在每个站点都完全一致。3.强制指示完整性没有好办法能在有害数据进入数据库之后消除它,所以你应该在它进入数据库之前将其剔除。激活数据库系统的指示完整性特性。这样可以保持数据的清洁而能迫使开发人员投入更多的时间处理错误条件。4.关系如果两个实体之间存在多对一关系,而且还有可能转化为多对多关系,那么你最好一开始就设置成多对多关系。从现有的多对一关系转变为多对多关系比一开始就是多对多关系要难得多。5.采用视图为了在你的数据库和你的应用程序代码之间提供另一层抽象,你可以为你的应用程序建立专门的视图而不必非要应用程序直接访问数据表。这样做还等于在处理数据库变更时给你提供了更多的自由。6.给数据保有和恢复制定计划考虑数据保有策略并包含在设计过程中,预先设计你的数据恢复过程。采用可以发布给用户/开发人员的数据字典实现方便的数据识别同时保证对数据源文档化。编写在线更新来“更新查询”供以后万一数据丢失可以重新处理更新。7.用存储过程让系统做重活解决了许多麻烦来产生一个具有高度完整性的数据库解决方案之后,我所在的团队决定封装一些关联表的功能组,提供

42

请完成如下操作的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`DELIMITERSSCREATETRIGGERmytriggerAFTERINSERTON学生

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语句,表名和列名必须和上面的一致:

47

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,成绩

46

课程名称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空调30002000002冰箱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商品表(商品

45

号sid、课程号cid、分数scorc),课程表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)

50

容、短信类别)。

请在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) create table lxrenb(id int NOT NULL, name varchar(20)NOT NULL, tel varchar(11), address varchar(255), primary key(id))

---同上

(2) insert into lxrenb(id, name, tel, address) values(1,’朱红敏’   ,’   15857455696’,’   河南洛阳市中学路1号’   )

---同上

(3) insert into dxjlb

(4) update lxrenb set …where

(5)CREATEVIEWv   1xren   thjlb(联系人编号、姓名、通话类别、通话状态)AS

SELECT …WHERE …

2、学生选课系统,主要表有:学生基本信息表steudents(学号sid、姓名sname、性别 ssex 、专业 spro 、出生年月 sbirthday 等),选课表 courses_selection(学

49

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)BEGI NIF((SELECTCOUNT(*)FROM课程表,学生表WHERE学生表.学生id=id2AND课程表.课程id=id

3)<>0)THENINSERTINTO 选课表VALUES(id1,id2,id3, grade);ENDIF;END$$DELIMITER;10

四、计算题

1、按照要求,完成以下操作。

(1)、建立一个通信录数据库,要求需要有以下三个表:

lxrenb(联系人表)其字段为(联系人编号、姓名、联系电话、家庭地址),thjlb(通话记录表)其字段为(通话记录编号、联系人编号、通话开始时间、通知结束时间、通话类别、通话状态),

dxjlb(短信记录表)其字段为(短信记录编号、联系人编号、接发时间、短信内

48

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值