【发布时间】:2015-08-10 17:00:41
【问题描述】:
我正在尝试使用 Visual Studio 在 asp.net Web 应用程序的 er 图中创建一个表来表示以下关系:
管理员添加教师 一对多,教师实体完全参与,因为每个教师只能由管理员添加。
一位管理员添加多位老师,一位管理员添加一位老师。每个教师实体都必须参与关系,并不是每个管理员都参与添加教师的关系,因为他们可能永远不会添加教师。
表架构 个人 ID、教师 ID、名字、姓氏、日期和时间、个人 ID(管理员)
其他相关架构
人(超类) 个人 ID(PK)、姓名、出生日期、
学生(子类,不相交) 个人 ID(PK)、学生 ID、名字、姓氏、出生日期、年龄
教师(子类,脱节) 个人 ID(PK)、教师 ID、名字、姓氏
管理员(子类,不相交) 个人 ID(PK)、管理员 ID、名字、姓氏
到目前为止我已经尝试过:
CREATE TABLE [dbo].[Administrator's Teacher] (
[Person ID] INT NOT NULL,
[Teacher ID] INT NOT NULL,
[First Name] VARCHAR (50) NOT NULL,
[Surname] VARCHAR (50) NOT NULL,
[Person ID] INT NOT NULL,
PRIMARY KEY CLUSTERED ([Person ID] ASC)
REFERENCES [dbo].[Teacher] ([Person ID]),
FOREIGN KEY ([Person ID])
REFERENCES [dbo].[Administrator] ([Person ID])
);
我认为我无法创建表,因为我无法区分我正确引用的 Person ID?我该如何解决这个问题?
【问题讨论】:
-
旁注:尽量避免在表格或列名中放置单引号/任何特殊字符或空格。