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

淺談Sql Server數據庫數據完整性

2013-01-01 00:00:00趙雅文
科技資訊 2013年3期

摘 要:現今社會是一個數據化的社會,各行各業都有大量的,不同種類的數據進行交換。數據庫的使用已經滲透到生活中的各個方面。而數據庫的完整性是設計數據庫的的重要內容,關系到數據庫的性能的好壞。如何防止將一些無效的或錯誤的信息添加到數據庫中呢?本文對Sql Server2005數據庫數據完整性約束進行了探討。

關鍵詞:Sql Server 數據完整性

中圖分類號:TP3 文獻標識碼:A 文章編號:1672-3791(2013)01(c)-0027-01

數據完整性是指數據的正確性、有效性和兼容性,防止錯誤數據進入數據庫,保證數據庫中的數據質量。本文詳細介紹了數據庫的數據完整性以及如何對數據庫進行完整性約束。

1 數據完整性的概念及其分類

數據完整性是指存儲在數據庫中的數據是正確的,而且在邏輯上符合現實情況的要求,它是SQL Server用于保證數據庫中數據一致性的一種機制,以防止非法信息存在于數據庫中。數據庫中的數據要求具有正確性、有效性和兼容性。數據的正確性是指數據的合法性;有效性是指數據是否屬于所定義的有效范圍;相容性是指妙術同一現實的數據應該保持一致。SQL Server 2005提供了許多措施來保護數據的完整性,如數據類型、主鍵、外鍵、默認值、約束和規則等。

數據庫完整性一般分為4類:實體完整性、域完整性、引用完整性和用戶定義完整性。

1.1 實體完整性

實體完整性的基本思想是標識數據庫中存放的每一個實體。實體就是數據庫所要標識的一個實際的物體和事件。實體完整性要求每個實體都保持唯一性。例如,學生信息表中的學號列、公民信息表中的身份證號列都可以有效地標識這些實體,保證其唯一性。SQL Server 2005實現實體完整性主要是通過唯一索引、UNIQUE約束、PRIMARY KEY約束或IDENTITY屬性,強制表的標識符列或主鍵來實現的。

1.2 域完整性

域完整性是指給定列的輸入有效性,即如何限制向表中輸入值的范圍。它要求表中指定列的數據具有正確的數據類型、格式和有效的數據范圍。例如,在成績表的“成績”列中,只能輸入特定范圍內的值(如0~100),才是合法的數據。域完整性可以通過強制域完整性限制類型(通過使用數據類型)、限制格式(通過使用CHECK約束和規則)或限制可能值的范圍(通過使用FOREIGN KEY約束、CHECK約束、DEFAULT定義、NOT NULL定義和規則)來實現。

1.3 引用完整性

引用完整性又稱為參照完整性。在輸入或刪除記錄時,引用完整性用于維持參照表和被參照表之間的數據一致性。用于確保鍵值在所有表中一致。這類一致性要求不能引用不存在的值。如果一個鍵值發生更改,則整個數據庫中,對該鍵值的所有引用要進行一致的更改。在被參照表中,當其主鍵值被其他表所參照時,該行不能被刪除也不允許改變。在參照表中,不允許參照不存在的主鍵值。在SQL Server 2005中,引用完整性通過主鍵(PRIMARY KEY)和外鍵(FOREIGN KEY)約束來實現。

1.4 用戶定義的完整性

用戶定義的完整性即是針對某個特定關系數據庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。SQL Server 2005提供了一些工具來幫助用戶實現數據完整性,其中最主要的是規則(Rule)、約束(Constraint)和觸發器(Trigger)。

2 數據完整性約束的實現

下面以創建一個“學生管理數據庫”為例來說明SQL Server對數據庫完整性約束的實現。

2.1 創建“學生管理數據庫”

create database學生管理數據庫

on (name=學生管理數據庫,filename=’F:/sql/學生管理.mdf’,size=3,maxsize=100,filegrowth=10%)

log on (name=學生管理數據庫_log,filename=’F:/sql/學生管理log.mdf’,size=3,maxsize=100,filegrowth=10%)

2.2 在此數據庫中創建3個表,學生信息表、課程表、成績表

(1)創建學生信息表。

Create table student

(s_no char(8) not null primary key,s_name char(8) not null,s_sex char(2) not null,s_birthday datetime not null)

(2)創建課程信息表。

Create table course

