《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項目7、8 維護數(shù)據(jù)庫安全;設(shè)計與實現(xiàn)政務(wù)平臺數(shù)據(jù)庫_第1頁
《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項目7、8 維護數(shù)據(jù)庫安全;設(shè)計與實現(xiàn)政務(wù)平臺數(shù)據(jù)庫_第2頁
《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項目7、8 維護數(shù)據(jù)庫安全;設(shè)計與實現(xiàn)政務(wù)平臺數(shù)據(jù)庫_第3頁
《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項目7、8 維護數(shù)據(jù)庫安全;設(shè)計與實現(xiàn)政務(wù)平臺數(shù)據(jù)庫_第4頁
《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項目7、8 維護數(shù)據(jù)庫安全;設(shè)計與實現(xiàn)政務(wù)平臺數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩106頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

項目七維護數(shù)據(jù)庫安全279280任務(wù)1配置SQLServer身份驗證模式任務(wù)2管理服務(wù)器登錄和數(shù)據(jù)庫用戶任務(wù)3管理角色任務(wù)4管理權(quán)限配置SQLServer身份驗證模式任務(wù)12811.?了解兩種不同的身份驗證模式。2.?了解身份驗證模式的工作原理、優(yōu)勢和限制。3.?能在SQL?Server中更改身份驗證模式,適應(yīng)特定的身份驗證需求。4.?能更改身份驗證模式,并了解其對應(yīng)用程序和數(shù)據(jù)庫的影響,保證應(yīng)用程序和數(shù)據(jù)庫正常運行。282SQLServer安全管理模式是建立在安全身份驗證和訪問許可的基礎(chǔ)上的。SQLServer通過驗證登錄名和口令的方式來保證其安全性,登錄名和口令又稱賬號和密碼。Windows操作系統(tǒng)和SQLServer都是微軟公司的產(chǎn)品,因此,SQLServer的驗證可以由Windows操作系統(tǒng)來完成。283SQLServer身份驗證模式有Windows驗證機制和SQLServer驗證機制兩種。本任務(wù)要求把Windows驗證機制修改為SQLServer驗證機制,SQLServer驗證機制如圖所示。284SQL?Server驗證機制一、安全身份驗證安全身份驗證用來確認(rèn)登錄SQLServer用戶的登錄賬號和密碼的正確性,由此來驗證該用戶是否具有連接SQLServer的權(quán)限。任何用戶在使用SQLServer數(shù)據(jù)庫之前,必須經(jīng)過系統(tǒng)的安全身份驗證。2851.?Windows身份驗證SQLServer數(shù)據(jù)庫系統(tǒng)通常運行在Windows服務(wù)器上,而Windows作為網(wǎng)絡(luò)操作系統(tǒng),本身就具備管理登錄、驗證用戶合法性的能力,因此Windows驗證模式正是利用了這一用戶安全性和賬號管理機制,允許SQLServer可以使用Windows的用戶名和口令。在這種模式下,只需要通過Windows身份驗證,就可以連接到SQLServer。2862.?SQL?Server身份驗證SQLServer身份驗證模式允許用戶使用SQLServer安全性連接到SQLServer。在該認(rèn)證模式下,用戶在連接SQLServer時必須提供登錄名和登錄密碼,這些登錄信息存儲在系統(tǒng)表syslogins中,與Windows的登錄賬號無關(guān)。SQLServer自身執(zhí)行認(rèn)證處理,如果輸入的登錄信息與系統(tǒng)表syslogins中的某條記錄相匹配,那么表明登錄成功。

