sqlserver数据库笔试题和答案

sqlserver数据库笔试题和答案
sqlserver数据库笔试题和答案

一单词解释(2分/个) 34分

Data 数据 Database 数据库 RDBMS 关系数据库管理系统 GRANT 授权

REVOKE 取消权限 DENY 拒绝权限 DECLARE 定义变量 PROCEDURE存储过程

事务 Transaction 触发器 TRIGGER 继续 continue 唯一 unqiue

主键 primary key 标识列 identity 外键 foreign key 检查 check

约束 constraint

二编写SQL语句(5分/题) 50分(包含笔试题问题和解答答案)

1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话Create table stu (学号 int ,

姓名 varchar(8),

年龄 int,

性别 varchar(4),

家庭地址 varchar(50),

联系电话 int

);

2) 修改学生表的结构,添加一列信息,学历

Alter table stu add 学历 varchar(6);

3) 修改学生表的结构,删除一列信息,家庭住址

Alter table stu drop column 家庭地址

4) 向学生表添加如下信息:

学号姓名年龄性别联系电话学历

1A22男123456小学

2B21男119中学

3C23男110高中

4D18女114大学

Insert into stu values(1,’A’,22,’男’,123456,’小学’)

Insert into stu values(2,’B’,21,’男’,119,’中学’)

Insert into stu values(3,’C’,23,’男’,110,’高中’)

Insert into stu values(4,’D’,18,’女’,114,’大学’)

5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”

Update stu set 学历=’大专’ where 联系电话like ‘11%’

6) 删除学生表的数据,姓名以C开头,性别为‘男’的记录删除

Delect from stu where 性别=’男’ and 姓名like ‘c%’

7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来

Select 姓名,学号 from stu where 年龄<22 and 学历=’大专’

8) 查询学生表的数据,查询所有信息,列出前25%的记录

Select top 25 percent * from stu

9) 查询出所有学生的姓名,性别,年龄降序排列

Select 姓名,性别 from stu order by 年龄 desc

10) 按照性别分组查询所有的平均年龄

Select avg(年龄) from stu group by 性别

三填空(3分/题) 36分(包含笔试题问题和解答答案)

1) 索引分为__聚集索引___和__非聚集索引__在一张表上最多可以创建1个聚集索引_索引。但是可以创建_249个非聚集索引索引。

2) 系统存储过程_sp-helptext__是用来显示规则,默认值,未加密的存储过程,用户定义函数,触发或视图的文本

3) 事务开始:begin Transction

提交事务:commit Transction

回滚事务:rollback Transction

四问答题(5分/题) 60分(包含笔试题问题和解答答案)

1) 数据库包含哪些那几种后缀名的文件必须,这些文件分别存放在什么的信息?

主要数据文件(.mdf) 包含数据用户收集的信息,还有数据库其他相关的信息,

日志数据文件(.ndf) 存放用户对数据库的增删改查的信息,用于备份恢复使用

2) TRUNCATE TABLE 命令是什么含义和Delete from 表名有什么区?

TRUNCATE TABLE: 提供了一种删除表中所有记录的快速方法

Delete from 表名:可以删除表的一个或多条记录

3) 说出以下聚合数的含义:avg ,sum ,max ,min , count ,count(*)

AVG:求平均值

SUM:求和

MAX:求最大值

MIN:求最小值

COUNT(*):返回所有行数

COUNT返回满足指定条件的记录值

4) inner join 是什么意思作用是什么写出基本语法结构

INNER JOIN 内联接,用于返回两个表中要查询的列数据通信

Select * from 表名1 inner join 表名2 on 条件表达式

5) 左向外联接,右向外联接,全联接的关健字如何写?

Left outer join 左向外联接

Right outer join 右向外联接

Full outer join 全联接

6) 子查询分为几类,说明相互之间的别

了查询分三种基本子查询: 1.使用in 查询返回一列或更多值

2.比较运算符,返回单个值勤做为外查询的参数

3.用exists 查询时相当于进行一次数据测试

