資料庫之保護資料庫

2021-09-29 21:00:46 字數 1708 閱讀 5933

一、 完整性定義

分類:實體完整性、域完整性、使用者定義完整性

建立約束(主鍵、外來鍵)

(1) 建立表的同時建立約束

1) 主鍵primary key

2) 外來鍵foreign keyø 父關鍵字在自己表中必須是主鍵;ø 父子必須完全一樣

3) 唯一unique

4) 預設值default舉例create table student(sno char(4) primary key,sname char(20) not null,sage int,s*** char(2) default 『男』); create table sc(sno char(4),cno char(3),grade int,constraint pk_sc primary key(sno,cno),constraint fk1_sc foreign key(sno) references student(sno));

(2) 表已經存在,新增約束1)

主鍵alter table studentadd primary key(sno);

alter table scadd primary key(sno,cno);

2) 外來鍵alter table scadd constraint fk1_sc foreign key(sno) references student(sno);

3) 唯一alter table studentadd constraint uni unique(sname);

檢視約束show create table student;

刪除約束

1)主鍵alter table studentdrop primary key;

2)外來鍵alter table scdrop foreign key fk1_sc;

3)唯一alter table studentdrop index uni;

二、 安全性

1. 作用:非法使用者、非授權使用者

2. 管理使用者mysql> use mysql;

(1) 建立create user u1@localhost identified by 『u1』;嘗試登入,是否成功,u1能否使用xkdb?mysql?資料庫create user u2@localhost identified by 『u2』, u3@localhost identified by 『u3』, u4@localhost identified by 『u4』;

(2) 修改ø 修改使用者名稱rename user u1@localhost to u1@localhost;ø 修改密碼set password for u1@localhost = password(『u1』);

(3) 檢視select host,user,passwordfrom user;

(4) 刪除drop user u1@localhost3.

管理許可權

(1) 全域性層級grant all on . to u1@localhost;驗證許可權:登入、測試擁有的許可權、測試沒有的許可權

(2) 資料庫級grant all on xkdb.* to u2@localhost;驗證許可權:登入、測試擁有的許可權、測試沒有的許可權

(3) 表級grant select on xkdb.student to u3@localhost;

(4) 列級grant select(sno,cno) on xkdb.sc to u4@localhost;

資料庫保護

關係型資料庫的事務 a atomicity 原子性 事務的原子性是資料庫的邏輯工作單位,事務中的操作要麼都做,要麼都不做。c consistency 一致性 事務執行的結果必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。i isolation 隔離性 乙個事務的執行不能被其他事務干擾 d dur...

保護資料庫

定義 分類 實體完整性 域完整性 使用者定義完整性 建立約束 主鍵 外來鍵 1 建立表的同時建立約束 1 主鍵primary key 2 外來鍵foreign key 父關鍵字在自己表中必須是主鍵 父子必須完全一樣 3 唯一unique 4 預設值default 舉例create table stu...

資料庫安全保護

什麼是資料庫安全保護?防止資料意外丟失和不一致資料的產生,以及當資料庫遭受破壞後迅速恢復正常。dbms對資料庫的安全保護方功能是通過四方面實現的,即安全性控制 完整性控制 併發性控制和資料庫恢復。安全性控制 含義 盡可能地杜絕所有可能的資料庫非法訪問。例如 繞過dbms的授權機制,通過作業系統直接訪...