數據庫系統學習一

學習書《數據庫系統教程》第三版 做者:施伯樂數據庫

一、什麼是索引?數據庫設計

       a、在關係數據庫中,索引是表或視圖在數據庫中的一種結構,他可使對應的表的SQL語句執行更快。索引的做用至關於圖書的目錄,能夠根據目錄中的頁碼快速找到所需的內容。當表中有大量記錄時,若要對錶進行查詢,第一種搜索信息方式是全表搜索,是將全部記錄一一取出,和查詢條件進行一一對比,而後返回知足條件的記錄,這樣作會消耗大量數據庫系統時間,並形成大量磁盤I/O操做;第二種就是在表中創建索引,而後在索引中找到符合查詢條件的索引值,最後經過保存在索引中的ROWID(至關於頁碼)快速找到表中對應的記錄。性能

       b、 根據數據庫的功能,能夠在數據庫設計器中建立四種索引:普通索引、惟一索引、主鍵索引和彙集索引;學習

         普通索引:設計

            這是最基本的索引類型,並且它沒有惟一性之類的限制。普通索引能夠經過如下幾種方式建立:教程

            建立索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表);索引

            修改表,例如ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);table

            建立表的時候指定索引,例如CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) )搜索

        惟一索引:數據

            惟一索引是不容許其中任何兩行具備相同索引值的索引。

            當現有數據中存在重複的鍵值時,大多數數據庫不容許將新建立的惟一索引與表一塊兒保存。數據庫還可能防止添加將在表中建立重複鍵值的新數據。例如,若是在 employee 表中職員的姓 (lname) 上建立了惟一索引,則任何兩個員工都不能同姓。

            建立惟一索引的幾種方式:

            建立索引,例如CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表);

            修改表,例如ALTER TABLE tablename ADD UNIQUE [索引的名字] (列的列表); ;

            建立表的時候指定索引,例如CREATE TABLE tablename ( [...], UNIQUE [索引的名字] (列的列表) );

      主鍵索引:

        數據庫表常常有一列或列組合,其值惟一標識表中的每一行。該列稱爲表的主鍵。

        在數據庫關係圖中爲表定義主鍵將自動建立主鍵索引,主鍵索引是惟一索引的特定類型。該索引要求主鍵中的每一個值都惟一。當在查詢中使用主鍵索引時,它還容許對數據的快速訪問。有關主鍵的更多信息,請參見定義主鍵。

        提示儘管惟一索引有助於定位信息,但爲得到最佳性能結果,建議改用主鍵索引。




二、數據庫中的幾種鍵。

     a、超鍵:在關係中能惟一標識元組(行)的屬性或屬性集稱爲關係模式的超鍵。

     b、候選鍵:不含有多餘屬性的超鍵稱爲候選鍵,也就是在候選鍵中,若再刪除屬性,就不是鍵了。(是候選鍵就是超鍵,是超鍵不必定是候選鍵)。

    c、主鍵:用戶選做元組標識的候選鍵稱爲主鍵。

    d、外鍵:若是模式R中的屬性K是其餘模式的主鍵,那麼K在模式R中稱爲外鍵。值的取值爲null或者他的主鍵值。

相關文章
相關標籤/搜索