第二章:關係模型的基本概念與基本理論
2.1 資料庫的基本概念
··資料庫,資料庫管理系統(dbms - database management system),資料模型(data model)
2.2 關係模型的基本概念
··資料結構:二維表(table/relation),屬性(column/attribute),元組(row/tuple),表頭(table heading),域(domain)
··約束規則(relational rule)
··鍵(key)與超鍵(superkey)
··空值(null value)
2.3 關係模型的基本理論 — 關係代數(relational algebra)
··表/關係在關係代數中的表示
··關係代數中的運算子:
··傳統的集合運算子(並、交、差) & 純粹的關係運算子(投影,選擇,笛卡兒乘積,自然聯接,除法,θ-聯接)
··基本運算(並,差,投影,選擇,笛卡兒乘積) & 擴充運算(交,自然聯接,除法,……)
··難點:減法、除法和表自身的連線運算
··關係代數的應用
ch2 知識點詳解
2.1 資料庫的基本概念
資料庫:為乙個共同的目的而儲存起來的所有資料的集合。
資料庫管理系統:dbms,是一套電腦程式,它把企業的資料以記錄的形式儲存在計算機中。
資料模型:data model,是一套描述如何將現實世界的資料在概念上用電子資訊表示的定義,它還表示為用來操作這些資料的一類操作。
幾種資料模型:
hierarchical data model/層次資料模型(樹)
network data model/網狀資料模型(圖)
relational model/關係模型(表)
object-relational model/物件關係模型 (不受第一正規化規則約束的關係模型、表中元素可以是集合)。
2.2 關係模型的基本概念
資料結構:
表/關係(table/relation):file of records。表是以行和列的形式組織起來的資料的集合(wiki)。
列/屬性(column/attribute):field names of records。
行/元組(row/tuple):records of a file。
表頭/模式(table heading/schema):列名的集合。
域(domain):可以被用作表的屬性值的常數的集合。
約束規則(relationarule):
rule 1. 第一正規化規則:在定義的表中,關係模型堅持不允許含有多值屬性和含有內部結構的列。
rule 2. 只能基於內容取行規則:只可以通過行的內容,即每一行中所存在的屬性值來檢索列。
rule 3. 行唯一性原則:關係中的任何兩個元組的值在同一時刻不能是完全相同的。
rule 4. 實體完整性規則:表t中的任意行在主鍵列的取值都不允許為空值。
超鍵(superkey):表的任意兩行資料在該列的集合上都有唯一的值,類似於線性代數中向量組的乙個「代表」,且該向量組中的向量不需要是線性無關的。
鍵(key):組成鍵的列集合中再也沒有子集也是表的超鍵。亦即不含有多餘屬性的超鍵。類似於線代中向量組的乙個極大無關組。
候選鍵(candidate key):關係的所有鍵。亦即不含有多餘屬性的超鍵的集合。類似於線代中向量組的全部極大無關組。
主鍵(primary key):被資料庫設計者選擇出來作為表中特定行的唯一性識別符號的某乙個候選鍵。
空值(null value):未知的或尚未定義的值。(計算平均值時被剔除)
2.3 關係模型的基本理論——關係代數(relational algebra)
表/關係在關係代數中的表示
關係代數中的運算子難點:減法、除法和表自身的連線運算
關係代數的應用
資料庫知識點整理
一 資料庫三正規化 第一正規化 確保每列保持原子性 即所有字段值都是不可分解的原子值。需要根據實際情況劃分,比如 位址 可以當作,如果經常關注位址中的城市部分,就要把位址拆成省份,城市,詳細位址多個字段。列不能再分 第二正規化 確保表中的每列都和主鍵相關 即需要確保資料庫表中每一列都和主鍵相關,而不...
oracle資料庫知識點整理
1 行列轉換 2 一條sql語句取出整個樹形結構 pid 0 是根節點的資料,id 主鍵,pid父id select from rc area start with pid 0 connect by prior id pid 3 number p,s 有效數字和精度 number p,s p 1 3...
資料庫SQL面試知識點整理
一 什麼是儲存過程?有哪些優缺點?儲存過程是一些預編譯的sql語句。更加直白的理解 儲存過程可以說是乙個記錄集,它是由一些t sql語句組成的 塊,這些t sql語句 像乙個方法一樣實現一些功能 對單錶或多表的增刪改查 然後再給這個 塊取乙個名字,在用到這個功能的時候呼叫他就行了。儲存過程是乙個預編...