sql数据库考试题
Ⅰ 数据库期末考试题 编写sql语句 1.创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系
create table 学生表
(
学号 char(10) primary key,
姓名 char(10),
年龄 int,
性别 char(2) check (sex IN ('男','女')),
家庭住址 char(40),
联系 char(20)
)
Ⅱ sql数据库一道试题帮忙做做
---1)
创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话
CREATE
TABLE
student
(
[id]
[int]
IDENTITY(1,1)
NOT
NULL,
[student_id]
[nvarchar](50)
NULL,
[studen_name]
[nvarchar](50)
NULL,
[age]
[int]
NULL
,
[sex]
[nvarchar](5)
NULL,
[address]
[nvarchar](200)
NULL,
[tel]
[nvarchar](20)
NULL
)
--2)
修改学生表的结构,添加一列信息,学历
ecation
alter
table
student
add
ecation
nvarchar(10)
NULL
--3)
修改学生表的结构,删除一列信息,家庭住址
alter
table
student
drop
column
address
--5)
修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”
update
student
set
ecation='大专'
where
tel
like
'11%'
--6)
删除学生表的数据,姓名以C开头,性别为‘男’的记录删除
delete
student
where
studen_name
like
'C%'
and
sex='男'
--7)
查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来
select
studen_name,student_id
from
student
where
age<12
and
ecation='大专'
--8)
查询学生表的数据,查询所有信息,列出前25%的记录
select
TOP
25
PERCENT
*
from
student
--9)
查询出所有学生的姓名,性别,年龄降序排列
select
studen_name,sex,age
from
studen
order
by
age
desc
--10)
按照性别分组查询所有的平均年龄
select
avg(age)
as
age
from
studen
group
by
sex
Ⅲ sql 期末考试题
1、建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、 所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。
其值是唯一的,并不是说是主键,应该用关键字UNIQUE
CREATE TABLE Student(
Sno SMALLINT NOT NULL UNIQUE,
Sname CHAR(8),
Ssex CHAR(1),
Sage SMALLINT,
Sdept CHAR(20))
2、查询全体学生的详细记录
SELECT * FROM Student
3、查询年龄在20至23岁之间的学生的姓名、系别、和年龄
SELECT Sname, Sdept, Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23
4、计算1号课程的学生平均成绩
SELECT AVG(Grade) FROM SC WHERE Cno = 1
5、将计算机科学系全体学生的成绩置零
UPDATE SC
SET grade = 0
WHERE Sno IN (SELECT Sno FROM Student WHERE Sdept = '计算机科学系')
Ⅳ SQL数据库题
第一个
select*fromswheresnoin(
selectsnofromscwherecnoin(
selectcnofromcwherecteacher='李明'
)
)
第二个
selects.sname,sc,sum(sgrade)fromsleftjoinscons.sno=sc.sno
wheresc.sgrade>=60
groupbys.sname
第三个
createindexc_cno_indexONc(cno)
Ⅳ SQL数据库(简单)简答题
Microsoft SQL Server 2000 简答题及其答案
1.在安装SQL Server 2000时,“仅客户端工具”、“服务器和客户端工具”及“仅连接”等安装定义有什么差别?
答:仅客户端工具:仅安装客户端工具。服务器和客户端工具:同时安装服务器和客户端工具。仅连接:仅安装客户端连接。
2.一个数据库中包含哪几种文件?
答:主数据库文件,辅助数据文件,事务日志文件。
3.事务文件和数据文件分开存放有什么好处?
答:因为利用事务日志备份可以将数据库恢复到特定的即时点(如输入不想要的数据之前的那一点)或故障发生点。在媒体恢复策略中应考虑利用事务日志备份。
4.什么是批处理?使用批处理有何限制?
答:包含一个或多个T-SQL语句的组,从应用程序将一次性发送到SQL Server执行,SQL Server批处理语句作为整体编译成一个可执行单元。
限制:如不能够在同一个批处理中更改表,然后引用新列。如在一个批处理程序中,有两条语句。第一条语句用来在一张表中插入一个字段,如在User表中插入员工的出生年月;第二条语句则用来引用这个列,如根据身份证号码来推算出这个员工的出身年月并把这个值赋值给这个第一条语句创建的出身年月字段。
5.数据检索时,COMPUTE和COMPUTE BY产生的结果有何不同?
答:Compute:第一个为明细行 第二个为聚合函数的合计 Compute by:第一个为明细行第二个为聚合函数的小计
6.什么是索引?索引分为哪两种?各有什么特点?
答:1、数据库中的索引与书籍中的目录类似。在一本书中,利用目录可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。 2、聚集索引和非聚集索引。
3、聚集索引的特点:行的物理位置和行在索引中的位置是相同的,每个表只能有一个聚集索引,聚集索引的平均大小大约为表大小的5%左右。
非聚集索引特点:若未指定索引类型,则默认为非聚集索引,叶节点页的次序和表的物理存储次序不同,每个表最多可以有249个非聚集索引,在非聚集索引创建之前创建聚集索引。
7.创建索引有什么优点和缺点?
答:优点:索引在数据库中的作用类似于目录在书籍中的作用,用来提高查找信息的速度。
使用索引查找数据,无需对整表进行扫描,可以快速找到所需数据。
缺点:索引需要占用数据表以外的物理存储空间。创建索引和维护索引要花费一定的时间。当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度。
8.什么是视图?使用视图的优点和缺点是什么?
答:视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
优点:1隐蔽数据库的复杂性2控制用户提取数据3简化数据库用户管理 4简化查询
缺点:1性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由,一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也,把它变成一个复杂的结合体,需要花费一定的时间。2修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本,表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的,视图,可能是不可修改的。
9. 修改视图中的数据会受到哪些限制?
答:1、必须有权限 2、单表视图直接改
3、多表可在视图中定义 instead of 触发器.
4、对由多表连接成的视图修改数据时,不能同时影响一个以上的基表,也不能删除视图中的数据
5、对视图上的某些列不能修改,这些列是:计算列,内置函数列和行集合函数列
6、对具有NOT NULL 的列进行修改时可能会出错。通过视图修改或者插入数据时,必须保证未显示的具有NOT NULL 属性的列有值,可以是默认值,IDENTITY 等,否则不能像视图中插入数据行。
7、如果某些列因为规则或者约束的限制不能接受从视图插入的数据时,则插入数据可能会失败
8、删除基表并不删除视图,建议采用与表明显不同的名字命名规则
10. 什么是数据完整性?如果数据库不实施数据完整性会产生什么结果?
答:数据完整性是指数据的精确性和可靠性。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。
11.数据完整性有哪几类?如何实施?
答:1、数据完整性分为四类:实体完整性、域完整性、参照完整性、用户定义的完整性。
2、数据库采用多种方法来保证数据完整性,包括外键、束约、规则和触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。
12. 什么是主键约束?什么是惟一约束?两者有什么区别?
答:主键约束:有一列或列的组合,其值能唯一的标识表中的每一行。
唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。
区别:一个表可以定义多个唯一约束,只能定义一个主键约束;空值得列上可以定义唯一约束,不能定义主键约束。
13.什么是外键,怎样建立外键约束?
答:外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
14.什么是存储过程?使用存储过程有什么好处?
答:1、是存储在服务器上的 Transact-SQL 语句的命名集合,是封装重复性任务的方法,支持用户声明变量、条件执行以及其他强有力的编程特性。
2、存储过程封装了商务逻辑,确保一致的数据访问和修改。若规则或策略有变化,则只需要修改服务器上的存储过程,所有的客户端就可以直接使用
屏蔽数据库模式的详细资料。用户不需要访问底层的数据库和数据库内的对象
提供了安全性机制。用户可以被赋予执行存储过程的权限,而不必在存储过程引用的所有对象上都有权限
改善性能。预编译的 Transact-SQL 语句,可以根据条件决定执行哪一部分
减少网络通信量。客户端用一条语句调用存储过程,就可以完成可能需要大量语句才能完成的任务,这样减少了客户端和服务器之间的请求/回答包
15.什么是触发器?触发器分有什么作用?
答:触发器是一类特殊的存储过程,不能被直接调用,也不传递或接受参数
作用:1、维护不可能在表创建时刻通过声明性约束进行的复杂的完整性约束限制。
2、通过记录所进行的修改以及谁进行了修改来审计表中的信息。
3、当表被修改的时候,自动给其他需要执行操作的程序发信号。
Ⅵ sql数据库一道试题帮忙做做
---1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话
CREATE TABLE student
(
[id] [int] IDENTITY(1,1) NOT NULL,
[student_id] [nvarchar](50) NULL,
[studen_name] [nvarchar](50) NULL,
[age] [int] NULL ,
[sex] [nvarchar](5) NULL,
[address] [nvarchar](200) NULL,
[tel] [nvarchar](20) NULL
)
--2) 修改学生表的结构,添加一列信息,学历 ecation
alter table student add ecation nvarchar(10) NULL
--3) 修改学生表的结构,删除一列信息,家庭住址
alter table student drop column address
--5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”
update student set ecation='大专' where tel like '11%'
--6) 删除学生表的数据,姓名以C开头,性别为‘男’的记录删除
delete student where studen_name like 'C%' and sex='男'
--7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来
select studen_name,student_id from student
where age<12 and ecation='大专'
--8) 查询学生表的数据,查询所有信息,列出前25%的记录
select TOP 25 PERCENT * from student
--9) 查询出所有学生的姓名,性别,年龄降序排列
select studen_name,sex,age from studen order by age desc
--10) 按照性别分组查询所有的平均年龄
select avg(age) as age from studen group by sex
Ⅶ 一些SQL的试题
1.应用程序
2.实体完整性
3.distince
4.
5.create Nonclustered index IDX_authors on authors(州名列,城市名列)
6.创建表
7.select 列名 from 表名
8.sum()
9.top
10.alter procere
11.ltrim()
12.declare @变量名 数据类型
13.where
14.from
15.order by
16.cast(表达式 as 数据类型)
17.count()
18.drop procere 存储过程名
19.创建数据库
20.价格大于15美元的所有数据
21.数据库
22.rollback
23.
24.服务管理器
25.
26.数据冗余(备份)
27.3
28.数据库
29.应用程序
30.drop table
33.操作系统
权限
1.
2.是并发控制的单位,是用户定义的一个操作序列,具有原子性,一致性,隔离性,持续性四个特性。
3.共享锁(S锁):如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁.
获准共享锁的事务只能读数据,不能修改数据。
4.
5.
1.存储过程可以使得程序执行效率更高、安全性更好,因为过程建立之后 已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入
2.建立过程不会很耗系统资源,因为过程只是在调用才执行。
6.聚簇索引是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。
7.
8.是并发控制的单位,是用户定义的一个操作序列,具有原子性,一致性,隔离性,持续性四个特性。
BEGIN TRAN [Tran_name]开始事务
COMMIT TRAN [Tran_name]事务完成提交事务
9.存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。
10.增量备份:是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。
12.原子性,要么都做,要么不做。
13.排它锁若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
它防止任何其它事务获取资源上的锁,直到在事务的末尾将资源上的原始锁释放为止。
14.分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都有DBMS的一份完整拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的大型数据库。
15.
17同2,18同8
19.DBMS数据库管理系统,DBA数据库管理员
20.1对1,一个学生对应一个学号
1对多 一个学生对应多门功课
多对多 商品与厂商
(备注:只能做这么多了,很长时间没看书了,有时间可以看看<数据库系统概论>萨师煊 王珊 高等教育出版社,很不错的一本书哦。上有你要的答案,特别是简答题。)
21.
22.数据库完整性,对数据库提出的某种约束条件或规则。
分三种:实体完整性,参照完整性,用户自定义完整性
23.
24.原则如下:
●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。
●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。
●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。
●如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。
26。聚集索引确定表中数据的物理顺序。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引)
非聚集索引一种索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。一个表可以有多个聚集索引
Ⅷ SQL数据库练习题
1. SQL Server 2000是典型的关系型数据库产品。 ( 1 )
2. 在一台计算机上可以同时运行多个版本的SQL Server。 ( 1 )
3. 在SQL Server中日志文件是维护数据库完整性的重要工具。 ( 0 )
4. 在定义数据表时,定义某列为标识列的关键字是Identity。 ( 1 )
5. 浮点数据类型的优点是能够存储范围非常大的数字,但容易发生误差。 ( 0 )
6. 数据库完整性的目的是为了防止错误信息输入和输出。 ( 0 )
7. 在Update语句中,一次可以更新多个表。 ( 0)
8. 尽量使用Select * ,可以加快查询速度。 ( 0 )
9. 在SQL Server 2000中表示注释可以用类似C语言的/*...*/和//。 ( 0 )
10. 在SQL Server中,RTRIM函数删除字符串右边的空白字符。 ( 1 )
11. 一个表只能有一个聚集索引(簇索引)。 ( 1 )
12. SQL查询语言中,如果没有指定排序方式,则默认是升序方式。 ( 1 )
13. 在SQL Server 2000中ntext类型的字段不能进行排序操作。 ( 0 )
14. 在SQL Server 2000中bit类型的字段不能建立索引。 ( 1 )
15. 在被定义为唯一索引的列上的数据不能有重复的值。 ( 1 )
16. 在被定义为唯一索引的列上的数据不允许空。 ( 0可以的但是只能有一个null值 )
17. 在SQL Server中,每张表都应该建立一个索引,以提高查询速度。 ( 0 )
18. 视图在SQL Server中是一张虚拟表。 ( 1 )
19. 当一个视图由2个以上基本表构成时,不能进行删除视图中的数据。 ( 0 )
20. 在SQL Server中,触发器是一种特殊的存储过程。 ( 1 )
21. 由于存储过程是解释执行,所以每次执行时都要检查是否有语法错误。 ( 0 )
22. 可以在用户正在使用的数据库上执行数据库恢复操作。 ( 0 )
1表示正确
Ⅸ 30道SQL判断题
1.SQL语言的视图定义和视图操作功能在一定程度上支持了数据的逻辑独立性。( T )
2.关系必须有唯一的候选码。( T )
扯什么候选码呢 就是外键 这些屌砖家
3.数据的完整性指数据库中数据的全面性。( F )
不只,完整性应该是正确性的意思
4.“授权”是数据库系统中采用的完整性措施之一。( F )
安全性措施
5.在关系数据库中,不同关系之间的联系是通过指针实现的。( F )
是外键
6.数据库触发器不是计算机硬件。(T )
7.事务在运行中间被强行停止可能会破坏事务原子性。( F )
事务本身就具有原子性
8.数据库触发器是计算机硬件。( F )
9.数据库系统避免了一切冗余。( F )
10.数据库系统中用于描述数据的数据存储在称为数据字典的特殊文件中。( T )
11.如果一个关系模式的候选键仅含有一个属性,则该关系模式一定是2NF。( F )
这屌问题我还真搞不懂
12.数据库中存储的只是数据。( T )
这道问题。。我觉得 如果穷究下去 是对的 因为计算机中存储的也只有数据,,
13.自然连接是关系代数的五种基本运算之一。( F )
并(U)、交(⌒)、投影(π)选择(σ)和笛卡儿积(×)
自然连接是inner join把。。
14.关系中不同的属性可来自同一个域。( T )
15.数据库系统的程序称为数据库事务。( F )
16.数据库系统的数据没有任何冗余。( F )
事实上良好的系统应该有一定荣誉的
17.若对关系依次进行两次选择,则结果与两次操作的先后顺序无关。( T )
18.连接是关系代数的基本运算之一。( T )
19.数据库是数据库系统的核心。( T )
20.建立索引的目的是为了提高查询速度。( T )
21.建立索引的目的是为了节约存储空间。( F )
22.E-R图在需求分析阶段生成。( T )
23.SQL语言的视图定义和视图操作功能在一定程度上支持了数据的逻辑独立性。(T )
24.若对关系依次进行两次选择,则结果与两次操作的先后顺序无关。( T )
25.若R.A→R.B,R.B→R.C, 则R. A→R.C。( T )
26.数据库中的数据可以共享。( T )
27.关系代数的运算对象是关系,运算结果也为关系。( T )
28.只有两个属性的关系必是3NF。( F )
29.没有非主属性的关系必然属于3NF。( F )
30.数据库管理系统DBMS是操作系统的一部分。(T )