2.3 關系完整性

    關系模型的完整性規則是對關系的某種約束條件。

    也就是說關系的值隨著時間變化時應該滿足一些約束條件。

    (這些約束條件實際上是現實世界的要求。任何關系在任何時刻都要滿足這些語義約束)

  關系模型中有三類完整性約束:

      實體完整性?(關系模型必須滿足的完整性約束條件)

      參照完整性?(關系模型必須滿足的完整性約束條件)→關系的兩個不變性

      用戶定義的完整性 (應用領域需要遵循的約束條件,體現了具體領域中的語義約束)

2.3.1 實體完整性

?  實體完整性規則 若屬性(指一個或一組屬性)A是基本關系R的主屬性,則A不能取空值。

    (所謂空值就是“不知道”或“不存在”或“無意義”的值)

    按照實體完整性規則的規定,如果主碼由若干屬性組成,則所有這些主屬性都不能取空值。

  對于實體完整性規則說明如下:

    (1)一個基本表通常對應現實世界的一個實體集,例如學生關系對應于學生的集合。(實體完整性規則是針對基本關系而言的)

    (2)現實世界中的實體是可區分的,即它們具有某種唯一性標識。

    (3)關系模型中以主碼作為唯一性標識。

    (4)主碼中的屬性即主屬性不能取空值。

2.3.2 參照完整性

    現實世界中的實體之間往往存在某種聯系,在關系模型中實體及實體間的聯系都是用關系來描述的,

  這樣就自然存在著關系與關系間的引用

    需要指出的是,外碼并不一定要與相應的主碼同名,如例2.3中學生關系的主碼為學號,玩嗎為班長。

    不過,在實際應用中為了便于識別,當外碼與相應的主碼屬于不同關系時,往往給它們取相同的名字。

    參照完整性規則就是定義外碼與主碼之間的引用規則。

  參照完整性規則 若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應,則

      對于R中每個元組在F上的值必須:

          或者取空值(F的每個屬性值均為空值)

          或者等于S中某個元組的主碼值

      參照完整性規則中,R和S可以是同一個關系。

2.3.3 用戶定義的完整性

?    任何關系數據庫系統都應該支持實體完整性和參照完整性,這是關系模型所要求的。

    用戶定義的完整性針對某一具體關系數據庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求

    例如某個屬性必須取唯一值、某個非主屬性不能取空值等。(學生不能沒有姓名,則可以定義學生姓名不能取空值;某個屬性(如學生的成績),的取值范圍可以定義在0~100之間等)

    關系模型應提供定義和檢驗這類完整性的機制,以便用統一的系統的方法處理它們,而不需由應用程序承擔這一功能。

?

轉載于:https://www.cnblogs.com/zhangchaoran/p/6977792.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371990.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371990.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371990.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android 顏色大全color.xml

使用方法&#xff1a; 將color.xml文件拷到res/values目錄下后我們只需要R.xml文件名稱.name名稱就可以調用了(例如:R.color.red) <?xml version"1.0" encoding"utf-8"?><resources> <color name"white">#FFFFFF</color&…

鴻蒙系統華為論壇,2020中國汽車論壇上 華為三大鴻蒙車載OS系統

在今天的2020中國汽車論壇上&#xff0c;華為公布了三大鴻蒙車載OS系統&#xff0c;同時還宣布已經有大量合作伙伴基于鴻蒙OS進行開發。根據智能汽車解決方案BU總裁王軍所說&#xff0c;這三大鴻蒙OS分別是——鴻蒙座艙操作系統HOS、智能駕駛操作系統AOS和智能車控操作系統VOS&…

只讀ViewObject和聲明性SQL模式

介紹 聲明式SQL模式被認為是基于實體的視圖對象的最有價值的優點之一。 在此模式下&#xff0c;根據UI中顯示的屬性在運行時生成VO的SQL。 例如&#xff0c;如果某個頁面包含一個只有兩列EmployeeId和FirstName的表&#xff0c;則查詢將生成為“從Employees中選擇Employee_ID&a…

android 360加固 例子,[原創]利用VirtualApp實現360加固的soHook簡單例子

簡單demo&#xff0c;為拋磚引玉吧&#xff01;360的加固我們先寫一個最簡單的so&#xff0c;帶導出函數。這已經足夠簡單了&#xff0c;界面上打印這個值。運行起來就這樣。簡單的簡直過分。好了&#xff0c;現在我們讓360加固一下。拿下來自己簽名下&#xff0c;安裝好&#…

scrapy架構解析

轉載于:https://www.cnblogs.com/tianboblog/p/6986695.html

華為怎么升級Android11,華為EMUI 11/安卓11升級名單曝光 快來看看你的手機是否支持...

華為EMUI 11/安卓11升級名單曝光 快來看看你的手機是否支持2020年02月10日 16:29作者&#xff1a;NJNR205文章出處&#xff1a;泡泡網原創分享2月10日消息&#xff0c;據外媒報道&#xff0c;華為將于今年3月份的華為開發者大會(HDC)上正式宣布新一代EMUI 11。眾所周知&#xf…

Scala安裝及開發環境搭建

最近想學習下scala&#xff0c;為后面轉大數據做一些沉淀。 1. 首先保證jdk已經成功安裝 2. 去官網下載scala安裝程序 http://www.scala-lang.org/download/all.html 會列出不同的版本. 3. 安裝scala 安裝路徑記得不要有空格否則可能會出現以下這種狀況&#xff0c;還有&am…

簡單利用HTTP中的PUT協議拿下SHELL

