Как я могу решить ошибку"'таблица' не содержит первичных или потенциальных ключей, которые соответствуют списку ссылочных столбцов во внешнем ключе"?
Всем привет,
У меня проблема с базой данных.Он работал до сегодняшнего дня, когда я попытался построить его, и он сказал, что мои отношения с БД не очень хороши"SQL71516: The referenced table '[dbo].[Courses]' не содержит первичных или потенциальных ключей, соответствующих списку столбцов ссылок во внешнем ключе. Если ссылочный столбец является вычисляемым столбцом, он должен быть сохранен", а также "Ошибка 159: EntityType 'DatabaseStudentsModel.Login' не имеет определенного ключа. Определите ключ для этого EntityType"во втором случае у меня уже есть определенные ключи...Это мои столы:
CREATE TABLE [dbo].[RegisterTeacher] ( [SNTeacher] INT NOT NULL, [UserName] NVARCHAR (30) NOT NULL, [pwd] INT NOT NULL, [fullName] NVARCHAR (MAX) NOT NULL, [courseID] INT NOT NULL, [education] NVARCHAR (50) NULL, PRIMARY KEY CLUSTERED ([SNTeacher]), CONSTRAINT [FK_RegisterTeacher_ToTable] FOREIGN KEY ([courseID]) REFERENCES [Courses]([courseID]) );
CREATE TABLE [dbo].[Login] ( [SNTeacher] INT NULL, [UserName] NVARCHAR (10) NOT NULL, [pwd] INT NOT NULL, PRIMARY KEY CLUSTERED ([pwd]), CONSTRAINT [FK_Login_ToTable] FOREIGN KEY ([SNTeacher]) REFERENCES [dbo].[RegisterTeacher] ([SNTeacher]) );
CREATE TABLE [dbo].[Courses] ( [courseID] INT NOT NULL, [courseName] NVARCHAR (MAX) NOT NULL, [education] NVARCHAR (50) NOT NULL, [SNTeacher] INT NOT NULL, [ClassID] NVARCHAR (18) NULL, PRIMARY KEY CLUSTERED ([courseID] ASC), CONSTRAINT [FK_Courses_ToTable] FOREIGN KEY ([SNTeacher]) REFERENCES [dbo].[RegisterTeacher] ([SNTeacher]) );
CREATE TABLE [dbo].[ChildCourse] ( [courseID] INT NOT NULL, [UserName] NVARCHAR (10) NOT NULL, [sNr] INT NOT NULL, PRIMARY KEY CLUSTERED ([courseID] ASC), CONSTRAINT [FK_ChildCourse_ToTable] FOREIGN KEY ([sNr]) REFERENCES [Courses]([SNTeacher]) );
Что я должен сделать, чтобы избавиться от ошибки, и что я сделал неправильно, когда речь зашла об установлении отношений между таблицами?Заранее благодарю вас!
Что я уже пробовал:
Я пытался изменить PK и FK для курсов,Login и RegisterTeacher,но база данных не позволит мне ничего сделать,даже если я изменю sth,таблица не изменится.