11.16日学习记录

1.索引是什么

聚集索引,要查找的部分本身就是一个目录。

非聚集索引,目录就是目录,正文就是正文呢。

2.触发器如何制作

触发器是一种特殊类型的存储过程,对特定事件作出响应。触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程,一般用在较check约束更加复杂的约束上面。

触发器有两个特殊的表:插入表instered表)和删除表deleted表)。这两张是逻辑表也是虚表。系统在内存中创建这两张表,不会存储在数据库中。而且两张表的都是只读的,只能读取数据而不能修改数据。这两张表的结果总是与被改触发器应用的表的结构相同。当触发器完成工作后,这两张表就会被删除。inserted表的数据是插入或是修改后的数据,而deleted表的数据是更新前的或是删除的数据。

语句:

CREATE TRIGGER <trigger name>
  ON [ <schema name>. ]<table or view name>
  [WITH ENCRYPTION | EXECUTE AS <CALLER | SELF | <user> > ]
  {{{ FOR | AFTER} < [DELETE][,][INSERT][,][UPDATE] > } | INSTEAD OF }[WITH APPEND][NOT FOR REPLICATION]
  AS
  < <sql statements> | EXTERNAL NAME <assembly method specifier> >

例子:

create trigger Tr_CopyToSave
on BORROW
for insert,update
as
if @@ROWCOUNT>=1
insert into BORROW_SAVE select i.BNO,i.CNO,i.RDATE
from inserted i,BOOKS b
where i.BNO=b.BNO and b.BNAME='数据库技术及应用'

3.View视图如何做

create view V_BorrowInfo_CS0801
as
select c.NAME,b.BNAME 
from CARDS c,BOOKS b,BORROW r
where c.CNO=r.CNO and b.BNO=r.BNO and c.CLASS='计科一班'

PS:关于(View)视图,你必须了解的东东

(1)视图是从一个或几个基本表中根据用户需要而做成的一个虚表:①视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据;②视图只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展现给用户;

(2)视图的优点:①能分割数据,简化用户观点。②为数据提供一定的逻辑独立性(如果为某一个基表定义一个视图,即使以后基本表的内容的发生改变了也不会影响“视图定义”所得到的数据);③提供自动的安全保护功能( 视图能像基本表一样授予或撤消访问许可权)

4.https://www.zhihu.com/search?type=content&q=mysql

5.https://www.zhihu.com/question/19552975/answer/123523074

猜你喜欢

转载自www.cnblogs.com/wjc123/p/9972558.html
今日推荐