7) 实现实体完整性,实现域完整性,实现完整性(引用完整性),实现自定义完整性分别使用什么手段?

实现实体完整性: 主键约束唯一约束标识列

实现域完整性: 默认值约束检查约束非空属性

引和完整性: 外键引用

8) 视图可以更新吗会影响到实际表吗?

视图是可以更新的,视图只是基于基本表上的虚拟表,对视图的更新会直接影响到实际表

9) 谈谈这样几个角色, dbo , Sysadmin public

Dbo : 是数据库的拥有者,对数据库拥有所有操作的权限

Sysadmin : 可以对SQL SERVER执行任何活动

Public : 自动创建的,能捕获数据库中用户的所有默认权限

10) 何为动态游标何为静态游标?

动态游标与静态游标相对,反映结果集中所做的所有更改,

静态游标的结果集在游标打开时,建立在tempdb中,总按照游标打开时的原样显示

11) 什么是存储过程为什么存储过程要比单纯的Sql 语句执行起来要快?

存储过程:是一组预先编译好的T-SQL代码

在创建存储过程时经过了语法和性能优化,执行不必重复的步骤,使用存储过程可提高运行效率

12)什么是Inserted 表什么是Deleted 表?

Inserted表用于存储inserted和update语句影响的副本

Deleted 表用于存储delect 和 update语句影响的行的副本

简单数据库查询语句

