Подтвердить что ты не робот

Как вы создаете отношения внешнего ключа в базе данных SQL Server CE (Compact Edition)?

Visual Studio 2005 не предоставляет интерфейс для создания связей между таблицами в базе данных SQL Server CE (я использую версию 3.0), и вы не можете открыть базу данных Compact Edition с помощью Management Studio, насколько мне известно. Любые идеи?

4b9b3361

Ответ 1

К сожалению, в настоящее время нет поддержки дизайнеров (в отличие от SQL Server 2005) для построения связей между таблицами в SQL Server CE. Чтобы строить отношения, вам нужно использовать SQL-команды, например:

ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)

Если вы занимаетесь разработкой СЕ, я бы рекомендовал этот FAQ:

EDIT. В Visual Studio 2008 это теперь можно сделать в графическом интерфейсе, щелкнув правой кнопкой мыши по вашей таблице.

Ответ 2

В Visual Studio 2008 есть дизайнер, который позволяет добавлять FK. Просто щелкните правой кнопкой мыши таблицу... Свойства таблицы, затем перейдите в раздел "Добавить отношения".

НТН

Ответ 3

Вам нужно создать запрос (в Visual Studio, щелкните правой кнопкой мыши на соединении DB → New Query) и выполните следующий SQL:

ALTER TABLE tblAlpha
ADD CONSTRAINT MyConstraint FOREIGN KEY (FK_id) REFERENCES
tblGamma(GammaID)
ON UPDATE CASCADE

Чтобы убедиться, что ваш внешний ключ был создан, выполните следующий SQL:

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

Кредит E Jensen (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1)

Ответ 4

Алан прав, когда говорит о поддержке дизайнера. Rhywun неверен, когда он подразумевает, что вы не можете выбрать таблицу внешнего ключа. То, что он имеет в виду, это то, что в пользовательском интерфейсе таблица внешнего ключа выпадает серым цветом - все это означает, что он не щелкнул правой кнопкой мыши по правильной таблице, чтобы добавить внешний ключ.

Вкратце, щелкните правой кнопкой мыши на таблице ключей foriegn, а затем с помощью опции "Свойства таблицы" > "Добавить отношения" вы выберите соответствующую таблицу первичных ключей.

Я делал это много раз, и это работает.

Ответ 5

Пошаговое руководство: создание базы данных SQL Server Compact 3.5

Чтобы создать связь между таблицами, созданными в предыдущей процедуре

  • В проводнике сервера/проводнике базы данных разверните таблицу.
  • Щелкните правой кнопкой мыши таблицу "Заказы" и выберите "Свойства таблицы".
  • Нажмите "Добавить отношения".
  • Введите FK_Orders_Customers в поле "Название отношения".
  • Выберите CustomerID в списке столбцов таблицы внешнего ключа.
  • Нажмите "Добавить столбцы".
  • Нажмите "Добавить связь".
  • Нажмите "ОК", чтобы завершить процесс и создать связь в базы данных.
  • Нажмите "ОК" еще раз, чтобы закрыть диалоговое окно "Свойства таблицы".

Ответ 6

create table employee
(
   empid int,
   empname varchar(40),
   designation varchar(30),
   hiredate datetime, 
   Bsalary int,
   depno constraint emp_m foreign key references department(depno)
)

У нас должен быть первичный ключ для создания внешнего ключа или отношения между двумя или более таблицами.

Ответ 7

Я знаю это "очень долго", так как этот вопрос был задан первым. На всякий случай, если это поможет кому-то,

Добавление отношений хорошо поддерживается MS через SQL Server Compact Tool Box (https://sqlcetoolbox.codeplex.com/). Просто установите его, затем вы получите возможность подключиться к Compact Database, используя окно Server Explorer. Щелкните правой кнопкой мыши на основной таблице, выберите "Свойства таблицы". У вас должно быть следующее окно, содержащее вкладку "Добавить отношения", позволяющее добавлять отношения.

Add Relations Tab - SQL Server Compact Tool Box