索引和資料完整性

2021-10-05 13:41:05 字數 1088 閱讀 9430

一、索引

1、索引類似於課表的目錄,作用是為了提高查詢的速度

2、建立索引

1)b樹(balance tree)索引。多路搜尋樹

語法:create index 索引名 on 表名(列名);

create index stu_index on students(stuno)

pctfree 50

tablespace users;

2)建立位圖索引。圖索引主要針對大量相同值的列而建立

create bitmap index stu_ind_bmp on students(***)

tablespace users;

3)函式索引

基於函式的索引只是常規b樹索引,但它存放的資料是由表中的資料使用函式之後得到的

create index emp_job_fun on emp(lower(job));

3、pctfree

pctfree:為乙個塊保留的空間百分比,表示資料塊在什麼情況下可以被insert,預設是10,表示當資料塊的可用空間低於10%後,就不可以被insert了,只能被用於update;

4、檢視索引

select * from all_indexes where owner=『scott』;

5、刪除索引

drop index 索引名;

二、資料完整性和約束

資料的完整性是指資料的準確性。

為了維護資料庫中資料的完整性,在建立表時需要定義一些約束

1、非空約束 (not null)

非空約束就是限制必須給某個列提供值。

若某些欄位的值是不可缺少的,就可以給該列定義非空約束

若某些列的值是可有可無的,就可以定義這些列允許為空

2、唯一性約束(unique)

唯一性約束強調所在的列不能有相同的值,但是允許有多個空值

3、主鍵約束。(primary key)(非空約束+唯一性約束)

主鍵約束用於唯一的標識表中的每一行記錄。

在乙個表中,最多只能有乙個主鍵約束。

4、外來鍵約束

5、刪除約束

如果不需要某個約束時,可以將其刪除

SQL Server 實驗六 索引和資料完整性

這是乙個系列,需幾個文件一起看 實驗6.1索引 1 建立索引 create index depart ind on employees departmentid create index ad ind on employees name,address create unique index dep...

SQL 表和資料完整性

我們在設計資料庫的時候,研究需要建立幾張表。每張表要考慮如下問題 表的名稱 表中每一列的名稱 資料型別及長度 表中的列是否為空值 唯一 是否有預設值 約束 哪些是主鍵 外來鍵 例子 進入當前資料庫 use xscj go 建立表 語句 每一列的名稱 資料型別 特殊要求 create table st...

MySQL資料完整性(實體完整性 域完整性)

資料完整性 為保證插入到資料庫中的資料是正確的,防止使用者輸入錯誤的資料 分為實體完整性 域完整性 參照完整性 下節再說 1 實體完整性 實體指的是表中的一行,一行記錄對應乙個實體 通過主鍵實現 主鍵 關鍵字 primary key 特點 不能為null,並且唯一。邏輯主鍵 推薦 例如id,不代表實...