資料庫系統理論(四)

關聯式資料庫

定義
由兩個或兩個以上的資料表組合而成,而資料表之間是透過相同的欄位值(即「外鍵」參考「主鍵」)來連結,以這種方式來存放資料的資料庫,在電腦術語中,稱為「關聯式資料庫(Relation Database)」。
作法
將各種資料依照性質的不同(如:學籍資料、選課資料、課程資料、學習歷程資料等....),分別存放在幾個不同的表格中,表格與表格之間的關係,則是以公同的欄位值(如:「學號」欄位....)相互連結。
目的:
1.節省重複輸入的時間與儲存空間。
2.確保異動資料(新增、修改、刪除)時的一致性及完整性。
優點
1.節省記憶體空間:相同的資料紀錄不需要再重複輸入。
2.提高行政效率:因為資料不須再重複輸入,固可以節省行政人員的輸入時間。
3.達到資料的一致性:因為資料不須再重複輸入,固可以減少多次輸入產生人為的錯誤。

差集(Difference)
定義
是指關聯表R「差集」關聯表S之後的結果,則為關聯表R減掉RS兩關聯表共同的值組。
關聯式代數: R-S
範例:
若A={1,2,3,4},B={3,4,5,6},則A-B=?
A-B = {1,2}


合併(Join)
定義
是指將兩關聯表R與S依合併條件合併成一個新的關聯表R3,假設P為合併條件,以R[X]pS表示此合併運算。
作法
從兩關聯表的「卡式積」中選取屬性滿足一定條件的值組。
關聯式代數:R[X]pS
合併(Join)有三種型態
1.自然合併(Natural Join);又稱為內部合併(Inner Join)。
2.θ-合併(Theta Join)
3.對等合併(Equi-Join):是θ-合併的特例。

自然合併(Natural Join)
定義:自然合併(Natural Join)又稱為內部合併(Inner Join),它必須在左右兩邊的關聯表中找到對應值才行。而外部合併(Outer Join)則無此規定。一般的結合(Join)都屬於此種方法。

θ-合併(Theta Join)
定義:以「等於」以外的條件為基礎來合併兩個關聯的運算。
語法:(A X B) WHERE A.X θ B.Y
其中,A、B為無關聯屬性的關聯,A具有屬性X,而B具有屬性Y。
注意:相同名稱的欄位會同時出現在運算結果的表格中。亦即重複欄位,會出現兩次。

外部合併(Outer Join)
定義:當在進行合併(Join)時,不管紀錄是否符合條件,都會被列出其中一個資料表的所有紀錄時,則稱為「外部合併」。因此,其合併結果中會保留一個關聯(Left Outer-Join)或保留第二個關聯(Right Outer-Join),或保留兩個關聯(Full Outer-Join)中的所有值組。

作法:進行合併(Join)時,如果不符合條件的紀錄就會被預設為NULL值。即左右兩邊的關聯表,不一定要有對應值組。

使用時機:應用在異質性分散式資料庫上的整合運算,其好處是不會遺漏資訊。

電腦書的截圖
Step1.用Gaze抓圖:點右邊小圈圈->選圖片的小Icon->點選分享->藍芽
Step2.電腦接受圖:進入藍芽設定->接收檔案
Step3.上傳圖片時要選擇完整大小、50%

資料庫系統理論(三)

重要觀念

1.資料庫(DB):是由一群相關資料的集合體。
2.資料庫管理系統(DBMS):管理這些資料庫檔案的軟體(如:Access)。
3.資料庫系統(DBS)=資料庫(DB)+資料庫管理系統(DBMS)。

資料庫管理系統的功能

1.資料的定義(Data Define)
2.資料的操作(Data Manipulation)
3.重複性的控制(Redundancy Control)
4.表示資料之間的複雜關係(Multi-Relationship)
5.實施完整性限制(Integrity Constraint)
6.提供「備份」與「回復」的能力(Backup and Restore)
一、資料的定義(Data Define)
是指提供DBA建立「欄位名稱」、「資料類型」、及相關的「限制條件」。
二、資料的操作(Data Manipulation)
是指提供使用者方便的存取資料。因此,它提供了四個功能,分別為:
1.新增(INSERT)
2.修改(UPDATE)
3.刪除(DELETE)
4.查詢(SELECT)
三、重複性的控制(Redundancy Control)
主要是為了達成「資料的一致性」及「節省儲存空間」。
四、表示資料之間的複雜關係(Multi-Relationship)
是指DBMS必須要有能力來表示資料之間的複雜關係,基本上,有三種不同的關係,分別為:
1.一對一
2.一對多
3.多對多
五、實施完整性限制(Integrity Constraint)
是指用來規範關聯表中的資料在經過新增、修改即刪除之後,將錯誤或不合法的資料值存入「資料庫」中。
六、提供「備份」與「回復」的能力(Backup and Restore)
是指讓使用者能方便的「備份」或轉移資料庫內的資料,以防在系統毀損時,還能將資料「還原」回去,減少損失。

資料庫系統理論(二)

結構化程式設計

定義:是指將一個「大系統」分解成許多具有「獨立功能」的「小模組」。

優點:
1.程式容易閱讀。
2.減少程式維護的成本。
3.減少程式邏輯的錯誤。
4.提高程式的生產力。
5.降低程式的複雜性及測試時間。
缺點:
1.程式比較多,故比較佔記憶體空間。
2.程式比較多,固執行速度比較慢。

結構化程式必須遵守的原則

1.每一個結構只能有一個入口及出口。
2.少用goto的指令
3.採用「由上而下」的觀念設計程式。

前測試迴圈

定義:先判斷條件式,再執行迴圈。
作法:「執行前」先檢查是否符合條件式,若符合,則執行迴圈;若不符合,則跳出迴圈。
語法:
while (條件式)
{
敘述區塊;
}
實例:
想到公園跑步。
假設我們想到公園跑步,則在我們出門時,一定會先判斷「是否有颳風下雨」,如果是的話,就會「待在家中....」繼續等待,直到沒有颳風下雨為止。


後測試迴圈

定義:先執行迴圈,再判斷條件式
作法:「判斷前」會先執行一次之後,再執行條件式判斷,不符合則跳出迴圈,但至少會執行一次迴圈。
語法:
do
{
敘述區塊;
}
while (條件式);
實例:
假設我們已經在公園跑步了一段時間,如果「沒有遇到颳風下雨」,則繼續「跑步....」。直到「颳風下雨」才停止跑步。

break語法的迴圈情況


contine語法的迴圈情況