287二、驗證模式的設(shè)置利用SQLServer管理平臺可以進行認(rèn)證模式的設(shè)置,操作步驟如下。1.打開SQLServer管理平臺,右擊要設(shè)置認(rèn)證模式的服務(wù)器,在彈出的快捷菜單中,選擇“屬性”選項,彈出“服務(wù)器屬性”對話框。2.在“服務(wù)器屬性”對話框中選擇“安全性”選擇頁,SQLServer服務(wù)器屬性如圖所示。2883.在“數(shù)據(jù)庫設(shè)置”選擇頁,可以更改“數(shù)據(jù)”“日志”“備份”文件的位置,這樣在每次創(chuàng)建數(shù)據(jù)庫時,可以省略更改數(shù)據(jù)庫文件和日志文件的保存位置。289SQL?Server服務(wù)器屬性三、訪問許可確認(rèn)通過了認(rèn)證并不代表用戶就能訪問SQLServer中的數(shù)據(jù),同時必須通過許可確認(rèn)。用戶只有在具有訪問數(shù)據(jù)庫的權(quán)限之后,才能對服務(wù)器上的數(shù)據(jù)庫進行權(quán)限許可下的各種操作,這種用戶訪問數(shù)據(jù)庫權(quán)限的設(shè)置是通過用戶賬號來實現(xiàn)的。290管理服務(wù)器登錄和數(shù)據(jù)庫用戶任務(wù)22911.?能使用SSMS界面管理SQL?Server登錄,能創(chuàng)建、修改和刪除登錄賬號。2.?能使用T-SQL語言管理SQL?Server登錄,能創(chuàng)建、修改和刪除登錄賬號。3.?能管理登錄賬號和數(shù)據(jù)庫用戶,能分配適當(dāng)?shù)臋?quán)限和角色。292通過命令行新建一個登錄名stuLogin,并設(shè)置密碼為1234qwer!。創(chuàng)建成功后,使用stuLogin登錄數(shù)據(jù)庫服務(wù)器,并在此登錄名下添加數(shù)據(jù)庫用戶stuLoginUser。隨后,檢測并分析stuLoginUser所能訪問的數(shù)據(jù)庫列表。完成分析后,刪除數(shù)據(jù)庫用戶stuLoginUser,并最終刪除登錄名stuLogin。293為教師用戶群體創(chuàng)建一個登錄名teaLogin,并設(shè)置密碼為258asd!。同時,在該登錄名下創(chuàng)建數(shù)據(jù)庫用戶teaUser,并指定其默認(rèn)架構(gòu)為dbo。在數(shù)據(jù)庫ssts中,將teaUser用戶添加至db_owner角色,以對其賦予高級數(shù)據(jù)庫管理權(quán)限。最后,執(zhí)行對數(shù)據(jù)庫ssts中數(shù)據(jù)表的查詢操作,以確保權(quán)限配置正確無誤。294一、服務(wù)器的登錄名在SQLServer中,利用SQLServer管理平臺即SSMS可以創(chuàng)建服務(wù)器的登錄名,也可以通過T-SQL語句新建服務(wù)器的登錄名。服務(wù)器的登錄名用來登錄SQLServer數(shù)據(jù)庫服務(wù)器,一個數(shù)據(jù)庫服務(wù)器上可能有若干個數(shù)據(jù)庫。295二、管理服務(wù)器的登錄名1.?使用SSMS新建服務(wù)器登錄名打開SQLServer管理平臺,單擊需要登錄的服務(wù)器左側(cè)的“+”按鈕,然后展開“安全性”文件夾。如圖所示,右擊“登錄名”文件夾,在彈出的快捷菜單中,選擇“新建登錄名”選項,彈出如圖所示的“登錄名-新建”對話框。

296當(dāng)前服務(wù)器的名稱和登錄名

