sql資料庫管理

2021-06-07 21:11:05 字數 2023 閱讀 3609

資料的完整性=精確性+可靠性

資料喪失完整性體現在:資料可中存在不符合規定的資料或錯誤的資訊,例如:學號重複,身份證號重複,年齡為負數,薪水為負數,性別不存在

資料喪失完整性:是在設計表結構的時候造成的。

保證資料的完整性:在設計表結構的時候,新增約束。

約束的分類:

1.實體[行]完整性約束:保證行記錄的唯一

主鍵約束 primary key

自動增長列約束 identity(起點,步長)

唯一約束 unique

2.域[列,字段]完整性約束:保證列的資料型別,格式,取值範圍,長度正確

檢查約束 

外來鍵約束

預設值約束

非空約束

3.引用完整性約束:建立在主外來鍵關係之上,保證表與表之間的資料完整性

作用:1.禁止在子表中,新增主表中不存在的記錄

2.禁止修改主表中,被子表引用的記錄

3.禁止刪除主表中,被子表引用的記錄

4.使用者自定義完整性約束:高階約束

觸發器儲存過程

規則1.主鍵約束 primary key

作用:新增了主鍵約束的列,行記錄具有唯一性

問題:乙個表中允許有幾個主鍵?

答案:乙個表中只允許存在1個主鍵

問題:選取某列作為主鍵列的原則?

答案:1.最少性:盡可能選擇單列,作為主鍵

2.穩定性:盡可能選取,更新比較少的列

當乙個表中,不存在,行記錄唯一的列,沒有符合作為主鍵列原則的列時?

答案:為該錶新增乙個標識列,作為主鍵,唯一的標識行記錄,沒有實際意義。

*****由多列組成的主鍵,稱為,組合 主鍵   此做法不推薦

2.唯一約束 unique

作用:新增了唯一約束的列,行記錄具有唯一性

使用場合:一般是非主鍵列

區別:唯一約束和主鍵約束的區別

唯一約束的列,行記錄允許空值,但只允許有1個空值

主鍵約束的列,行記錄不允許有空值

3.標識列約束 identity(起點,步長)

作用:新增了標識列約束的列,行記錄不需要賦值,會自動增長

使用場合:一般用在 整形的列上

*************************=

4.檢查約束 check

作用:約束當前列的取值範圍,格式,長度

例如:check(age>0 and age<200) 限制年齡為0-200

check(***='男' or ***='女') 限制性別

check(tel like '0716%' and len(tel)=11) 限制荊州**格式以0716開頭,長度為11個字元

check(tel like '186%' or tel like '159%')

5.預設值約束 default

作用:用於向列中,插入預設值,有預設值約束的列,可賦值,可不賦值

例如:default(18) 年齡預設為18

default('男')性別預設是 男

default('位址不詳') 位址預設 不詳

default(getdate()) 預設為當前時間

6.非空約束 not null

作用:約束當前列的值,不允許為空

注意:空格也算乙個字元,不是null

7.外來鍵約束 foreign key

作用:1.禁止在子表中,新增主表中不存在的記錄

2.禁止修改主表中,被子表引用的記錄

3.禁止刪除主表中,被子表引用的記錄

外來鍵所在的表是子表,此子表是相對於主表而言的。

問:乙個表中允許有幾個主鍵?幾個外來鍵?

1個主鍵,n個外來鍵

語法:子表中的外來鍵列 int foreign key references 主表名(主表中的主鍵)

注意:1.建立主外來鍵關係的列,列名可不同,但是資料型別和長度必須相同

2.被引用的列,必須是主鍵,而且,具有唯一性

經驗:1.如何辨別主表,子表

主表和子表都是相對的。

a.看錶的關係圖,鑰匙指向的是主表

b.邏輯判斷,先存在一定是主表

SQL資料庫 管理資料庫

建立完資料庫,如何對它進行管理呢?管理資料庫包括對資料庫修改大小 新增資料檔案或日誌檔案 分離和附加資料庫等,同樣有語句和ssms兩種方法。接下來主要展示用sql語句方法更改,用介面的方式只需要在屬性裡更改就可以 將乙個新的事務日誌檔案xscjl log,初始大小100mb加入xscj中。alter...

資料庫sql管理

結構 row number over partition by client id order by biz mod datetime partition by關鍵字是分析性函式的一部分,它和聚合函式 如group by 不同的地方在於它能返回乙個分組中的多條記錄,而聚合函式一般只有一條反映統計值的...

SQL資料庫管理 DBCC資料庫修復

transact sql 程式語言提供 dbcc語句作為 microsoft sql server的資料庫控制台命令。這些語句對資料庫的物理和邏輯一致性進行檢查。許多 dbcc 語句能夠對檢測到的問題進行修復。檢測出問題點,在具體修復 with rollback immediate 是做設定單使用者...