關聯式資料庫
2.1 關係資料結構及形式化定義
2.1.1 關係
1. 域(domain)
域是一組具有相同資料型別的值的集合。例:
整數實數
介於某個取值範圍的整數
指定長度的字串集合
……………..
2. 笛卡爾積(cartesian product)
(1)笛卡爾積
給定一組域d1,d2,…,dn,允許其中某些域是相同的。
d1,d2,…,dn的笛卡爾積為:
d1×d2×…×dn =
{(d1,d2,…,dn)|didi,i=1,2,…,n}
所有域的所有取值的乙個組合
不能重複
(2)元組(tuple)
笛卡爾積中每乙個元素(d1,d2,…,dn)叫作乙個n元組(n-tuple)或簡稱元組
(張清玫,計算機專業,李勇)、
(張清玫,計算機專業,劉晨) 等 都是元組
(3)分量(component)
(4)笛卡爾積元素(d1,d2,…,dn)中的每乙個值di 叫作乙個分量
張清玫、計算機專業、李勇、劉晨等都是分量
基數(cardinal number)
若di(i=1,2,…,n)為有限集,其基數為mi(i=1,2,…,n),則d1×d2×…×dn的基數m為:
(5)笛卡爾積的表示方法
笛卡爾積可表示為一張二維表
表中的每行對應乙個元組,表中的每列對應乙個域
3. 關係(relation)
(1) 關係
d1×d2×…×dn的子集叫作在域d1,d2,…,dn上的
關係,表示為
r(d1,d2,…,dn)
r:關係名
n:關係的目或度(degree)
(2)元組
關係中的每個元素是關係中的元組,通常用t表示。
(3)單元關係與二元關係
當n=1時,稱該關係為單元關係(unary relation)
或一元關係
當n=2時,稱該關係為二元關係(binary relation)
(4)關係的表示
關係也是乙個二維表,表的每行對應乙個元組,表的每
列對應乙個域
(5)屬性
關係中不同列可以對應相同的域
為了加以區分,必須對每列起乙個名字,稱為屬性(attribute)
n目關係必有n個屬性
(6)碼
候選碼(candidate key)
若關係中的某一屬性組的值能唯一地標識乙個元組,則稱該屬性組為候選碼
簡單的情況:候選碼只包含乙個屬性
全碼(all-key)
最極端的情況:關係模式的所有屬性組是這個關係模式的候選碼,稱為全碼(all-key)
主碼若乙個關係有多個候選碼,則選定其中乙個為主碼(primary key)
主屬性候選碼的諸屬性稱為主屬性(prime attribute)
不包含在任何侯選碼中的屬性稱為非主屬性(non-prime attribute)或非碼屬性(non-key attribute)
(7)三類關係
基本關係(基本表或基表)
實際存在的表,是實際儲存資料的邏輯表示
查詢表查詢結果對應的表
檢視表由基本表或其他檢視表匯出的表,是虛表,不對
應實際儲存的資料
(8)基本關係的性質
① 列是同質的(homogeneous)
② 不同的列可出自同乙個域
其中的每一列稱為乙個屬性
不同的屬性要給予不同的屬性名
③ 列的順序無所謂,,列的次序可以任意交換
④ 任意兩個元組的候選碼不能相同
⑤ 行的順序無所謂,行的次序可以任意交換
2.1.2 關係模式
1.什麼是關係模式
(1)關係模式(relation schema)是型
(2)關係是值
(3)關係模式是對關係的描述
元組集合的結構
屬性構成
屬性來自的域
屬性與域之間的映象關係
完整性約束條件
2.定義關係模式
關係模式可以形式化地表示為:
r(u,d,dom,f)
r 關係名
u 組成該關係的屬性名集合
d u中屬性所來自的域
dom 屬性向域的映象集合
f 屬性間資料的依賴關係的集合
關係模式通常可以簡記為
r (u) 或 r (a1,a2,…,an)
r: 關係名
a1,a2,…,an : 屬性名
注:網域名稱及屬性向域的映象常常直接說明為
屬性的型別、長度
3. 關係模式與關係
(1)關係模式
對關係的描述
靜態的、穩定的
(2)關係
關係模式在某一時刻的狀態或內容
動態的、隨時間不斷變化的
(3)關係模式和關係往往籠統稱為關係
通過上下文加以區別
2.1.3 關聯式資料庫
(1)關聯式資料庫
在乙個給定的應用領域中,所有關係的集合構成乙個關聯式資料庫
(2)關聯式資料庫的型與值
關聯式資料庫的型: 關聯式資料庫模式,是對關聯式資料庫的描述
關聯式資料庫的值: 關係模式在某一時刻對應的關係的集合,通常稱為關聯式資料庫
2.1.4 關係模型的儲存結構
關聯式資料庫的物理組織
有的關聯式資料庫管理系統中乙個表對應乙個作業系統檔案,將物理資料組織交給作業系統完成
有的關聯式資料庫管理系統從作業系統那裡申請若干個大的檔案,自己劃分檔案空間,組織表、索引等儲存結構,並進行儲存管理
2.2關係操作
2.2.1 基本的關係操作
(1)常用的關係操作
查詢操作:選擇、投影、連線、除、並、差、交、笛卡爾積
選擇、投影、並、差、笛卡爾基是5種基本操作
資料更新:插入、刪除、修改
(2)關係操作的特點
集合操作方式:操作的物件和結果都是集合,一次一集合的方式
2.2.2 關聯式資料庫語言的分類
(1)關係代數語言
用對關係的運算來表達查詢要求
代表:isbl
(2)關係演算語言:用謂詞來表達查詢要求
元組關係演算語言
謂詞變元的基本物件是元組變數
代表:aplha, quel
域關係演算語言
謂詞變元的基本物件是域變數
代表:qbe
(3)具有關係代數和關係演算雙重特點的語言
代表:sql(structured query language)
2.3關係的完整性
2.3.1 實體完整性
(1)規則2.1 實體完整性規則(entity integrity)
若屬性a是基本關係r的主屬性,則屬性a不能取空值
空值就是「不知道」或「不存在」或「無意義」的值
例:選修(學號,課程號,成績)
「學號、課程號」為主碼
「學號」和「課程號」兩個屬性都不能取空值
(2)實體完整性規則的說明
(1)實體完整性規則是針對基本關係而言的。
乙個基本表通常對應現實世界的乙個實體集。
(2)現實世界中的實體是可區分的,即它們具有某種唯
一性標識。
(3)關係模型中以主碼作為唯一性標識。
(4)主碼中的屬性即主屬性不能取空值。
主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,這與第(2)點相矛盾,因此這個規則稱為實體完整性
2.外碼(foreign key)
(1)設f是基本關係r的乙個或一組屬性,但不是關係r的碼。如果f與基本關係s的主碼ks相對應,則稱f是r的外碼
(2)基本關係r稱為參照關係(referencing relation)
(3)基本關係s稱為被參照關係(referenced relation)
或目標關係(target relation)
(4)關係r和s不一定是不同的關係
(5)目標關係s的主碼ks 和參照關係的外碼f必須定義在同乙個(或一組)域上
(6)外碼並不一定要與相應的主碼同名
當外碼與相應的主碼屬於不同關係時,往往取相同的名 字,以便於識別
2.4 關係代數
資料庫總結(二)
總結一下最近資料庫學到的語句 sqlcmd s lx use 學生成績管理系統 資料庫基本語句 select from 班級資訊 go可以執行任何txtsql語句 exit 退出 sqlcmd 資料庫內輸入sp helpdb 可以檢視所有資料庫狀態 修改 alter database 學校教務管理系...
資料庫故障總結 二
資料庫故障總結 二 安裝故障01 oracle 安裝時出現 ora 12638 身份檢索失敗的解決辦法。在機器上安裝oracle 服務端,安裝過程中出現身份證明檢索失敗,安裝失敗。sqlnet.authentication services nts 是用來做身份證明檢索的。只需要對這句進行修改就能避...
資料庫總結二索引
非聚集索引 非聚集索引的資料儲存在乙個位置,索引儲存在另乙個位置索引帶有指標指向資料儲存位置,索引中的專案按索引值的順序儲存,而表中資訊按另一種順序儲存。非聚集索引與聚集索引具有相同的b tree 結構,但兩個有重大區別 資料行不按非聚集索引鍵的順序排序和儲存 非聚集索引的葉層不包含資料頁,相反,葉...