相关疑难解决方法(0)

可以为两个可能的表之一做一个MySQL外键吗?

那么这是我的问题我有三张桌子; 地区,国家,国家.国家可以在区域内,州可以在区域内.地区是食物链的顶端.

现在我添加一个包含两列的popular_areas表; region_id和popular_place_id.是否有可能使popular_place_id成为国家州的外键.我可能不得不添加一个popular_place_type列来确定id是否描述了一个国家或州.

mysql polymorphic-associations

169
推荐指数
4
解决办法
6万
查看次数

外键列映射到多个主键

我有一个包含三个表的数据库

消息 - PK = MessageId
草稿 - PK = DraftId
历史 - FK = RelatedItemId

历史表有一个外键[RelatedItemId]映射到两个主键一个MessagesDrafts

这种关系有名字吗?

这只是糟糕的设计吗?

有没有更好的方法来设计这种关系?

以下是此问题的 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)

sql database database-design

1
推荐指数
1
解决办法
1064
查看次数