選擇“新建登錄名”選項297“登錄名-新建”對話框在“登錄名”文本框中輸入登錄名,可以選擇Windows身份驗證和SQLServer身份驗證兩種模式??梢匀コ催x“強制密碼過期”和“用戶在下次登錄時必須更改密碼”及“強制實施密碼策略”三個復(fù)選框,這樣密碼會簡單些。選擇“服務(wù)器角色”選擇頁,在如圖所示的“服務(wù)器角色”列表框中,列出了系統(tǒng)的固定服務(wù)器角色。在這些固定服務(wù)器角色的左側(cè)有相應(yīng)的復(fù)選框,勾選相應(yīng)的復(fù)選框表示該登錄賬號是相應(yīng)的服務(wù)器角色成員。298299“服務(wù)器角色”列表框選擇“用戶映射”選擇頁,在如圖所示的“用戶映射”列表框中列出了“映射到此登錄名的用戶”,單擊左側(cè)的復(fù)選框設(shè)定該登錄賬號可以訪問的數(shù)據(jù)庫及該賬號在各個數(shù)據(jù)庫中對應(yīng)的用戶名。下面的列表框列出了相應(yīng)的“數(shù)據(jù)庫角色成員身份”清單,從中可以指定該賬號所屬的數(shù)據(jù)庫角色。300“用戶映射”列表框設(shè)置完成后,單擊“確定”按鈕即可完成登錄賬號的創(chuàng)建??梢栽凇暗卿浢蔽募A下找到所創(chuàng)建的登錄名。斷開數(shù)據(jù)庫的連接,使用新建的登錄名chensir和密碼登錄數(shù)據(jù)庫服務(wù)器。3012.使用T-SQL語句新建服務(wù)器的登錄名(1)Windows身份認(rèn)證Windows身份認(rèn)證的語法格式如下。302(2)SQLServer身份認(rèn)證SQLSever身份認(rèn)證的語法格式如下。3033.修改服務(wù)器的登錄名(1)啟用已禁用的登錄名【例】啟用已禁用的登錄名techerLogin。(2)更改登錄密碼【例】更改登錄名techerLogin的登錄密碼。(3)更改登錄名稱【例】將登錄名techerLogin更改為techLogin。3044.刪除登錄名不能刪除正在登錄的登錄名,也不能刪除擁有任何安全對象、服務(wù)器級對象或SQLServer代理作業(yè)的登錄名?!纠縿h除登錄名techerLogin。305三、數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶訪問指定的數(shù)據(jù)庫。登錄成功后,根據(jù)登錄名找到對應(yīng)的數(shù)據(jù)庫用戶,再去訪問某個具體用戶數(shù)據(jù)庫。找到該數(shù)據(jù)庫用戶對應(yīng)的權(quán)限,操作數(shù)據(jù)庫。服務(wù)器的登錄名與數(shù)據(jù)庫用戶是一對多的關(guān)系,數(shù)據(jù)庫用戶與數(shù)據(jù)庫是一對一的關(guān)系。306四、管理數(shù)據(jù)庫用戶在一個數(shù)據(jù)庫中,數(shù)據(jù)庫用戶賬號可唯一標(biāo)識一個用戶,數(shù)據(jù)庫用戶對數(shù)據(jù)庫的訪問權(quán)限及對數(shù)據(jù)庫對象的所有關(guān)系都是通過用戶賬號進行控制的。1.?使用SSMS新建數(shù)據(jù)庫用戶利用SQLServer管理平臺可以授予SQLServer登錄訪問數(shù)據(jù)庫的許可權(quán)限。利用SQLServer管理平臺創(chuàng)建一個新數(shù)據(jù)庫用戶賬號的過程如下。307打開SQLServer管理平臺,展開要登錄的服務(wù)器和數(shù)據(jù)庫文件夾,然后展開要創(chuàng)建用戶的數(shù)據(jù)庫及“安全性”文件夾,右擊“用戶”圖標(biāo),在彈出的快捷菜單中,選擇“新建用戶”選項,彈出如圖所示的“數(shù)據(jù)庫用戶-新建”對話框。在“用戶類型框”文本框中輸入數(shù)據(jù)庫用戶名稱,在“登錄名”選擇框內(nèi)選擇已經(jīng)創(chuàng)建的登錄名,然后在下面的“默認(rèn)架構(gòu)”選擇框中為該用戶選擇數(shù)據(jù)庫角色,最后單擊“確定”按鈕,即可完成數(shù)據(jù)庫用戶的創(chuàng)建。308“數(shù)據(jù)庫用戶-新建”對話框2.?使用SSMS查看或刪除數(shù)據(jù)庫用戶在SQLServer管理平臺中,可以查看或刪除數(shù)據(jù)庫用戶。(1)展開某一數(shù)據(jù)庫,展開“用戶”文件夾,則會顯示當(dāng)前數(shù)據(jù)庫的所有用戶。(2)在右側(cè)的頁框中,右擊所要刪除的數(shù)據(jù)庫用戶,在彈出的快捷菜單中,選擇“刪除”選項,如圖所示,即可刪除數(shù)據(jù)庫用戶。309選擇“刪除”選項3.使用T-SQL語句新建數(shù)據(jù)庫用戶語法格式如下。如果已省略FORLOGIN,那么新的數(shù)據(jù)庫用戶將被映射到同名的SQLServer登錄名。3104.使用T-SQL語句修改數(shù)據(jù)庫用戶語法格式如下。311上述語句中的DEFAULT_SCHEMA即默認(rèn)架構(gòu),它是數(shù)據(jù)庫中的一個概念,類似于Windows系統(tǒng)中的默認(rèn)用戶文件夾。在數(shù)據(jù)庫中,每個用戶或會話都有一個默認(rèn)架構(gòu),用于在沒有明確指定架構(gòu)時解析對象名。這意味著,如果只輸入表名而不指定架構(gòu),數(shù)據(jù)庫將自動在DEFAULT_SCHEMA中查找該表。簡單來說,DEFAULT_SCHEMA就是數(shù)據(jù)庫用戶默認(rèn)的“工作空間”,用于存儲和訪問用戶最常用的數(shù)據(jù)庫對象。如果不能確定默認(rèn)架構(gòu),就使用dbo架構(gòu)。其中,principle_id可以通過下面的查詢語句得到:3125.使用T-SQL語句刪除數(shù)據(jù)庫用戶語法格式如下。不能從數(shù)據(jù)庫中刪除擁有安全對象的用戶,必須先刪除或轉(zhuǎn)移安全對象的所有權(quán),才能刪除擁有這些安全對象的數(shù)據(jù)庫用戶。313管理角色任務(wù)33141.?能使用SSMS或T-SQL語句管理固定服務(wù)器角色及其成員。2.?能使用SSMS或T-SQL語句管理固定數(shù)據(jù)庫角色及其成員。3.?能使用SSMS或T-SQL語句管理用戶自定義數(shù)據(jù)庫角色及其成員。4.?能使用SSMS或T-SQL語句管理應(yīng)用程序角色。315本任務(wù)要求完成以下管理角色的操作。使用SSMS管理固定服務(wù)器角色,查看固定服務(wù)器角色,增加用戶linkLogin為sysadmin服務(wù)器成員,一段時間后,刪除服務(wù)器角色成員linkLogin。使用SSMS管理固定數(shù)據(jù)庫角色,查看固定數(shù)據(jù)庫角色及其成員和權(quán)限,添加登錄名linkLogin,默認(rèn)登錄數(shù)據(jù)庫ssts,添加數(shù)據(jù)庫ssts的用戶zhangyong,其登錄名為linkLogin,設(shè)置為db_owner數(shù)據(jù)庫角色的成員。316使用SSMS管理用戶自定義數(shù)據(jù)庫角色,在數(shù)據(jù)庫ssts中,創(chuàng)建用戶角色teacher,并添加用戶zhangyong作為角色成員,為角色teacher授予查詢和插入選課表sc的權(quán)限。用戶自定義的數(shù)據(jù)庫角色teacher的屬性和成員如圖所示。使用SSMS方式管理應(yīng)用程序角色:創(chuàng)建應(yīng)用程序角色AppNewRole。為此角色配置擁有的架構(gòu)db_owner。317用戶自定義的數(shù)據(jù)庫角色teacher的屬性和成員一、服務(wù)器角色服務(wù)器角色根據(jù)SQLServer的管理任務(wù),及這些任務(wù)相對的重要性等級來把具有SQLServer管理職能的用戶劃分為不同的用戶組,每一組所具有的管理權(quán)限都是SQLServer內(nèi)置的。服務(wù)器角色也稱為固定服務(wù)器角色,它不能被用戶創(chuàng)建,其權(quán)限作用域為服務(wù)器范圍。318服務(wù)器角色可用來管理服務(wù)器上的權(quán)限。當(dāng)用戶成功安裝SQLServer后,服務(wù)器角色就存在于數(shù)據(jù)庫服務(wù)器中,且已具備了執(zhí)行指定操作的權(quán)限??梢詫⒎?wù)器級主體(SQLServer登錄名、Windows賬戶和Windows組)添加到服務(wù)器角色。固定服務(wù)器角色的每個成員都可以將其他登錄名添加到該角色,用戶定義的服務(wù)器角色的成員無法將其他服務(wù)器級主體添加到角色。不是每個用戶都應(yīng)該分配為服務(wù)器角色,只有高級用戶如數(shù)據(jù)庫管理員,應(yīng)分配為服務(wù)器角色。SQLServer提供了9個固定服務(wù)器角色,服務(wù)器角色的權(quán)限見下表。319320服務(wù)器角色的權(quán)限1.查看固定服務(wù)器角色及其成員在新建查詢窗口輸入以下代碼。執(zhí)行后,查看固定服務(wù)器角色如圖所示。321查看固定服務(wù)器角色由上圖可以看出,顯示有8個固定服務(wù)器角色,另外還有1個public角色沒有顯示,原因是sp_helpsrvrole無法識別public角色。在服務(wù)器上創(chuàng)建的每個登錄名都是public服務(wù)器角色的成員,不能將用戶、組或角色指派為public角色的成員。不要為服務(wù)器public角色授予服務(wù)器權(quán)限,可以通過對public設(shè)置權(quán)限從而為所有數(shù)據(jù)庫設(shè)置相同的權(quán)限。3222.增加服務(wù)器角色成員將登錄賬號添加到固定服務(wù)器角色中,使用系統(tǒng)存儲過程sp_addsrvrolemember,語法格式如下。其中,login是待添加的登錄名,可以是Windows登錄名或SQLServer登錄名;role是固定服務(wù)器角色名稱。3233.?刪除服務(wù)器角色成員將登錄名從固定服務(wù)器角色中刪除,使用系統(tǒng)存儲過程sp_dropsrvrolemember,語法格式如下。324二、數(shù)據(jù)庫角色數(shù)據(jù)庫角色是為某一用戶或某一組用戶授予不同級別的管理或訪問數(shù)據(jù)庫及數(shù)據(jù)庫對象的權(quán)限,這些權(quán)限是數(shù)據(jù)庫專有的,并且還可以使一個用戶具有屬于同一數(shù)據(jù)庫的多個角色。數(shù)據(jù)庫角色定義在數(shù)據(jù)庫級上,保存在各自數(shù)據(jù)庫的系統(tǒng)表sysusers之中,作用在各自的數(shù)據(jù)庫之內(nèi)。數(shù)據(jù)庫管理員給數(shù)據(jù)庫用戶指定角色,也就是將該用戶添加到相應(yīng)的角色組中。通過角色簡化了直接向數(shù)據(jù)庫用戶分配權(quán)限的煩瑣操作,對于用戶數(shù)量多、安全策略復(fù)雜的數(shù)據(jù)庫系統(tǒng),能夠簡化安全管理工作。數(shù)據(jù)庫角色分為固定數(shù)據(jù)庫角色和用戶自定義數(shù)據(jù)庫角色。3251.?固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色是系統(tǒng)預(yù)先定義在數(shù)據(jù)庫級上的角色。除public角色外,角色的種類和權(quán)限都是固定的,不可更改或刪除,只允許為其添加或刪除成員。SQLServer提供了9個固定數(shù)據(jù)庫角色,固定數(shù)據(jù)庫角色的權(quán)限見下表。326固定數(shù)據(jù)庫角色的權(quán)限327固定數(shù)據(jù)庫角色的權(quán)限(1)查看固定數(shù)據(jù)庫角色及其成員查看數(shù)據(jù)庫ssts固定數(shù)據(jù)庫角色,在新建查詢窗口輸入以下代碼。執(zhí)行后,查看固定數(shù)據(jù)庫角色如圖所示。328查看固定數(shù)據(jù)庫角色(2)添加固定數(shù)據(jù)庫角色成員與固定服務(wù)器角色類似,SQLServer提供的系統(tǒng)存儲過程sp_addrolemember,能夠為數(shù)據(jù)庫角色添加成員,語法格式如下。其中,role是當(dāng)前數(shù)據(jù)庫中數(shù)據(jù)庫角色的名稱;security_account是添加到該角色的安全賬戶;security_account可以是數(shù)據(jù)庫用戶、數(shù)據(jù)庫角色、Windows登錄或Windows組。329(3)刪除固定數(shù)據(jù)庫角色成員若要刪除數(shù)據(jù)庫角色的成員,使用的存儲過程為sp_droprolemember,語法格式如下。3302.用戶自定義數(shù)據(jù)庫角色(1)創(chuàng)建用戶自定義數(shù)據(jù)庫角色使用CREATEROLE語句可以自定義數(shù)據(jù)庫角色,語法格式如下。其中,role_name是用戶自定義角色的名稱,AUTHORIZATIONowner_name是將擁有新角色的數(shù)據(jù)庫用戶或角色,如果未指定用戶,那么執(zhí)行CREATEROLE的用戶將擁有該角色。(2)添加用戶為角色成員與添加固定服務(wù)器角色成員類似,將用戶添加到角色中,使用戶成為角色成員,獲得與角色一樣的權(quán)限,將用戶添加到角色中可以使用sp_addrolemember語句完成。331(3)授予角色權(quán)限為主體授予安全對象的權(quán)限,使用“GRANT<某種權(quán)限>ON<某個對象>TO<某個用戶、登錄名或組>”,語法格式如下。如果指定了WITHGRRANTOPTION子句,那么獲得某種權(quán)限的用戶還可以把這種權(quán)限再授予給其他用戶。如果沒有指定WITHGRRANTOPTION子句,那么獲得某種權(quán)限的用戶只能使用該權(quán)限,不能傳播該權(quán)限。GRANT語句向用戶授予權(quán)限,REVOKE語句撤銷已經(jīng)授予用戶的權(quán)限。332(4)刪除用戶自定義數(shù)據(jù)庫角色刪除用戶自定義數(shù)據(jù)庫角色時,可以使用DROPROLE命令實現(xiàn)。333三、應(yīng)用程序角色1.創(chuàng)建應(yīng)用程序角色使用CREATEAPPLICATIONROLE語句創(chuàng)建應(yīng)用程序角色,語法格式如下。其中,application_role_name是指定應(yīng)用程序角色的名稱,此名稱不得已用于引用數(shù)據(jù)庫中的任何主體;password是指定數(shù)據(jù)庫用戶將用于激活應(yīng)用程序角色的密碼;schema_name是指定服務(wù)器在解析此角色的對象名稱時將搜索的第一個架構(gòu),如果未定義默認(rèn)架構(gòu),那么應(yīng)用程序角色將使用dbo作為其默認(rèn)架構(gòu)。3342.?激活應(yīng)用程序角色當(dāng)用戶執(zhí)行客戶端應(yīng)用程序并連接到SQLServer服務(wù)器時,需要調(diào)用系統(tǒng)存儲過程sp_setapprole來激活應(yīng)用程序角色,語法格式如下。其中,[@rolename=]'role'在當(dāng)前數(shù)據(jù)庫中定義應(yīng)用程序角色的名稱。[@password=]{encryptN'password'}激活應(yīng)用程序角色所需的密碼。使用encrypt函數(shù)時

