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欄位都為...