数据查询语言(SELECT语句) 数据操纵语言(INSERT, UPDATE, DELETE语句) 数据定义语言(如CREATE, DROP等语句) 数据控制语言(如COMMIT, ROLLBACK等语句 超详细的SQL语句语法2008-07-11 14:25简单的Transact-SQL查询只包括选择列表、FROM 子句和WHERE子句 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列 它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行, 默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行, 而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: SELECT TOP 2 *FROM testtable SELECT TOP 20 PERCENT * FROM testtable 9、说明:in 的使用方法 select * from table1 where a [not] in (‘值1’,’值2’,’值4’,

SQLserver数据库课程设计范例

1 概述 1.1课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 2.1功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义

数据库原理试题及答案

数据库原理试题答案(B卷) 一、填空题(每题 2 分,共 20 分) 1、实体 2、日志文件 3、完整性 4、关系 5、关系演算 6、外模式 / 模式 7、更新 8、集成的 9、先来先服务 10、人工智能 二、选择题(每题 1 分) 1 、C 2 、 D 3 、 B 4 、 A 5 、 B 6 、 C 7 、 C 8 、 C 9 、 B 10 、 C 三、简答题(每题 5 分,共 20 分) 1 、答案要点:数据库系统中的常见故障有:事务内部的故障(事务故障)( 1 分)、系统故障( 1 分)、介质故障( 2 分)、计算机病毒( 1 分)。 2 、答案要点:数据模型通常由数据结构( 1 分)、数据操作( 2 分)、完整性约束( 2 分)三部分组成。 3 、答案要点:不是所有的视图都是可更新的( 2 分);因为有些视图的更新不能唯一地有意义地转换成对相应基本表地更新( 3 分)。 4 、答案要点:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同( 5 分)。 四、(共 10 分) 1 、 80 , 90 2 、 T 1 T 2 Slock A 读 A = 50 Y = A Unlock A Xlock A A=Y-10 Slock A 写回 A = 40 等待 Unlock A 等待 读 A = 40 Y = A Unlock A Xlock A A=Y × 2 写回 A = 80 Unlock A

五、(共 10 分) 六、(共 20 分) 1 、关系代数: (1)sno ( cno =‘ 2 ' (SC) )(2分) (2) Sno,Sn ( Cn=' 数据库概论 ' ) (2分) (3) Sno,SN (S ( Cno , sno (SC) ÷ Cno ( C )) ) (2分) ALPHA 语言 ? GET W(SC.SNO): https://www.360docs.net/doc/e17148174.html,O=' 2' (2分) ? RANGE C X SC Y GET W (S.SNO.S.SN): X( Y(https://www.360docs.net/doc/e17148174.html,O=https://www.360docs.net/doc/e17148174.html,O ^ Y.SNO=S.SNO ^ https://www.360docs.net/doc/e17148174.html,=' 数据库概论 ' (2分) ? RANGE C X SC Y GET W(S.SNO,S.SN): X( Y(https://www.360docs.net/doc/e17148174.html,O=https://www.360docs.net/doc/e17148174.html,O ^ Y.SNO=S.SNO)) (2分) 2 、( 1 ) SELECT COUNT(*) FROM STUDENT (2分) (2) SELECT SNO FROM SC GROUP BY SNO HAVING COUNT(*)>5 (3分) (3) DELECT FROM SC WHERE https://www.360docs.net/doc/e17148174.html,O IN (SELECT https://www.360docs.net/doc/e17148174.html,O FROM C WHERE CN=' 数据结构 ') DELETE FROM C WHERE CN= ‘数据结构' (3分) 七、(共 10 分) 科室(科室代码,科室名称) (1分) 医生(工号,姓名,名称,聘用日期,聘用期限,科室) (1分) 病人(病历号,姓名,年龄,工作单位) (1分) 就诊(医生工号,病历号,就诊日期) (2分) 一、填空题(每空 2 分,共 20 分) 1、关系中主码的取值必须唯一且非空,这是由 ___________ 完整性规则决定的。 2、当数据库被破坏后,如果事先保存了数据库副本和 ________________ ,就有可能恢复数据库。 3、数据库的 ____________ 是指数据库的正确性和相容性。 4、关系数据操作语言的特点是:操作对象与结果均为 ___________ 、操作的非过程性强、语言一体化、并且建立在数学理论基础之上。 5、SQL 是一种介于关系代数和 _____________ 之间的结构化的查询语言。 6、对于每一个外模式,数据库系统都有一个 _______________ 映象,它定义了该外模式与模式之间的对应关系。 7、视图是一个需表,它一经定义就可以和基本表一样被查询,但 _________ 操作将有一定的限制。 8、数据仓库是一个面向主题的、 _____________ 、不可更新的、随时间不断变化的数据集合。 9、避免活锁的简单方法是采用 _____ 的策略。 10、知识库系统和主动数据库系统是将数据库技术和 ________ 技术相结合产生的。 二、选择题(每小题 1 分,共 10 分) 1、SQL 中,下列涉及空值的操作,不正确的是 ( )

数据库笔试题 - 答案

XXXX感谢您对本套试题的回答,首先请您填写上您的姓名(____________),本套试题将作为XXXX入职的参考,多谢您的重视。本套试题分三部分:填空题(10分)、选择题(20分),SQL 基础题(30)、简答题(20)、综合题(30)。时间60分钟,满分110分。 一、填空题(每题2分,共10分) 1. 索引字段值不唯一,应该使用的索引类型为( 普通索引 ) 2. 只有满足联接条件的记录才包含在查询结果中,这种联接为( 内联接) 3. E-R模型的组成包括那些元素( 实体 )( 属性)( 关系) 4. 事务所具有的特性有( 原子性)( 一致性)( 隔离性)( 持久性) 5、结构化程序设计的三种基本逻辑结构是(顺序结构),(选择结构),(循环结构)。 二、选择提(每题1分,共20分) 1、在删除整表数据,同时保留表结构时,采用( C )的效率比( A )要高; A. delete B. drop table C. truncate Table 2、数据库管理系统中,能实现对数据库中的数据进行插入/修改/删除的功能称为(C); A.数据定义功能 B.数据管理功能 C.数据操作功能 D.数据控制功能 3、2 4、在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过(B)。 A:候选键B:主键C:外键D:超键 4、数据库管理系统DBMS S是( D); A.信息管理的应用软件 B.数据库系统+应用程序 C.管理中的数据库 D.管理数据的软件 5、关系数据库中,实现表与表之间的联系是通过(B)。 A、实体完整性规 B、参照完整性规则 C、用户自定义的完整性 D、值域 6、设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型(B)。 A、m:n B、1:m C、m:1 D、1:1 7、设有课程和学生两个实体,每个学生可以选修多个课程,一个课程可以有多名学生选修,则课程与学生实体之间的联系类型( A )。 A、m:n B、1:m C、m:1 D、1:1 8、如果一个班只能有一个班长,而且一个班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于(D)。 A、m:n B、1:m C、m:1 D、1:1 9、索引字段值不唯一,应该选择的索引类型为( B )。 A:主索引 B:普通索引C:候选索引D:唯一索引 10、如果指定参照完整性的删除规则为"级联",则当删除父表中的记录时( C )。 A:系统自动备份父表中被删除记录到一个新表中 B:若子表中有相关记录,则禁止删除父表中记录 C:会自动删除子表中所有相关记录

SQL查询语句大全集锦(超经典)

SQL查询语句大全集锦 MYSQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 复制内容到剪贴板 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 复制内容到剪贴板 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: 复制内容到剪贴板 代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题:

复制内容到剪贴板 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: 复制内容到剪贴板 代码:SELECT TOP 2 * FROM `testtable` 复制内容到剪贴板 代码:SELECT TOP 20 PERCENT * FROM `testtable` (二) FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, 它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: 复制内容到剪贴板 代码:SELECT `username`,citytable.cityid FROM `usertable`,`citytable` WHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名: 复制内容到剪贴板 代码:表名 as 别名 表名别名例如上面语句可用表的别名格式表示为: 复制内容到剪贴板

SQLServer――数据库设计技巧.

数据库的设计学问很大,就连小小的表设计就要遵守3大范式(其实不只3大范式,所以为了以后维护方便,我们不得不将设计进行到底!下面五点设计数据库的技巧介绍给大家: 1.文档 对所有的快捷方式、命名规范、限制和函数都要编制文档。 采用给表、列、触发器等加注释的数据库工具。是的,这有点费事,但从长远来看,这样做对开发、支持和跟踪修改非常有用。取决于你使用的数据库系统,可能有一些软件会给你一些供你很快上手的文档。你可能希望先开始在说,然后获得越来越多的细节。或者你可能希望周期性的预排,在输入新数据同时随着你的进展对每一部分细节化。不管你选择哪种方式,总要对你的数据库文档化,或者在数据库自身的内部或者单独建立文档。这样,当你过了一年多时间后再回过头来做第2 个版本,你犯错的机会将大大减少。 2. 使用常用英语(或者其他任何语言而不要使用编码 为什么我们经常采用编码(比如9935A 可能是墨水笔的供应代码,4XF788-Q 可能是帐目编码?理由很多。但是用户通常都用英语进行思考而不是编码。工作5 年的会计或许知道4XF788-Q 是什么东西,但新来的可就不一定了。在创建下拉菜单、列表、报表时最好按照英语名排序。假如你需要编码,那你可以在编码旁附上用户知道的英语。 3. 保存常用信息 让一个表专门存放一般数据库信息非常有用。我常在这个表里存放数据库当前版本、最近检查/修复(对Access、关联设计文档的名称、客户等信息。这样可以实现一种简单机制跟踪数据库,当客户抱怨他们的数据库没有达到希望的要求而与你联系时,这样做对非客户机/服务器环境特别有用。 4. 测试、测试、反复测试

建立或者修订数据库之后,必须用用户新输入的数据测试数据字段。最重要的是,让用户进行测试并且同用户一道保证你选择的数据类型满足商业要求。测试需要在把新数据库投入实际服务之前完成。 5. 检查设计 在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库。换句话说,针对每一种最终表达数据的原型应用,保证你检查了数据模型并且查看如何取出数据。

数据库试题及答案

《数据库》试题 使用教材:Visual FoxPro 数据库应用 试题范围:全册 出版社:高等教育出版时版次:第3版 学校名称:文县职业中专 一、选择题 1、在有关数据库的概念中,若干记录的集合称为() A. 文件 B. 字段 C. 数据项 D. 表 2、在Visual FoxPro中,向数据库文件中追加数据使用语句() A、INSERT B、REPLACE C、APPEND D、ADD 3、在Visual FoxPro中,删除数据库的所有记录,仅保留库结构的命令是( ) A、delete all B、pack C、recall D、zap 4、在Visual FoxPro中,分屏显示当前数据库中年龄字段大于20的所有记录,正确的命令为( ) A、display all for nl>20 B、display all while nl>20 C、list for nl while nl>20 D、list while nl>20 5、在Visual FoxPro中,skip命令移动记录指针的基准是( ) A、第一条记录 B、当前记录 C、指定纪录 D、库文件尾6、逻辑运算符在运算时的优先顺序是() A.NOT→AND→OR B.AND→NOT→OR C.OR→NOT→AND D.从左至右按先后次序 7、在关系运算中,查找满足一定条件的元组的运算称之为()A. 投影 B. 选择 C. 关联 D. 复制 8、下面的赋值表达式不正确的是() A.STORE "HELLO WORLD!" TO STR B. STORE 123456 TO

A1,B1 C.WORD="FOXPRO" D.STORE 12,34 TO A2,B29、不能作为索引关键字的数据类型是() A.数值型 B.备注型 C.日期型 D.字符型 10、当前表中含xm(姓名,字符型)字段,显示姓“李”的记录的命令是() A.DISP FOR "李"=xm B.DISP FOR xm=李 C.DISP FOR SUBS(xm,1,1)= ‘李’ D.DISP FOR SUBS(xm,1,2)=‘李’ 11、用命令DIMENSION A(4,5)定义后,A数组中共有()个数据元素。 A. 4 B. 5 C. 9 D. 20 12、在Visual FoxPro的一个工作区中,同一时刻最多能打开( )个库文件。 A、10 B、1 C、任意多 D、256 13、33.结构化程序设计中的三种基本结构是顺序结构、分支结构和() A、选择结构 B、循环结构 C、混合结构 D、跳转结构 14、假定STUDENT.DBF学生数据库文件中前六条记录均为男生的记录,执行以下命令序列: USE.STUDENT GOTO 3 LOCATE NEXT 3 FOR 性别="男" 后,记录指针定位在( ) A、第3条记录上 B、第4条记录上 C、第5条记录上 D、第6条记录上 15、68.下面有关表索引的几种说法,正确的是() A.索引和排序一样,它改变记录的物理顺序。

数据库面试题答案

数据库 SQL面试题 1)谈一下数据库的索引的原理,如何发挥作用的?针对插入操作索引会起正面作用么? 索引类似于书的目录,主要用于提高查询效率,也就是按条件查询的时候,先查询索引,再通过索引找到相关的数据,索引相当于记录了对某个关键词,指定到不同的文件,或者文件里的不同位置的结构 索引会降低数据更新的效率,当插入、修改、删除时会引起索引结构的更新 2) 数据库表里如果数据行数很多,做分页查询,SQL如何书写? 3) 说说group by, having是做什么的,举一个group by的例子 4) 说说外连接和连接的区别 5) 事务是什么概念,举例说明 6) 一个表:emp(,性别,年龄,工作类型,领导,工资,部门) a) 列出每个部门的最高工资和最低工资 Select max(工资),min(工资) from emp group by部门 b) 列出各部门’工作类型’为’普通职员’的最低和最高工资 Select max(工资),min(工资) from emp group by部门 Where工作类型=’普通职员’ c) 列出高于本部门平均工资的员工,工资,部门 select ,工资,部门 from emp e1 where工资>( select avg(工资) from emp e2 where e2. 部门=e1.部门 ) 存储过程和函数的区别是什么? 答:存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其他对象的任务,用户可以调用存储过程。而函数通常是数据库已定义的方法,它接受参数并返回某种类型的值,并且不涉及特定用户表。 4.事务是什么? 答:事务是作为一个逻辑单元执行的一系列操作。一个逻辑工作单元必须有4个属性,称为ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能称为一个事务。 5.游标的作用是什么?如何知道游标已经到了最后? 答:游标用于定位结果集的行。通过判断全局变量FETCH_STATUS可以判断其是否到了最后。通常此变量不等于0表示出错或到了最后。

