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

實驗四 數(shù)據(jù)庫安全性和完整性

這篇具有很好參考價值的文章主要介紹了實驗四 數(shù)據(jù)庫安全性和完整性。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

實驗四 數(shù)據(jù)庫安全性和完整性

一.實驗?zāi)康?/strong>
1.加深對數(shù)據(jù)庫安全性和完整性理解;
2.學(xué)會授權(quán)與回收;
4.理解并體會數(shù)據(jù)庫實體完整性、參照完整性、用戶定義的完整性約束條件的作用。
二. 實驗內(nèi)容

對已建好的各表和用戶進行權(quán)限的授權(quán)和回收操作,進行完操作之后檢查授權(quán)過的用戶是否真正具有授予的數(shù)據(jù)操作的權(quán)力了,進行完權(quán)力收回操作之后的用戶是否確實喪失了收回的數(shù)據(jù)操作的權(quán)力。
定義各種完整性約束條件,之后輸入各種數(shù)據(jù)以驗證約束條件的作用

  1. 設(shè)置用戶aSPJ表的查詢權(quán)限。以a登錄,驗證a的權(quán)限。

實驗過程:

(1)先創(chuàng)建a用戶,密碼為“password”:

CREATE USER 'a' IDENTIFIED WITH mysql_native_password BY'password';

????? (2)沒授權(quán)之前驗證a的權(quán)限:

???????????? 登錄:

實驗四 數(shù)據(jù)庫安全性和完整性

運行查詢語句:

SELECT sno

from spj

發(fā)現(xiàn)是沒有對數(shù)據(jù)庫的訪問權(quán)限的:

實驗四 數(shù)據(jù)庫安全性和完整性

(3)再進行授權(quán):

GRANT SELECT

ON spj

TO a;

????? (4)登錄驗證a的權(quán)限:

SELECT sno

from spj

???????????? 實驗四 數(shù)據(jù)庫安全性和完整性

實驗結(jié)果:

創(chuàng)建:

實驗四 數(shù)據(jù)庫安全性和完整性

授權(quán):

實驗四 數(shù)據(jù)庫安全性和完整性

結(jié)果分析:

創(chuàng)建用戶時,創(chuàng)建’a’@%,不要創(chuàng)建a@host,否則不能授權(quán)。

  1. 設(shè)置用戶bS表、P表具有修改的權(quán)限,并要求b能夠?qū)⒃摍?quán)限授予其它用戶c。分別以b、c登錄,驗證bc的權(quán)限。

實驗過程:

(1)創(chuàng)建b用戶,密碼為“bpassword”:

CREATE USER 'b' IDENTIFIED WITH mysql_native_password BY'bpassword';

(2)創(chuàng)建c用戶,密碼為“cpassword”:

CREATE USER 'c' IDENTIFIED WITH mysql_native_password BY'cpassword';

????? (3)進行授權(quán)(授予查詢和修改權(quán)限,只授予修改權(quán)限不可以):

GRANT SELECT

ON s

TO b;

實驗四 數(shù)據(jù)庫安全性和完整性

GRANT UPDATE

ON s

TO b

WITH GRANT OPTION;

實驗四 數(shù)據(jù)庫安全性和完整性

GRANT SELECT

ON p

TO b;

實驗四 數(shù)據(jù)庫安全性和完整性

GRANT UPDATE

ON p

TO b

WITH GRANT OPTION;

實驗四 數(shù)據(jù)庫安全性和完整性

????? (4)登錄b用戶,驗證權(quán)限:

???????????? 實驗四 數(shù)據(jù)庫安全性和完整性

(5)登錄b將s表s5中SNAME改為“為人民”,城市改為“北京”

UPDATE s

SET SNAME='為人民',CITY='北京'

WHERE sno='S1';

實驗四 數(shù)據(jù)庫安全性和完整性

(6)將p表中p1改為螺絲,顏色改為紅

UPDATE p

SET PNAME='螺絲',COLOR='紅'

WHERE pno='p1';

?? ?? 實驗四 數(shù)據(jù)庫安全性和完整性

(7)登錄b,執(zhí)行授權(quán)權(quán)限,授予c對s、p表的查詢和修改權(quán)限

GRANT SELECT

ON s

TO c;

實驗四 數(shù)據(jù)庫安全性和完整性

GRANT UPDATE

ON s

TO c

實驗四 數(shù)據(jù)庫安全性和完整性

