資料庫的五種約束關係是什麼?主外來鍵有什麼用。求教

2021-03-19 12:19:16 字數 1935 閱讀 3737

1樓:

資料庫的約束是為了體現資料庫

完整性的。

實體完整性有primary key (主鍵)參照完整性有foreign key (外來鍵)使用者自定義完整性有:列表非空(not null),列表唯一(unique),

檢查列值是否滿足一個布林表示式(check)通常就上面這5個了

後面更深還會有其他的,但是估計你現在還不用現在我給你解釋,主外來鍵

主鍵就是在一個表中,能夠唯一代表各元組值得就像我們的身份證號,全世界只有一個,是獨一無二的屬性外來鍵就是在一個表中,參照其他表中的主鍵的本表屬性就像在sc表中有sno不是主鍵,但它參照了s表中的主鍵sno,所以sno在sc表中就是外來鍵啦

希望我的回答能讓你理解這中知識。

不懂可以再問

2樓:匿名使用者

約束:為了保證表中資料的正確性和有效性的一種限制。

約束:主鍵約束:保證記錄的不重複,並且不能為空非空約束、檢查約束:限制莫一列的取值、預設值約束、唯一性約束:記錄唯一,可以有一行資料為空

外來鍵約束:這個是實現表與表之間的約束,從表的欄位值必須在主表中存在,比如

學生表和課程表都有一個公共欄位,學號,學號欄位在學生表中充當主鍵,在課程表中是外來鍵,那就保證了,所有參加考試學生必須都在學生表中。

資料庫:表中主鍵約束和外來鍵約束有什麼用?兩者之間建立關聯後有什麼用?

3樓:小哥無爭

比如說兩張表a,b

a裡面bai的id是dub中id主鍵

b是a的外來鍵

那麼建立表zhi間關係後就可以dao使用

專a的條件查詢b中的資料列屬如:

select * from b

left join a on a.id = b.id where a.name = "啥啥啥"

還有右連結,內連線

4樓:匿名使用者

雙重約束~~~~~~

資料庫裡面不建立主外來鍵關係有什麼好處

5樓:匿名使用者

不建議建立,使用外來鍵有利於維持資料完整性和一致性,但是對於開發來說是非常不利的。

每次做delete 或者update都必須考慮外來鍵約束,會導致開發的時候很痛苦,而且需要更為複雜的錯誤捕獲機制。

做資料處理時會受到很多的束縛,有些地方本來就可以允許有部分冗餘,但是由於設計了外來鍵約束,只能放棄。

出現bug的時候追蹤很麻煩。

總的來說,自己來掌握資料總比別人去掌握要方便。

目前我們公司的所有軟體都很少用到外來鍵約束,基本都是由程式控制一致性和唯一性。

6樓:匿名使用者

不建立主外來鍵的好處就是資料可以隨意寫入或刪除,但這樣的同時會造成資料容易出現錯誤。可舉例說明:

如主表aid name

1 張三

2 李四

副表id aid money

1 1 100

2 1 40

3 2 50

如上圖,是有主外來鍵的情況,其中副表的aid是主叫aid的外來鍵,這樣就能形成一種約束,如果在主表中沒有的aid是絕不會出現在副表中,可如果副表中有一條(4 3 100)的資料,那麼其中這個3在a表不存在,如果今後用於統計,這個是會造成系統的誤差。

所以要合理利用好主外來鍵關係,比如要刪除主表中的aid=2的資料,那麼要先刪除副表中aid=2的資料,但是前提一定要對資料庫的關係瞭解,否則容易造成誤刪。

7樓:匿名使用者

資料隨便往裡放,方便資料採集。

8樓:匿名使用者

好處是不用考慮關聯了

9樓:匿名使用者

防止由於違反約束關係而頻繁的報錯

什麼是資料庫約束,資料庫設定約束條件有什麼好處

資料庫約束是對錶中的資料進行進一步的限制,保證資料的正確性 有效性和完整性。約束通常與一個表相關聯,並使用create constraint或create assertionsql語句建立。所有的關聯式資料庫都支援對資料表使用約束,通過約束可以更好地保證資料表裡資料的完整性。是表上強制執行的校驗規則...

資料庫欄位與屬性的關係是什麼資料庫欄位與屬性的關係

欄位 屬性都是列的意思 一列的第一個 比如屬性是 民族 分量是 漢族 苗族等可以說 民族是欄位名 屬性名,都可以 漢族 苗族就是屬性值 欄位指的是一列。叫欄位是從資料庫角度的名字,也可以稱為屬性,屬性是從物件導向角度的名字。屬性與欄位是對同一個元素不同的稱呼。在關係代數中稱實體的特性為屬性,在關係模...

資料庫中id指的是什麼,資料庫中關係模型中的主鍵是什麼

每個執行 抄的 oracle 系統就叫一個 oracle 例項,襲即bai oracle instance。一臺伺服器上可以運du行多個資料庫實zhi例,每個資料庫例項通過一個id號表dao示,通常用作業系統環境變數 oracle sid 設定每個例項的id。id可以理解為編號,一般表的id欄位都為...