我是数据库设计的新手,我确实有几个问题要问你们如何创建关系数据库。
我有几个问题:
通过外键连接Table A
和Table B
,我在哪里创建一个键Table A
或B
?
可以说我确实有桌子Users
并且Ranks
有 1 : 1 的关系。
Users
桌子:
CREATE TABLE [dbo].[Users](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Email] [nvarchar](89) NOT NULL,
[Name] [nvarchar](25) NOT NULL,
[Midname] [nvarchar](25) NOT NULL,
[Surname] [nvarchar](25) NOT NULL,
[Phone] [varchar](15) NOT NULL,
[Country] [smallint] NOT NULL,
[Manager] [nvarchar](89) NOT NULL,
[Referrer] [nvarchar](89) NOT NULL,
[Rank] [tinyint] NOT NULL,
CONSTRAINT [PK_UsersID] PRIMARY KEY CLUSTERED
([Email] ASC)
)
Ranks
桌子:
CREATE TABLE [dbo].[Ranks](
[ID] [tinyint] IDENTITY(1,1) NOT NULL,
[Rank] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_Rank] PRIMARY KEY CLUSTERED
([ID] ASC)
)
我想通过以下方式加入他们:
Users.Rank ON Rank.ID
但它不允许我创建密钥,我收到这样的错误:
Microsoft SQL Server 管理工作室
表“用户”中的列与现有主键或唯一约束不匹配。
为什么它告诉我任何主键?我没有触及我正在使用外键的主,我不明白为什么 PK 和 FK 相关。
你能解释一下我做错了什么吗?
谢谢!