描述數據的主要庫對象
關係數據庫:關係模型數據,事務處理 70年代共享數據的關係模型
IBM公司--層次模型模型數據庫,網狀模型的數據庫---關係模型數據庫—面向對象的數據庫模型
關係數據庫系統 ---採用關係數據庫模型的組織方式
關係模型—數據結構 ,關係的操作集合 關係的完整性的約束
數據結構---是計算機存儲,組織數據的方式
關係數據庫最重要的
實際表示中:
關係:可以有行 和列 組成的二維表
每一列 表示關係的屬性 每列的名字表示一個屬性名 每一行代表物理實體 在所有的數據
若表中的某個屬性|屬性組的取值能夠唯一標識一行記錄。則稱該屬性或屬性組爲 候選鍵
主鍵:zhushuxing
怎麼判斷是否是候選鍵
1、 唯一規則
2、 不可簡化的規則,作爲候選鍵的屬性組合中,某屬性組合的任意子集都不具備唯一性
{SID ,Sname ,Sbirth}屬性組合|{SID} 二者均可獨立表示表中的每一行 ,表現出 惟一性
3、 外鍵:假設X是表A中一個屬性組合,若x同時是列一個表B的主屬性,則稱X是表A關於B的外鍵
關係完整性約束:
實體完整性:不能爲空
參照完整性:
以上兩個必須滿足
用戶定義的完整性
關係與關係模型:
型 關係模型是型 關係是值 關係模式是對關係的描述
應爲 關係 實質上指的就是一個二維表
R(U,D,dom,F) 關係名 該關係的屬性集合 屬性向映射的集合 屬性之間的依賴關係
與值
數據庫的設計:
1、 信息收集
2、 確定數據
3、 建設實體---關係模式
4、 進行規範化
5、 編寫sql語句創建數據庫
實體-----關係模型
E-B 實體 基本對象 屬性
聯繫
E-R
--實體轉化表
----實體間的聯繫 通過外鍵處理
關係數據庫規範化的理論
3NF範式
依賴關係
R(U) x與y都是u的子集,若對於R(U)的任意可能關係r,r中不存在兩行記錄在x上的值相同,而在Y值上不同,稱:x->y y
R(學生 ,學號, 姓名,出生日期,性別,所屬院系,系主任姓名,選修課號 ,成績)
Student(學號,姓名,出生日期,性別,系名稱)
系(系的名稱,系主任)
選修課(課程號,選修課的名稱)
Xx(sid,cid,成績)
3NF範式
如果關係r中每一個關係不是不可再分 就是第一範式 屬性不可分 1nf
1nf à2nf所有的非主屬性都完全依賴與任意候選鍵
3NF範式 表中的每一個屬性不傳遞依賴與任何候選鍵
BCNF範式
Create table demo (id number (8) name varchar2(30));
Rename demo to demo8;
Insert into demo8 values();
清空表:
刪除表:drop table demo8;