1. 程式人生 > >11.16日學習記錄

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