2013年11月14日 星期四

表格的分割

表格的分割基本上有兩種方法:
1.水平方向
   以記錄為單位對表格進行分割

2.垂直方向
   以表格屬性為單位對表格進行分割

分散式資料庫

分散式資料庫的特性

透通性(transparency)
    (1.)對位置的通透性(Location Transparency):
              在分散式資料庫系統中,資料庫在實體上是以分散的方式配置,期間則透過通訊網路               互相連連接。不論資料庫放在什麼地方,被分割成多少份,用戶在使用資料的時候,               並不會意識到這種分散的情形,這一功能就叫對資料庫位置的通透性(Location                             Transparency)
     
              可以說是一種靜態通透性,是由各資料庫地點上表格的配置決定的

    (2.)對移動的通透性(Migration Transparency):
             為了使用的方便和提高性能,有時要改變表格的存放地點,例如將某資料移動到對其                需求度較高的,這一功能就叫對地區移動的通透性(Migration Transparency)

             是一種對位置的動態的通透性,是與資料庫地點上表格的配置決定相伴而生的。

    (3.)對分割的通透性(Fragmentation  Transparency):
             在分散式資料庫系統中,我們有時必須將二維表格予以分割,並存放到多個資料庫地                點上。用戶在利用這張表格的時候並未意識到它是分散的,這一功能就叫對分割的通                透性(Fragmentation  Transparency)

   (4.)對重覆的通透性(Replication Transparency):
            在分散式資料庫系統中,儘管一個表格可能會重覆存放在多個資料庫地點,但使用者               在檢索和更新時卻不必考慮到這種重覆的存在,也就是說,對使用者而言,資料仍舊               只有一份。這一功能就叫作對重覆的通透性(Replication Transparency)

資料備份-資料庫的備份

備份資料庫就是建立資料庫的複本,如同替資料庫照像,稱為「影像複本」(Image Copies)。資料庫備份的方式共兩種,如下:

完整影像複本備份(Full Image Copy Backup):完整影像複本備份是建立特定時間點(備份時間點)資料庫內容的完整資料複本。

遞增影像複本備份(Incremental Image Copy Backup):也稱為「差異備份」(Differential Backup),這種備份只備份上次完整或遞增影像複本備份之後,交易更新部分的資料。

資料庫管理系統_“鎖定法”(Locking)

1.並行控制的處理方式之一

2.廣被使用的一種並行控制技術

3.防止多個使用者同時對資料庫作修改,並防止使用者讀取被其他使用者變更的資料,確保交易與資料的邏輯完整性。

4.利用鎖定法可能會發生「死結」
    ->解決死結辦法:兩階段鎖定法(2PL)

定義
鎖定法(Locking並行控制最常見的處理方法,當交易A執行讀取(Read)或寫入(Write資料庫單元操作時,會先將資料鎖定(Lock,此時,若交易B同時存取相同資料,因為資料已經被鎖定,所以交易B需要等待,直到交易A解除資料鎖定(Unlock)。

目的確保交易和資料的邏輯完整性

SQL Server資料庫管理系統中,使用「鎖定」物件來防止多個使用者同時對資料庫作修改,並防止使用者讀取被其他使用者變更的資料。鎖定有助於確保交易與資料的邏輯完整性。

交易系統


在交易的領域中,「roll back」指的是將交易中到錯誤發生前已經完成的動作全部取消,並將系統與資料的狀態回復到執行交易之前的狀態。

在本章中,有時我會依文句語意的通暢,將「roll back」翻譯成「回復」或保留其原文。

2013年11月13日 星期三

order by desc asc

由小往大 (ascending) 
由大往小 (descending)
可以運用ORDER BY 這個指令來達到我們的目的

ORDER BY 的語法如下:

SELECT "欄位名"
FROM "表格名"
[WHERE "條件"]
ORDER BY "欄位名" [ASC, DESC];

[] 代表 WHERE 子句不是一定需要的。 不過,如果 WHERE 子句存在的話,它是在 ORDER BY 子句之前。

ASC 代表結果會以由小往大的順序列出
DESC 代表結果會以由大往小的順序列出

如果兩者皆沒有被寫出的話,那我們就會用 ASC

我們可以照好幾個不同的欄位來排順序。在這個情況下, ORDER BY 子句的語法如下(假設有兩個欄位):
ORDER BY "欄位一" [ASC, DESC], "欄位二" [ASC, DESC]

若我們對這兩個欄位都選擇由小往大的話,那這個子句就會造成結果是依據 "欄位一" 由小往大排。 若有好幾筆資料 "欄位一" 的值相等,那這幾筆資料就依據 "欄位二" 由小往大排。

資料庫--資料異動四原則(ACID)

你必須遵守下晚四個原則才能成功執行異動,記住它們的祕訣就是第一個英文字母的縮寫字ACID:

1.不可部分完成性(Atomicity):
異動若非全部獲得認可,就是全部失敗。

2.一致性(Consistency):
在異動開始和完成之後,資料庫皆必須維持合法的狀態。合法的狀態是指必須正確遵守資料庫所強制的規則。例如,如果將資料庫設定為不允許外部索引鍵參照不存在的資料列,那麼異動的結果將不能產生此狀況。

3.隔離性(Isolation):
在異動執行期間,不允許查詢此暫時性的資料。只有當異動獲得認可之後才能看到變更。

4.耐久性(Durability):
當異動獲得認可之後,資料庫不可還原到執行異動之前的狀態。列如,不可立刻移除剛加入的資料,同時被移除的資料也不會突然出現。