概念
DMS:數據庫、硬件、軟件、人員組成
DBMS:關係數據庫系統、面向對象數據庫系統、對象關係數據庫系統。
數據庫系統體系結構
集中式數據庫系統(數據,軟件,訪問都集中在同一地方)
客戶端/服務器數據庫系統(前端顯示,後端存儲處理)
並行數據庫系統(多個物理上在一起的CPU)
分佈式數據庫系統(多個地理上分開的CPU)
數據模型
數據模型按不同的應用層次(概念數據模型,基本數據模型)
概念數據模型:對數據和信息建模,強調語義表達功能
基本數據模型:計算機系統觀點,對數據建模,用於DBMS實現。
概念: E-R模型
□ 實體 ○屬性 ◇聯繫
基本:層次模型、網狀模型、關係模型(描述了在數據庫中結構化和操縱數據的方法)
ER模型轉換爲關係模式
1:1 一張表
1:N 可一張 、可二張
N:M 另生成一張
數據庫規範化
超鍵:關係模式中能唯一標識元祖的屬性集
候選鍵:能唯一標識元祖並且不含多餘屬性的屬性集 就像候選人
主鍵:隨意一個候選鍵(被選中的候選鍵) 就像總統
外鍵:略
函數依賴:有重複列依賴於唯一性字段列
第一範式:每一個列,不能再分割成多個列
第二範式:屬性 完全依賴 於主鍵 (單關鍵字沒有部分依賴,至少第二範式)
第三範式:滿足第二範式 ,某些數據元素不依賴其他非主屬性
倉庫號,省份,倉庫面積,城市
倉庫號,面積,城市------省,城市
模式分解
無損連接分解:關係模式拆分完之後還能還原
何爲分解:成績表(學號、姓名、課程號、課程名、分數)
成績表(學號、課程號、分數)
學生(學號、姓名)
課程(課程號、課程名)
多對多關係模式表拆分成多張表
關係代數與元組演算
關係數據語言的分類
關係代數語言 關係演算語言 結構化查詢語言
關係代數是一門抽象的查詢語言,它用對關係的運算來表達查詢。
並(union):2表屬性相同,去重後並一張
差(Difference):R-S,在R裏面但不在S裏面的記錄集合
笛卡爾積(Cartesian product):S1與S2所有的組合 S1*S2
投影(Projection):列投影,選擇需要的列
選擇(Selection):按記錄篩選數據
交(Intersction):二個集合的公共部分
聯接(Join):通過共同屬性聯接兩個表(笛卡爾積,篩選出屬性C相同的字段,去掉重複的列)
除法(Division):R與S公共列,在R中尋找相同值,且滿足R中除公共列外其餘列記錄相等。結果去重
元組關係演算
以元組變量作爲謂詞變元的基本對象
元組關係演算語言ALPHA
SQL(Structured Query language)
功能:
數據定義
數據管理
數據查詢
過程化語言 從低到高一步一步寫
非過程化語言 無需關注底層,直接再高層操作
CHECK語句用於限制列中的值的範圍
create view viewname as *** [with check option]
with check option 修改和插入操作時候,保證視圖顯示條件
create index on table(column) asc
升序排列,含空值顯示在最後面。
having:對每一個組的限制
where:對每一條記錄的條件限制
嵌套查詢:select from where(select from table)
轉義
select * from dept where loc like '%e%%' escape 'e';
學習筆記