資料庫總結(一)
阿新 • • 發佈:2018-12-11
1.關係模型資料結構:
關係:一個關係對應通常所說的一張表,如學生表 元組:表中的一行即為一個元組 分量:元組中的一個屬性值,即一行中的一個列值 屬性:表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名 候選碼:若關係中的某一屬性組的值能唯一的標識一個元組,而其子集不能,則稱該屬性組為候選碼 主碼:若一個關係有多個候選碼,則選定其中一個為主碼 關係模型要求必須是規範化的,即要求關係必須滿足一定的規範條件,這些條件中最基本的一條是,關係的每一個分量必須是一個不可分的資料項,也就是說,不允許表中還有表 在關係模型中,一個實體用一個關係來表示,即用一張表來表示,實體名即表名,實體的屬性即表的屬性,實體之間的關係即表之間的關係
2.關係的完整性:
實體完整性:主碼中的各屬性不能取空值 參照完整性:若關係R中的一個或一組屬性F(非主碼)與另一個關係S中的主碼Ks相對應,則稱R為參照關係,S為被參照關係,稱F為參照關係的外碼 參照關係和被參照關係可以是同一個關係 顯然,外碼F和Ks是定義在同一個(或同一組)域上的 當參照關係和被參照關係不為同一個關係時,參照關係的外碼和被參照關係的主碼一般取相同的名稱(便於識別),但不是必須的 典型例子: 學生(學號(K),姓名,性別,專業號,年齡,班長) 學生關係作為參照關係,外碼為“班長” 學生關係作為被參照關係,主碼為“學號” 參照完整性規則就是定義外碼與主碼之間的引用規則,即參照關係中的外碼要麼取空值(外碼中的各屬性均取空值),要麼取被參照關係中主碼存在的值 如:上述學生關係中,“班長”可以取空值,表示該學生所在班級尚未選出班長;或者取“學號”中存在的一個值,表示該學生所在班級的班長是這些學生(存在)中的確定的一個 一個屬性的取值要同時考慮到上述兩方面
3.安全性
一個數據庫一般包含多個架構(schema),架構即名稱空間的意思,不同名稱空間中的資料庫物件可以同名 資料庫角色是被命名的一組與資料庫操作相關的許可權,即規定了可以對資料庫中的哪些架構中的物件執行哪些操作 新建立的資料庫使用者是“無效的”,還不能通過它訪問資料庫(架構)中的物件,資料庫使用者可以通過“加入”資料庫角色(“加入”資料庫角色即獲得了其規定的許可權),被其他使用者授權等方法獲得訪問資料庫中物件的許可權。當然,當為使用者建立一個架構時,此使用者擁有操作這個架構中物件的所有許可權 “登入名”即“人為”使用者,以某一“登入名”登入時,能不能訪問某一資料庫某一架構下的資料庫物件取決於這一“登入名”是否映射了擁有訪問此資料庫這一架構許可權的此資料庫使用者 和資料庫使用者一樣,伺服器“登入名”新建時也是“無效的”,可以通過“加入”伺服器角色,被其他伺服器“登入名”授權等方法獲得訪問伺服器的許可權,如可登入許可權(當然還需要密碼驗證,並不是擁有了可登入許可權就不需要密碼驗證了) 伺服器角色是被命名的一組和伺服器操作相關的許可權,即規定了可以對哪些伺服器做哪些操作