可能我的设计是错误的,或者只是有更好的方法。我将使用一个非常简单的例子:
--------- dbo.Book----------
| |
| BookID int identity (1,1) |
| ShelfID int FK |--
---------------------------- |
|
--------- dbo.Row----------- |
| | |
--| RowID int identity (1,1) | |
| ---------------------------- |
| |
| -------- dbo.Shelf---------- |
| | | |
| | ShelfID int identity (1,1)|--
--| RowID int FK |
----------------------------
Run Code Online (Sandbox Code Playgroud)
足够简单。
但是如果我想分配一个没有架子的行怎么办?也许我们还知道行而不是货架:
--------- dbo.Book----------
| |
| BookID int identity (1,1) |
| RowID int FK | <-- New
| ShelfID int FK …Run Code Online (Sandbox Code Playgroud) foreign-key database-design sql-server referential-integrity