ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:44.56KB ,
资源ID:6938768      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6938768.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库面试题Word文件下载.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据库面试题Word文件下载.docx

1、还不行的话那就换个牛叉点的database。3、写一个SQL存储过程,建立一个表USER 字段是姓名,年龄,职位,权限,然后向里面插入6条数据,然后查询出年龄大于18的所有信息。Create table user(Name varchar(20),Age int,Position varchar(20)Quanxian varchar(20)Insert into user values(111,11,11111,1111111)Insert into user values(112,12,11112,1111112)Insert into user values(113,13,11113,1

2、111113)Insert into user values(114,14,11114,1111114)Insert into user values(115,15,11115,1111115)Insert into user values(116,16,11116,1111116)Create procedure selectUserAsSelect * from user where age 184、1. 你对哪种数据库最熟悉?使用该数据库多少年?简单描述对该数据库的理解.答:SQL,适合中小型企业使用2.对其它较熟悉的商业数据库的了解及使用年限.3.如何将数据库(实例)备份和还原?(针对

3、自己最熟悉的)SQL,在企业管理器上右点要备份或还原的数据,从所有任务选择备份或还原。4.如何知道一个表或视图的结构?查询系统表sysobjects5.描述INNER JOIN的功能和已在何种情况下使用INNER JOIN.内联接是用比较运算符比较要联接列的值的联接,连接的2个表都要满足、5、存储过程和SQL语句的优缺点存储过程的优缺点:优点:1.由于应用程序随着时间推移会不断更改,增删功能,TSQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置。2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划 实际上是 Microsoft SQL Serv

4、er为在存储过程中获取由 T-SQL 指定的结果而必须采取的步骤的记录。)缓存改善性能。.但sql server新版本,执行计划已针对所有 T-SQL 批处理进行了缓存,而不管它们是否在存储过程中,所以没比较优势了。3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量T-sql语句的代码流量。4.使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用 (RPC) 处理服务器上的存储过程而提高性能。RPC 封装参数和调用服务器端过程的方式使引擎能够轻松地找到匹配的执行计划,并只需插入更新的参数值。5.可维护性高,更新存储过程通常比更改、测试以及重

5、新部署程序集需要较少的时间和精力。6.代码精简一致,一个存储过程可以用于应用程序代码的不同位置。7.更好的版本控制,通过使用 Microsoft Visual SourceSafe 或某个其他源代码控制工具,您可以轻松地恢复到或引用旧版本的存储过程。8.增强安全性:a、通过向用户授予对存储过程(而不是基于表)的访问权限,它们可以提供对特定数据的访问;b、提高代码安全,防止 SQL注入(但未彻底解决,例如,将数据操作语言DML,附加到输入参数);c、SqlParameter 类指定存储过程参数的数据类型,作为深层次防御性策略的一部分,可以验证用户提供的值类型(但也不是万无一失,还是应该传递至数据

6、库前得到附加验证)。缺点:1.如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐了。2.可移植性差由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。如果应用程序的可移植性在您的环境中非常重要,则将业务逻辑封装在不特定于 RDBMS 的中间层中可能是一个更佳的选择。Sql语句灵活,可移植性强,查询速度比存储过程慢些6、为数据库创建索引都需要注意些什么?1. 索引能提高速度的关键就是索引所占的空间要比表小得多2. 注意索

7、引的大小,有一些表可以建成索引组织表3. 索引的列不要太多,要选择一些selective比较低的列建B-tree索引,选择selective高的列建bitmap索引(在更新比较多的表不不要建bitmap索引)4. 将selective较低的列放在前面5. 在更新不多的表上建索引时,可以考虑用compress选择,以节约索引的空间7、一组SQL相关操作面试题1. 在表A中有数据IDMO1Y2N请用一个SELECT 语句写出,如果MO的值为“Y”,返回“YES”,为N返回“NO”效果如下:YESNOSELECT ID,MO=CASEWHEN MO=Y THEN YESWHEN MO=N THEN

8、NOENDFROM Az2. 在表A中查询出自动增长列中31到40之间的数据(注意可能不是连续的)select * from A where id between 31 and 403. 有一个表table中有一个自动增长字段ID,如果在存储过程中向这个表插入一条记录后,如何获得新记录的ID.(写出获取新记录ID的函数即可)CREATE FUNCTION c_currentId()RETURNS intASBEGINdeclare lastId intselect lastId=max(cid) from cRETURN (lastId)select tempdb.dbo.c_currentI

