事务,视图及索引!!!
?
事務(wù)
為什么需要事務(wù)?
? 因為要保證事務(wù)的一致性!!!
事務(wù)的四個屬性:
1.原子性
事務(wù)是一個完整的操作!
2.一致性
當事務(wù)完成時,數(shù)據(jù)必須處于一致狀態(tài)!
3.隔離性
事務(wù)是獨立的!
4.持久性
持久性是指無論系統(tǒng)發(fā)生什么故障,事務(wù)處理的結(jié)果都是永久的!
這些特性通常簡稱為ACID
執(zhí)行事務(wù)的語法
(1)開始事務(wù)
begin tran
這個語句顯示地標記一個事務(wù)的起始點.
(2)提交事務(wù)
commit tran
這個語句標記事務(wù)成功結(jié)束。
(3)回滾(撤銷事務(wù))
rollback transaction
清除自事務(wù)起始地至該語句所做的所有數(shù)據(jù)更新操作,將數(shù)據(jù)狀態(tài)回滾到事務(wù)開始前,并釋放由事務(wù)控制的資源!
事務(wù)分類
1.顯示事務(wù)
2.隱式事務(wù)
3.自動提交事務(wù)
?示例1:
1 --轉(zhuǎn)賬 2 --在sql中如何開啟事務(wù) 3 begin tran 4 declare @errorsum int 5 set @errorsum=0 6 update Bank set cardBalance-=49000 7 where cradId=1 8 9 --記錄錯誤號 10 set @errorsum+=@@ERROR 11 12 update Bank set cardBalance+=49000 13 where cradId=2 14 15 set @errorsum+=@@ERROR 16 if(@errorsum>0) 17 begin 18 --數(shù)據(jù)回滾,其中一個操作時錯誤的,事務(wù)整體都會回滾 roolback 19 rollback tran 20 end 21 else 22 begin 23 --提交 commit 24 commit tran 25 end
視圖
?
?視圖是保持在數(shù)據(jù)庫中的select查詢.
?
為什么需要視圖?
為保證數(shù)據(jù)庫中數(shù)據(jù)的安全.
什么是視圖?
視圖是另一種查看數(shù)據(jù)庫中一個或多個表中數(shù)據(jù)方法
視圖充當著查詢中指定表篩選器.
視圖通常用來進行三種操作:
1.篩選表中的行
2.防止未經(jīng)許可的用戶訪問敏感數(shù)據(jù)
3.將多個物理數(shù)據(jù)表抽象為一個邏輯數(shù)據(jù)表
使用T-SQL語句
創(chuàng)建視圖的語法是:
create view view_name
as
<select 語句>
?如果需要對以創(chuàng)建的視圖進行查詢代碼修改,那么就需要刪除已存在的同名視圖,在重新創(chuàng)建.
刪除視圖
drop view vuew_name
查看視圖
select col_name1,col_name2,..... from view_name
?示例二:
--當前數(shù)據(jù)庫use MySchoolgo--檢測視圖是否存在:視圖記錄存放在系統(tǒng)表sysobjects中if exists(select * from sysobjects where name='vw_student_result')drop view vw_student_resultgo--創(chuàng)建視圖create view vw_student_resultasselect 姓名=studentname,學號=student.StudentNo,成績=Studentresult,課程名稱=Subjectname,考試時間=examdatefrom Studentinner join Result on Student.StudentNo=Result.StudentNoinner join Subject on Result.SubjectId=Subject.SubjectIdwhere Subject.SubjectId=(select SubjectId from Subject where SubjectName='oop')and ExamDate=(select max(ExamDate) from Result,Subjectwhere Result.SubjectId=Subject.SubjectIdand SubjectName='oop')go注意:
在視圖里存儲的是sql語句,并不是數(shù)據(jù)!
★:索引:是SQL Server編排數(shù)據(jù)的內(nèi)部方法。它為SQL Server提供一種方法來編排查詢數(shù)據(jù)
文章 3萬個字
我愛你
Select? * from Aritcle
Where content like ‘%我愛你%’
★:填充因子
★:索引會降低增刪改效率
單位換算
1G=1024M
1M=1024K
1k=1024(byte)字節(jié)
1byte=8bit
4MB/s???? 512kb/s
?
轉(zhuǎn)載于:https://www.cnblogs.com/superws/p/5266311.html
總結(jié)
以上是生活随笔為你收集整理的事务,视图及索引!!!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker学习笔记16:Dockerf
- 下一篇: 软件工程作业之小学数学题目