1. 程式人生 > >資料庫總結(一)

資料庫總結(一)

1.關係模型資料結構:

關係:一個關係對應通常所說的一張表,如學生表
元組:表中的一行即為一個元組
分量:元組中的一個屬性值,即一行中的一個列值
屬性:表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名
候選碼:若關係中的某一屬性組的值能唯一的標識一個元組,而其子集不能,則稱該屬性組為候選碼
主碼:若一個關係有多個候選碼,則選定其中一個為主碼

關係模型要求必須是規範化的,即要求關係必須滿足一定的規範條件,這些條件中最基本的一條是,關係的每一個分量必須是一個不可分的資料項,也就是說,不允許表中還有表

在關係模型中,一個實體用一個關係來表示,即用一張表來表示,實體名即表名,實體的屬性即表的屬性,實體之間的關係即表之間的關係

2.關係的完整性:

實體完整性:主碼中的各屬性不能取空值

參照完整性:若關係R中的一個或一組屬性F(非主碼)與另一個關係S中的主碼Ks相對應,則稱R為參照關係,S為被參照關係,稱F為參照關係的外碼

參照關係和被參照關係可以是同一個關係

顯然,外碼F和Ks是定義在同一個(或同一組)域上的

當參照關係和被參照關係不為同一個關係時,參照關係的外碼和被參照關係的主碼一般取相同的名稱(便於識別),但不是必須的

典型例子:
	學生(學號(K),姓名,性別,專業號,年齡,班長)

	學生關係作為參照關係,外碼為“班長”
	學生關係作為被參照關係,主碼為“學號”

參照完整性規則就是定義外碼與主碼之間的引用規則,即參照關係中的外碼要麼取空值(外碼中的各屬性均取空值),要麼取被參照關係中主碼存在的值

如:上述學生關係中,“班長”可以取空值,表示該學生所在班級尚未選出班長;或者取“學號”中存在的一個值,表示該學生所在班級的班長是這些學生(存在)中的確定的一個

一個屬性的取值要同時考慮到上述兩方面

3.安全性

一個數據庫一般包含多個架構(schema),架構即名稱空間的意思,不同名稱空間中的資料庫物件可以同名
資料庫角色是被命名的一組與資料庫操作相關的許可權,即規定了可以對資料庫中的哪些架構中的物件執行哪些操作
新建立的資料庫使用者是“無效的”,還不能通過它訪問資料庫(架構)中的物件,資料庫使用者可以通過“加入”資料庫角色(“加入”資料庫角色即獲得了其規定的許可權),被其他使用者授權等方法獲得訪問資料庫中物件的許可權。當然,當為使用者建立一個架構時,此使用者擁有操作這個架構中物件的所有許可權
“登入名”即“人為”使用者,以某一“登入名”登入時,能不能訪問某一資料庫某一架構下的資料庫物件取決於這一“登入名”是否映射了擁有訪問此資料庫這一架構許可權的此資料庫使用者
和資料庫使用者一樣,伺服器“登入名”新建時也是“無效的”,可以通過“加入”伺服器角色,被其他伺服器“登入名”授權等方法獲得訪問伺服器的許可權,如可登入許可權(當然還需要密碼驗證,並不是擁有了可登入許可權就不需要密碼驗證了)
伺服器角色是被命名的一組和伺服器操作相關的許可權,即規定了可以對哪些伺服器做哪些操作