GRANT SELECT

ON p

TO c;

實驗四 數(shù)據(jù)庫安全性和完整性

GRANT UPDATE

ON p

TO c

實驗四 數(shù)據(jù)庫安全性和完整性

(8)登錄c,將s表s5中SNAME改為“為民”,城市改為“上?!?/p>

實驗四 數(shù)據(jù)庫安全性和完整性

UPDATE s

SET SNAME='為民',CITY='上海'

WHERE sno='S1';

實驗四 數(shù)據(jù)庫安全性和完整性

(9)將p表中p1改為螺母,顏色改為藍

UPDATE p

SET PNAME='螺母',COLOR='藍'

WHERE pno='p1';

實驗四 數(shù)據(jù)庫安全性和完整性

實驗結(jié)果:

(1)創(chuàng)建b用戶,密碼為“bpassword”:

實驗四 數(shù)據(jù)庫安全性和完整性

(2)創(chuàng)建c用戶,密碼為“cpassword”:

實驗四 數(shù)據(jù)庫安全性和完整性

????? (3)進行授權(quán)(授予查詢和修改權(quán)限,只授予修改權(quán)限不可以):

實驗四 數(shù)據(jù)庫安全性和完整性

實驗四 數(shù)據(jù)庫安全性和完整性

實驗四 數(shù)據(jù)庫安全性和完整性

實驗四 數(shù)據(jù)庫安全性和完整性

????? (4)登錄b用戶,驗證權(quán)限:

???????????? 實驗四 數(shù)據(jù)庫安全性和完整性

(5)登錄b將s表s5中SNAME改為“為人民”,城市改為“北京”

實驗四 數(shù)據(jù)庫安全性和完整性

(6)將p表中p1改為螺絲,顏色改為紅

?????? ?? ?? 實驗四 數(shù)據(jù)庫安全性和完整性

(7)登錄b,執(zhí)行授權(quán)權(quán)限,授予c對s、p表的查詢和修改權(quán)限

實驗四 數(shù)據(jù)庫安全性和完整性

實驗四 數(shù)據(jù)庫安全性和完整性

實驗四 數(shù)據(jù)庫安全性和完整性

實驗四 數(shù)據(jù)庫安全性和完整性

(8)登錄c,將s表s5中SNAME改為“為民”,城市改為“上?!?/p>

實驗四 數(shù)據(jù)庫安全性和完整性

實驗四 數(shù)據(jù)庫安全性和完整性

?????? (9)將p表中p1改為螺母,顏色改為藍

實驗四 數(shù)據(jù)庫安全性和完整性

結(jié)果分析:

??????? 授予某用戶修改權(quán)限的時候記得同時授予查詢權(quán)限,沒有select就不能update

  1. 收回用戶a、b的權(quán)限,并驗證用戶c權(quán)限的情況。

實驗過程:

????? (1)收回a對spj表的查詢權(quán)限:

REVOKE SELECT

on spj

FROM a;

????? (2)收回b對s、p表的更改權(quán)限:

REVOKE UPDATE

on s

FROM b;

REVOKE UPDATE

on p

FROM b;

(3)驗證用戶c是否還有對s、p表的更改權(quán)限:

登錄c:

實驗四 數(shù)據(jù)庫安全性和完整性

將s表s5中SNAME改為“為國”,城市改為“廣州”

UPDATE s

SET SNAME='為國',CITY='廣州'

WHERE sno='S1';

將p表中p1改為螺絲,顏色改為綠

UPDATE p

SET PNAME='螺絲',COLOR='綠'

WHERE pno='p1';

實驗結(jié)果:

????? (1)收回a對spj表的查詢權(quán)限:

實驗四 數(shù)據(jù)庫安全性和完整性

????? (2)收回b對s、p表的更改權(quán)限:

實驗四 數(shù)據(jù)庫安全性和完整性實驗四 數(shù)據(jù)庫安全性和完整性

????? (3)驗證用戶c是否還有對s、p表的更改權(quán)限:

??????? 實驗四 數(shù)據(jù)庫安全性和完整性實驗四 數(shù)據(jù)庫安全性和完整性

結(jié)果分析:

?????? 只收回了b的權(quán)限,b授予c的權(quán)限并沒有收回,說明mysql并沒有進行級聯(lián)回收。

