關系數據庫
-
關系數據庫應用數學方法處理數據庫中的數據。
-
關系數據庫系統是支持關系模型的數據庫。
-
關系數據結構以及形式化定義
-
關系:關系模型的數據結構非常的簡單。關系模型中數據的邏輯結構就是一張扁平的二維表。
-
這里從集合論的角度給出關系數據結構的形式化定義。
-
域(domain):域是一組具有相同數據類型的值得集合。例如:{0,1},{男,女},大於等於0且小於等於100的正整數等等。
-
笛卡爾積:首先舉個例子:給出三個域:D1=老師集合={張三,李四}
D2=專業集合={計算機科學與技術,電子信息工程}
D3=學生集合={A,B}
則D1,D2,D3的笛卡爾積為D1XD2XD3= {
(張三,計算機科學與技術,A),(張三,電子信息工程,A),
(張三,計算機科學與技術,B),(張三,電子信息工程,B),
(李四,計算機科學與技術,A),(李四,計算機科學與技術,B),
(李四,電子信息工程,A), (李四,電子信息工程,B)
}
其中,(張三,計算機科學與技術,A),(張三,電子信息工程,A)等每一個笛卡爾積中的元素稱之為元組,每一個元組中的元素稱之為分量,例如元組(張三,計算機科學與技術,A)中分量有
張三,計算機科學與技術,A。
-
笛卡爾積的基數就是集合里數目的乘積,也就是說共有多少個元組,例如上面笛卡爾積的基數就是2X2X2=8。這8個元組其實就構成了一張二維數據表。
-
-
關系:D1XD2XD3......XDn的子集叫做在域D1,D2,D3...,Dn上的關系,表示為R(D1,D2,D3...Dn)
概念很抽象,舉個例子,上個表中關系就是R(老師,專業,學生),然后給R隨便取個名字,叫做SAP,於是這個關系可以表示為SAP(老師,專業,學生)。總結一下就是:關系名(屬性名2,屬性名2,屬性名3,....,屬性名n)其中呢,每一個屬性名都可以稱之為候選碼,但是,如果在這里面的所有候選碼中,如果能找到一個候選碼能夠唯一,數據不重復,就可以當做主碼。至於主碼,后面詳細的說.
- 基本關系的6大性質
- 每一列是同質的,也就是屬性相同的。
- 不同的列可以來自於同一個域,其中的每一個列稱之為屬性,不同的屬性列要給他們不同的屬性名。
- 屬性列的順序無所謂,也就是屬性列的位置可以任意交換。
- 行的順訊無所謂。即每一行與其他行不論怎么交換都是可以的。
- 每一個分量必須取原子值,也就是每一個值必須是不可分割的數據項。
- 任意兩個元組的候選碼不能取相同的值。
-
-
關系模式:關系的描述稱之為關系模式,它可以表示為R(U,D,DOM,F)
其中R為關系名,U為組成該關系的屬性名集合,D為U中屬性所來自的域,DOM為屬性向域的映像集合,F為屬性間數據的依賴關系的集合。