新聞中心
數(shù)據(jù)庫作為現(xiàn)代信息系統(tǒng)存儲、管理和查詢數(shù)據(jù)的重要手段,其在工業(yè)界和學術領域的應用日益廣泛,越來越多的人開始了解數(shù)據(jù)庫的基本概念和應用方法。其中涉及的一個基礎概念是數(shù)據(jù)庫事務,也稱數(shù)據(jù)事務,它是指把若干個數(shù)據(jù)庫操作序列化成一組原子性操作,要么全部執(zhí)行,要么全部不執(zhí)行。

創(chuàng)新互聯(lián)是專業(yè)的古縣網(wǎng)站建設公司,古縣接單;提供網(wǎng)站設計制作、成都網(wǎng)站設計,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行古縣網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
數(shù)據(jù)庫事務是所有數(shù)據(jù)庫操作的基礎,它保證了數(shù)據(jù)庫的一致性、隔離性、持久性和原子性,有效地防止了并發(fā)操作引起的數(shù)據(jù)丟失、修改不一致等問題。事務對數(shù)據(jù)庫操作的影響不可忽視,本文將深入探討事務和數(shù)據(jù)庫的關系。
一、事務的定義和屬性
1.1 事務的定義
數(shù)據(jù)庫事務是指作為單個邏輯工作單元執(zhí)行的一系列操作,它要么全部執(zhí)行,要么全部不執(zhí)行,這保證了操作的原子性和一致性。事務可以理解為一組原子性的操作,它們要么都執(zhí)行、要么都不執(zhí)行,如果事務中的某個操作失敗,整個事務會回滾并且所有的操作都失效。
1.2 事務的屬性
ACID是指事務應該具有的四個屬性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持久性(Durability)。
原子性是指事務是不可分割的,它把數(shù)據(jù)庫操作序列化成一組原子性操作,要么全部執(zhí)行,要么全部不執(zhí)行。
一致性是指事務執(zhí)行前后,數(shù)據(jù)庫從一個一致性狀態(tài)變?yōu)榱硪粋€一致性狀態(tài),所有的約束和規(guī)則都必須滿足。
隔離性是指在事務處理期間,一個事務所做的修改在事務未結束時不能被其他事務看到,每個事務是獨立的。
持久性是指一旦事務提交,它所做的修改就被永久保存在數(shù)據(jù)庫中,即使出現(xiàn)系統(tǒng)故障,這些修改也不會丟失。
二、數(shù)據(jù)庫事務的實現(xiàn)
2.1 事務模型
數(shù)據(jù)庫事務的實現(xiàn)可以使用兩種不同的模型:提交提交提交(Commit on Write)和提交讀(Commit on Read)。實現(xiàn)這兩種事務模型的方法是不同的,它們各有特點,需要根據(jù)不同的業(yè)務需求進行選擇。
提交提交提交(Commit on Write)是指事務所做的修改要在事務提交時才能寫入數(shù)據(jù)庫,它需要對所有的修改進行鎖定,以保證事務的可靠性和一致性。
提交讀(Commit on Read)是指讀和寫在提交時分別完成,即事務要么讀到了已經(jīng)提交的數(shù)據(jù),要么讀到了尚未提交的數(shù)據(jù),在事務結束前,讀取到的數(shù)據(jù)將持續(xù)不變。它需要對讀取的數(shù)據(jù)進行鎖定,以保證事務的隔離性和一致性。
2.2 鎖機制
為了保證事務的原子性、一致性、隔離性和持久性,數(shù)據(jù)庫實現(xiàn)事務的核心技術之一是鎖機制。鎖機制可以保證事務的正確性,但是過多的鎖會降低系統(tǒng)的性能,需要在實際應用中進行平衡。
數(shù)據(jù)庫鎖分為行級鎖、表級鎖和頁面級鎖。行級鎖是指在讀寫事務過程中的某一行進行加鎖,它可以有效地提高并發(fā)訪問數(shù)據(jù)庫的效率,但對于大量更新操作的表格不太合適。表級鎖和頁面級鎖是指在讀寫事務過程中對整個表格或頁面進行加鎖,可以避免行級鎖加鎖次數(shù)過多造成的性能問題,但是可能會影響異步讀操作的性能。
2.3 并發(fā)控制
并發(fā)控制是數(shù)據(jù)庫實現(xiàn)事務的另外一個重要技術,它可以控制多個并發(fā)事務的執(zhí)行順序和并發(fā)沖突,保證數(shù)據(jù)庫的一致性、隔離性和原子性。在實際應用中,數(shù)據(jù)庫通常使用多種并發(fā)控制技術,如讀寫鎖、可重復讀、提交讀等,以保證事務的正確執(zhí)行。
三、數(shù)據(jù)庫事務的應用
3.1 金融應用
在金融應用中,事務是保證數(shù)據(jù)一致性、安全性和穩(wěn)定性的最基本手段。數(shù)據(jù)庫的事務實現(xiàn)在金融領域有非常廣泛的應用,比如在銀行、證券交易、基金管理、保險等領域都大量使用事務以保證數(shù)據(jù)的一致性和安全性。在交易過程中,事務能夠有效地控制交易的過程和記錄的有效性,為金融交易提供了可靠的保障。
3.2 電子商務應用
在電子商務領域中,事務是保證數(shù)據(jù)完整性和準確性的重要手段。電子商務平臺需要保障用戶的訂單、支付、物流、售后等操作的可靠性和一致性,任何一個操作都必須要通過事務來實現(xiàn)。電子商務應用常常需要實現(xiàn)高并發(fā)、大數(shù)據(jù)量、多用戶等多種復雜場景,只有通過嚴格的事務控制,才能保證系統(tǒng)的穩(wěn)定性和性能。
3.3 其他應用
事務在數(shù)據(jù)庫應用中還有很多其他的應用場景,比如醫(yī)療、教育、物流等行業(yè)。在醫(yī)療領域,醫(yī)療機構需要保障患者病歷、檢查記錄、醫(yī)療報告等數(shù)據(jù)的完整性和保密性;在教育領域,學校需要保證學生課程表、成績、考試記錄等數(shù)據(jù)的準確性和及時性。這些都需要在實際應用中使用事務進行控制。
四、
本文從事務的定義和屬性、數(shù)據(jù)庫事務的實現(xiàn)、數(shù)據(jù)庫事務的應用等方面,對事務的概念和數(shù)據(jù)庫的關系進行了深入探討。事務是數(shù)據(jù)庫操作的基本單位,也是保證數(shù)據(jù)庫可靠性和一致性的重要手段。在實際應用中,應根據(jù)不同的業(yè)務需求選擇不同的事務模型和技術實現(xiàn),以保障數(shù)據(jù)的安全性和可靠性。
相關問題拓展閱讀:
- 職場 | 數(shù)據(jù)庫面試常問的一些基本概念
- 求:《數(shù)據(jù)庫》什么是事務日志,事務日志包括什么內容? 了解SQL的GRANT 和REVOKE語句
職場 | 數(shù)據(jù)庫面試常問的一些基本概念
1、超鍵、候選鍵、主鍵、外鍵
超鍵:在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。一個屬性可以為作為一個李畢超鍵,多個屬性組合在一起也可以作為一個超鍵。超鍵包含候選鍵和主鍵。
候選鍵:是最小超鍵,即沒有冗余元素的超鍵。
主鍵:數(shù)據(jù)庫表中對儲存數(shù)據(jù)對象予以唯一和完整標識的數(shù)據(jù)列或屬性的組合。一個數(shù)據(jù)列只能有一個主鍵,且主鍵的取值不能缺失,即不能為空值(Null)。
外鍵:在一個表中存在的另一個表的主鍵稱此表的外鍵。
2、什么是事務?什么是鎖?
事務:就是被綁定在一起作為一個邏輯工作單元的SQL語句分組,如果任何一個語句操作失敗那么整個操作就被失敗,以后操作就會回滾到操作前狀態(tài),或者是上有個節(jié)點。為了確保要么執(zhí)行,要么不執(zhí)行,就可以使用事務。要將有組語句作為事務考慮,就需要通過ACID測試,即原子培辯性,一致性,隔離性和持久性。
鎖:在所以的DBMS中,鎖是實現(xiàn)事務的關鍵,鎖可以保證事務的完整性和并發(fā)性。與現(xiàn)實生活中鎖一樣,它可以使某些數(shù)據(jù)的擁有者,在某段時間內不能使用某些數(shù)據(jù)或數(shù)據(jù)結構。當然鎖還分級別的。
3、數(shù)據(jù)庫事務的四個特性及含義
原子性:整個事務中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個環(huán)節(jié)。事務在執(zhí)行過程中發(fā)生錯誤,會被回滾(Rollback)到事務開始前的狀態(tài),就像這個事務從來沒有執(zhí)行過一樣。
一致性:在事務開始之前和事務結束以后,數(shù)據(jù)庫的完整性約束沒有被破壞。
隔離性:隔離狀態(tài)執(zhí)行事務,使它們好像是系統(tǒng)在給定時間內執(zhí)行的唯一操作。如果有兩個事務,運行在相同的時間內,執(zhí)行相同的功能,事務的隔離性將確保每一事務在系統(tǒng)中認為只有該事務在使用系統(tǒng)。這種屬性有時稱為串行化,為了防止事務操作間的混淆,必須串行化或序列化請求,使得在同一時間僅有一個請求用于同一數(shù)據(jù)。
持久性:在事務完成以后,該事務所對數(shù)據(jù)庫所作的更改便持久的保存在數(shù)據(jù)庫之中,并不會被回滾。
4、什么是視圖?
視圖是一種虛擬的表,具有和物理表相同的功能。可以對視圖進行增,改,查,操作,試圖通常是有一個表或者多個表的行或列的子集。對視圖的修改不影響基本表。它使得我們獲取數(shù)據(jù)更容易,相比多表查詢。
如下兩種場景一般會使用到視圖:
(1)不希望訪問者獲取整個表的信息,只暴露部分字段給訪問者,所以就建一個虛表,就是視圖。
(2)查詢的數(shù)據(jù)來源于不同的表,而查詢者希望以統(tǒng)一的方式查詢,這樣也可以建立一個視圖,把多個表查詢結果聯(lián)合起來,查詢者只需要直接從視圖中獲取數(shù)據(jù),不必考慮數(shù)據(jù)來源于不同表所帶來的差異。
注:這個視圖是在數(shù)據(jù)庫中創(chuàng)建的而不是用代碼創(chuàng)建的。
5、觸發(fā)器的作用?
觸發(fā)器是一中特殊的存儲過程,主要是通過事件來觸發(fā)而被執(zhí)行的。它可以強化約束,來維護數(shù)據(jù)的完整性和一致性,可以跟蹤數(shù)據(jù)庫內的操作從而不允許未經(jīng)許可的更新和變化??梢月?lián)級運算。如,某表上的觸發(fā)器上包含對另一個表的數(shù)據(jù)操作,而該操作又會導致該表觸發(fā)器被觸發(fā)。
6、維護數(shù)據(jù)庫的完整性和一致性,你喜歡用觸發(fā)器還是自寫業(yè)務邏輯?為什么?
盡可能使用約束,如check,主鍵,外鍵,非空字段等來約束,這樣做效率更高,也最方便。其次是使用觸發(fā)器,這種方法可以保證,無論什么業(yè)務系統(tǒng)配擾缺訪問數(shù)據(jù)庫都可以保證數(shù)據(jù)的完整新和一致性。最后考慮的是自寫業(yè)務邏輯,但這樣做麻煩,編程復雜,效率低下。
7、索引的作用?和它的優(yōu)點缺點是什么?
數(shù)據(jù)庫索引,是數(shù)據(jù)庫管理系統(tǒng)中一個排序的數(shù)據(jù)結構,以協(xié)助快速查詢、更新數(shù)據(jù)庫表中數(shù)據(jù)。索引的實現(xiàn)通常使用B樹及其變種B+樹。
在數(shù)據(jù)之外,數(shù)據(jù)庫系統(tǒng)還維護著滿足特定查找算法的數(shù)據(jù)結構,這些數(shù)據(jù)結構以某種方式引用(指向)數(shù)據(jù),這樣就可以在這些數(shù)據(jù)結構上實現(xiàn)高級查找算法。這種數(shù)據(jù)結構,就是索引。
為表設置索引要付出代價的:一是增加了數(shù)據(jù)庫的存儲空間,二是在插入和修改數(shù)據(jù)時要花費較多的時間(因為索引也要隨之變動)。
創(chuàng)建索引可以大大提高系統(tǒng)的性能(優(yōu)點):
之一,通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性。
第二,可以大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因。
第三,可以加速表和表之間的連接,特別是在實現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義。
第四,在使用分組和排序子句進行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間。
第五,通過使用索引,可以在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能。
也許會有人要問:增加索引有如此多的優(yōu)點,為什么不對表中的每一個列創(chuàng)建一個索引呢?因為,增加索引也有許多不利的方面:
之一,創(chuàng)建索引和維護索引要耗費時間,這種時間隨著數(shù)據(jù)量的增加而增加。
第二,索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大。
第三,當對表中的數(shù)據(jù)進行增加、刪除和修改的時候,索引也要動態(tài)的維護,這樣就降低了數(shù)據(jù)的維護速度。
索引是建立在數(shù)據(jù)庫表中的某些列的上面。在創(chuàng)建索引的時候,應該考慮在哪些列上可以創(chuàng)建索引,在哪些列上不能創(chuàng)建索引。
一般來說,應該在這些列上創(chuàng)建索引:
(1)在經(jīng)常需要搜索的列上,可以加快搜索的速度;
(2)在作為主鍵的列上,強制該列的唯一性和組織表中數(shù)據(jù)的排列結構;
(3)在經(jīng)常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度;
(4)在經(jīng)常需要根據(jù)范圍進行搜索的列上創(chuàng)建索引,因為索引已經(jīng)排序,其指定的范圍是連續(xù)的;
(5)在經(jīng)常需要排序的列上創(chuàng)建索引,因為索引已經(jīng)排序,這樣查詢可以利用索引的排序,加快排序查詢時間;
(6)在經(jīng)常使用在WHERE子句中的列上面創(chuàng)建索引,加快條件的判斷速度。
同樣,對于有些列不應該創(chuàng)建索引:
之一,對于那些在查詢中很少使用或者參考的列不應該創(chuàng)建索引。這是因為,既然這些列很少使用到,因此有索引或者無索引,并不能提高查詢速度。相反,由于增加了索引,反而降低了系統(tǒng)的維護速度和增大了空間需求。
第二,對于那些只有很少數(shù)據(jù)值的列也不應該增加索引。這是因為,由于這些列的取值很少,例如人事表的性別列,在查詢的結果中,結果集的數(shù)據(jù)行占了表中數(shù)據(jù)行的很大比例,即需要在表中搜索的數(shù)據(jù)行的比例很大。增加索引,并不能明顯加快檢索速度。
第三,對于那些定義為text,image和bit數(shù)據(jù)類型的列不應該增加索引。這是因為,這些列的數(shù)據(jù)量要么相當大,要么取值很少。
第四,當修改性能遠遠大于檢索性能時,不應該創(chuàng)建索引。這是因為,修改性能和檢索性能是互相矛盾的。當增加索引時,會提高檢索性能,但是會降低修改性能。當減少索引時,會提高修改性能,降低檢索性能。因此,當修改性能遠遠大于檢索性能時,不應該創(chuàng)建索引。
8、drop,delete與truncate的區(qū)別
drop直接刪掉表。
truncate刪除表中數(shù)據(jù),再插入時自增長id又從1開始。
delete刪除表中數(shù)據(jù),可以加where字句。
(1)DELETE語句執(zhí)行刪除的過程是每次從表中刪除一行,并且同時將該行的刪除操作作為事務記錄在日志中保存以便進行進行回滾操作。TRUNCATETABLE則一次性地從表中刪除所有的數(shù)據(jù)并不把單獨的刪除操作記錄記入日志保存,刪除行是不能恢復的。并且在刪除的過程中不會激活與表有關的刪除觸發(fā)器。執(zhí)行速度快。
(2)表和索引所占空間。當表被TRUNCATE后,這個表和索引所占用的空間會恢復到初始大小,而DELETE操作不會減少表或索引所占用的空間。drop語句將表所占用的空間全釋放掉。
(3)一般而言,drop>truncate>delete
(4)應用范圍。TRUNCATE只能對TABLE;DELETE可以是table和view
(5)TRUNCATE和DELETE只刪除數(shù)據(jù),而DROP則刪除整個表(結構和數(shù)據(jù))。
(6)truncate與不帶where的delete:只刪除數(shù)據(jù),而不刪除表的結構(定義)drop語句將刪除表的結構被依賴的約束(constrain),觸發(fā)器(trigger)索引(index);依賴于該表的存儲過程/函數(shù)將被保留,但其狀態(tài)會變?yōu)椋篿nvalid。
(7)delete語句為DML(datamaintainLanguage),這個操作會被放到rollbacksegment中,事務提交后才生效。如果有相應的tigger,執(zhí)行的時候將被觸發(fā)。
(8)truncate、drop是DLL(datadefinelanguage),操作立即生效,原數(shù)據(jù)不放到rollbacksegment中,不能回滾。
(9)在沒有備份情況下,謹慎使用drop與truncate。要刪除部分數(shù)據(jù)行采用delete且注意結合where來約束影響范圍?;貪L段要足夠大。要刪除表用drop;若想保留表而將表中數(shù)據(jù)刪除,如果于事務無關,用truncate即可實現(xiàn)。如果和事務有關,或老師想觸發(fā)trigger,還是用delete。
(10)Truncatetable表名速度快,而且效率高,因為:
truncatetable在功能上與不帶WHERE子句的DELETE語句相同:二者均刪除表中的全部行。但TRUNCATETABLE比DELETE速度快,且使用的系統(tǒng)和事務日志資源少。DELETE語句每次刪除一行,并在事務日志中為所刪除的每行記錄一項。TRUNCATETABLE通過釋放存儲表數(shù)據(jù)所用的數(shù)據(jù)頁來刪除數(shù)據(jù),并且只在事務日志中記錄頁的釋放。
(11)TRUNCATETABLE刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數(shù)值重置為該列的種子。如果想保留標識計數(shù)值,請改用DELETE。如果要刪除表定義及其數(shù)據(jù),請使用DROPTABLE語句。
(12)對于由FOREIGNKEY約束引用的表,不能使用TRUNCATETABLE,而應使用不帶WHERE子句的DELETE語句。由于TRUNCATETABLE不記錄在日志中,所以它不能激活觸發(fā)器。
文 | u
來源 | CSDN博客
原文鏈接:
求:《數(shù)據(jù)庫》什么是事務日志,事務日志包括什么內容? 了解SQL的GRANT 和REVOKE語句
課本上都有、百度可搜、還提問。。。
事務日志是一個與數(shù)據(jù)庫文件分開的文件。它存儲對數(shù)據(jù)庫進行的所有更改,并全部記錄插入、更新、刪除、提交、回退和數(shù)據(jù)庫模式變化。事務日志還稱作前滾日志或重做日志。
事務日志是備份和恢復的重要組件,肢碰舉也是使用 SQL Remote 或 復制數(shù)據(jù)所必需的。
在缺省情況下,所有數(shù)據(jù)庫都使用事務日志。事務歷碧日志的使用是可選的,但是,除非您因特殊原因而不使用,否則您應始終使用它。運行帶有事務日志的數(shù)據(jù)庫可提供更強的故障保護功能、更好的性能以及數(shù)據(jù)復制功能。
每個 Microsoft? SQL Server? 2023 數(shù)據(jù)庫都有事務日志,用以記錄所有事務和每個事務對數(shù)據(jù)庫所做的修改。記錄事務及其修改有三個作用:
恢復個別的事務。
如果應用程序發(fā)出 ROLLBACK 語句,或者 SQL Server 檢測到錯誤(例如失去與客戶端的通訊),就使用日志記錄回滾未完成的事務所做的修改。
SQL Server 啟動時恢復所有未完成的事務。
當運行 SQL Server 的服務器發(fā)生故障時,數(shù)據(jù)庫可能處于這樣的狀態(tài):還沒有將修改從高速緩沖存儲器寫入數(shù)據(jù)文件,在數(shù)據(jù)文件內有未完成的事務所做的修改。當啟動 SQL Server 的復本時,它對每個數(shù)據(jù)庫執(zhí)行恢復操作。前滾日志中記錄的、可能尚未寫入數(shù)據(jù)文件的每個修改。然后回滾在事務日志中找到的每個未完成的事務,以確保數(shù)據(jù)庫的完整性。
將還原的數(shù)據(jù)庫前滾到故障點。
丟失數(shù)據(jù)庫(在沒有 RAID 驅動器的服務器上,硬盤驅動器出現(xiàn)故障時可能會出現(xiàn)這種情況)后,可以將數(shù)據(jù)庫還原到故障點。首先還原上一次的完整數(shù)據(jù)庫備份或差異數(shù)據(jù)庫備份,然后將事務日志備份序列還原到故障點。當還原每個日志備份時,SQL Server 重新應用日志中記錄的所有修改以前滾所有事務。當最后的日志備份還原后,SQL Server 將使吵殲用日志信息回滾到該點未完成的所有事務。
SQL Server 2023 事務日志的特點是:
事務日志不是作為一個表實現(xiàn),而是作為單獨的文件或數(shù)據(jù)庫內的一組文件實現(xiàn)。日志高速緩存與數(shù)據(jù)頁的高速緩沖存儲器分開管理,從而使數(shù)據(jù)庫引擎內的編碼更簡單、更快速和更可靠。
日志記錄和頁的格式不必遵守數(shù)據(jù)頁的格式。
事務日志可以在幾個文件上實現(xiàn)。可以根據(jù)需要定義這些文件為自動增長。這樣可減少事務日志內空間不足的可能性,同時減少管理開銷。
截斷日志中未用部分的機制速度快且對事務吞吐量影響最小。
GRANT是授予權限
REVOKE是撤銷權限
GRANT
名稱
GRANT — 賦予一個用戶,一個組或所有用戶訪問權限
語法
GRANT privilege ON object
TO { PUBLIC | GROUP group | username }
輸入
privilege
可能的權限有:
SELECT
訪問聲明的表/視圖的所有列/字段.
INSERT
向聲明的表中插入所有列字段.
UPDATE
更新聲明的表所有列/字段.
DELETE
從聲明的表中刪除所有行.
RULE
在表/視圖上定義規(guī)則 (參見 CREATE RULE 語句).
ALL
賦予所有權限.
object
賦予權限的對象名.可能的對象是:
table
view
sequence
PUBLIC
代表是所有用戶的簡寫.
GROUP group
將要賦予權限的組 group .
username
將要賦予權限的用戶名.PUBLIC 是代表所有用戶的簡寫.
輸出
CHANGE
如果成功,返回此信息.
ERROR: ChangeAcl: class “object” not found
如果所聲明的對象不可用或不可能對聲明的組或用戶賦予權限.
描述
GRANT 允許對象的創(chuàng)建者給某用戶或某組或所有用戶(PUBLIC)某些特定的權限.對象創(chuàng)建后,除了創(chuàng)建者外,除非創(chuàng)建者賦予(GRANT)權限,其他人沒有訪問對象的權限.
一旦用戶有某對象的權限,他就可以使用那個特權.不需要給創(chuàng)建者賦予(GRANT)對象的權限,創(chuàng)建者自動擁有對象的所有權限,包括刪除它的權限.
注意
目前,要想在 Postgres 里面只賦予幾列權限,你必須創(chuàng)建一個包含那幾列的視圖(view),然后把權限賦予那幾個視圖。
使用 psql \z 命令獲取關于現(xiàn)存對象權限的更多信息:
Database = lusitania
+—-+—+
| Relation|Grant/Revoke Permissions|
+—-+—+
| mytable| {“=rw”,”miriam=arwR”,”group todos=rw”} |
+—-+—+
Legend:
uname=arwR — privileges granted to a user
group gname=arwR — privileges granted to a GROUP
=arwR — privileges granted to PUBLIC
r — SELECT
w — UPDATE/DELETE
a — INSERT
R — RULE
arwR — ALL
參考 REVOKE 語句廢除訪問權限.
用法
給所有用戶向表 films 插入記錄的權限:
GRANT INSERT ON films TO PUBLIC;
賦予用戶 manuel 操作視圖 kinds 的所有權限:
GRANT ALL ON kinds TO manuel;
兼容性
SQL92
SQL92 GRANT 語法允許對表中的某單獨列/字段設置權限,并且允許設置一權限以賦予別人相同權限:
GRANT privilege
ON object ) >
TO { PUBLIC | username }
這些字段與 Postgres 實現(xiàn)是兼容的,除了下面一些例外:
privilege
SQL92 允許聲明附加的權限:
SELECT
REFERENCES
允許在一個聲明的表的完整性約束中使用某些或全部列/字段.
USAGE
允許使用一個域,字符集,或事務.如果聲明的對象不是表/視圖, privilege 只能聲明為 USAGE.
object
SQL92 允許一個附加的非功能性關鍵字 TABLE.
CHARACTER SET
允許使用聲明的字符集.
COLLATION
允許使用聲明的序列.
TRANSLATION
允許使用聲明的字符集轉換.
DOMAIN
允許使用聲明的域.
WITH GRANT OPTION
試論述你對事務的認識 數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于試論述你對事務的認識 數(shù)據(jù)庫,深入探討:事務和數(shù)據(jù)庫的關系,職場 | 數(shù)據(jù)庫面試常問的一些基本概念,求:《數(shù)據(jù)庫》什么是事務日志,事務日志包括什么內容? 了解SQL的GRANT 和REVOKE語句的信息別忘了在本站進行查找喔。
數(shù)據(jù)庫運維技術服務 ? 深入探討:事務和數(shù)據(jù)庫的關系 (試論述你對事務的認識 數(shù)據(jù)庫)
管理員 普通
分享到:
相關推薦
如何清空數(shù)據(jù)庫中的table表格數(shù)據(jù)? (清空數(shù)據(jù)table表單數(shù)據(jù)庫)
CENTOS 下 Neo4j 圖形數(shù)據(jù)庫安裝及集群搭建
連接到db2虛擬機數(shù)據(jù)庫,輕松管理你的數(shù)據(jù)! (連接到虛擬機db2數(shù)據(jù)庫)
了解數(shù)據(jù)庫審計日志的重要性 (數(shù)據(jù)庫審計日志)
如何創(chuàng)建本地數(shù)據(jù)庫? (怎么建當?shù)財?shù)據(jù)庫)
iOS如何遠程連接數(shù)據(jù)庫? (ios 連接遠程數(shù)據(jù)庫)
Windows 2012 開啟遠程桌面
TP5實現(xiàn)多個數(shù)據(jù)庫的設置方法詳解 (tp5設置多個數(shù)據(jù)庫)
隨機文章
數(shù)據(jù)庫系統(tǒng)概論PDF下載完整版 (數(shù)據(jù)庫系統(tǒng)概論 pdf下載)
數(shù)據(jù)庫組合主鍵的設置方法 (數(shù)據(jù)庫怎么設置組合主鍵)
IIS與PHP搭配,如何配置數(shù)據(jù)庫? (iis php 配置數(shù)據(jù)庫)
P數(shù)據(jù)庫模板介紹及源代碼分享 (jsp源代碼帶數(shù)據(jù)庫的模板)
大數(shù)據(jù)浪潮下的數(shù)據(jù)庫應用程序 (大數(shù)據(jù)對數(shù)據(jù)庫的應用程序)
數(shù)據(jù)庫備份和快照的區(qū)別,了解一下! (數(shù)據(jù)庫備份和快照區(qū)別)
最近更新
標簽
Linux Linux教程 Linux資訊 MacOS MacOS教程 MacOS資訊 MongoDB MongoDB教程 MongoDB資訊 MSSQL MSSQL錯誤 MySQL mysql教程 MySQL維護 MySQL資訊 Neo4j Neo4j教程 Neo4j資訊 ORACLE Oracle優(yōu)化 oracle內部視圖 oracle參數(shù) oracle開發(fā) oracle異常修復 oracle故障處理 oracle教程 oracle維護 oracle視圖 ORACLE資訊 oracle遠程維護 ORA錯誤碼 Redis Redis教程 Redis資訊 SQLServer SQLServer報錯 SQLServer教程 SQLServer資訊 SQL修復 SQL異常 SQL遠程處理 Windows 技術文檔 操作系統(tǒng) 數(shù)據(jù)庫
- 登錄
- 注冊
安全登錄
立即注冊 忘記密碼?
成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設、網(wǎng)站維護、網(wǎng)站改版的網(wǎng)站建設公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應式移動網(wǎng)站開發(fā)制作等網(wǎng)站服務。
分享文章:深入探討:事務和數(shù)據(jù)庫的關系(試論述你對事務的認識數(shù)據(jù)庫)
標題網(wǎng)址:http://m.fisionsoft.com.cn/article/ccojcch.html


咨詢
建站咨詢