4.對實驗1中創(chuàng)建的表,用圖形用戶界面建立外鍵聯(lián)系,并驗證外鍵的作用。

實驗過程:

  1. 右鍵----設(shè)計表----外鍵----創(chuàng)建外鍵

實驗四 數(shù)據(jù)庫安全性和完整性

實驗四 數(shù)據(jù)庫安全性和完整性

?

(2)驗證外鍵作用:(在spj表中插入一條違背外鍵約束的數(shù)據(jù))
往spj表插入('S8','P1','J9',200):
INSERT INTO spj VALUES('S8','P1','J9',300);
實驗結(jié)果:
實驗四 數(shù)據(jù)庫安全性和完整性

?結(jié)果分析:
?? ?S表最大到S6,p表最大到P6,j表最大到J7,插入的數(shù)據(jù)是違背外鍵約束的,所以會報錯。

實驗四 數(shù)據(jù)庫安全性和完整性實驗四 數(shù)據(jù)庫安全性和完整性實驗四 數(shù)據(jù)庫安全性和完整性

?5.?? ?對實驗1中創(chuàng)建的表,設(shè)置零件的顏色必須在紅、橙、黃、綠、青、藍、紫 七種顏色范圍內(nèi),零件重量不能超過50的約束條件,并給這兩種約束條件命名,名字為自己姓名的全拼。

實驗過程:

(1)添加約束:

ALTER TABLE p

ADD CONSTRAINT pengzhen CHECK(COLOR in ('紅','橙','黃','綠','青','藍','紫')and WEIGHT<=50);

(2)驗證約束有沒有用,把p表里P1的“綠“改為“赤”

UPDATE p

SET color='赤'

WHERE pno='P1';

實驗結(jié)果:

(1)添加約束:

實驗四 數(shù)據(jù)庫安全性和完整性

(2)驗證約束有沒有用,把p表里P1的“綠“改為“赤”

實驗四 數(shù)據(jù)庫安全性和完整性

結(jié)果分析:

??????? 驗證約束有沒有用,把p表里P1的“綠“改為“赤”,運行會報錯,pengzhen約束已存在。數(shù)據(jù)自然改不了了。

實驗四 數(shù)據(jù)庫安全性和完整性

6.?? ?設(shè)置SPJ表中供應(yīng)零件的數(shù)量都不能超過1000

實驗過程:

????? (1)添加約束:

ALTER TABLE spj

add CHECK(QTY<=1000);

  1. 在spj表里將第一條數(shù)據(jù)的QTY修改為1200

UPDATE spj

SET QTY=1200

WHERE sno='S1' AND pno='P1' AND jno='J4';

實驗結(jié)果:

  1. 添加約束:

實驗四 數(shù)據(jù)庫安全性和完整性

(2)在spj表里將第一條數(shù)據(jù)的QTY修改為1200

實驗四 數(shù)據(jù)庫安全性和完整性

結(jié)果分析:

由于約束的存在,不能將數(shù)據(jù)修改為大于1000的數(shù)。

實驗四 數(shù)據(jù)庫安全性和完整性

7.?? ?設(shè)置S表中的供應(yīng)商號以字母‘S’開頭
實驗過程:
ALTER TABLE s
add CHECK(sno like 's%');
實驗結(jié)果:
?
結(jié)果分析:
?? ??? ?創(chuàng)建約束,CHECK(sno like 's%')
?

8.?? ?驗證各個表的實體完整性。
實驗過程:
-- 驗證s表的實體完整性
-- (1)往s表插入一條正常的數(shù)據(jù)
INSERT INTO s VALUES('S7','紅旗',10,'濟南');
-- (2)往s表插入一條重復(fù)的數(shù)據(jù)
INSERT INTO s VALUES('S7','群眾',10,'青島');
-- (3)往s表插入一條空的數(shù)據(jù)
INSERT INTO s VALUES('','創(chuàng)新',10,'廣州');

-- 驗證p表的實體完整性
-- (1)往p表插入一條正常的數(shù)據(jù)
INSERT INTO p VALUES('P7','輪胎',null,20);
-- (2)往p表插入一條重復(fù)的數(shù)據(jù)
INSERT INTO p VALUES('P7','輪胎',null,20);
-- (3)往p表插入一條空的數(shù)據(jù)
INSERT INTO p VALUES(NULL,'釘子',null,5);