,必須將N放在第一個引號之前,將密碼轉(zhuǎn)換為Unicode字符串。使用sp_setapprole激活應(yīng)用程序角色后,該角色將保持活動狀態(tài),直到用戶與服務(wù)器斷開連接或停用該角色。3353.?刪除應(yīng)用程序角色若從當(dāng)前數(shù)據(jù)庫刪除應(yīng)用程序角色,則需要使用“DROPAPPLICATIONROLE”語句,語法格式如下。4.?使用應(yīng)用程序角色的過程(1)用戶執(zhí)行客戶端應(yīng)用程序,客戶端應(yīng)用程序以用戶身份連接到SQLServer服務(wù)器。(2)應(yīng)用程序通過指定密碼和應(yīng)用程序角色執(zhí)行系統(tǒng)存儲過程sp_setapprole。(3)若應(yīng)用程序角色生效,此時連接會放棄用戶的原有權(quán)限。(4)使用應(yīng)用程序角色操作數(shù)據(jù)庫。336管理權(quán)限任務(wù)43371.?能使用GRANT語句授予對象級權(quán)限,授予表、視圖、存儲過程等的訪問權(quán)限。2.?能使用GRANT語句授予系統(tǒng)級權(quán)限,授予登錄、數(shù)據(jù)庫訪問、備份恢復(fù)等的權(quán)限。3.?能使用DENY語句完成拒絕授予權(quán)限的操作,阻止用戶或角色對某些對象的訪問或操作。4.?能使用REVOKE語句完成收回權(quán)限的操作,撤銷已經(jīng)授予的權(quán)限。338管理員有權(quán)限允許用戶創(chuàng)建、修改和刪除數(shù)據(jù)表。在數(shù)據(jù)庫ssts中,管理員使用T-SQL語句管理用戶chensir的權(quán)限,授予用戶chensir對數(shù)據(jù)表student的SELECT權(quán)限,拒絕用戶chensir對數(shù)據(jù)庫ssts中學(xué)生表student進行增加、刪除、修改的權(quán)限。數(shù)據(jù)庫用戶chensir的權(quán)限如圖所示。339340數(shù)據(jù)庫用戶chensir的權(quán)限經(jīng)過一段時間后,管理員撤銷授予用戶chensir對數(shù)據(jù)表student的SELECT權(quán)限。最后刪除數(shù)據(jù)庫用戶chensir,刪除登錄名chensir。一、授予權(quán)限對數(shù)據(jù)對象授予權(quán)限的基本語法如下。341為主體授予安全對象的權(quán)限,一般順序是“GRANT<某種權(quán)限>ON<某個對象>TO<某個用戶、登錄名或組>”。其中,ALL表示授予為全部可能的權(quán)限;PRIVILEGES包含此參數(shù)是為了符合ISO標(biāo)準(zhǔn);permission是權(quán)限的名稱;column指定表中將授予權(quán)限的列的名稱,需要使用圓括號;class指定將授予權(quán)限的安全對象的類,需要使用作用域限定符::;securable指定將授予權(quán)限的安全對象;TOprincipal是主體的名稱;GRANTOPTION指示被授權(quán)者在獲得指定權(quán)限的同時,還可以將指定權(quán)限授予其他主體。342二、拒絕授予權(quán)限拒絕為主體授予權(quán)限,防止該主體通過組或角色成員身份繼承權(quán)限。DENY優(yōu)先于所有權(quán)限,但DENY不適用于sysadmin固定服務(wù)器角色的對象所有者或成員。需要注意的是,sysadmin固定服務(wù)器角色的成員和對象所有者不能拒絕授予權(quán)限。343對數(shù)據(jù)對象拒絕授予權(quán)限的基本語法如下。其中,參數(shù)的含義與GRANT語句的參數(shù)相同,CASCADE指示拒絕授予指定主體該權(quán)限時,被該指定主體授予了該權(quán)限的所有其他主體也被拒絕授予該權(quán)限。當(dāng)主體具有帶GRANTOPTION的權(quán)限時,CASCADE為必選項。344三、收回權(quán)限撤銷以前授予或拒絕的權(quán)限,基本語法如下。參數(shù)的含義與GRANT語句的參數(shù)相同。345項目八設(shè)計與實現(xiàn)政務(wù)平臺數(shù)據(jù)庫346347任務(wù)1創(chuàng)建政務(wù)平臺數(shù)據(jù)庫任務(wù)2編輯政務(wù)平臺數(shù)據(jù)庫任務(wù)3查詢政務(wù)平臺數(shù)據(jù)庫任務(wù)4使用索引和視圖優(yōu)化政務(wù)平臺數(shù)據(jù)庫創(chuàng)建政務(wù)平臺數(shù)據(jù)庫任務(wù)13481.?能對數(shù)據(jù)庫功能需求和性能需求進行分析。2.?能繪制數(shù)據(jù)庫的E-R圖,能寫出數(shù)據(jù)表的關(guān)系模式。3.?能使用CREATE?DATABSE創(chuàng)建數(shù)據(jù)庫,能使用CREATE?TABLE創(chuàng)建數(shù)據(jù)表。4.?能使用INSERT?INTO?VALUES語句,插入一條或多條記錄到表中,能選擇恰當(dāng)?shù)臄?shù)據(jù)類型。5.?能在創(chuàng)建表時使用主鍵、外鍵等約束。349政務(wù)平臺面向廣大社會群眾,發(fā)布政府政策新聞、公開信息、機構(gòu)設(shè)置等信息,其后臺需要政務(wù)數(shù)據(jù)庫的支持,在開發(fā)數(shù)據(jù)庫之前,需要對政務(wù)平臺的數(shù)據(jù)庫進行前期的

