Visual Studio 2005 ne fournit pas d’interface pour créer des relations entre les tables d’une firebase database SQL Server CE (j’utilise la version 3.0) et vous ne pouvez pas ouvrir une firebase database Compact Edition à l’aide de Management Studio. Des idées?
Malheureusement, il n’existe actuellement aucune prise en charge de concepteur (contrairement à SQL Server 2005) pour la création de relations entre les tables dans SQL Server CE. Pour créer 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 vous recommande cette FAQ:
EDIT : Dans Visual Studio 2008, il est désormais possible d’effectuer cette opération dans l’interface graphique en cliquant avec le bouton droit sur votre table.
Visual Studio 2008 a un concepteur qui vous permet d’append des FK. Cliquez avec le bouton droit sur la table … Propriétés du tableau, puis accédez à la section “Ajouter des relations”.
HTH
Vous devez créer une requête (dans Visual Studio, cliquez avec le bouton droit sur la connexion à la firebase database -> Nouvelle requête) et exécutez le code 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
Nous remercions E Jensen ( http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1 )
Alan a raison quand il dit qu’il y a un support de designer. Rhywun est incorrect quand il implique que vous ne pouvez pas choisir la table de clés étrangères. Ce qu’il veut dire, c’est que la liste des clés étrangères est grisée dans l’UI, ce qui signifie qu’il n’a pas cliqué avec le bouton droit sur la table appropriée pour append la clé étrangère.
En résumé, cliquez avec le bouton droit de la souris sur la table des clés étrangères et sélectionnez ensuite la table de clés primaire associée via l’option “Propriétés de la table”> “Ajouter des relations”.
Je l’ai fait plusieurs fois et ça marche.
Procédure pas à pas: création d’une firebase database SQL Server Compact 3.5
Pour créer une relation entre les tables créées lors de la procédure précédente
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.
Je sais que c’est “très long” depuis que cette question a été posée pour la première fois. Juste au cas où, si ça aide quelqu’un,
L’ajout de relations est bien pris en charge par MS via SQL Server Compact Tool Box ( https://sqlcetoolbox.codeplex.com/ ). Il suffit de l’installer, vous aurez alors la possibilité de vous connecter à la firebase database compacte à l’aide de la fenêtre Explorateur de serveur. Cliquez avec le bouton droit sur la table principale, sélectionnez “Propriétés de la table”. Vous devriez avoir la fenêtre suivante, qui contient l’onglet “Ajouter des relations” vous permettant d’append des relations.