-- 驗證j表的實體完整性
-- (1)往j表插入一條正常的數(shù)據(jù)
INSERT INTO j VALUES('J8','造車廠','上海');
-- (2)往j表插入一條重復(fù)的數(shù)據(jù)
INSERT INTO j VALUES('J8','造車廠','上海');
-- (3)往j表插入一條空的數(shù)據(jù)
INSERT INTO j VALUES(NULL,'輪胎廠','南京');

-- 驗證spj表的實體完整性
-- (1)往spj表插入一條正常的數(shù)據(jù)
INSERT INTO spj VALUES('S7','P6','J7',300);
-- (2)往spj表插入一條重復(fù)的數(shù)據(jù)
INSERT INTO spj VALUES('S7','P6','J7',300);
-- (3)往spj表插入一條空的數(shù)據(jù)
INSERT INTO spj VALUES('S7',NULL,'J7',300);
實驗結(jié)果:
-- 驗證s表的實體完整性
-- (1)往s表插入一條正常的數(shù)據(jù)('S7','紅旗',10,'濟南')
?

實驗四 數(shù)據(jù)庫安全性和完整性

-- (2)往s表插入一條重復(fù)的數(shù)據(jù)('S7','群眾',10,'青島')

實驗四 數(shù)據(jù)庫安全性和完整性

-- (3)往s表插入一條空的數(shù)據(jù)('','創(chuàng)新',10,'廣州')

實驗四 數(shù)據(jù)庫安全性和完整性

-- 驗證p表的實體完整性

-- (1)往p表插入一條正常的數(shù)據(jù)('P7','輪胎',null,20)

實驗四 數(shù)據(jù)庫安全性和完整性

-- (2)往p表插入一條重復(fù)的數(shù)據(jù)('P7','輪胎',null,20)

實驗四 數(shù)據(jù)庫安全性和完整性

-- (3)往p表插入一條空的數(shù)據(jù)(NULL,'釘子',null,5)

實驗四 數(shù)據(jù)庫安全性和完整性

-- 驗證j表的實體完整性

-- (1)往j表插入一條正常的數(shù)據(jù)('J8','造車廠','上海')

實驗四 數(shù)據(jù)庫安全性和完整性

-- (2)往j表插入一條重復(fù)的數(shù)據(jù)('J8','造車廠','上海')

實驗四 數(shù)據(jù)庫安全性和完整性

-- (3)往j表插入一條空的數(shù)據(jù)(NULL,'輪胎廠','南京')

實驗四 數(shù)據(jù)庫安全性和完整性

-- 驗證spj表的實體完整性

-- (1)往spj表插入一條正常的數(shù)據(jù)('S7','P6','J7',300)

實驗四 數(shù)據(jù)庫安全性和完整性

-- (2)往spj表插入一條重復(fù)的數(shù)據(jù)('S7','P6','J7',300)

實驗四 數(shù)據(jù)庫安全性和完整性

-- (3)往spj表插入一條空的數(shù)據(jù)('S7',NULL,'J7',300)

實驗四 數(shù)據(jù)庫安全性和完整性

結(jié)果分析:

??????? 由于s、p、j表創(chuàng)建表時定義的完整性約束,所以不可以插入重復(fù)數(shù)據(jù),不可以插入主碼為null的數(shù)據(jù),上述語句即驗證了完整性約束。

實驗四 數(shù)據(jù)庫安全性和完整性實驗四 數(shù)據(jù)庫安全性和完整性文章來源地址http://www.zghlxwxcb.cn/news/detail-478740.html

