那么这是我的问题我有三张桌子; 地区,国家,国家.国家可以在区域内,州可以在区域内.地区是食物链的顶端.
现在我添加一个包含两列的popular_areas表; region_id和popular_place_id.是否有可能使popular_place_id成为国家或州的外键.我可能不得不添加一个popular_place_type列来确定id是否描述了一个国家或州.
我有一个包含三个表的数据库
消息 - PK = MessageId
草稿 - PK = DraftId
历史 - FK = RelatedItemId
历史表有一个外键[RelatedItemId]映射到两个主键一个Messages和Drafts。
这种关系有名字吗?
这只是糟糕的设计吗?
有没有更好的方法来设计这种关系?
以下是此问题的 CREATE TABLE 语句:
CREATE TABLE [dbo].[History](
[HistoryId] [uniqueidentifier] NOT NULL,
[RelatedItemId] [uniqueidentifier] NULL,
CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED ( [HistoryId] ASC )
)
CREATE TABLE [dbo].[Messages](
[MessageId] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_Messages] PRIMARY KEY CLUSTERED ( [MessageId] ASC )
)
CREATE TABLE [dbo].[Drafts](
[DraftId] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_Drafts] PRIMARY KEY CLUSTERED ( …Run Code Online (Sandbox Code Playgroud)