国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【MySQL】數(shù)據(jù)庫(kù)完整性和安全性

這篇具有很好參考價(jià)值的文章主要介紹了【MySQL】數(shù)據(jù)庫(kù)完整性和安全性。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

?

一、完整性

1.概念

2.sql語(yǔ)言支持的兩種約束

? ??2.1靜態(tài)約束

? ? ? ? ?撤銷(xiāo)追加約束

? ? ? ? ?斷言

? ??2.3動(dòng)態(tài)約束

? ? ? ? ??觸發(fā)器

二、安全性


用DBMS對(duì)數(shù)據(jù)庫(kù)實(shí)現(xiàn)的兩個(gè)特性?

一、完整性

1.概念

指dbms保證的db的一種特性,在任何情況下的正確性、有效性、一致性

【MySQL】數(shù)據(jù)庫(kù)完整性和安全性
原理圖
  • 廣義完整性:語(yǔ)義完整性、并發(fā)控制、安全控制、DB故障恢復(fù)
  • 狹義完整性:專(zhuān)指語(yǔ)義完整性

2.sql語(yǔ)言支持的兩種約束

2.1靜態(tài)約束

列完整性--------域完整性約束(某一列)

表完整性--------關(guān)系完整性約束(多列或表)?與列完整性同理(多個(gè)列約束)

【MySQL】數(shù)據(jù)庫(kù)完整性和安全性【MySQL】數(shù)據(jù)庫(kù)完整性和安全性

?eg:定義sex只能取男女:

【MySQL】數(shù)據(jù)庫(kù)完整性和安全性

Ssex char(2) constraint csex check (Ssex='男'or Ssex='女'),  //check 約束條件
                                                           //constraint為約束命名,便于刪除

D# char(2) references Dept(D#) on delete cascade,          //D#為外鍵,刪除引用表則本表記錄刪除

?注意:check中的條件可以是select where內(nèi)where 后的語(yǔ)句,包含子查詢(xún)

S# char(8) check (S# in(select S# from student)),

撤銷(xiāo)追加約束

alter table tablename
           
         drop  constraint 約束名;     //撤銷(xiāo)一個(gè)約束
         modify (score float(2) constraint 約束名 check());   //新增約束
         //有些dbms支持獨(dú)立追加約束,如下:
         add constraint 約束名 check();

斷言

//會(huì)增加數(shù)據(jù)庫(kù)維護(hù)負(fù)擔(dān),只要更新都會(huì)檢查這個(gè)斷言,所以不建議

  1. 一個(gè)斷言就是一個(gè)謂詞表達(dá)式,表達(dá)希望數(shù)據(jù)庫(kù)總能滿(mǎn)足的條件
  2. 表約束列約束就是特殊的斷言
  3. 語(yǔ)法: create??assertion? <約束名> check(.............)

? ? ?【MySQL】數(shù)據(jù)庫(kù)完整性和安全性【MySQL】數(shù)據(jù)庫(kù)完整性和安全性

2.3動(dòng)態(tài)約束

觸發(fā)器

trigger是一種過(guò)程性完整約束,能在特定時(shí)刻自動(dòng)觸發(fā)

完整性四元組(O,P,A,R),O表示數(shù)據(jù)集合,P表示謂詞條件,A表示觸發(fā)條件,R表示響應(yīng)動(dòng)作。

create tigger 觸發(fā)器名   before/after
{insert/delete/update  of 屬性名
on 表名   reference new/old 變量
for each row/statement     //對(duì)每一行/對(duì)整個(gè)操作所有元組
when ()                    //題目條件
begin
//做出反應(yīng)語(yǔ)句;
end; 
}

例題:

【MySQL】數(shù)據(jù)庫(kù)完整性和安全性【MySQL】數(shù)據(jù)庫(kù)完整性和安全性

?【MySQL】數(shù)據(jù)庫(kù)完整性和安全性【MySQL】數(shù)據(jù)庫(kù)完整性和安全性

二、安全性

數(shù)據(jù)庫(kù)安全性(非授權(quán)人員、信息非公開(kāi)、集中(分散)管理、DBS的安全級(jí)別)