9、d() as 当前C表中最新的编号4. having的用法, 是用来做什么的having用来对group by 分组后的记录进行过滤。5. sql中的什么函数可以转换为时间 select convert(datetime,2000/01/01)select cast(2001/02/02 as datetime)6. 查询数据放入一张临时表select * into #A from Testselect * from #A8、如何使用SQL进行模糊查询LIKE条件一般用在指定搜索某字段的时候, 通过”% _” 通配符的作用实现模糊查找功能,通配符可以在前面也可以在后面或前后都有。搜索以mian

10、开头:SELECT * FROM teble WHERE title LIKE mian% 搜索以mian结束:SELECT * FROM teble WHERE title LIKE %mian 搜索包含mian:SELECT * FROM teble WHERE title LIKE %mian%注释:%表示0个或多个字符构成的字符串_表示单个字符 9、说一下mysql, oracle等常见数据库的分页实现方案?1.Oracle:select * from ( select row_.*, rownum rownum_ from ( query_SQL ) row_ where rownu

11、m = min2.SQL Server:select top pagesize * from tablename where id not in (select top pagesize*(page-1) id from tablename order by id) order by id3.MySQLselect * from tablename limit position, counter4.DB2select * from (select *,rownumber() as ROW_NEXT from tablename) where ROW_NEXT between min and m

12、ax1.分页方案一:(利用Not In和SELECT TOP分页)效率次之语句形式:SELECT TOP 10 * FROM TestTableWHERE(ID NOT IN (SELECT TOP 20 id FROM TestTable ORDERBY id) ORDERBYIDSELECT TOP 页大小 * FROM TestTableWHERE( ID NOT IN(SELECT TOP 每页大小-1*待查询页数-1 id FROM 表ORDERBY id) ORDERBYID思路:先查询出待查询页之前的全部条数的id,查询ID不在这些ID中的指定数量条数2.分页方案二:(利用ID大

13、于多少和SELECT TOP分页)效率最高 10 * TestTableWHERE(ID(SELECT MAX(id) FROM(SELECT TOP20 id TestTable ORDERBYid)AS T)ORDERBY ID 页大小* FROM(SELECT MAX(id) FROM(SELECT TOP 每页大小*待查询页数-1 id FROM 表 ORDERBY id)AS T) ORDERBY ID先获得待查询页的之前全部条数id,获得它们当中最大的ID号,以此最大ID号为标志,查找比这个ID号大的指定条数3.分页方案三:SELECT TOP PageSize * FROM(SE

14、LECT TOP nPage*PageSize * from YOURTABLE order by id)as a order by id descSELECT TOP 每页条数 * FROM (SELECT TOP 待查询页*每页条数) * from YOURTABLE order by id)as a order by id desc先正排序查询出待查询页之前(包括当前页)的全部条数,然后将其倒排序,取指定条数10、几道SQL面试题1. 解释一下SQL里面的null答案:null代表一个unknown的值或者一个不存在的值2. 如何用SQL判断一个值是不是null?可以用is null来判

15、断一个值是不是null所有包含null的计算表达式的返回结果都是null, 这句话正确吗?比如5+ null返回null正确4. 所有与null得比较运算都返回unknown正确吗?5. (unknown or true) = true正确吗?6. (unknown or false) = unknown正确吗?7. (unknown or unknown) = unknown正确吗?8. (true and unknown) = unknown正确吗?9. (false and unknown) = false正确吗?10. (unknown and unknown) = unknown正确

16、吗?11. (not unknown) = unknown 正确吗?11、介绍一下游标游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回数据表中。由 SELECT 语句返回的行集包括所有满足该语句 WHERE 子句中条件的行。由语句所返回的这一完整的行集被称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行。游标就是提供这种机制的结果集扩展。游标通过以下方式扩

17、展结果处理:允许定位在结果集的特定行。从结果集的当前位置检索一行或多行。支持对结果集中当前位置的行进行数据修改。为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持。提供脚本、存储过程和触发器中使用的访问结果集中的数据的 Transact-SQL 语句。12、介绍一下SQL Server的全文索引全文索引可以对存储在SQL Server数据库中的文本数据执行快速检索功能。同LIKE谓词不同,全文索引只对字符模式进行操作,对字和语句执行搜索功能。全文索引对于查询非结构化数据非常有效。一般情况下,可以对char、varchar和nvarchar数据类型的列创建全文索引,同时,

18、还可以对二进制格式的列创建索引,如image和varbinary数据类型列。对于这些二进制数据,无法使用LIKE谓词。为了对表创建全文索引,表必须包含单个、唯一、非空列。当执行全文检索的时候,SQL Server搜索引擎返回匹配搜索条件的行的键值。一般情况,使用sql server中的全文索引,经过大体4个步骤:安装全文索引服务;为数据表建立全文索引目录;使全文索引与数据表内容同步;使用全文索引进行查询。13、什么是唯一索引唯一索引可以确保索引列不包含重复的值。在多列唯一索引的情况下,该索引可以确保索引列中每个值组合都是唯一的。例如,如果在 last_name、first_name 和 mid

19、dle_initial 列的组合上创建了唯一索引 full_name,则该表中任何两个人都不可以具有相同的全名。聚集索引和非聚集索引都可以是唯一的。因此,只要列中的数据是唯一的,就可以在同一个表上创建一个唯一的聚集索引和多个唯一的非聚集索引。只有当唯一性是数据本身的特征时,指定唯一索引才有意义。如果必须实施唯一性以确保数据的完整性,则应在列上创建 UNIQUE 或 PRIMARY KEY 约束,而不要创建唯一索引。例如,如果打算经常查询雇员表(主键为 emp_id)中的社会安全号码 (ssn) 列,并希望确保社会安全号码的唯一性,则在 ssn 列上创建 UNIQUE 约束。如果用户为一个以上的

20、雇员输入了同一个社会安全号码,则会显示错误。14、几道数据库笔试题1.张表,学生表S,课程C,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC表关联;(SQL)1)写出建表语句;建表语句如下(mysql数据库):create table s(id integer primary key, name varchar(20);create table c(id integer primary key, name varchar(20);create table sc(sid integer references s(id),cid integer references c

21、(id),primary key(sid,cid);2)写出SQL语句,查询选修了所有选修课程的学生;SQL语句如下:select stu.id, stu.name from s stuwhere (select count(*) from sc where sid=stu.id) =(select count(*) from c);3)写出SQL语句,查询选修了至少5门以上的课程的学生。where (select count(*) from sc where sid=stu.id)=5;2.数据库表(Test)结构如下:IDNAMEAGEMANAGER(所属主管人ID)106A3010410

22、9B19104104C20111107D35109112E25120119F45NULL要求:列出所有年龄比所属主管年龄大的人的ID和名字?select employee.name from test employee where employee.age(select manager.age from test manager where manager.id=employee.manager);3.有3个表(15分钟):Student 学生表 (学号,姓名,性别,年龄,组织部门)Course 课程表 (编号,课程名称)Sc 选课表 (学号,课程编号,成绩)表结构如下:1)写一个SQL语句,

23、查询选修了计算机原理的学生学号和姓名(3分钟)select stu.sno, stu.sname from Student stuwhere (select count(*) from sc where sno=stu.sno and cno =(select cno from Course where cname=计算机原理) != 0;2)写一个SQL语句,查询周星驰同学选修了的课程名字(3分钟)select cname from Course where cno in (select cno from sc where sno=(select sno from Student where

24、 sname=周星驰);3)写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟)select stu.sno, stu.sname from student stuwhere (select count(*) from sc where sno=stu.sno) = 5;15、ORACLE面试题1解释FUNCTION,PROCEDURE和PACKAGE区别function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值而function将返回一个值在另一方面,Package是为了完成一个商业功能的一组function和proc

25、edure的集合。2取某个序列的当前值的PL/SQL语句怎么写?SELECT 序列名.CURRVAL DUAL;3说明ORACLE数据库实例与ORACLE用户的关系?实例可以包含多个用户,一个用户只能在一个实例下4创建数据库时,自动建立的tablespace名称?SYSTEM tablespace5创建用户时,需要赋予新用户什么权限才能使它连上数据库?CONNECT6IMPORT和SQL*LOADER这2个工具的不同点?这两个ORACLE工具都是用来将数据导入数据库的。区别是:IMPORT工具只能处理由另一个ORACLE工具EXPORT生成的数据。而SQL*LOADER可以导入不同的ASCII

26、格式的数据源。7解释冷备份和热备份的不同点以及各自的优点?热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)8比较truncate和delete命令?两者都可以用来删除表中所有的记录。区别在于:truncate是DDL(data defining language数据定义语言),它移动HWK,不需要rollback segment(处理事务回滚操作)而Delete是DML(data manufacturing language数据操作语言)操作,需要rollback segment(处理事务回滚操作)且花费较长时间。9给出数据的相关约束类型?主键约束,外键约束,非空约束,唯一约束,检查约束。10说明索引的类型与作用?索引类型上分

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2