到了這里,關(guān)于實驗四 數(shù)據(jù)庫安全性和完整性的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【數(shù)據(jù)庫原理】(24)數(shù)據(jù)庫安全性策略

    【數(shù)據(jù)庫原理】(24)數(shù)據(jù)庫安全性策略

    數(shù)據(jù)庫安全性是數(shù)據(jù)庫管理系統(tǒng)(DBMS)中一個至關(guān)重要的方面。它指的是保護數(shù)據(jù)庫免受非授權(quán)訪問和惡意操作,包括數(shù)據(jù)泄露、修改、破壞等。 在典型的計算機系統(tǒng)安全模型中,安全措施被設(shè)置在不同層級: 應(yīng)用程序?qū)?:如數(shù)據(jù)庫管理系統(tǒng),實施特定的安全策略。 數(shù)據(jù)

    2024年01月16日
    瀏覽(21)
  • 基于物理安全的數(shù)據(jù)庫訪問控制:確保數(shù)據(jù)安全性

    作者:禪與計算機程序設(shè)計藝術(shù) 引言 1.1. 背景介紹 隨著大數(shù)據(jù)時代的到來,各類組織機構(gòu)和企業(yè)紛紛開始關(guān)注數(shù)據(jù)安全和隱私保護。在數(shù)據(jù)處理和存儲過程中,確保數(shù)據(jù)的物理安全和邏輯安全至關(guān)重要。數(shù)據(jù)庫訪問控制作為保障數(shù)據(jù)安全的一項基礎(chǔ)工作,也應(yīng)受到足夠的重

    2024年02月12日
    瀏覽(28)
  • 第四章——數(shù)據(jù)庫的安全性

    第四章——數(shù)據(jù)庫的安全性

    問題的提出:數(shù)據(jù)庫安全性產(chǎn)生的原因 數(shù)據(jù)庫的一大特點是共享性 數(shù)據(jù)共享必然帶來數(shù)據(jù)庫安全性問題 數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享 數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的的數(shù)據(jù)泄露、更改或破壞 系統(tǒng)安全保護措施是否有效是數(shù)據(jù)庫

    2023年04月08日
    瀏覽(20)
  • 五、C#與數(shù)據(jù)庫交互( SQL注入與安全性)

    在C#與數(shù)據(jù)庫交互時,安全性是非常重要的一部分,特別是要防止SQL注入攻擊。SQL注入是一種常見的網(wǎng)絡(luò)攻擊手段,攻擊者通過在輸入字段中注入惡意SQL代碼來操縱數(shù)據(jù)庫查詢。以下是一些關(guān)于如何防止SQL注入的建議: 使用參數(shù)化查詢 : 這是防止SQL注入的最有效方法。參數(shù)化

    2024年02月02日
    瀏覽(29)
  • 實驗8 數(shù)據(jù)庫完整性、安全設(shè)計

    實驗8 數(shù)據(jù)庫完整性、安全設(shè)計

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

    2024年02月09日
    瀏覽(48)
  • 數(shù)據(jù)庫系統(tǒng)頭歌實驗八 數(shù)據(jù)庫完整性、安全設(shè)計

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

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

    2024年02月05日
    瀏覽(50)
  • 【SQL】實驗十 數(shù)據(jù)庫完整性實驗

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

    2024年02月01日
    瀏覽(28)
  • 數(shù)據(jù)庫系統(tǒng)概論—安全、完整性

    數(shù)據(jù)庫的安全性指保護數(shù)據(jù)庫以防 不合法 使用所造成的數(shù)據(jù)泄露、更改或破壞 2.1用戶身份鑒別 靜態(tài)口令鑒別 動態(tài)口令鑒別 生物鑒別特征 智能卡鑒別 2.2存取控制 自主存取控制:給用戶限權(quán)(DAC,C1級) 強制存取控制:給數(shù)據(jù)庫對象一定的密級(MAC,B1級) 2.3自主存取控制方法(授

    2024年02月03日
    瀏覽(23)
  • 技術(shù)應(yīng)用:Docker安全性的最佳實驗|聊聊工程化Docker

    技術(shù)應(yīng)用:Docker安全性的最佳實驗|聊聊工程化Docker

    ?? 技術(shù)相關(guān):《技術(shù)應(yīng)用》 ?? I Love you, like a fire! 不可否認,能生存在互聯(lián)網(wǎng)上的軟件都是相互關(guān)聯(lián)的,當我們開發(fā)一款應(yīng)用程序時,它必須與其他的服務(wù)進行通信,無論是在你的基礎(chǔ)設(shè)施,還是云服務(wù),亦或是第三方應(yīng)用程序上。當然,你不希望你不認識的人偽裝成你

    2024年02月13日
    瀏覽(23)
  • 加密數(shù)據(jù)安全性的兩大安全護盾-前向安全性與后向安全性詳解

    在數(shù)字安全的世界里,加密技術(shù)是用來保護數(shù)據(jù)不被未經(jīng)授權(quán)訪問的重要機制。然而,即使使用了最強的加密算法,也不能保證永遠是安全的。攻擊者可能會在未來某個時間點獲得了解密密鑰,從而能夠解密攔截的密文。為了解決這個問題,密碼學(xué)引入了前向安全性(Forwar

    2024年02月04日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包