999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談SQL Server數據庫中數據完整性的應用

2021-10-25 13:24:08孫楓
快樂學習報·教師周刊 2021年11期

摘要:在數據庫廣泛應用的當下,保證數據的準確性和有效性顯得尤為重要。文章基于SQL Server數據庫,分析了其數據完整性的概念及分類,通過典型例子幫助用戶了解相關方法的使用。

關鍵詞:SQL Server;數據完整性;約束

引言

在信息技術迅速發展的今天,數據庫應用越來越廣泛。如網站、醫療、交通、高校、政府、企業等無一不每天在利用數據庫存儲與管理著大量的數據。而往往在數據錄入時,會因種種原因經常會出現重復、無效、錯誤等信息。在眾多后臺數據庫管理系統中,因SQL Server有著功能強大、操作簡便等特點,受到了廣大數據庫用戶喜愛,文章基于SQL Server數據庫介紹數據完整性機制以及相關應用[1]。

1數據完整性的概念和分類

數據完整性是指存儲在數據庫中的數據的一致性和準確性[2]。它是應用防止數據庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。數據完整性分為四類:實體完整性、域完整性、參照完整性和用戶自定義完整性。其定義分別為:

實體完整性:是指保證表中所有的行唯一。實體完整性要求表中的所有行都要有一個唯一的標識符,即通過設置“主鍵”來實現。數據庫中的“主鍵”字段則是不能輸入重復值或空值,所謂“空值”其實就是“沒有”或“無意義”的值。反言之,如果主屬性取了空值,則無法進行唯一標識,這與現實世界的應用環境相矛盾。

域完整性:是指一個列的輸入有效性。域完整性主要用于保證給定字段數據的輸入有效性,強制域完整性的方法有:限制類型、格式或可能值的范圍。如限制學生成績必須在0~100之間,性別只能是“男”或“女”等。

參照完整性:是指保證主關鍵字和外部關鍵字之間的參照關系。參照完整性又稱引用完整性,利用“外鍵”來確保相關聯的表(兩個或兩個以上表)間數據的一致性。當添加、刪除和修改記錄時,參照完整性可以保證表之間已定義的關系,確保鍵值在所有表中一致。如向“學生成績表”中添加某個學生成績時必須確保所有添加成績的學生必須在“學生表”中是存在的,否則不允許添加。

用戶自定義完整性:是指根據應用環境的要求和實際的需要,對某一具體應用所涉及的數據提出約束性條件。這一約束機制一般不應由應用程序提供,而應有由關系模型提供定義并檢驗,用戶定義完整性主要包括字段有效性約束和記錄有效性。

2數據完整性的應用

為了確保數據的完整與有效性,防止數據庫中存在不符合語義規定的數據,防止因錯誤信息的輸入、輸出而造成無效的操作或錯誤信息,SQL Servr提供了4種手段來實現數據完整性,即缺省值、規則、約束和觸發器等[3]。

2.1通過缺省值實現數據完整性

缺省值即默認值,是為列提供數據的一種方式,如果用戶在進行插入操作時不為列輸入任務數據,則使用缺省值自動輸入。可利用表設計器創建表時指定默認值,也可在使用Create Table語句中的Default子句指定默認值。

SQL語句中利用默認值實現數據完整性應用例子如下:

Create Table Teacher???--創建教師表

(t_id?char(10),

t_name varchar(10),

t_professor varchar(10) default(“助教”))--職稱字段默認值為助教

2.2通過規則實現數據完整性

規則是用以限制存儲在表中或用戶自定義數據類型的值,是獨立的數據庫對象,只有將規則綁定到列或用戶自定義數據類型時,規則才能起作用,而表中的每列或每個用戶定義數據類型只能和一個規則綁定。如果要刪除規則,則應先解除綁定。

SQL語句中利用規則實現數據完整性應用例子如下:

Create Rule r_age as @age<=100 and @age>=1

--定義規則年齡限制區間

Exec sp_bindrule ‘r_age’,’teacher.age’

--使用存儲過程綁定規則

2.3通過約束實現數據完整性

約束是指在創建表時設置各種條件對輸入、修改的數據進行監測,使不符合語義規定的數據不能進入數據庫,以確保數據的完整性與有效性。SQL Server數據庫提供了主鍵約束、外鍵約束、唯一約束、檢查約束、非空約束與自動編號約束等6種約束方式。

2.3.1主鍵約束(PRIMARY KEY)

主鍵約束是為了保證數據實體完整性,用于唯一地標識表中的每一行。主鍵字段不能出現重復值或空值。在一個表中只能有一個主鍵,主鍵可以是一個字段,也可以是字段的組合。

Create Table Department --創建系部表

(d_id?char(10) PRIMARY KEY, --系部編號,設置為主鍵

d_name varchar(20),

d_leader varchar(10))

2.3.2外鍵約束(FOREIGN KEY)

外鍵約束是為了保證數據參照完整性,用于在建立一個或多個表的字段之間的引用聯系。在創建時在被引用表上創建主鍵或唯一約束,在引用表的字段上創建外鍵約束。外鍵約束必須是另一個表的主鍵,這樣在當前表上才能稱為外鍵。

Create Table Teacher

(t_id?char(10) PRIMARY KEY, --教師工號,設置為主鍵

t_name varchar(10),

t_sex char(2)CHECK(t_sex=’男’or t_sex=’女’),

t_professor varchar(10) default(“助教”))

d_id char(10) FOREIGN KEY references Deparment(d_id))

--系部編號,外鍵,與系部表的“系部編號”關聯

2.3.3唯一約束(UNIQUE)

