国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【Oracle數據庫】關系型數據庫的基本理論

2019-11-08 20:32:59
字體:
來源:轉載
供稿:網友

關系型數據庫

關系模型

在關系數據模型中,關系可以看成由行和列交叉組成的二維表格,每個表有多個字段列和記錄行記錄行:也稱為元組,可以用來標識實體集中的一個實體表中任意兩行(元組)不能相同字段列:也稱為屬性每一列都有一個名稱即為屬性名,表中的屬性名不能相同列的取值范圍稱為域,同列具有相同的域,不同的列也可以有相同的域能唯一標識表中不同行的屬性或屬性組稱為主鍵或復合主鍵嚴格地說,關系是一種規范化的二維表格屬性值具有原子性,不可分解沒有重復的行理論上沒有行序,但是有時使用時可以有行序

關系型數據庫

關鍵碼通常是行的一個或幾個列,簡稱為鍵唯一鍵:由一個列組成的鍵(注意與唯一約束的區別)復合鍵:由多個列組成的鍵鍵的主要類型超鍵:在一個關系中,能唯一標識元組的屬性或屬性集稱為關系的超鍵候選鍵:如果一個屬性集能唯一標識元組,且又不含有多余的屬性,那么這個屬性集稱為關系的候選鍵關于“多余的屬性”的定義可以通過下面這道題來理解:
有一個學生信息表如下所示,在該表中不能作為候選鍵的屬性集合為(B)(單選)
學號姓名性別年齡系別專業
20020612李輝20計算機軟件開發
20060613張明18計算機軟件開發
20060614王小玉19物理力學
20060615李淑華17生物動物學
20060616趙靜21化學食品化學
20060617趙靜20生物植物學
A.{學號} B.{學號、姓名} C.{年齡、系別} D.{姓名、性別} E.{姓名、專業}
分析:題中六個屬性只有學號的屬性值不重復,即屬性學號可以作為候選鍵,此時,B選項中,屬性姓名就成為了多余的屬性,所以,答案為B主鍵:如果一個關系中有多個候選鍵,則選擇其中的一個鍵作為關系的主鍵外鍵:如果一個關系R中包含另一個關系A的主鍵所對應的屬性組T,則稱此屬性組T為關系R的外鍵,并稱關系A為參照關系,關系R為依賴關系主鍵與外鍵的列名稱可以不同,但它們的值集必須相同

關系型數據庫的E-R模型

關系型數據庫的邏輯模型是通過實體和關系組成的E-R圖來表示的E-R模型一個標準的E-R模型主要由實體、屬性和聯系三部分組成實體和屬性:實體是一個數據對象,指客觀存在并可以相互區分的事物每個實體由一組屬性來表示具有相同屬性的實體組合在一起構成實體集,而實體則是實體集中的某一個特例聯系:一對一:若對于實體集A中的每一個實體,在實體集B中最多有一個實體與之相關,反之亦然,則稱實體集A與實體集B具有一對一的聯系一對多:若對于實體集A中的每一個實體,在實體集B中有多個實體與之相關;反之,對于實體集B中的每一個實體,實體集A中最多有一個實體與之相關,則稱實體集A與實體集B具有一對多的聯系多對多:若對于實體集A中的每一個實體,在實體集B中有多個實體與之相關;反之,對于實體集B中的每一個實體,實體集A中也有多個實體與之相關,則稱實體集A與實體集B具有多對多的聯系E-R圖的內容:矩形框:表示實體,在框中注明實體名菱形框:表示聯系,在框中注明聯系名橢圓形框:表示實體或聯系的屬性,在框中注明屬性名連線:實體與屬性之間、實體與聯系之間、聯系與屬性之間用直線相連,并在直線上標注聯系的類型對于一對一聯系,要在兩個實體連線方向各寫1對于一對多聯系,要在一的一方寫1,多的一方寫N對于多對多關系,則要在兩個實體連線方向各寫N、M

關系型數據庫的設計范式

在關系型數據庫中的每個關系都需要進行規范化,從而提高數據的結構化、共享化、一致性和可操作性規范化是把數據庫組織成在保持存儲數據完整的同時,最小化冗余數據的結構的過程規范化的數據庫必須符合關系模型的范式規則,范式可以防止在使用數據庫時出現不一致的數據,并防止數據丟失

第一范式(1NF)

第一范式是第二和第三范式的基礎,是最基本的范式第一范式要求:數據組的每個屬性只可以包含一個值關系中的每個數組必須包含相同數量的值關系中的每個數組一定不能相同
不符合第一范式的學生信息表
學號姓名性別年齡班級
20020612李輝20軟件開發3班
符合第一范式的學生信息表
學號姓名性別年齡系別班級
20020612李輝20軟件開發3班
在任何一個關系數據庫中,第一范式是對關系模型的基本要求,不滿足第一范式的數據庫就不是關系型數據庫

第二范式(2NF)

滿足第二范式必須先滿足第一范式第二范式要求:數據表中的每個實體必須可以被唯一地區分,設置主關鍵字(主鍵)作為區分列實體的屬性完全依賴于主關鍵字
不符合第二范式的選課關系表
學號課程號成績學分
關鍵字為組合關鍵字{學號,課程號}在應用中使用以上關系模式有以下問題:數據冗余:假設同一門課由40個學生選修,學分就要重復40次更新異常:若調整了某課程的學分,元組相應的學分值都要更新,有可能會因為疏漏出現同一門課學分不同插入異常:如計劃開新課,有可能因為沒人選修,沒有學號關鍵字,使得無法錄入課程和學分信息刪除異常:若學生已經結業,從當前數據庫刪除選修記錄,有可能因為某些課程無人選修而無法保存課程和學分信息造成如上問題的原因:非關鍵字屬性學分僅函數依賴于課程號,也就是學分不是完全依賴組合關鍵字{學號,課程號}符合第二范式的選課關系表
學號課程號成績
學號學分

第三范式(3NF)

滿足第三范式必須先滿足第二范式第三范式要求:關系表不存在非關鍵字列對任意候選關鍵字列的傳遞函數依賴
不符合第三范式的員工信息表
empnoenamedeptnodnameloc
其中empno→(決定){deptno}→(決定){dname,loc}不符合第三范式符合第三范式的員工信息表
empnoenamedeptno
deptnodnameloc
傳遞函數依賴:如果存在關鍵字段A決定非關鍵字段B,而非關鍵字段B決定非關鍵字段C,則稱非關鍵字段C傳遞函數依賴于關鍵字段A
上一篇:centos7下安裝mysql5.7

下一篇:SQL 常見問題

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 福建省| 乾安县| 连南| 大荔县| 牡丹江市| 耒阳市| 肇东市| 那曲县| 南充市| 扬中市| 西畴县| 毕节市| 黄大仙区| 会宁县| 姜堰市| 交口县| 兰坪| 衡南县| 基隆市| 兴国县| 澳门| 苗栗县| 成都市| 厦门市| 梅州市| 永吉县| 鄢陵县| 方城县| 怀化市| 古丈县| 绥阳县| 禄丰县| 岳阳县| 太仓市| 莎车县| 神农架林区| 理塘县| 华亭县| 正镶白旗| 崇义县| 大连市|