sql简单复习点

sql心得


一、描述关系型数据库的概念


就是基于关系模型的数据库,在计算机中,关系型数据库时数据和数据库对象的集合,而管理关系语句库的计算机软件我们称之为关系数据库管理系统(Relational DataBase Management System,RDBMS)。


二、描述实体完整性约束


实体完整性要求表中的每一行数据都反映不同的实体,不能存在相同的数据行,通过设置主键约束、唯一约束、索引或标识列,来实现完整性。


三、描述域完整性约束


域完整性是指限定信息的有效性。可通过限定数据类型、检查约束、外键约束、默认值、非空约束,来实现表的域完整性


四、描述引用完整性约束


引用完整性约束是用来保持表之间已定义的关系,确保插入到表中数据时有效的。可通过主键和外键之间的引用关系来实现。


五、描述自定义完整性约束


自定义完整性用来定义特定的业务规则,做不同行业的软件,其业务规则是不同的。可通过数据库的规则、触发器、存储过程来实现。


六、描述主键约束


主键约束可以唯一标识数据表中的每一条记录,避免数据的冗余。主键约束需要指定一列,这个列中的值能够表示不同的实体。如果表中一列不能确定一个实体,需要几列的组合才能确定,那么这几列可以联合作为主键,称之为“联合主键”。


七、描述T-SQL语言的组成部分


DMLData Manipulation Language)数据操作语言:用来查询、插入、删除和修改数据库中的数据,如:select,insert,upate,delete等语句。


DDL(Data Definition Language)数据定义语言:用来创建数据库、数据表、视图、存储过程的操作指令,如:create,table,drop table等。


DCLData ControlLanguage)数据控制语言:用来管理数据库用户的权限、数据完整性、安全性、并发性等数据库管理操作,如:grant等。


八、数据库可包含哪几种文件?


1. 主数据文件.mdf, 必备文件,一个数据库只能有一个主数据文件


2. 日志文件.ldf, 必备文件, 一个数据库可有多个日志文件


3. 次数据文件.ndf, 一个数据库可有多个次数据文件


九、系统数据库有哪几个,并简要介绍它们的作用


1. master:存储所有的系统级信息;如果master数据库不可用,则SQLServer无法启动;


2. model:创建数据库的模板;


3. msdb:主要被SQL SERVER代理用于进行复制、作业调度及管理警报等活动;


4. tempdb:临时数据库,保存所有的临时表和临时存储过程;


十、复制或移动数据库时,如果文件不让拷贝,可以采用哪些手段解决


1.分离与附加


2.脱机与联机


十一、谈谈你对标识列的理解


1.  当不知道用哪个字段作为主键或没有合适的字段作为主键时,可使用标识列;


2.  标识列的数据类型应该为数字类型;


3.  通过定义标识种子和标识增量实现自动递增,不会出现重得数据;


4.  标识列的数据自动生成,不能对该列进行插入和修改;


5.  删除了具有标识列的表中数据后,标识列的数值依然继续递增;


十二、谈谈你对外键约束的理解


1. 外键约束主要用于实现引用完整性


2. 具有外键约束的列中值必须在主表的主键列中事先存在,不能将主表中关联列不存在的数据,插入到子表中


3. 不能更改主表中的数据,而导致子表中数据的孤立。


4. 不能删除主表中的数据,而导致子表中数据的孤立


5. 删除主表前,先删子表


十三、TRUNCATE TABLE语句有什么功能和特点


1. 只删除表中的数据,不会删除表结构及各种约束


2. 与不带WHERE条件的DELETE相比,它的执行速度更快


3. 不能删除具有引用关系的数据表


十四、向表中一次插入多行数据的语句有哪几个


1. INSERT INTO <1>… SELECT… 语句:要求表1必须事先存在


2. SELECT… INTO <1>… 语句:要求表1必须事先不存在


3. 使用UNION关键字插入多行数据


十五、日期函数DATEPARTDATENAME有什么功能,它们有什么区别,使用这两个函数得到当前日期的分钟部分应该怎么写


这两个函数都可以返回日期的指定部分,区别是DATEPART返回的是一个整数,而DATENAME返回的是一个字符串;


得到分钟部分:


使用DATENAME:selectdatename(mi,getdate())   selectdatename(n,getdate())


使用DATEPART:selectdatepart(mi,getdate())   selectdatepart(n,getdate())


十六、CONVERT函数有什么功能?如何得到用中杠隔开的表示当前日期的字符串(如2011-06-01)?


CONVERT函数可以完成数据类型的转换,即将某一种数据类型的数据转换为另外一种。


Select convert(varchar(11),getdate(),121)


Selectsubstring(convert(varchar,getdate(),121),1,10)


 十七、分组统计必须牢记的一句话是什么?having子句有什么用处?如果一个SQL语句中除了WHREE子句又有HAVING子句,那么它们的执行顺序是什么?


1. SELECT语句中除聚合函数外所有列,应写在Group By语句后面,否则将出现错误。


2. HAVING子句用于分组统计之后对结果集再次进行条件过滤


3. 先执行WHERE子句对源数据进行过滤,然后执行GROUP BY进行分组,最后执行HAVING子句对分组结果集再次进行过滤


十八、SQL SERVER的权限管理可以分为哪三关?


1. 登录SQL SERVER系统,需要登录帐户


2. 访问某个数据库,需要成为该数据库的用户


3. 访问数据库中的表,需要数据库管理员给您授权,如增添、修改、删除、查询等权限


十九、描述外连接,左外连接中哪个表是主表


外连接中参与连接的两个表有主从之分,以主表中的每行数据去匹配从表中的数据列,符合连接条件的数据将直接返回到结果集中,对于在主表中存在而从表中不存在的数据,将以NULL值代替并返回到结果集中。


左个连接中左表是主表,即from后面的那个表


二十、描述数据库备份与还原的几种方式


备份:


1.  完整备份:对整个数据库进行备份,既数据中的主数据文件、所有的次数据文件和日志文件。


2.  事物日志备份:只备份事物日志文件。


3.  差异备份:备份上一次的完全备份后发生变化的所有文件


还原:


1.  完整备份的还原只需要还原备份文件即可

差异备份的还原一共需要2个步骤,第一个步骤先还原完整备份,第二步还原最后一个差异备份


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值