唯一約束要求該列唯一,允許有空值,但只能出現一個空值。與主鍵約束類似,也具有唯一性,為表中的一列或多列提供數據實體完整性,一個表可以設置多個唯一約束。

Create Table Department

(d_id?char(10) PRIMARY KEY,

d_name varchar(20) UNIQUE,?--系部名稱,唯一約束

d_leader varchar(10) UNIQUE))?--系部領導,唯一約束

2.3.4檢查約束(CHECK)

檢查約束是為了保證域完整性,檢查約束可為所屬字段設定一個邏輯表達式來限定有效取值范圍。檢查約束只在添加和修改記錄時有效,在刪除時無效。一個列上只能定義一個檢查約束。

Create Table Teacher

(t_id?char(10) PRIMARY KEY,

t_name varchar(10),

t_sex char(2)CHECK(t_sex=’男’or t_sex=’女’),

--教師性別,檢查約束

t_professor varchar(10) default(“助教”))

d_id char(10) FOREIGN KEY references Deparment(d_id))

2.3.5非空約束(NOT NULL)

非空約束也是為了保證數據實體完整性,有些表中字段雖然不需要設置主鍵字段,但其信息不允許為空值,則可利用非空約束來設置。

Create Table Teacher

(t_id?char(10) PRIMARY KEY,

t_name varchar(10) NOT NULL,?--教師姓名,非空約束

t_sex char(2)CHECK(t_sex=’男’or t_sex=’女’),

t_professor varchar(10) default(“助教”))

d_id char(10) FOREIGN KEY references Deparment(d_id))

2.3.6自動編號約束(IDENTITY)

自動編號約束又稱作標識列,采用數字編號的方式依次增加一個增量。是為那些數字順序遞增的列準備的約束,可以自動完成數值添加。

Create Table Department

(d_id?int identity(1,1)PRIMARY KEY,

--系部編號,整型,主鍵約束,自動編號(增量為1)

d_name varchar(20) UNIQUE,

d_leader varchar(10) UNIQUE))

若要實現更為復雜的數據約束,可以使用觸發器實現,在此不再贅述。

3結束語

通過上述數據完整性的概念與分類闡述,并通過相關例子的實現來說明數據完整性是如何建立和實施。在具體應用過程中,需要結合實際情況選擇相應方法來保證數據的準確性和有效性。

作者簡介:

孫楓(1977-),女,江蘇南通人,中學高級,碩士研究生(方向:現代教育技術),江蘇省南通第一中學信息中心教師。

參考文獻:

[1]陳潔,薛恒威. SQL Server數據庫中數據完整性的分析與實踐[J]河北軟件職業技術學院學院學報,2018

[2]陳金萍,陳艷,姜廣坤. SQL Server2012數據庫項目化教程[M].清華大學出版社,2017

[3]從艷. SQL Server數據庫完整性的維護[J].電腦知識與技術,2007

[4]陳增祥. SQL Server數據庫數據完整性的研究與分析[J].信息安全與技術,2012

[5]李浩,周媛媛. SQL Server數據完整性及約束[J].科技與企業,2013

主站蜘蛛池模板: 国产精品xxx| 亚洲欧洲日产无码AV| 国产成人精品第一区二区| 国产亚洲精品资源在线26u| 久久免费视频6| 91成人在线免费视频| 美女国产在线| 亚洲视频二| 亚洲性日韩精品一区二区| 午夜精品久久久久久久99热下载 | 国产在线麻豆波多野结衣| 四虎成人免费毛片| 国产高清在线观看91精品| 91丝袜美腿高跟国产极品老师| 国产成人91精品| 亚洲天堂网视频| 中文字幕在线看| 国禁国产you女视频网站| 在线国产综合一区二区三区| 久久国产亚洲偷自| 亚洲中文字幕国产av| 日韩欧美中文字幕在线精品| 国产成人精品在线| 亚洲综合色吧| 97在线碰| 欧美日韩第三页| 精品久久777| 99久久精品无码专区免费| 试看120秒男女啪啪免费| 最新亚洲av女人的天堂| 亚洲无码91视频| 1024你懂的国产精品| 在线观看热码亚洲av每日更新| 中文字幕永久在线看| 又污又黄又无遮挡网站| 精品国产自在在线在线观看| 婷婷开心中文字幕| 国内精品久久久久久久久久影视| 91精品啪在线观看国产| 亚洲最大综合网| 国产欧美日韩专区发布| 中文字幕在线日本| 青青草国产在线视频| 亚洲区第一页| 国产男女免费视频| 国产一区成人| 制服丝袜国产精品| 国产精品成人不卡在线观看| 国产女人综合久久精品视| 国产激情第一页| 中文字幕无线码一区| 亚洲欧美另类中文字幕| 一本一道波多野结衣av黑人在线| 日韩精品久久久久久久电影蜜臀| 国产精品七七在线播放| a毛片免费看| 美女无遮挡拍拍拍免费视频| 国产美女精品人人做人人爽| 国产成在线观看免费视频 | 久久先锋资源| 最新精品久久精品| 国产免费高清无需播放器| 亚洲一区二区三区香蕉| 国产成人三级在线观看视频| 狠狠色成人综合首页| 无码精品一区二区久久久| 四虎精品黑人视频| 国产乱视频网站| 99re在线视频观看| 色婷婷电影网| 毛片久久久| 欧美亚洲国产日韩电影在线| 亚洲欧洲日产国码无码av喷潮| 欧洲av毛片| 成人福利在线免费观看| 97人人模人人爽人人喊小说| 欧美成人手机在线观看网址| www.91在线播放| 亚洲无线观看| 麻豆国产原创视频在线播放| 91精品国产麻豆国产自产在线| 97视频精品全国免费观看 |