Comment créer une relation de clé étrangère dans une base de données SQL Server ce (Compact Edition)?

Visual Studio 2005 ne fournit pas d'interface pour créer des relations entre les tables dans une base de données SQL Server CE (j'utilise la version 3.0) et vous ne pouvez pas ouvrir une DB D'édition compacte en utilisant Management Studio pour autant que je sache. Des idées?

46
demandé sur Ryan Shripat 2008-09-06 00:26:12

7 réponses

Malheureusement, il n'y a actuellement aucun support de concepteur (contrairement à SQL Server 2005) pour construire des relations entre les tables dans SQL Server CE. Pour établir des relations, vous devez utiliser des commandes SQL telles que:

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

Si vous faites du développement CE, je recommanderais cette FAQ:

EDIT : dans Visual Studio 2008, cela est maintenant possible dans l'interface graphique en cliquant avec le bouton droit sur votre table.

69
répondu Espo 2011-12-15 11:24:26

Visual Studio 2008 a-t-il un concepteur qui vous permet d'ajouter des FK. cliquez simplement avec le bouton droit sur la table... Propriétés de la Table, puis allez dans la section" Ajouter des Relations".

HTH

44
répondu 2009-03-16 15:28:21

Vous devez créer une requête (dans Visual Studio, faites un clic droit sur la connexion DB - > nouvelle requête) et exécutez le SQL suivant:

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

Pour vérifier que votre clé étrangère a été créée, exécutez le code SQL suivant:

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

Crédit à E Jensen ( http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1 )

7
répondu Ryan Shripat 2008-09-05 20:30:39

Alan a raison quand il dit qu'il y a un soutien de concepteur. Rhywun est incorrect quand il implique que vous ne pouvez pas choisir la table de clé étrangère. Ce qu'il signifie, c'est que dans L'interface utilisateur, la liste déroulante de la table des clés étrangères est grisée - tout ce qui signifie qu'il n'a pas cliqué avec le bouton droit sur la table correcte pour ajouter la clé étrangère.

En résumé, faites un clic droit sur la table de clés foriegn, puis, via L'option 'Propriétés de la Table' > 'ajouter des Relations', sélectionnez la table de clés primaires associée.

Je l'ai fait de nombreuses fois et cela fonctionne.

3
répondu Rob 2009-08-11 07:24:20

Procédure pas à pas: création D'une base de données SQL Server Compact 3.5

Pour créer une relation entre les tables créées dans la procédure précédente

  1. Dans Server Explorer/Database Explorer, développez Tables.
  2. cliquez avec le bouton droit sur la table des commandes, puis cliquez sur Propriétés de la Table.
  3. Cliquez Sur Ajouter Des Relations.
  4. Tapez FK_Orders_Customers dans la zone Nom de la Relation.
  5. Sélectionnez CustomerID dans la liste des colonnes du tableau des clés étrangères.
  6. Cliquez Sur Ajouter Colonne.
  7. Cliquez Sur Ajouter Une Relation.
  8. Cliquez sur OK pour terminer le processus et créer la relation la base de données.
  9. Cliquez à nouveau sur OK pour fermer la boîte de dialogue Propriétés du tableau.
2
répondu Alex Jolig 2014-10-28 04:48:44
create table employee
(
   empid int,
   empname varchar(40),
   designation varchar(30),
   hiredate datetime, 
   Bsalary int,
   depno constraint emp_m foreign key references department(depno)
)

Nous devrions avoir une clé primaire pour créer une clé étrangère ou une relation entre deux tables ou plus .

1
répondu shahwazir haqmall 2013-06-03 10:54:30

Je sais que cela fait "très longtemps" que cette question a été posée pour la première fois. Juste au cas où, si cela aide quelqu'un,

L'ajout de relations est bien pris en charge par MS via SQL Server Compact Tool Box ( https://sqlcetoolbox.codeplex.com / ). Installez-le simplement, vous aurez alors la possibilité de vous connecter à la base de données compacte en utilisant la fenêtre de L'Explorateur de serveur. Clic droit sur la table principale , sélectionnez "Propriétés du Tableau". Vous devriez avoir la fenêtre suivante, qui contient l'onglet "Ajouter des Relations" vous permettant d'ajouter des relations.

Onglet Ajouter des Relations-boîte à outils SQL Server Compact

1
répondu Tharaka 2014-01-06 02:48:05