updated december 26, 2018
資料模型是資料庫系統的核心和基礎.
概念模型
按使用者的觀點來對資料和資訊建模, 主要用於資料庫設計
概念模型的表示方法很多, 其中最為常用的一種是實體-聯絡方法, 該方法用e-r圖來描述.
邏輯模型
主要包括層次模型, 網狀模型, 關係模型, 物件導向資料模型, 物件關係資料模型和半結構化資料模型. 按計算機系統的觀點對資料建模, 主要用於資料庫管理系統的實現.
物理模型
描述資料在系統內部的表示方式和訪問方法
資料模型的組成要素:
資料結構: 描述資料庫的組成物件以及物件之間的聯絡
資料操作: 指對資料庫中各種物件的例項允許執行的操作的集合
資料的完整性約束條件: 給定的資料模型中資料及其聯絡所具有的制約和依存規則, 保證資料的正確, 有效和相容
邏輯模型:
層次模型
用樹形結構來表示各類實體以及實體間的聯絡.
(1)有且只有乙個結點而沒有雙親結點, 這個結點稱為根結點
(2)根以外的其他結點有且只有乙個雙親結點
優點: 資料結構比較簡單清晰, 查詢效率高, 層次資料庫效能優於關聯式資料庫, 不低於網狀資料庫
缺點: 查詢子女結點必須通過雙親結點, 實際上有一些結點之間具有多對多聯絡, 不適合用層次模型
網狀模型
(1)允許乙個以上的結點沒有雙親
(2)乙個結點可以有多於乙個的雙親
關係模型
關係(relation): 乙個關係對應通常說的一張表
元組(tuple): 表中的一行即為乙個元組
屬性(attribute): 表中的一列即為乙個屬性
碼(key): 表中的某個屬性組, 可以唯一確定乙個元組
域(domain): 一組具有相同資料型別的值的集合. 如大學生年齡屬性的域是(15~25)
資料庫系統模式
模式(schema)
資料模型中有型和值的概念, 型是指對某一類資料的結構和屬性的說明, 值是型的乙個具體賦值. 模式(schema)是資料庫中全體資料的邏輯結構和特徵的描述, 僅僅涉及型的描述, 不涉及具體的值. 模式的乙個具體值稱為模式的乙個例項. 乙個資料庫只有乙個模式
外模式(external schema)
也稱子模式或使用者模式, 是資料庫使用者能看見和使用的區域性資料的邏輯結構和特徵的描述. 乙個資料庫可以有多個外模式
內模式(internal schema)
也稱儲存模式, 乙個資料庫只有乙個內模式, 它是資料物理結構和儲存方式的描述.
基本的關係操作: 選擇(select), 投影(project), 並(union), 差(except), 笛卡爾積
關係完整性
使用者身份鑑別
靜態口令鑑別: 設定口令強度, 在儲存和傳輸過程中口令資訊均以密文方式存在
動態口令鑑別: 每次鑑別時均需使用動態產生的新口令登入資料庫管理系統
生物特徵鑑別: 採用影象處理和模式識別等技術實現了基於生物特徵的認證
智慧卡鑑別: 智慧卡是一種不可複製的硬體, 內建積體電路的晶元, 具有硬體加密功能
訪問控制
訪問控制主要包括定義使用者許可權和合法許可權檢查兩部分
定義使用者許可權, 並將使用者許可權記錄到資料字典中
合法許可權檢查, 若使用者的操作請求超出了定義的許可權, 系統將拒絕此操作
授權: 授予和收回
-- 把對student表和course表的全部操作許可權授予使用者u1和u2
grant
allprivileges
ontable student, course to u1, u2;
-- 把對錶sc的查詢刪除許可權授予所有使用者
grant
select
,delete
ontable sc to
public
;-- 把修改學生學號的許可權授予使用者u1
grant
update
(sno)
ontable student to u1;
-- 把對錶sc的insert許可權授予u1使用者, 並允許將此許可權再授予其他使用者
grant
insert
ontable sc to u1 with
grant
option
;-- 級聯收回u1對錶sc的查詢許可權
revoke
select
ontable sc from u1 cascade
;
資料的完整性是為了防止資料庫中存在不符合語義的資料, 也就是防止資料庫中存在不正確的資料
-- 當學生的性別是男時, 其名字不能以ms.開頭
create
table student(
sno char(9
)primary
key,
sname char(8
)unique
notnull
, s*** char(2
),check
(s*** =
'女'or sname not
like
'ms.%'))
;
完整性約束命名子句
-- 建立學生表student, 要求年齡小於30, 性別只能是男或女
create
table student (
sno char(9
),sname char(20
)constraint c1 not
null
, sage smallint
constraint c2 check
(sage <30)
, s*** char(2
)constraint c3 check
(s*** in
('男'
,'女'))
,constraint c4 primary
key(sno));
-- 去掉student表中對性別的限制
alter
table student drop
constraint c3;
-- 修改student表中的約束條件, 年齡由小於30改為小於25
alter
table student drop
constraint c2;
alter
table student add
constraint c2 check
(sage <25)
;
調查使用者需求
(1)資訊要求. 指使用者需要從資料庫中獲得資訊的內容和性質
(2)處理要求. 指使用者要完成的資料處理功能, 對處理效能的要求
(3)安全性和完整性要求
e-r圖:
作為屬性, 不能再具有需要描述的性質
屬性不能與其他實體具有聯絡
資料庫學習筆記(一)
結構化查詢語言sql,是操作和檢索關係型資料庫的標準語言 一,結構化查詢語言分類 1 資料查詢語言 dql data query language 主要包括select,用於從表中檢索資料 2 資料操作語言 dml data manipulation language 主要包括insert,upda...
資料庫學習筆記 一
域 域是一組具有相同資料型別的值的集合。乙個域允許的不同取值稱為這個域的基數。笛卡爾積 d1 d2 d3 dn 的子集叫做在域上的關係,表示為r。關係中每個元素是關係中的元組,通常用 t 表示。若關係中的某一屬性的值能唯一的標識乙個元組,而其子集不能,則稱該屬性組為候選碼。若乙個關係中有多個候選碼,...
Mysql資料庫學習筆記 一
啟動服務 net start mysql57 終止服務 net stop mysql57 命令列登入mysql管理系統mysql h 127.0.0.1 u root p 環境變數 修改提示符 prompt u h d 提示符改為 root 127.0.0.1 none 書寫規範 關鍵字和函式名大寫...