一、數據庫規定主鍵值不能重用的目的是什么
1.主鍵值可以重用。
2.在很多已有的系統中,比如各種開源網站、論壇,由于數據庫在設計時,業務與主鍵值耦合了,這種情況下,重用主鍵值會讓系統發生業務錯誤。比如某查詢是以主鍵是否存在來判定查詢結果,重用主鍵會造成誤判。
3.對于自增主鍵,主鍵值也可以重用,但問題是,如何重用?你會發現這非常麻煩。
SQL Server 中的 “自動增長列”(標識列 / identity 列),既然是 “自動增長”,那當然是不能再 “減少” 的了,否則怎么能叫這個名字呢?好吧,說正經的,實現起來比較簡單,只要記錄當時該列中最大的值且加上一個步長(默認為1)就可以了,否則還得花費時間去搜索那個 “空隙”。尤其是在并發的情況下,比較容易保證新插入的記錄中這一列的值是正確的。設置為 “標識列” 的缺點就是,這一列的值只能是整型。另外,只要這一列的值都是整型,那么對于計算機來說占用的存儲空間都是一樣的,并沒有 “浪費資源”。
延伸閱讀:
二、什么是數據庫和數據庫管理系統
數據庫的應用非常廣泛,舉個例子,我們平時在瀏覽器上搜索內容,就要用到數據庫去檢索我們的關鍵字。以前我們可能會用數組、集合、文件等來存儲數據,但是接下來我們就會面臨一個問題,當存儲的數據或內容過多的時候,我們如何去精準的找到我們需要的東西,這時候數據庫管理系統就派上了用場。除此之外,數據庫管理系統還能永久的儲存我們的數據。
為了便于大家理解,這里先給大家講解幾個概念
DB數據庫(database):存儲數據的“倉庫”。它保存了一系列有組織的數據。
DBMS數據庫管理系統(Database Management System):數據庫是通過DBMS創建和操作的容器。