freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

第九章數據庫安全與完整性(參考版)

2025-01-10 07:58本頁面
  

【正文】 ALTER TABLE Student ADD CONSTRAINT C3 CHECK(Sage40)。 ALTER TABLE Student DROP CONSTRAINT C1; ALTER TABLE Student ADD CONSTRAINT C1 CHECK(Sno BETWEEN 900000 AND 999999)。 例 23:修改表 Student中的約束條件,要求學號改為在 900000999999之間,年齡由小于 30歲改為小于 40歲。 例 22:去掉例 20表 Student表中對性別的限制。 CREATE TABLE Teacher (Tno numeric(4) Primary Key, Tname char(20) Job char( 10), Salary numeric(7,2) Deduct numeric(7,2) Deptno numeric(2) CONSTRAINT EMPFKey Foreign key(Deptno) References Dept(Deptno), CONSTRAINT C1 CHECK(Salary + Deduct3000))。 CREATE TABLE Student ( Sno NUMERIC(6) CONSTRAINT C1 CHECK(SNO BETWEEN 90000 AND 99999), Sname CHAR(20) CONSTRAINT C2 NOT NULL, Sage NUMERIC (3) CONSTRAINT C3 CHECK(Sage30), Ssex CHAR(2) CONSTRAINT C4 CHECK(Ssex IN (?男 ?, ?女 ?), CONSTRAINT StudentKey PRIMARY KEY(Sno) )。 數據庫 的安全性與完整性 113 四、完整性約束命名子句 SQL在 CREATE TABLE語句中提供完整性 約束命名子句 CONSTRAINT,用來對完整性約 束條件命名,從而可以靈活地增加、刪除一個完 整性約束條件。 CREATE TABLE student (Sno Char(9) Primary key, Sname char(20) Not null, Ssex Char(2), Sage Smallint, Sdept char(20), Primary key (Sno), CHECK (Ssex=?女 ?Or Sname NOT Like?Ms.%?) )。 ? 元組級的限制可以設置不同屬性之間的取值的相互約束條件。 數據庫 的安全性與完整性 109 用戶定義的完整性(續(xù)) 屬性上的約束條件檢查和違約處理 當向表中插入元組或修改屬性的值時, DBMS 就檢查屬性上的約束條件是否滿足,如果不滿足 則操作 被拒絕執(zhí)行。 數據庫 的安全性與完整性 108 屬性上的約束條件定義(續(xù)) 例 18 SC表的 Grade值應該在 0100之間。 數據庫 的安全性與完整性 107 屬性上的約束條件定義(續(xù)) ( 3)用 CHECK短語指定列值應該滿足的條件 例 17 Student表的 Ssex只允許取 “男 ”或 “女 ”。 數據庫 的安全性與完整性 106 屬性上的約束條件定義(續(xù)) ( 2)列值唯一 例 16 建立部門表 DEPT,要求部門名稱 Dname列取唯一值,部門編號 Deptno列為主碼。包括: – 列值非空( NOT NULL) – 列值唯一( UNIQUE) – 檢查列值是否滿足某布爾表達式( CHECK) 數據庫 的安全性與完整性 105 屬性上的約束條件定義(續(xù)) ( 1)不允許取空值 例 15 定義 SC表時,說明 Sno、 Cno、 Grade屬性不允許取空值。 CREATE TABLE SC ( Sno Char(9) Not null, Cno Char(4) Not null, Grade Smallint, Primary key(Sno,Cno), /*在表級定義實體完整性 */ Foreign key(Sno)References Student (Sno), On delete Cascade /*刪除 student表中元組時,級連刪除 SC*/ On update Cascade, /*更新 student表中元組時,級連更新 SC*/ Foreign key(Cno)References Course(Cno) On delete Cascade, /*刪除 Course表中元組時,拒絕刪除 SC*/ On update no action )。 No Action:任何企圖更新或刪除被參照的鍵都引發(fā)一個錯誤,對數據的改變會被回滾。 數據庫 的安全性與完整性 參照完整性檢查和違約處理(續(xù)) 101 Foreign Key約束包含一個 Cascade選項,允許用戶對一個定義了 Unique或者 Primary Key約束的列的值的修改自動傳播到引用它的外鍵上,這稱為級聯(lián)引用完整性。 一般地,當對參照表和被參照表的操作違反了參照完整性,系統(tǒng)選擇默認策略,即拒絕執(zhí)行。 數據庫 的安全性與完整性 參照完整性檢查和違約處理(續(xù)) 100 例 13 學生( 學號 ,姓名,性別, 專業(yè)號 ,年齡) 專業(yè)( 專業(yè)號 ,專業(yè)名) 假設專業(yè)表中專業(yè)號為 12的元組被刪除,按照設置為空的策略,就要把學生表中專業(yè)號為 12的所有元組的專業(yè)號設置為空值。 ②級連操作( CASCADE) 當刪除或修改被參照表的一個元組造成了與參照表的不一致,則刪除或修改參照表中的所有造成不一致的元組。 ( 4)修改 Student表中一個元組的 Sno屬性,造成 SC表中某些元組的 Sno屬性的值在 Student表中找不到一個元組,其 Sno值與之相等。 ( 2)修改 SC表中的一個元組,修改后該元組的 Sno屬性的值在表 Student中找不到一個元組,其 Sno值與之相等。 例如:對表 SC和 Student表有四種可能破壞參照完整性的情況。 數據庫 的安全性與完整性 96 例 12 定義 SC中的參照完整性 CREATE TABLE SC ( Sno Char(9) Not null, Cno Char(4) Not null, Grade Smallint, Primary key(Sno,Cno), Foreign Key(Sno) References Student (Sno), Foreign Key(Cno) References Course(Cno) )。 ( 2)檢查主碼的各個屬性是否為空,只要有一個為空就拒絕插入或修改。 實體完整性定義 (續(xù) ) 數據庫 的安全性與完整性 94 實體完整性檢查和違約處理 當用戶程序對基本表插入一條記錄或對主碼進行更新操作時, RDBMS將根據實體完整性規(guī)則進行檢查。 在表級定義主碼 數據庫 的安全性與完整性 93 例 11 將 SC表中的 Sno, Cno屬性組定義為碼。 CREATE TABLE Student (Sno Char(9) Primary key, Sname Char(20) Not null, Ssex Char(2), Sage Smallint, Sdept Char(20) )。 ? 對 單屬性 構成的碼有兩種說明方法 – 一種是定義為列級約束條件 – 一種是定義為表級約束條件 ? 對 多個屬性 構成的碼定義為表級約束條件。 – 安全性:保護數據庫防止惡意的破壞和非法的存取。 ? 數據的完整性和安全性是兩個不同的概念。 規(guī)則 3: 任一用戶的查詢次數不能超過 1+(N2)/M次。 數據庫 的安全性與完整性 87 統(tǒng)計數據庫的安全問題(續(xù)) 解決問題二: 規(guī)則 2: 任意兩個查詢的相交數據項不能超過 M個。 數據庫 的安全性與完整性 86 統(tǒng)計數據庫的安全性(續(xù)) 解決問題一: 規(guī)則 1:任何查詢至少要涉及 N( N足夠大)個以 上的記錄。針對統(tǒng)計 數據庫,要防止用戶從一系列查詢中推理出某些 秘密信息。這類數據庫包含有大量的數據記錄,但其目的是向用戶提供各種統(tǒng)計匯總信息,而不是提供單個記錄的信息。 數據庫 的安全性與完整性 數據加密(續(xù)) 82 ( 2)集中式密鑰管理方法 密鑰統(tǒng)一由數據庫密鑰管理中心產生和管理。 – 從一個數據項的密鑰推導出另一個數據項的密鑰在計算上是不可行的。具有最好的靈活性和適應性,但加解密效率低,而且密鑰的產生和管理更復雜。 ③字段加密:適合于許多用戶經常以字段方式訪問數據庫的情況,密鑰的產生和管理比較復雜。 數據庫 的安全性與完整性 密碼算法及加密粒度(續(xù)) 80 ( 2)數據加密粒度 ①基表加密:使用的密鑰數量較少,密鑰的產生和管理較為容易,但是安全控制不靈活。 數據庫 的安全性與完整性 數據加密(續(xù)) 分組密碼模型 加密算法 解密算法 密鑰 ?k),( 10 ?mkk ?明文 ),( 10 ?nxx ?密文 ?y ),( 10 ?nyy ?明文 ),( 10 ?nxx ?密鑰 ),( 10 ?mkk ??k79 ? DES算法基本思想: – 首先將明文按 64bit分為一組,然后對每組用給定的密鑰進行加密,得到密文分組,最后將各密文分組按順序進行連接,得到明文分組。 78 數據庫加密的密碼算法及加密粒度 ( 1)數據庫加密算法 數據庫加密通常采用分組密碼。 D B M S內 核加 密引 擎客 戶程 序76 ? DBMS外層實現加密: ? 將數據庫加密系統(tǒng)做成 DBMS的一個外層工具,根據加密要求自動完成對數據庫數據的加 /解密處理,加 /解密算法可以在客戶端進行。 – 置換方法 ? 將明文的字符按不同的順序重新排列。 數據加密的基本思想 – 根據一定的算法將原始數據(明文)變換為不可直接識別的格式(密文) – 不知道解密密鑰的人無法獲知數據的內容。 ? 系統(tǒng)級審計 – 只能由 DBA設置,用以監(jiān)測成功或失敗的登錄要求、監(jiān)測 GRA
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1