第一次用方法拿shell,之前遇到的都是沒有寫入權限的。 站太辣雞&#xff0c;純粹練手&#xff0c;就不打碼了。 此次實戰會用到的HTTP請求方法&#xff1a; OPTIONS&#xff0c;PUT&#xff0c;MOVE/COPPY * 戰前準備 0x01 什么是OPTIONS方法&#xff1f; 此方法用于請求獲得由…

JSF – PrimeFaces和休眠集成項目

本文介紹了如何使用JSF&#xff0c;PrimeFaces和Hibernate開發項目。 下面是一個示例應用程序&#xff1a; 二手技術&#xff1a; JDK 1.6.0_21 Maven的3.0.2 JSF 2.0.3 PrimeFaces 2.2.1 休眠3.6.7 MySQL Java連接器5.1.17 MySQL 5.5.8 Apache Tomcat 7.0 第1步&#xff1…

android q升級名單,華為升級 Android Q 機型名單敲定 陣容龐大

中關村在線消息&#xff1a;在 5 月份的谷歌 I/O 大會上&#xff0c;谷歌公布了一系列支持下一代安卓系統 Android Q 的機型。除了谷歌自家的 pixel 手機之外&#xff0c;還包括 9 款國產手機&#xff0c;其中華為 Mate20 Pro 成為華為首款支持原生安卓的機型。這也讓華為手機的…

mvc UrlHelper

何謂Helper,其實就是在View中為了實現一些靈活功能而寫的方法組。 其實ASP.NET MVC的View是Aspx的頁面,本身可以聲明定義方法,那為什么要有Helper呢&#xff1f; 其實無非是將界面與邏輯分離,而且Asp.net MVC也并不只支持Aspx一種View&#xff08;還可以擴展出來很多&#xff0…

Mockito –使用全局配置的SmartNull在NPE上提供更好的錯誤消息

編寫Mockito參考卡后&#xff0c;我有機會仔細研究了Mockito不太流行但非常有用的功能。 其中一些過于先進或太稀少&#xff0c;無法在refcard中進行描述&#xff0c;因此應簡短說明。 其中之一就是SmartNull。 當前&#xff0c;非空方法返回適用于已知類型&#xff08;例如&am…

java使用js引擎時,關于時間的問題getTime()獲取為NAN的問題

在java中使用js引擎時&#xff0c;想要去獲取兩個時間的相差的天數&#xff0c;查找網上的辦法&#xff1a; var beginMonth parseInt(beginTime.substring(6,8),10);//2016-05-17 18:51:33 var beginYear parseInt(beginTime.substring(1,5),10); var beginDate parseInt(b…

python——成語接龍小游戲

小試牛刀的簡易成語接龍。 思路—— 1、網上下載成語字典的txt版本 2、通過python進行處理得到格式化的成語&#xff0c;并整理成字典&#xff08;python字典查找速度快&#xff09; 3、python程序&#xff0c;查找 用戶輸入的最后一個字和字典里首字一致的&#xff0c;放入列表…

計劃B? 那是計劃N…沒什么。 拼圖于2015年問世

真是一天 當典型的歐洲人逐漸破產時&#xff0c;美國的人們開始喝咖啡。 這就是為什么我在Mark Reinhold最近的新聞中睡個好覺的原因。 他在題為“ Project Jigsaw&#xff1a;火車晚點 ”的帖子中建議將Project Jigsaw推遲到下一個版本Java 9。 在最近的會議和博客文章上&…

C# 訪問MongoDB 通用方法類

using MongoDB.Driver; using System; namespace MongoDBDemo { public class MongoDb { public MongoDb(string host,string timeOut) { this.CONNECT_TIME_OUT timeOut; this.MONGO_CONN_HOST host; } /// <summary> /// 數據庫所在主機 /// </sum…

html網頁背景圖片平鋪代碼,jQuery圖片平鋪效果制作網頁背景圖片平鋪代碼

插件描述&#xff1a;jQuery圖片平鋪效果制作網頁背景圖片平鋪代碼調用JS文件調用插件方法$(function(){// 插件初始化$(img).jqthumb({classname : jqthumb, // 類名. 默認是 jqthumbwidth : 100%, // 新的圖像裁剪后寬度. 默認是 100px.height : 100%, // 新的圖像裁剪后高度…

使用保險絲結構管理MQ和ESB的大型部署,第I部分

FuseSource最近發布了ActiveMQ和ServiceMix發行版的企業版。 其中一些重要功能包括增量修補 &#xff0c; 自定義平臺安裝程序和第三方驗證 。 新企業版附帶的最酷的功能之一是Fuse Fabric和一些新工具 &#xff0c;使您可以利用Fabric管理環境。 Fabric允許您通過一些命令行或…

Mybatis參數傳遞及返回類型

mybatis參數傳遞&#xff1a; 單個參數&#xff1a;不做特殊處理 #{參數名}&#xff1a;取出參數值 多個參數&#xff1a;做特殊處理 多個參數會被封裝成一個map key&#xff1a;param1 ... paramN value&#xff1a;傳入的參數…

網絡html代碼是什么問題,html代碼問題

html代碼問題來源:互聯網 2010-03-22 10:35:57 評論分類: 電腦/網絡 >> 程序設計 >> 其他編程語言問題描述:這三種鏈接格式我都試了&#xff0c;都不行&#xff0c;請高手指點下。。。。。注意&#xff1a;我要的是代碼&#xff0c;不是操作方法&#xff0c;因為…