DBMS的安全機(jī)制
#1.自主安全性機(jī)制:存取控制
通過(guò)權(quán)限在用戶(hù)之間的傳遞,使用戶(hù)自主管理數(shù)據(jù)庫(kù)安全性
2.強(qiáng)制安全性機(jī)制:
對(duì)數(shù)據(jù)和用戶(hù)強(qiáng)制分類(lèi),使得不同類(lèi)別用戶(hù)能夠訪(fǎng)問(wèn)不同類(lèi)別的數(shù)據(jù)
3.推斷控制機(jī)制:
防止通過(guò)歷史/公開(kāi)信息,推斷出一些不該知道的信息
4.數(shù)據(jù)加密存儲(chǔ)機(jī)制:
通過(guò)加密、解密保護(hù)數(shù)據(jù)

自主安全性機(jī)制?

DBA利用賬戶(hù)特權(quán)對(duì)用戶(hù)賬戶(hù)的創(chuàng)建以及權(quán)限授權(quán)和撤銷(xiāo)、安全級(jí)別調(diào)控

訪(fǎng)問(wèn)規(guī)則表:AccessRule::=(S,O,T,P)S:請(qǐng)求主體(用戶(hù)),O:訪(fǎng)問(wèn)對(duì)象(屬性、元組、關(guān)系、數(shù)據(jù)庫(kù)),T:訪(fǎng)問(wèn)權(quán)力(增刪改查) P:謂詞(擁有權(quán)力需滿(mǎn)足的條件)
? 1.accessrule通常存放在數(shù)據(jù)字典或系統(tǒng)目錄,構(gòu)成了所有用戶(hù)對(duì)DB的訪(fǎng)問(wèn)權(quán)利
? 2.用戶(hù)多時(shí),可以按用戶(hù)組建立訪(fǎng)問(wèn)規(guī)則
? 3.可以遞歸使用

eg:
Employee(P#,Pname,Page,Psex,Psalary,D#,HEAD)

要求:
員工管理人員:能訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的所有內(nèi)容,便于維護(hù)員工信息
收發(fā)人員:訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)以確認(rèn)某員工是哪一部門(mén),便于收發(fā)工作,只能訪(fǎng)問(wèn)基本信息
每個(gè)員工:允許訪(fǎng)問(wèn)自己的記錄,以便查詢(xún)自己的工資情況,但不能修改
部門(mén)領(lǐng)導(dǎo):能夠查詢(xún)其所領(lǐng)導(dǎo)部門(mén)人員的所有情況
高層領(lǐng)導(dǎo):能訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的所有內(nèi)容,但只能讀

實(shí)現(xiàn)方法
1.存儲(chǔ)矩陣

【MySQL】數(shù)據(jù)庫(kù)完整性和安全性

?

2.視圖

通過(guò)視圖可以限制用戶(hù)對(duì)關(guān)系中某些數(shù)據(jù)項(xiàng)的存取:
create 視圖1 as select* from employee
create 視圖2 as select Pname,D# from employee
通過(guò)視圖可以將數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象與謂詞結(jié)合起來(lái),限制用戶(hù)對(duì)關(guān)系中某些元組的存取
create 視圖3 as as select* from employee where P#=UserID
create 視圖4 as as select* from employee where HEAD=UserID

3.sql語(yǔ)言

grant {all privileges/select,insert,delete,update}
on 表名/視圖名
to{public/user-id} ? ?//public是允許所有用戶(hù)使用授權(quán)權(quán)力,user-id是某一個(gè)用戶(hù)賬戶(hù),由DBA創(chuàng)建的合法賬戶(hù)
with grant option; ? //允許被授權(quán)者傳播這些權(quán)力

假定UserId員工管理員為emp001,收發(fā)員emp002,高級(jí)領(lǐng)導(dǎo)為emp003,部門(mén)領(lǐng)導(dǎo)emp004

geant all privileges on employee to emp001;
grant select on 視圖2 to emp002;
grant select on 視圖3 to public;
grant select on 視圖4 to emp004;

revoke ? ? on ? ? ?from ? ? ?;

強(qiáng)制安全性機(jī)制

