数据库经典简答题分析

 

1.主键约束与唯一键约束的异同.

相同:它们都属于实体完整性约束.

不同点:

(1) 唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。
(2)
可以把唯一性约束放在一个或者多个列上,这些列或列的组合必须有唯一的。但是,唯一性约束所在的列并不是表的主键列。
(3)
唯一性约束强制在指定的列上创建一个唯一性索引。在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。

(4)建立主键的目的是让外键来引用.

(5)一个表最多只有一个主键,但可以有很多唯一键

2.简述C/S体系结构的基本思想

C/S体系结构的数据库,由两部分组成,即客户应用程序和数据库服务器程序,称为前台程序与后台程序。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户程序运行在用户自己的电脑上,对应于服务器电脑,可称为客户电脑。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果。

  在典型的C/S数据库应用中,数据的储存管理功能,是由服务器程序独立进行的,前台应用只要不能违反的规则,都在服务器程序中集中实现,对于工作在前台程序上的最终用户是透明的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成所需工作。在客户服务器架构的应用中,前台程序可以变的非常瘦小,大部分事情都交给了服务器和网络。在C/S体系的下,数据库真正变成了公共、专业化的仓库,受到独立的专门管理。

3.备份的四种方式是什么?

(1)完全数据库备份就是备份数据库中的所有数据和结构.

(2)增量备份是备份自从上一次完全数据库备份之后改变的数据.可以降低数据库恢复所需要的时间.

(3)事务日志备份:备份数据库事务日志的变化过程.当执行完全数据库备份之后,可以执行事务日志备份.

(4)对于海量数据库,应该执行数据库文件或文件组备份.不备份整个数据库.

4.试举出说明SQL语言中游标(CURSOR)的使用步骤.

使用游标有四种基本的步骤:声明游标、打开游标、提取数据、关闭游标.

(1)声明游标 :象使用其它类型的变量一样,使用一个游标之前,首先应当声明它。游标的声明包括两个部分:游标的名称;这个游标所用到的SQL语句。

(2)打开游标: 声明了游标后在作其它操作之前,必须打开它。打开游标是执行与其相关的一段SQL语句,open mycousor

(3)提取数据:已经声明并打开一个游标后,我们就可以将数据放入任意的变量中,FETCH语句中您可以指定游标的名称和目标变量的名称.

(4)在游标操作的最后要关闭游标, ,以使系统释放游标占用的资源。

5.随着应用系统中的数据量的增加,数据库的空闲空间越来越少,怎样扩大数据库的大小?

可根据在创建数据库时所定义的增长参数,自动扩充数据库。通过在现有的数据库文件上分配其它的文件空间,或者在另一个新文件上分配空间,还可以手动扩充数据库。如果现有的文件已经充满,则可能需要扩充数据或事务日志空间。

扩充数据库时,必须按至少 1 MB 增加该数据库的大小。扩充数据库的权限默认授予数据库所有者,并自动与数据库所有者身份一起传输。数据库扩充后,数据或事务日志文件立即可以使用新空间,这取决于哪个文件进行了扩充。

在扩充数据库时,建议指定文件的最大允许增长的大小。这样做可以防止文件无限制地增大,以至用尽整个磁盘空间。若要指定文件的最大大小,请在使用SQL Server 企业管理器内的/"属性/"对话框创建数据库时,使用 CREATE DATABASE 语句的 MAXSIZE 参数或者/"将文件增长限制为 (MB)/"选项。

使用 ALTER DATABASE 语句和 MODIFY FILE 子句更改 tempdb 数据库,以更改 tempdb 中每个文件的物理文件名,使之引用新的物理位置(例如新磁盘)。

展开/"数据库/"文件夹,右击要增加大小的数据库,然后单击/"属性/"命令。若要增加数据空间,单击/"常规/"选项卡。若要增加事务日志空间,单击/"事务日志/"选项卡。

若要添加新文件,单击下一个空行,在/"文件名/"列中输入将容纳附加空间的文件名。

还可以进行收缩数据库.

.

1.select  name,class from card where cno in

(select cno from borrow where bno in

(select bno from books where bname='b2'))

 

 

2.select cno,bno,rdate from borrow where rdate-getdate()>0

 

3. select bname, author from books where price=

    (select max(price) from books)

 

4.select cno from borrow where cno=

(select cno from books where bno=borrow.bno and bname='计算方法') and cno!= (select cno from borrow where cno=

(select cno from books where bno=borrow.bno and bname='计算方法习题集'))

Order by cno desc

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值