(c_no char(8) not null primary key,c_name charh+KPQbe71Otz0PSA7FCS6Q==(8) not null,c_credit char(2) not null)

(3)創建成績表。

Create table score

(s_no char(8) not null constraint fk_s forgein key(s_no) references student(s_no),

c_no char(8) not null constraint fk_c forgein key(c_no) references course(c_no),

sc_score int not null constraint check_sc check(sc_score<=100),

constraint pk_sc primary key(s_no,c_no)

在上述三個表的創建中實現了實體完整性,域完整性和引用完整性。例如在成績表與學生信息表中實現了學號(s_no)引用相關性。學生在退學后需要刪除該學生的信息時,應在學生信息表中刪除,由于成績表中可能還有該學生的成績信息,因此必須在學生信息表和成績表中同步刪除信息,同步更新信息。同理,課程表與成績表也要同步更新。否則,表中的數據將為無效數據。此例中域的完整性是通過檢查約束(check)來實現的,輸入學生成績大于100分的則為非法數據。通過這種數據完整性約束,可以使數據庫中的對個表保持數據的一致性。

3 結語

數據庫中的數據完整性為我們更好的使用數據庫提供了良好的保障。除了文中介紹的數據完整性約束的方法還有之前提到的多種方法,如規則,觸發器等。我們要學會融會貫通實體完整性、域完整性、引用完整性和用戶定義完整性,這四種數據完整性約束的方法,在不同的情況下利用不同的方法。使我們的數據庫更加的完善。

參考文獻

[1]何玉潔.數據庫管理與編程技術[M].清華大學出版社,2007.

[2]劉志成.SQL Server 2005實例教程[M].電子工業出版社,2007.

主站蜘蛛池模板: 国产精品区视频中文字幕| a毛片免费观看| 欧美日韩成人在线观看| 欧美成人怡春院在线激情| 五月天久久综合| 精品三级网站| 国产微拍一区| 亚洲天堂网站在线| 国产亚洲精久久久久久久91| 一个色综合久久| 另类欧美日韩| 九九久久99精品| 国产精品妖精视频| 国产白浆在线| 欧美亚洲一区二区三区在线| 婷婷五月在线视频| 精品伊人久久大香线蕉网站| 亚洲成人一区二区三区| www.youjizz.com久久| 毛片在线看网站| 亚洲一级毛片在线播放| 国产h视频免费观看| 婷婷色在线视频| 亚洲精品国产成人7777| 国产精品主播| 亚洲成年人网| 亚洲国产在一区二区三区| 精品福利网| 亚洲无码在线午夜电影| a级毛片免费看| 国产经典在线观看一区| 色噜噜狠狠狠综合曰曰曰| 亚洲日韩图片专区第1页| 91亚洲视频下载| 67194亚洲无码| 永久免费av网站可以直接看的| 久久伊伊香蕉综合精品| 黄色三级网站免费| 看看一级毛片| 亚洲日韩精品欧美中文字幕| 欧美19综合中文字幕| 久久精品91麻豆| 狠狠色噜噜狠狠狠狠奇米777| 亚洲欧美综合另类图片小说区| 国产后式a一视频| 久久窝窝国产精品午夜看片| 一本大道无码高清| 免费一级无码在线网站| 国产精品99久久久久久董美香| 一级福利视频| 欧美不卡在线视频| 久久精品欧美一区二区| 九九香蕉视频| 国产成人亚洲无吗淙合青草| 国产在线自在拍91精品黑人| 青青国产成人免费精品视频| 在线精品自拍| 999国产精品永久免费视频精品久久 | 91亚瑟视频| 制服丝袜国产精品| 久久综合结合久久狠狠狠97色| 中文字幕av无码不卡免费| 精品久久香蕉国产线看观看gif| 欧美色综合久久| 免费一级毛片在线播放傲雪网| 国产99视频免费精品是看6| 亚洲av无码片一区二区三区| 精品视频第一页| 欧美成人第一页| 欧美在线国产| 国产成人91精品| 97免费在线观看视频| 自拍中文字幕| 日韩AV无码免费一二三区| 视频一本大道香蕉久在线播放| 国产亚洲欧美日韩在线观看一区二区| 欧美视频二区| 亚洲一区二区精品无码久久久| 亚洲第一黄色网址| 中文毛片无遮挡播放免费| 尤物视频一区| 久久黄色小视频|