1、什么是视图?
视图不占物理存储空间,它是一种逻辑对象,可以将其看成一个''虚表'
视图是一个有select语句指定,用以检索数据库表中的某些行或列数据的语句存储定义
2、创建水平视图
视图的常见用法是限制用户只能存取表中的某些数据行,用这种方法产生的视图成为水平视图
create view view_student
as
select * from student where classi_d="10"
3、投影视图
限制用户只能读取表中部分列的数据,那么使用这种方法创建的视图称作投影视图,即列中的子集
create view view_student2
as
select student_id as '学号, student_name as '姓名',sex as'性别' from student where sex=1
with check option ' /*强制视图上执行的所有修改语句必须符合由select 语句设置的准则*/
4 创建联合视图
用户可以生成从多个表中提取数据的联合视图,把查询的结果可看做一个单独的可见表。
5 什么是索引?
索引是数据库对象之一,索引是为了加速表中数据行的检索而创建的一种分散的一种存储结构
索引是针对一个表而建立的,它是有数据页面以外的索引页面组成的
create unique clustered index book_id _index--唯一性聚集索引
on book(book_id asc)
with
fillfactor=50
非聚簇索引
create nonclustered index student_course_index
on student_course (student_id asc, course_id) asc
with
fillfactor=50
6 什么是存储过程?
存储过程是一系列预先编译好的,能够实现特定数据操作功能的SQL代码集,它与特定的数据库相关联,存储在SQL SERVER服务器上
example:
//创建一个实现加法运算结果作为输出参数的存储过程
create procedure sp_add
@value1 int(10),
@value2 int (10),
@result int output
as
select @result=@result1+@result2
go
///执行存储过程
declare @value1 int(10)
declare @value2 int (10)
declare @result int(10)
set @value1=1
set @value2=2
exec sp_add @value1,@value2,@result output
print convert(char(5),@value1)+"+"+convert(char(5),@value2)+'='+convert(char(5),@result)
7、什么是触发器?
触发器是一种实施复杂数据完整性的特殊存储过程,他对表进行增删改查的时触发自动执行,以防止数据进行不正确,未授权货不一致的参数
触发器能够维持两个表之间的参照完整性,就像外键一样 ,外键执行效率更高,因为他们在数据改变之前被测试,而不想触发器在数据改变之后才触发
8、什么是游标?
游标是一种处理数据的方法,为了查看或者处理结果集中的数据,游标提供了结果集中向前或者向后浏览数据的能力
游标的使用步骤:1、创建游标 2、打开游标 3、读取数据 4、数据操作 5、关闭和释放游标
declare @taocan nvarchar(50),@youhui nvarchar(50) declare taocan_cursor scroll cursor --声明游标 for select Taocan,youhui from [189Shop].[dbo].[Table_TaocanType] for read only open taocan_cursor ---打开游标 fetch from taocan_cursor into @taocan,@youhui --从游标中提取行 while @@FETCH_STATUS=0--表示成功完成FETCH 语句 begin print '套餐:'+@taocan+',优惠:'+@youhui fetch from taocan_cursor into @taocan,@youhui end close taocan_cursor --关闭游标 deallocate taocan_cursor --释放游标
9、什么是事务?
事务是一系列操作,这些操作要么被执行,要么不被执行,他是一个不可分割的单元