


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一数据库概念一数据库概念1 1约束约束约束有几种?约束有几种?主关键字约束 (primary key constraint) 、 外关键字约束 (foreign key constraint) 、惟一性约束 (unique constraint) 、 检查约束 (check constraint) 和缺省约束 (defaultconstraint) 。2 2表连接表连接表的连接方式有几种?内外连接的差别?表的连接方式有几种?内外连接的差别?内连接(inner join) ,外连接(outer join),交叉连接(cross join)。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回
2、 from 子句中提到的至少一个表或视图的所有行, 只要这些行符合任何 where 或 having 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。外连接又分为哪几种?外连接又分为哪几种?左(外)连接( left outer join /left join) ,右(外)连接( right outer join / right join) ,全外连接(full outer join / full join)3 3索引索引索引有几种?他们的区别是什么?索引有几种?他们的区别是什么?聚集索引( clustered ind
3、ex,也称聚类索引 、簇 集索引) 和非 聚集索 引(nonclustered index,也称非聚类索引、非簇集索引) 。聚簇索引的顺序就是数据的物理存储顺序,而非聚簇索引的索引顺序与数据物理排列顺序无关,叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。一个表最多只能有一个聚簇索引。4 4存储过程存储过程为什么要使用存储过程?为什么要使用存储过程?1.允许模块化程序设计。2.允许更快执行。3.减少网络流量。4.可作为安全机制使用。5 5 事务事务简单描述事务的概念和特性简单描述事务的概念和特性事务(transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,
4、要么都不做,是一个不可分割的工作单位。通过事务, sql server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。a:原子性(atomicity)事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。b:一致性(consistency)事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 一致性与原子性是密切相关的。c:隔离性(isolation)一个事务的执行不能被其他事务干扰。d:持续性/永久性(durability)一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。如何判断事务中语句是否出错?如何判断事务中语句是否出错?利用error
5、 判断是否出错6 6 数据库范式数据库范式数据库设计的一、二、三范式是什么数据库设计的一、二、三范式是什么? ?第一范式(1nf)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。第二范式(2nf)要求数据库表中的每个实例或行必须可以被惟一地区分。第三范式(3nf)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。7 7 锁和死锁锁和死锁为什么要引入锁为什么要引入锁多个用户同时对数据库的并发操作时会带来丢失更新,脏读等数据不一致的问题。锁的分类锁的分类1. 从数据库系统的角度来看:分为独占锁(即排它锁(x)) ,共
6、享锁(s)和更新锁(u)2. 从程序员的角度看:分为乐观锁和悲观锁。死锁是怎么产生的?死锁是怎么产生的?死锁就是多个用户申请不同封锁, 由于申请者均拥有一部分封锁权而又等待其他用户拥有的部分封锁而引起的无休止的等待可以使用set deadlock_priority控制在发生死锁情况时会话的反应方式。如果两个进程都锁定数据,并且直到其它进程释放自己的锁时,每个进程才能释放自己的锁,即发生死锁情况。如何避免死锁如何避免死锁1 使用事务时,尽量缩短事务的逻辑处理过程,及早提交或回滚事务;2 设置死锁超时参数为合理范围,如:3 分钟-10 分种;超过时间,自动放弃本次操作,避免进程悬挂;3 优化程序,
7、检查并避免死锁现象出现;如:在transaction 语句中加入trycatch语句4 .对所有的脚本和 sp 都要仔细测试,在正是版本之前。5 所有的 sp 都要有错误处理(通过error)6 一般不要修改 sql server事务的默认级别。不推荐强行加锁二sql serversql server1 1、数据类型、数据类型列举列举 sqlsql 中几种常用的数据类型,并说明中几种常用的数据类型,并说明 char(100),varchar(100),char(100),varchar(100), nvarchar(100)nvarchar(100)的差的差别?别?int,bit,varcha
8、r,nvarchar,datetimechar 为定长,varchar 和 nvarchar 为变长,nvarchar 存储 unicode, 为双字节,实际存储长度是 200。2 2、临时表和表变量、临时表和表变量什么是临时表?什么是临时表?临时表与永久表相似,只是它的创建是在tempdb中,它只有在一个数据库连接结束后或者由 sql 命令 drop 掉,才会消失,否则就会一直存在。临时表在创建的时候都会产生 sql server的系统日志,虽它们在 tempdb中体现,是分配在内存中的,它们也支持物理的磁盘,但用户在指定的磁盘里看不到文件。临时表的分类?临时表的分类?临时表分为本地和全局两
9、种。本地临时表的名称都是以“#”为前缀,只有在本地当前的用户连接中才是可见的,当用户从实例断开连接时被删除。全局临时表的名称都是以“#”为前缀, 创建后对任何用户都是可见的,当所有引用该表的用户断开连接时被删除。临时表和表变量有什么区别?临时表和表变量有什么区别?1.创建的时候,必须要为之命名。表变量是变量的一种,表变量也分为本地及全局的两种,本地表变量的名称都是以“”为前缀,只有在本地当前的用户连接中才可以访问。全局的表变量的名称都是以“”为前缀,一般都是系统的全局变量,像我们常用到的,如error 代表错误的号,rowcount 代表影响的行数。2.不能在表变量上创建显式的索引,只能创建p
10、k 和 unique 约束3.一旦申明表变量,就不能修改它的定义。4.表变量不是外部事务的组成部分。如果修改表变量的语句执行失败,则该语句的更改会被撤销。但是,如果语句是外部事务的一部分,外部事务回滚后,对表变量已经完成的更改将不可撤销。3 3、视图、视图、ctecte简述视图、简述视图、ctecte视图: 是由若干基本表或其他视图构成的表的定义。 未建索引的视图中的数据没有物理表现形式。cte:它允许使用模块化的方法开发解决方案。可简化开发过程并减少bug 和错误的出现。4 4、备份和还原、备份和还原数据库的备份有几种?数据库的备份有几种?数据库的备份一般都会同时拥有三种:完全备份、差异备份
11、、事务日志备份。5 5、系统库、视图、过程及方法、系统库、视图、过程及方法sql serversql server系统自带的数据库有哪些?系统中各个数据库的用途是什么?系统自带的数据库有哪些?系统中各个数据库的用途是什么?master:核心数据库主要配合完成数据库的权限,日志, 登陆信息,设定,进程管理等数据库系统与操作系统级别的服务操作model:模版数据库主要配合完成用户自定义数据库创建时提供各种模板msdb:自动化任务主要完成一些定时,预操作比如发送邮件,提示等等等等。tempdb:临时缓存请列举一些数据库中常用的系统表?请列举一些数据库中常用的系统表?sysobjects,syscol
12、umns,syscomments 请列举一些数据库中常用的系统存储过程?请列举一些数据库中常用的系统存储过程?sp_helptext, sp_who, sp_who2, sp_rename6 6、错误处理、错误处理说出错误处理的两种方式(说出错误处理的两种方式(sql2005sql2005)? ?try.catcherror7 7、性能优化、性能优化列举一些会影响数据库性能的因素。列举一些会影响数据库性能的因素。有许多因素会影响数据库的性能表现,例如:操作系统,硬件方面的因素,如内存和磁盘空间,访问数据库的应用软件。 除此之外,数据库本身的设计也是一个影响性能的重要因素。有一个数据库有一个数据
13、库 200g200g 大小,每天增加大小,每天增加 50m50m 允许用户随时访问,制定备份策略(详细说允许用户随时访问,制定备份策略(详细说明)明) 。这种情况可以采用增量备份方式。 每周日做一次全备份,周一到周六作增量备份 (由于数据量较少,可以考虑每 30 分钟增量备份一次) 。这样可以尽量减少性能消耗, 而且如果 transaction log 丢失的情况下,可以保证最多丢失30 分钟数据。比较下列语句的性能优越性。比较下列语句的性能优越性。 (红色红色为较优化方案)为较优化方案)1.常量优化sal 24000/12sal*12 24000如果 sql 语句包括第一种情况,优化器会简单
14、地把它转变成sal 2000。优化器不会简化跨越比较符的表达式, 例如第二条语句,鉴于此,应尽量写用常量跟字段比较检索的表达式, 而不要将字段置于表达式当中。 否则没有办法优化,比如如果 sal 上有索引,第一可以使用,第二就难以使用。2.操作符优化in、not in 和 exists、not existsselect col1,col2,col3 from t1 where col2 not in (a,b,c)select col1,col2,col3 from t1 where not exists (select * from t1 where col2 = a or col2= b
15、or col2 = c)用 in 写出来的 sql 的优点是比较容易写及清晰易懂, 这比较适合现代软件开发的风格。但是用 in 的 sql 性能总是比较低的,not in 操作符是强列不推荐使用的,因为它不能应用表的索引。相应的可用exists 和 not exists 代替。union 和 union all假定 tbl1 和 tbl2 没有重复数据select * from tbl1unionselect * from tbl2select * from tbl1union allselect * from tbl2union 在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。当不会产生重复的记录时采用union all操作符替代 union, 因为 union all操作只是简单的将两个结果合并后就返回。 及 2 与 a=3 比较因
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年演出经纪人之演出市场政策与法律法规模拟考试试卷B卷及答案【名师系列】
- 2025年O2O零售模式报告:线上线下融合下的消费体验升级
- 物理●福建卷丨2024年福建省普通高中学业水平选择性考试物理试卷及答案
- 企业质量管理精要
- 2025届高考物理大一轮复习课件 第一章 第3课时 自由落体运动和竖直上抛运动 多过程问题
- 政治●安徽卷丨2024年安徽省普通高中学业水平选择性考试政治试卷及答案
- 江西省吉安市阳明中学2025届高考英语保温卷(一)(原卷版)
- 消防规范试题及答案
- 西部计划试题及答案青海
- 安徽省宣城市2025年中考三模道德与法治试卷(含答案)
- 耳穴压豆课件完整版
- 典当行法律合规管理制度
- 2025年中考物理终极押题猜想(陕西卷)(考试版A4)
- 食堂装修设计合同(2024版)3篇
- 内科学(呼吸-循环-消化)(温州医科大学)知到智慧树章节答案
- 江苏省南通机场集团有限公司关于“空港英才计划”招聘管理单位遴选500模拟题附带答案详解
- 通信对抗原理(冯小平)全书第8章
- 2025年见证取样员必考题库与答案
- 执行四方协议书范本范本
- 鲁教版五四制初中八年级化学全一册全套教案
- 科技赋能娃娃玩具个性化定制
评论
0/150
提交评论