转载:SQL数据库笔试题
1.写出学生表 增删查改的语句 (考基础的)
2.有三张表 用not in not exists left join 写出获奖图书的作者信息,比较哪一种最优
上面的是笔试题。
3道Linux的题目,一道是自己熟悉的os的性能数据的命令,统计文件中指定字符串个数,linux的几个内核参数
数据库的是大头,考了执行计划的执行顺序和解释,优化SQL
写了一个动态的批量提交的存储过程
实例恢复的大概流程,redo,undo的作用什么的
生产环境压力很大的时候,说说自己会怎么做,类似的问题,记不请了
大概就是这样吧
总结:linux得深入学习学习了,复习基础shell + 看实际程序 + 操作系统命令(尤其跟DB管理有关的)+ 有时间看看内核方面的。以前看的shell,因为仅仅是理论,没有实际运用经验,所以很快忘光光,真让自己写起来,觉得茫然无从下手。
一、Transact-SQL问题:
1 有订单表SO_Table,单号字段RefNo VARCHAR(10),需要实现自动编号,格式为YYYYMMXXXX,其中XXXX为序号,如:2004050001,2004050002……2004059999等,采用Transact-SQL实现新订单编号的思路。
2 有表T1,T2,现有一事务,在向表T1添加数据时,同时也必须向T2也添加数据,如何确何数据的完整性。
3 如何求表中相邻(按聚集索引相邻)的两条记录的某字段的值之差,用Transact-SQL语句或存储过程。
4 如何删除表中的重复数据,用Transact-SQL写出代码。
5 基于MS-SQLSERVER 2000,如何统计数据库中所有用户表的数据,显示格式如下:
表名 记录数
sales 23
6 人员情况表(employee)中字段包括,员工号(ID),姓名(name),年龄(age),文化程度(wh):包括四种情况(本科以上,大专,高中,初中以下),现在我要根据年龄字段查询统计出:表中文化程度为本科以上,大专,高中,初中以下,各有多少人,占总人数多少。结果如下:
学历 年龄 人数 百分比
本科以上 20 34 14
大专 20 33 13
高中 20 33 13
初中以下 20 100 40
本科以上 21 50 20
。。。。。。
Transact-SQL查询语句如何写?
7表一(AAA)
商品名称mc 商品总量sl
A 100
B 120
表二(BBB)
商品名称mc 出库数量sl
A 10
A 20
B 10
B 20
B 30
用一条Transact-SQL语句算出商品A,B目前还剩多少?
二、数据库管理问题(DBMS为:MS-SQL Server 2000)(选作一道题)
1使用文件与文件组恢复的方式恢复数据库
2 设计作业进行周期性的备份数据库
3 一个B/S结构ERP系统,出入库单据超过100万条,系统在单据调出、保存过程中速度比较慢,原因可能有哪些?有哪些办法可以提高速度?
三、数据库设计
有一个钢铁产品检验数据库,包括产品的化学实验结果和物理试验结果,质检部门会根据高炉号来对这批产品进行综合判定,最后根据一个关键字段(比如说叫高炉号)将两个表
中的内容取出来放到质量证明书中。钢铁产品有多种不同的规格,针对同一个规格的钢材需要的物理性能检验包括力学性能、高倍指标、低倍指标、气体含量四个大项,每个大项里边包含的内容也不一样,力学性能大约有20个小项,高倍有60个小项,低倍有20个小项、气体有8个小项,并且如果某一个大项中有不合格的,必须取双倍的试样重新进行检验,而另外的大项不重做复验。
请给出物理试验结果表的设计思路。
四、项目管理问题
多表查询sql语句面试题请叙述你经历的你认为是最为成功的或典型的项目的项目运作(管理)体系、业务流程体系和软件技术体系统。
五、请叙述你的职业理想。
本文是SQL Server面试题系列文章的最新篇,本文着重讨论了如何使用CHECK约束来强制实现触发器的唯一值,在SQL Server有多种方式来强制实现触发器的唯一值,作为一名合格的SQL Server dba 来说,掌握这方面的知识是应该的。
关键词:SqlServer面试题 数据库面试题
本文地址:
内容正文:
使用CHECK约束来强制执行触发器的唯一值
Q. 我的SQL Server数据表中有一列允许为空(NULL)值。在该列有非空值的时候,我想让该列的值为唯一值。通过编程实现这一目标的最佳做法是什么呢?如果我在该列中设置一个UNIQUE约束,我可以只在一个记录中保有空值。我正在使用触发器来强制执行这个限制,但是你能推荐一种更简单的方法来确保所有非空的值都是唯一的吗?
A. SQL Server没有内置的机制可以禁止非空值产生重复,所以你需要使用一个自定义的CHECK约束来实现这个限制。例如,以下代码就可以实现你所要的那种完整性。
USE tempdb
Create table t1 (c1 int NULL, c2 char(5) NULL)
Create trigger mytrigger on t1 for insert, update as
BEGIN
IF (select max(cnt) from (select count(i.c1)
as cnt from t1, inserted i where t1.c1=i.c1 group
by i.c1) x) > 1
ROLLBACK TRAN
END
在SQL Server 2000中,你还可以使用INSTEAD OF触发器来执行这个限制。同INSTEAD OF触发器有关的更多信息,请参阅以下文章,要查看这些文章,请访问SQL Server Magazine,在InstantDoc(快速文档)框中输入InstantDoc编号,然后点击“Go”。文章包括:
INSTEAD OF触发器的使用窍门;InstantDoc编号 15828
视图中的INSTEAD OF触发器;InstantDoc 编号 15791
INSTEAD OF触发器;InstantDoc 编号 15524
SQL Server Profiler和参数化语句
问:自从升级到SQL Server 2000后,我在SQL事件查看器中遇到了一个问题:我无法捕获带有参数的Transact-SQL语句。我希望获得查询执行过程中参数的实际取值,而并非诸如@p1这样的参数形式。请问如何在不引用跟踪过程中其它行的情况下对参数取值加以置换。
答:您必须获取跟踪过程的其它部分(如存储过程StmtCompleted所返回的结果),并将这些部分收集在一起(语句放在最前面)以捕获完整的查询内容。之所以会出现这样的结果,其原因在于从SQL Server关系型引擎恢复数据的SQL事件查看器方法。这样的问题在SQL Server 7.0中同样存在。然而,由于当事件产生时,位于引擎内部的参数取值是未知的,因此,我们无法在这一时刻做出修改。
将一个SQL Server系统用作一台PDC
问:我的公司建立了一个灾难恢复站点,并且计划在一台新配备的计算机上安装SQL Server。Microsoft Windows NT管理员希望使用运行SQL Server的计算机作为主域控制器(PDC)。我听说,由于PDC需要完整维护与复制网络帐号数据库所引发的资源密集型任务并且需要执行网络登陆验证操作,因此,这种配置方案并非一种良好的方式。那么,请问运行SQL Server的计算机能够转而充当备份域控制器(BDC)呢?从技术上讲,将SQL Server配置为PDC或BDC是否可能呢?
答:当您在PDC或BDC上安装SQL Server时,它仍可保持良好的工作状态。如需确定某种配置方案能否适应于您的站点,应当考虑您所拥有的资源。如果您拥有足够的网络带宽、内存空间与空闲处理器,那么,使用运行SQL Server的计算机作为域控制器便是一种合理的方案。然而,在这种情况下,根据域的实际规模,相应的计算机可能需要承担大量工作负载。如果您认为SQL Server的任务将会非常繁重,那么,便请不要再让其运行任何其它服务。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论