絕密(Top Secret)機(jī)密(secret)可信(Confidential)無(wú)分類(lèi)(Unclassified)
1.高級(jí)別用戶(hù)可以訪(fǎng)問(wèn)低級(jí)別數(shù)據(jù)對(duì)象
2.高級(jí)別用戶(hù)不可以改低級(jí)別數(shù)據(jù)對(duì)象文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-423285.html

到了這里,關(guān)于【MySQL】數(shù)據(jù)庫(kù)完整性和安全性的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 實(shí)驗(yàn)8 數(shù)據(jù)庫(kù)完整性、安全設(shè)計(jì)

    實(shí)驗(yàn)8 數(shù)據(jù)庫(kù)完整性、安全設(shè)計(jì)

    第1關(guān) 執(zhí)行 CREATE USER 創(chuàng)建以2022100904為用戶(hù)名的用戶(hù),同時(shí)設(shè)置其密碼為root1234 任務(wù)描述 執(zhí)行 CREATE USER 創(chuàng)建以 2022100904 為用戶(hù)名的用戶(hù),同時(shí)設(shè)置其密碼為 root1234 相關(guān)知識(shí) 創(chuàng)建用戶(hù)的語(yǔ)法為如下: 第2關(guān) 給予創(chuàng)建的用戶(hù)2022100904在mydata數(shù)據(jù)庫(kù)中授予\\\"J\\\" 表 SELECT 權(quán)限 任務(wù)描述

    2024年02月09日
    瀏覽(48)
  • 【SQL】實(shí)驗(yàn)十 數(shù)據(jù)庫(kù)完整性實(shí)驗(yàn)

    一、實(shí)驗(yàn)?zāi)康?1、 熟悉通過(guò)SQL對(duì)數(shù)據(jù)進(jìn)行完整性控制。熟練掌握數(shù)據(jù)庫(kù) 三類(lèi)完整性約束 (實(shí)體完整性、用戶(hù)自定義完整性、參照完整性) 2、了解SQL SERVER 的違反完整性處理措施。 3、了解主鍵(PRIMARY KEY)約束 、 外鍵(FOREIGN KEY)約束 、 唯一性(UNIQUE)約束 、 檢查(CHE

    2024年02月01日
    瀏覽(28)
  • 數(shù)據(jù)庫(kù)系統(tǒng)頭歌實(shí)驗(yàn)八 數(shù)據(jù)庫(kù)完整性、安全設(shè)計(jì)

    數(shù)據(jù)庫(kù)系統(tǒng)頭歌實(shí)驗(yàn)八 數(shù)據(jù)庫(kù)完整性、安全設(shè)計(jì)

    第1關(guān):執(zhí)行 CREATE USER 創(chuàng)建以2022100904為用戶(hù)名的用戶(hù),同時(shí)設(shè)置其密碼為root1234 第2關(guān):給予創(chuàng)建的用戶(hù)2022100904在mydata數(shù)據(jù)庫(kù)中授予\\\"J\\\" 表 SELECT 權(quán)限(注意創(chuàng)建權(quán)限時(shí)的用戶(hù)名為\\\'用戶(hù)名\\\'@\\\'localhost\\\'),不允許轉(zhuǎn)授此權(quán)限給其它用戶(hù)。 第3關(guān):給予創(chuàng)建的用戶(hù)2022100904、2022100908在

    2024年02月05日
    瀏覽(50)
  • 深入理解數(shù)據(jù)庫(kù)事務(wù):確保數(shù)據(jù)完整性與一致性

    在現(xiàn)代信息系統(tǒng)中,數(shù)據(jù)是至關(guān)重要的資產(chǎn)之一。作為一名后端開(kāi)發(fā)人員,與數(shù)據(jù)庫(kù)的交道必不可少,為了確保數(shù)據(jù)的完整性、一致性和可靠性,數(shù)據(jù)庫(kù)引入了事務(wù)的概念。本次將帶您深入了解數(shù)據(jù)庫(kù)事務(wù)的重要性、特性以及如何在應(yīng)用程序中正確地使用事務(wù)來(lái)維護(hù)數(shù)據(jù)的穩(wěn)

    2024年02月12日
    瀏覽(30)
  • mysql索引--普通索引,唯一索引,主鍵索引,參照完整性約束,數(shù)據(jù)完整性約束

    -- 方法1:create index -- 對(duì)employee表的員工部門(mén)號(hào)列創(chuàng)建普通索引depart_ind -- create index depart_ind on employees(員工部門(mén)號(hào)); -- 對(duì)employee表的姓名和地址列創(chuàng)建復(fù)合索引ad_ind; -- create index ad_ind on employees(姓名,地址); -- 對(duì)departments表的部門(mén)名稱(chēng)列創(chuàng)建唯一索引un_ind; -- create unique index un_ind

    2023年04月21日
    瀏覽(22)
  • 【MySQL事務(wù)】保證數(shù)據(jù)完整性的利器

    【MySQL事務(wù)】保證數(shù)據(jù)完整性的利器

    事務(wù): 事務(wù)就是將多個(gè)SQL給打包在一起,組成一個(gè)整體。組成這個(gè)整體的各個(gè)SQL,要么全部成功,要么全部失敗。 舉例說(shuō)明: 情人節(jié)到了,滑稽老鐵打算給他女朋友小美發(fā)給紅包,但是他又害怕小美不收,于是他想到了一個(gè)辦法就是通過(guò)銀行卡進(jìn)行轉(zhuǎn)賬。他給小美轉(zhuǎn)賬了

    2024年02月08日
    瀏覽(30)
  • MySQL修煉手冊(cè)11:事務(wù)處理:確保數(shù)據(jù)的一致性與完整性

    在探索數(shù)據(jù)管理的世界中,理解如何在數(shù)據(jù)庫(kù)中使用事務(wù)處理,無(wú)疑是一項(xiàng)關(guān)鍵的能力。在處理復(fù)雜的數(shù)據(jù)庫(kù)操作,尤其是在你試圖在多個(gè)表或數(shù)據(jù)庫(kù)中更新數(shù)據(jù)時(shí),事務(wù)可以確保這些更改具有原子性、一致性、隔離性和持久性,即ACID。因此,掌握事務(wù)對(duì)任何數(shù)據(jù)庫(kù)專(zhuān)業(yè)人員

    2024年01月21日
    瀏覽(24)
  • 軟件測(cè)試|MySQL主鍵約束詳解:保障數(shù)據(jù)完整性與性能優(yōu)化

    軟件測(cè)試|MySQL主鍵約束詳解:保障數(shù)據(jù)完整性與性能優(yōu)化

    簡(jiǎn)介 主鍵(PRIMARY KEY)的完整稱(chēng)呼是“主鍵約束”,是 MySQL 中使用最為頻繁的約束。一般情況下,為了便于 DBMS 更快的查找到表中的記錄,都會(huì)在表中設(shè)置一個(gè)主鍵。 MySQL是一種廣泛使用的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其支持多種數(shù)據(jù)約束,其中主鍵約束是其中最重要的之一

    2024年02月02日
    瀏覽(24)
  • Mysql列的完整性約束(調(diào)整列的完整性約束)

    目錄 一、?主鍵PK、外鍵FK和 唯一鍵UK 新增 刪除???????? 修改 ????????修改默認(rèn)值DEFAULT、自增長(zhǎng)和非空NK 總結(jié) alter table [table_name] add constraint [constraint_name] [unique key| primary key|foreign key] ([column_name]) ????????1.通過(guò)如下命令查詢(xún)鍵值的約束名: ????????????????

    2024年02月01日
    瀏覽(25)
  • 軟件測(cè)試/測(cè)試開(kāi)發(fā)/全日制|MySQL主鍵約束詳解:保障數(shù)據(jù)完整性與性能優(yōu)化

    軟件測(cè)試/測(cè)試開(kāi)發(fā)/全日制|MySQL主鍵約束詳解:保障數(shù)據(jù)完整性與性能優(yōu)化

    簡(jiǎn)介 主鍵(PRIMARY KEY)的完整稱(chēng)呼是“主鍵約束”,是 MySQL 中使用最為頻繁的約束。一般情況下,為了便于 DBMS 更快的查找到表中的記錄,都會(huì)在表中設(shè)置一個(gè)主鍵。 MySQL是一種廣泛使用的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其支持多種數(shù)據(jù)約束,其中主鍵約束是其中最重要的之一

    2024年02月19日
    瀏覽(61)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包