SQLserver数据库专业课程设计范例

SQLserver数据库专业课程设计范例

1 概述 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设

计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。 然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 首先,建立一些基本表(尽可能满足3N),

对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人;客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义为存储过程。 查询当月书店销售金额、营业金额;(存储过程)查询某种图书库存数量;(存储过程) 查询当月销量最好的图书信息;(存储过程) 按供应商名称查询订购信息;(普通查询) 查询购买次数超过3次的客户信息。(普通查询)接着根据需要建立触发器、存储过程、索引,实现对数据库的优化。最后,进行过程功能的验

数据库试题及答案_

笔试样卷一 参考答案 一、简答题(25分) 1.数据库阶段数据管理的主要特点是什么? 2.解释DB、DBMS、DBS三个概念? 3.什么是物理数据独立性和逻辑数据独立性? 4.试说明DBMS的主要功能? 5.在ER模型转换为关系模型时,联系类型要根据不同的情况作不同的处理,试说明之。 二、计算题(20分) 1.设有关系R和S R: S: A B C A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 3 4 4 4 3 列表计算R∪S、R-S、R×S、π 3,2(S)、δ B<5 (R)。(5分) 2.设有三个关系 S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 试用关系代数表达式表示下列查询

(1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 三、设有三个基本表(45分) S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 1.试用T-SQL的查询语句表达下列查询 (1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 2.试用T-SQL的查询语句表达下列查询 (1)统计有学生选修的课程的门数 (2)求选修C4课程的学生的年龄 (3)求LIU老师所授课程的每门课程的学生的平均成绩 (4)统计每门课程的学生选修人数 (5)求年龄大于所有女同学年龄的男学生的姓名和年龄(10分)3.试用T-SQL更新语句完成下列更新操作 (1)往表S中插入一个学生资料(‘S9’, ‘WU’, 18)

数据库面试题数据库的面试题及答案

数据库面试题:数据库的面试题及答案 疯狂代码 https://www.360docs.net/doc/e17148174.html,/ ?:http:/https://www.360docs.net/doc/e17148174.html,/DataBase/Article25003.html . 数据库切换日志的时候,为什么一定要发生检查点?这个检查点有什么意义? 答:触发dbwr的执行,dbwr会把和这个日志相关的所有脏队列写到数据文件里,缩短实例恢复所需要的时间。 2. 表空间管理方式有哪几种,各有什么优劣。 答:字典管理方式和本地管理方式,本地管理方式采用位图管理extent,减少字典之间的竞争,同时避免了碎片。 本地管理表空间与字典管理表空间相比,其优点如下: 1).减少了递归空间管理; 2).系统自动管理extents大小或采用统一extents大小; 3).减少了数据字典之间的竞争; 4).不产生回退信息; 5).不需合并相邻的剩余空间; 6).减少了空间碎片; 7).对临时表空间提供了更好的管理。 3. 本地索引与全局索引的差别与适用情况。 答:对于local索引,每一个表分区对应一个索引分区,当表的分区发生变化时,索引的维护由Oracle自动进行。对于global索引,可以选择是否分区,而且索引的分区可以不与表分区相对应。当对分区进行维护操作时 ,通常会导致全局索引的INVALDED,必须在执行完操作后REBUILD。Oracle9i提供了UPDATE GLOBAL INDEXES语句,可以使在进行分区维护的同时重建全局索引。 4. 一个表a varchar2(1),b number(1),c char(2),有100000条记录,创建B-Tree索引在字段a上,那么表与索引谁大?为什么? 答:这个要考虑到rowid所占的字节数,假设char总是占用2字节的情况,比较rowid,另外,table和index在segment free block的管理也有差别。 5. Oracle9i的data guard有几种模式,各有什么差别。 答:三种模式: 最大性能(maximize performance):这是data guard默认的保护模式。primay上的事务commit前不需要从standby上收到反馈信息。该模式在primary故障时可能丢失数据,但standby对primary的性能影响最小。 最大可用(maximize availability):在正常情况下,最大可用模式和最大保护模式一样;在standby不可用时 ,最大可用模式自动最大性能模式,所以standby故障不会导致primay不可用。只要至少有一个standby可用的情况下,即使primarydown机,也能保证不丢失数据。 最大保护(maximize protection):最高级别的保护模式。primay上的事务在commit前必须确认redo已经传递到至少一个standby上,如果所有standby不可用,则primary会挂起。该模式能保证零数据丢失。 6. 执行计划是什么,查看执行计划一般有哪几种方式。 答:执行计划是数据库内部的执行步骤: set autotrace on select * from table

数据库习题及答案,第三版

2004-2005学年第二学期期末考试 D 2002级计算机科学与技术专业《数据库原理与应用》课程试题 一、选择题(15分,每空1分): 1 .数据库系统中,物理数据独立性( physical data independenee )是指 _ 。 A. 数据库与数据库管理系统的相互独立 B. 应用程序与DBMS 的相互独立 C. 应用程序与存储在磁盘上数据库的物理模式是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立 2. _____________________ 数据库系统的特点是 、数据独立、减少数据冗余、避免数据不一 致和加强了数据保护。 A. 数据共享 B .数据存储 C.数据应用 D .数据保密 3. 数据库管理系统能实现对数据库中数据的查 询、 插入、修改和删除等操作的数据库语言称为 A. 数据定义语言(DDL ) B .数据管理语言 C.数据操纵语言(DML ) D .数据控制语言 4. 在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为①;从表中选出满足某种 条件的元组的操作称为②;_将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为③。 A. 选择 B .投影 C.连接 D.扫描 5. _________________________ 关系模型中,一个候选码 。 A .可由多个任意属性组成 B. 至多由一个属性组成 C. 可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 D. 必须由多个属性组成 7.数据库中只存放视图的 __________ 。 A .操作 B .对应的数据 C. 定义 D.限制 9.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限, O A. 可靠性 B. —致性 C.完整性 D .安全性 6. SQL 语言是 语言。 A .层次数据库 C .关系数据库 B. 网络数据库 D .非数据库 &关系数据库规范化是为解决关系数据库中 问题而引人的。 A .数据冗余 B. 提高查询速度 C.减少数据操作的复杂性 D .保证数据的安全性和完整性 这主要是为了实现数据库的

数据库笔试题(附带带答案)

选择题 1. 下面叙述正确的是___c___。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是___c___。 A、队列 B、线性表 C、二叉树 D、栈 3. 在一棵二叉树上第5层的结点数最多是__b____。2的(5-1)次方 A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是___a___。 A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口 C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是___d___。 A、对象 B、继承 C、类 D、过程调用 6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___b___。 A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是__d____。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 8. 数据库系统的核心是___b___。 A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是__c____。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是___a___。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是___d___。 A、存放用户数据的文件 B、管理数据库对象的系统文件 C、存放用户数据和系统的文件 D、前三种说法都对 12. SQL语句中修改表结构的命令是___c___。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是__b____。 A、部门+性别+基本工资 B、部门+性别+STR(基本工资) C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资) 14. 把一个项目编译成一个应用程序时,下面的叙述正确的是___a___。 A、所有的项目文件将组合为一个单一的应用程序文件 B、所有项目的包含文件将组合为一个单一的应用程序文件

数据库SQL查询语句大全修订稿

数据库S Q L查询语句 大全 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

经典SQL查询语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definitio n only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type

注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

SQLSERVER数据库、表的创建及SQL语句命令

SQLSERVER数据库、表的创建及SQL语句命令 SQLSERVER数据库,安装、备份、还原等问题: 一、存在已安装了sql server 2000,或2005等数据库,再次安装2008,会出现的问题 1、卸载原来的sql server 2000、2005,然后再安装sql server 2008,否则经常sql server服务启动不了 2、sql server服务启动失败,解决方法: 进入sql server configure manager,点开Sql server 网络配置(非sql native client 配置),点sqlzhh(我sqlserver 的名字)协议,将VIA协议禁用。再启动Sql Server服务,成功 如图: 二、在第一次安装SQLSERVER2008结束后,查看安装过程明细,描述中有较多项插件或程度,显示安装失败。 解决方法:

1、重新启动安装程度setup.exe,选择进行修复安装,至完成即可。 三、先创建数据库XXX,再进行还原数据库时,选择好备份文件XXX.bak,确定后进行还原,会报如下图的错误。 解决方法: 选择好备份数据库文件后,再进入“选项”中,勾选“覆盖现在数据库”即可。

四、查看数据库版本的命令:select @@version 在数据库中,点击“新建查询”,然后输入命令,执行结果如下 五、数据库定义及操作命令: 按照数据结构来组织、存储和管理数据的仓库。由表、关系以及操作对象组成,把数据存放在数据表中。 1、修改数据库密码的命令: EXEC sp_password NULL, '你的新密码', 'sa' sp_password Null,'sa','sa'

数据库试题及答案汇编

《数据库技术与应用》样题 一、选择题( 共 30 分,1--20 每小题 1 分,21—25 每小题 2 分。下列各题 A )、B)、 C)、D)四个选项中,只有一个选项是正确的 ) 1 在 SQL Server 中,关于视图的正确叙述是 A)视图与数据库表相同,用来存储数据B)视图不能同数据库表进行连接操作 C)在视图上不能进行更新操作D)视图是从一个或多个数据库表导出的虚拟表 2 SQL 是那几个英文单词的缩写 A)Standard Query LanguageB)Structured Query Language C) Select Query LanguageD)以上都不是 3 不属于 SQL Server 系统全局变量的是()。 A 、@@ErrorB 、@@ConnectionC 、@@Fetch_StatusD 、@Records 4 下面描述错误的是() A 、每个数据文件中有且只有一个主数据文件 B 、日志文件可以存在于任意文件组中 C 、主数据文件默认为 primary 文件组 D 、文件组是为了更好地实现数据库文件组织 5 SQL Server 数据库文件有三类,其中主数据文件的后缀为( ) A 、.mdfB 、.ldfC 、.ndfD 、.idf 6、下面标识符不合法的是( ) A 、[my delete]B 、_mybaseC 、$moneyD 、trigger1 7 下面字符串能与通配符表达式[ABC]%a 进行匹配的是() A 、BCDEFB 、A_BCDC 、ABC_aD 、A% 8、下面对索引的相关描述正确的是()列值唯一的列适合间索引 A 、经常被查询的列不适合建索引B 、列值惟一的列适合建索引 C 、有很多重复值的列适合建索引D 、是外键或主键的列不适合建索引 9、在“连接”组中有两种连接认证方式,其中在( )方式下,需要客户端应用程序连接 时提供登录时需要的用户标识和密码。 A 、Windows 身份验证B 、SQL Server 身份验证 C 、以超级用户身份登录时D 、其他方式登录时 10、索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加快 数据的( )速度。 A 、插入B 、修改C 、删除D 、查询 在where 子句中出现频率较高的列应尽量创建索引 11、以下哪种情况应尽量创建索引( ) A 、在 Where 子句中出现频率较高的列B 、具有很多 NULL 值的列 C 、记录较少的基本表D 、需要更新频繁的基本表 12、域完整性用于保证给定字段中数据的有效性,它要求表中指定列的数据具有正确的数据 类型、格式和有效的( )。 A 、数据值B 、数据长度C 、取值范围D 、以上都不是 13 以下不属于表之间定义关系的是 A)一对一关系B) 一对多关系C) 多对多关系D) 少对多关系 14 目前数据库有三种基本的数据模型是 ________ 。 A 、 层次模型、网络模型、关系模型B 、对象模型、网络模型、关系模型 网络模型、对象模型、层次模型D 、层次模型、关系模型、对象模型 15 从“产品”表里查询出价格高于产品名称为“海天酱油”的产品的记录,此 SQL 语句为 A 、SELECT * FROM 产品WHERE 价格>海天酱油

相关文档
最新文档