5
解釋圖。SQL:使用聲明強制實施基數
兩個實體:E1 E2 &
基數:
- 從E1到E2(通過關係R):(6,50)
- 從E2到E1(通過關係R) :(3,5)
______ ^ ______
| E1 |___(6,50)____/R\____(3,5)___| E2 |
|______| \/ |______|
v
我應該強制執行基數,但書不會潛入太多的ASSERTION細節。 這是否是一個強制執行所述基數的正確方法?
CREATE ASSERTION assert
CHECK ((SELECT COUNT(E1.ID) FROM E1) >= 6 AND
(SELECT COUNT(E1.ID) FROM E1) <= 60 AND
(SELECT COUNT(E2.ID) FROM E2) >= 3 AND
(SELECT COUNT(E2.ID) FROM E2) <= 5);
我不知道,居然還支持斷言 –
無法看到這可怎麼執行的任何DBMS的,因爲你不能同時插入2個表 – RichardTheKiwi
@RichardTheKiwi:此是延遲約束和事務的常見用法之一。 – beldaz