浏览 12981 次
锁定老帖子 主题:某企业的面试题目
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-02
1、在MS SQL Server中,用来显示数据库信息的系统存储过程是() A sp_ dbhelp B sp_ db C sp_ help D sp_ helpdb 2、SQL语言中,删除一个表的命令是( ) A DELETE B DROP C CLEAR D REMORE 3、关系数据库中,主键是(__) A、为标识表中唯一的实体 B、创建唯一的索引,允许空值 C、只允许以表中第一字段建立 D、允许有多个主键的 4、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1___),使用关键字(2___)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3___),如果在SELECT语句中使用聚合函数时,一定在后面使用(4___)。 ⑴ A、SELECT,INTO B、SELECT,FROM C、SELECT,GROUP D、仅SELECT ⑵ A、DISTINCT B、UNION C、ALL C、TOP ⑶ A、JOIN B、UNION C、INTO C、LIKE ⑷ A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE 5、语句DBCC SHRINKDATABASE (Sample, 25)中的25表示的意思是 A、25M B、剩余占整个空间的25% C、已用空间占整个空间的25% D、以上都不对 6、你是一个保险公司的数据库开发人员,公司的保单信息存储在SQL Server 2000数据库中,你使用以下脚本建立了一个名为Policy的表: CREATE TABLE Policy ( PolicyNumber int NOT NULL DEFAULT (0), InsuredLastName char (30) NOT NULL, InsuredFirstName char (20) NOT NULL, InsuredBirthDate datetime NOT NULL, PolicyDate datetime NOT NULL, FaceAmount money NOT NULL, CONSTRAINT PK_Policy PRIMARY KEY (PolicyNumber) ) 每次公司销售出一份保单,Policy表中就增加一条记录,并赋予其一个新的保单号,你将怎么做? a.建立一个INSTEAD OF INSERT触发器来产生一个新的保单号,并将这个保单号插入数据表中。 b.建立一个INSTEAD OF UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。 c.建立一个AFTER UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。 d.用AFTER UPDATE触发器替代DEFAULT约束条件产生一个新的保单号,并将这个保单号插入数据表中。 7、在SQL语言中,如果要建立一个工资表包含职工号,姓名,职称。工资等字段。若要保证工资字段的取值不低于800元,最合适的实现方法是: A。在创建工资表时为”工资“字段建立缺省 B。在创建工资表时为”工资“字段建立检查约束 C。在工资表建立一个触发器 D。为工资表数据输入编写一个程序进行控制 8、Select 语句中用来连接字符串的符号是______. A. “+” B. “&” C.“||” D.“|” 9、你是一个出版公司的数据库开发人员,对特定的书名的每天的销售情况建立了如下的存储过程: CREATE PROCEDURE get_sales_for_title title varchar(80), @ytd_sales int OUTPUT AS SELECT @ytd_sales = ytd_sales FROM titles WHERE title = @title IF @@ROWCOUNT = 0 RETURN(-1) ELSE RETURN(0) 另外建立了一个脚本执行这个存储过程,如果执行成功,将返回对应于书名的每天的销售情况的报表,如果执行失败,将返回“No Sales Found”,怎样建立这个脚本? A. DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ‘Net Etiquette’, @ytd IF @retval < 0 PRINT ‘No sales found’ ELSE PRINT ‘Year to date sales: ’ + STR (@ytd) GO B. DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ‘Net Etiquette’, @ytd OUTPUT IF @retval < 0 PRINT ‘No sales found’ ELSE PRINT ‘Year to date sales: ’ + STR (@ytd) GO C. DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ‘Net Etiquette’,@retval OUTPUT IF @retval < 0 PRINT ‘No sales found’ ELSE PRINT ‘Year to date sales: ’ + STR (@ytd) GO D. DECLARE @retval int DECLARE @ytd int EXEC @retval = get_sales_for_title ‘Net Etiquette’, @ytd OUTPUT IF @retval < 0 PRINT ‘No sales found’ ELSE PRINT ‘Year to date sales: ’ + STR (@ytd) GO 10、You are a database developer for a container manufacturing company. The containers produced by your company are a number of different sizes and shapes. The tables that store the container information are shown in the Size, Container, and Shape Tables exhibit: Size SizeID SizeName Height Container ContainerID ShapeID SizeID Shape ShapeID ShapeName Measurements A sample of the data stored in the tables is shown below: Size Table SizeID SizeName Height 1 Small 40 2 Medium 60 3 Large 80 4 Jumbo 100 Shape Table ShapeID ShapeName Measurement 1 Triangle 10 2 Triangle 20 3 Triangle 30 4 Square 20 5 Square 30 6 Square 40 7 Circle 15 8 Circle 25 9 Circle 35 Periodically, the dimensions of the containers change. Frequently, the database users require the volume of a container. The volume of a container is calculated based on information in the shape and size tables. You need to hide the details of the calculation so that the volume can be easily accessed in a SELECT query with the rest of the container information. What should you do? A. Create a user-defined function that requires ContainerID as an argument and returns the volume of the container. B. Create a stored procedure that requires ContainerID as an argument and returns the volume of the container. C. Add a column named volume to the container table. Create a trigger that calculates and stores volume in this column when a new container is inserted into the table. D. Add a computed column to the container table that calculates the volume of the container. 二、填空题 1、 备份策略的三种类型是__________备份,_______________备份,___________________备份组成。 2、 启动一个显式事务的语句为__________,提交事务的语句为__________,回滚事务的语句为__________ 三、简答题 1、 现有1销售表(表名为SellDetail),它们结构如下:(4分) 字段名 字段类型 说明 id int (标识号) codno char(7) (商品编码) codname varchar(30) (商品名称) spec varchar(20) (商品规格) price numeric(10,2) (价格 ) sellnum int (销售数量) deptno char(3) (售出分店编码) selldate datetime (销售时间) 要求:写出查询销售时间段在2002-2-15日到2002-4-29之间,分店编码是01的所有记录。 2、写一个存储过程,要求传入一个表名,返回该表的记录数(假设传入的表在数据库中都存在) 哪位大哥帮忙给做下,上传下答案谢谢。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-11-02
sxf365 写道 一、选择题:
1、在MS SQL Server中,用来显示数据库信息的系统存储过程是() A sp_ dbhelp B sp_ db C sp_ help D sp_ helpdb 2、SQL语言中,删除一个表的命令是( ) A DELETE B DROP C CLEAR D REMORE 3、关系数据库中,主键是(__) A、为标识表中唯一的实体 B、创建唯一的索引,允许空值 C、只允许以表中第一字段建立 D、允许有多个主键的 4、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1___),使用关键字(2___)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3___),如果在SELECT语句中使用聚合函数时,一定在后面使用(4___)。 ⑴ A、SELECT,INTO B、SELECT,FROM C、SELECT,GROUP D、仅SELECT ⑵ A、DISTINCT B、UNION C、ALL C、TOP ⑶ A、JOIN B、UNION C、INTO C、LIKE ⑷ A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE 5、语句DBCC SHRINKDATABASE (Sample, 25)中的25表示的意思是 A、25M B、剩余占整个空间的25% C、已用空间占整个空间的25% D、以上都不对 6、你是一个保险公司的数据库开发人员,公司的保单信息存储在SQL Server 2000数据库中,你使用以下脚本建立了一个名为Policy的表: CREATE TABLE Policy ( PolicyNumber int NOT NULL DEFAULT (0), InsuredLastName char (30) NOT NULL, InsuredFirstName char (20) NOT NULL, InsuredBirthDate datetime NOT NULL, PolicyDate datetime NOT NULL, FaceAmount money NOT NULL, CONSTRAINT PK_Policy PRIMARY KEY (PolicyNumber) ) 每次公司销售出一份保单,Policy表中就增加一条记录,并赋予其一个新的保单号,你将怎么做? a.建立一个INSTEAD OF INSERT触发器来产生一个新的保单号,并将这个保单号插入数据表中。 b.建立一个INSTEAD OF UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。 c.建立一个AFTER UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。 d.用AFTER UPDATE触发器替代DEFAULT约束条件产生一个新的保单号,并将这个保单号插入数据表中。 7、在SQL语言中,如果要建立一个工资表包含职工号,姓名,职称。工资等字段。若要保证工资字段的取值不低于800元,最合适的实现方法是: A。在创建工资表时为”工资“字段建立缺省 B。在创建工资表时为”工资“字段建立检查约束 C。在工资表建立一个触发器 D。为工资表数据输入编写一个程序进行控制 8、Select 语句中用来连接字符串的符号是______. A. “+” B. “&” C.“||” D.“|” 9、你是一个出版公司的数据库开发人员,对特定的书名的每天的销售情况建立了如下的存储过程: CREATE PROCEDURE get_sales_for_title title varchar(80), @ytd_sales int OUTPUT AS SELECT @ytd_sales = ytd_sales FROM titles WHERE title = @title IF @@ROWCOUNT = 0 RETURN(-1) ELSE RETURN(0) 另外建立了一个脚本执行这个存储过程,如果执行成功,将返回对应于书名的每天的销售情况的报表,如果执行失败,将返回“No Sales Found”,怎样建立这个脚本? A. DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ‘Net Etiquette’, @ytd IF @retval < 0 PRINT ‘No sales found’ ELSE PRINT ‘Year to date sales: ’ + STR (@ytd) GO B. DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ‘Net Etiquette’, @ytd OUTPUT IF @retval < 0 PRINT ‘No sales found’ ELSE PRINT ‘Year to date sales: ’ + STR (@ytd) GO C. DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ‘Net Etiquette’,@retval OUTPUT IF @retval < 0 PRINT ‘No sales found’ ELSE PRINT ‘Year to date sales: ’ + STR (@ytd) GO D. DECLARE @retval int DECLARE @ytd int EXEC @retval = get_sales_for_title ‘Net Etiquette’, @ytd OUTPUT IF @retval < 0 PRINT ‘No sales found’ ELSE PRINT ‘Year to date sales: ’ + STR (@ytd) GO 10、You are a database developer for a container manufacturing company. The containers produced by your company are a number of different sizes and shapes. The tables that store the container information are shown in the Size, Container, and Shape Tables exhibit: Size SizeID SizeName Height Container ContainerID ShapeID SizeID Shape ShapeID ShapeName Measurements A sample of the data stored in the tables is shown below: Size Table SizeID SizeName Height 1 Small 40 2 Medium 60 3 Large 80 4 Jumbo 100 Shape Table ShapeID ShapeName Measurement 1 Triangle 10 2 Triangle 20 3 Triangle 30 4 Square 20 5 Square 30 6 Square 40 7 Circle 15 8 Circle 25 9 Circle 35 Periodically, the dimensions of the containers change. Frequently, the database users require the volume of a container. The volume of a container is calculated based on information in the shape and size tables. You need to hide the details of the calculation so that the volume can be easily accessed in a SELECT query with the rest of the container information. What should you do? A. Create a user-defined function that requires ContainerID as an argument and returns the volume of the container. B. Create a stored procedure that requires ContainerID as an argument and returns the volume of the container. C. Add a column named volume to the container table. Create a trigger that calculates and stores volume in this column when a new container is inserted into the table. D. Add a computed column to the container table that calculates the volume of the container. 二、填空题 1、 备份策略的三种类型是__________备份,_______________备份,___________________备份组成。 2、 启动一个显式事务的语句为__________,提交事务的语句为__________,回滚事务的语句为__________ 三、简答题 1、 现有1销售表(表名为SellDetail),它们结构如下:(4分) 字段名 字段类型 说明 id int (标识号) codno char(7) (商品编码) codname varchar(30) (商品名称) spec varchar(20) (商品规格) price numeric(10,2) (价格 ) sellnum int (销售数量) deptno char(3) (售出分店编码) selldate datetime (销售时间) 要求:写出查询销售时间段在2002-2-15日到2002-4-29之间,分店编码是01的所有记录。 2、写一个存储过程,要求传入一个表名,返回该表的记录数(假设传入的表在数据库中都存在) 哪位大哥帮忙给做下,上传下答案谢谢。 哪位大哥帮忙给做下,上传下答案谢谢。 你相当的强。。。。。 |
|
返回顶楼 | |
发表时间:2007-11-02
。。。。。
|
|
返回顶楼 | |
发表时间:2007-11-02
sxf365 写道 。。。。。
隐前留念吧。 |
|
返回顶楼 | |
发表时间:2007-11-02
。。。咳
|
|
返回顶楼 | |
发表时间:2007-11-02
没人点我,自己传答案~~~~
1D 2B 3A 4 、⑴B,⑵A,⑶B,⑷A 5、B 6、A 7、B 8、A 9、D 10、分析 A正确,利用自定义函数可以隐藏计算细节,另外,函数的结果可以作为SELECT查询的列。 B不正确,存储过程不能作为SELECT查询的列。 C不正确,触发器不能创建在SELECT查询的列中。 D不正确,这会造成数据冗余,因为加了一列计算列表就不符合第三范式了。 正确答案:A 填空 1、插入异常,更新异常,删除异常 2、数据定义,数据操纵,数据控制 3、登陆鉴别,对数据库以及角色的许可验证 4、标量函数,内嵌表值型函数,多语句表值函数 5、BEGIN TRANSACTION,COMMIT TRANSACTION ,ROLLBACK TRANSACTION 6、实体,域完整性,参照完整性 简答题: 4、 create Proc getRowCount @tablename varchar(100) AS exec('select count(*) from '+@tablename) 答案 1、 create table ZD_ks(BM varchar(10),mc varchar(10),age int) insert into ZD_ks(bm,mc,age) values('001','张三',1) insert into ZD_ks(bm,mc,age) values('001','李四',2) insert into ZD_ks(bm,mc,age) values('001','王五',3) insert into ZD_ks(bm,mc,age) values('002','赵六',1) insert into ZD_ks(bm,mc,age) values('002','钱七',2) insert into ZD_ks(bm,mc,age) values('003','孙八',1) go select BM,count(*) as DUPCOUNT from zd_ks group by bm having count(*) > 1 drop table zd_ks 2、 (1) select Class,count(1) as num from student group by Class (2) select S.Sex,avg(G.Num) as Num from student S,Grade G where S.ID=G.ID and S.Class=1 group by S.Sex (3) select S.Class,count(1) as num from student S,Grade G,schedule SC where S.ID=G.ID and G.SID =Sc.ID and SC.Name='数据结构' and Sc.Num<60 group by S.Class 3、 1. 找出借书超过5本的读者,输出借书卡号及所借图书册数 --实现代码: SELECT CNO,借图书册数=COUNT(*) FROM BORROW GROUP BY CNO HAVING COUNT(*)>5 2. 查询借阅了"水浒"一书的读者,输出姓名及班级 --实现代码: SELECT * FROM CARD c WHERE EXISTS( SELECT * FROM BORROW a,BOOKS b WHERE a.BNO=b.BNO AND b.BNAME=N'水浒' AND a.CNO=c.CNO) 3. 查询过期未还图书,输出借阅者(卡号)、书号及还书日期 --实现代码: SELECT * FROM BORROW WHERE RDATE<GETDATE() 4. 查询书名包括"网络"关键词的图书,输出书号、书名、作者 --实现代码: SELECT BNO,BNAME,AUTHOR FROM BOOKS WHERE BNAME LIKE N'%网络%' 5. 查询现有图书中价格最高的图书,输出书名及作者 --实现代码: SELECT BNO,BNAME,AUTHOR FROM BOOKS WHERE PRICE=( SELECT MAX(PRICE) FROM BOOKS) 6. 查询当前借了"计算方法"但没有借"计算方法习题集"的读者,输出其借书卡号,并按卡号降序排序输出 --实现代码: SELECT a.CNO FROM BORROW a,BOOKS b WHERE a.BNO=b.BNO AND b.BNAME=N'计算方法' AND NOT EXISTS( SELECT * FROM BORROW aa,BOOKS bb WHERE aa.BNO=bb.BNO AND bb.BNAME=N'计算方法习题集' AND aa.CNO=a.CNO) ORDER BY a.CNO DESC 7. 将"C01"班同学所借图书的还期都延长一周 --实现代码: UPDATE b SET RDATE=DATEADD(Day,7,b.RDATE) FROM CARD a,BORROW b WHERE a.CNO=b.CNO AND a.CLASS=N'C01' 8. 从BOOKS表中删除当前无人借阅的图书记录 --实现代码: DELETE A FROM BOOKS a WHERE NOT EXISTS( SELECT * FROM BORROW WHERE BNO=a.BNO) 9. 在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是"数据库技术及应用",就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表) --实现代码: CREATE TRIGGER TR_SAVE ON BORROW FOR INSERT,UPDATE AS IF @@ROWCOUNT>0 INSERT BORROW_SAVE SELECT i.* FROM INSERTED i,BOOKS b WHERE i.BNO=b.BNO AND b.BNAME=N'数据库技术及应用' 10. 建立一个视图,显示"力01"班学生的借书信息(只要求显示姓名和书名) --实现代码: CREATE VIEW V_VIEW AS SELECT a.NAME,b.BNAME FROM BORROW ab,CARD a,BOOKS b WHERE ab.CNO=a.CNO AND ab.BNO=b.BNO AND a.CLASS=N'力01' 11. 查询当前同时借有"计算方法"和"组合数学"两本书的读者,输出其借书卡号,并按卡号升序排序输出 --实现代码: SELECT a.CNO FROM BORROW a,BOOKS b WHERE a.BNO=b.BNO AND b.BNAME IN(N'计算方法',N'组合数学') GROUP BY a.CNO HAVING COUNT(*)=2 ORDER BY a.CNO DESC |
|
返回顶楼 | |
发表时间:2007-11-03
应聘什么职位?怎么全是数据库的题目?
|
|
返回顶楼 | |
发表时间:2007-11-24
是不是做网站的后台啊!数据的管理。
|
|
返回顶楼 | |
发表时间:2007-11-30
这套题我好像在国企的某个分公司面试时遇到过,是06年的事了,当时这个公司在军事博物馆附近。
|
|
返回顶楼 | |