需求分析,數(shù)據(jù)庫分析與設(shè)計完成后,公司的數(shù)據(jù)庫工程師接到創(chuàng)建政務(wù)平臺數(shù)據(jù)庫(policyplatformdatabase)的任務(wù),現(xiàn)要求創(chuàng)建一個名為zw的數(shù)據(jù)庫,包括Information、Organization、User三個表,

分別定義主鍵、外鍵等約束。數(shù)據(jù)庫zw的數(shù)據(jù)庫關(guān)系圖如圖所示。350351數(shù)據(jù)庫zw的數(shù)據(jù)庫關(guān)系圖一、政務(wù)平臺數(shù)據(jù)庫需求分析通過對系統(tǒng)的終端用戶、政府職能部門的調(diào)查分析,定義政務(wù)平臺數(shù)據(jù)庫的功能需求。政務(wù)平臺數(shù)據(jù)庫的功能需求主要包括用戶管理、機構(gòu)管理及信息發(fā)布和查詢等功能。用戶管理包括用戶的注冊、登錄、權(quán)限控制等;機構(gòu)管理包括機構(gòu)信息的錄入和管理;信息發(fā)布和查詢功能包括發(fā)布新信息、查詢已發(fā)布信息、按機構(gòu)過濾信息等。此外,用戶角色的劃分也是必要的,以便不同角色的用戶有不同的操作權(quán)限。352政務(wù)平臺數(shù)據(jù)庫的性能需求涉及查詢和更新操作的效率,尤其在信息發(fā)布頻繁的情況下,要求數(shù)據(jù)庫能夠迅速處理大量用戶登錄、信息發(fā)布和查詢的請求。由于機構(gòu)與信息存在一對多關(guān)系,需要優(yōu)化查詢機構(gòu)發(fā)布的所有信息的性能。同時,對于信息的查詢,可能需要考慮按標(biāo)題、按內(nèi)容等字段進行模糊查詢,因此需要有相應(yīng)的索引來提高政務(wù)平臺信息的檢索速度。353二、概念結(jié)構(gòu)設(shè)計階段在需求分析的基礎(chǔ)上,通過實體關(guān)系模型(ER模型)等工具,將需求轉(zhuǎn)化為數(shù)據(jù)庫設(shè)計的概念模型,確定實體、關(guān)系及其屬性,并建立實體間的關(guān)系模式。在設(shè)計政務(wù)平臺數(shù)據(jù)庫時,需要考慮實體包括信息、機構(gòu)、用戶及其屬性。在概念結(jié)構(gòu)設(shè)計階段,繪制出數(shù)據(jù)庫的E-R圖。政務(wù)平臺數(shù)據(jù)庫的E-R圖如圖所示。354355政務(wù)平臺數(shù)據(jù)庫的E-R圖將需求轉(zhuǎn)化為概念模型,每個實體轉(zhuǎn)化為一個表,實體的屬性轉(zhuǎn)化為列,并確定主鍵。信息(信息ID、信息標(biāo)題,信息內(nèi)容)Information(InformationID,Tile,Content)機構(gòu)(機構(gòu)ID,機構(gòu)名稱,負(fù)責(zé)人,聯(lián)系電話)Organization(OrganizationID,Name,Head,ContactNumber)356用戶(用戶ID,用戶名,密碼,姓名,角色,機構(gòu)ID)User(UserID,Username,Password,FullName,Role,OrganizationID)其中,UserID為主鍵,OrganizationID為外鍵,指向機構(gòu)的主鍵。對于聯(lián)系也進行轉(zhuǎn)化,機構(gòu)與信息是一對多關(guān)系,創(chuàng)建如下關(guān)系模式。信息公開(信息ID、發(fā)布機構(gòu),發(fā)布日期)Information_Organization_Relation(InformationID,OrganizationID,PublishDate)357三、邏輯設(shè)計階段在概念設(shè)計的基礎(chǔ)上,使用關(guān)系模型,將概念模型轉(zhuǎn)化為數(shù)據(jù)庫系統(tǒng)所支持的關(guān)系模式,包括確定表結(jié)構(gòu)、鍵的定義、約束條件等。本項目使用SQLServer數(shù)據(jù)庫系統(tǒng),確定了各個表的結(jié)構(gòu),Information信息表見下表,Organization機構(gòu)表見下表,User用戶表見下表,Information_Organization_Relation信息公開表見下表。358359Information信息表Organization機構(gòu)表360User用戶表Information_Organization_Relation信息公開表四、實施階段1.?創(chuàng)建數(shù)據(jù)庫打開SSMS,連接到數(shù)據(jù)庫服務(wù)器,創(chuàng)建政務(wù)平臺數(shù)據(jù)庫,數(shù)據(jù)庫名為zw。3612.?創(chuàng)建數(shù)據(jù)表在數(shù)據(jù)庫zw中,創(chuàng)建數(shù)據(jù)表。(1)創(chuàng)建Information信息表362(2)創(chuàng)建Organization機構(gòu)表363(3)創(chuàng)建User用戶表364(4)創(chuàng)建Information_Organization_Relation信息公開表表創(chuàng)建完成后,可以創(chuàng)建數(shù)據(jù)庫關(guān)系圖,檢測與任務(wù)描述是否一致,顯示多張表之間的主外鍵關(guān)系。3653.?插入數(shù)據(jù)在各個表中插入數(shù)據(jù),注意外鍵關(guān)系,防止違反約束。366367368編輯政務(wù)平臺數(shù)據(jù)庫任務(wù)23691.?能使用INSERT?INTO?VALUES語句,插入一條或多條記錄到表中。2.?能使用UPDATE語句更新指定記錄。3.?通使用DELETE語句刪除符合條件的記錄。370公司的數(shù)據(jù)庫工程師已經(jīng)完成了政務(wù)平臺數(shù)據(jù)庫zw的創(chuàng)建,各個表都已經(jīng)有了數(shù)據(jù)。在平臺使用的過程中,需要添加3條新的信息記錄。環(huán)保局發(fā)布“重要通知”,內(nèi)容為“環(huán)保局發(fā)布新的環(huán)境污染防治政策,加強大氣、水、土壤等環(huán)境保護工作”。教育局發(fā)布“教育政策”,內(nèi)容為“教育部出臺新政策,促進教育公平和優(yōu)質(zhì)教育資源的均衡分配”。人社局發(fā)布“培訓(xùn)通知”,內(nèi)容為“關(guān)于加強新職業(yè)培訓(xùn)工作的通知”。更新User表中用戶“張三”的密碼為“Zhangsan@88”。刪除環(huán)保局的所有信息發(fā)布記錄。371一、插入記錄添加3條新的信息記錄,分別是環(huán)保局、教育局和人社局的信息,在信息表中插入3條記錄。372在信息公開表中插入信息

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論