Frage

Visual Studio 2005 bietet keine Schnittstelle zum Erstellen von Beziehungen zwischen Tabellen in einer SQL Server CE-Datenbank (ich verwende Version 3.0) und Sie können meines Wissens keine Compact Edition-Datenbank mit Management Studio öffnen.Irgendwelche Ideen?

War es hilfreich?

Lösung

Leider gibt es derzeit (im Gegensatz zu SQL Server 2005) keine Designerunterstützung für den Aufbau von Beziehungen zwischen Tabellen in SQL Server CE.Um Beziehungen aufzubauen, müssen Sie SQL-Befehle verwenden wie:

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

Wenn Sie CE-Entwicklung betreiben, würde ich diese FAQ empfehlen:

BEARBEITEN:In Visual Studio 2008 ist dies jetzt in der GUI möglich, indem Sie mit der rechten Maustaste auf Ihre Tabelle klicken.

Andere Tipps

Visual Studio 2008 tut Haben Sie einen Designer, der Ihnen das Hinzufügen von FKs ermöglicht.Klicken Sie einfach mit der rechten Maustaste auf die Tabelle...Tabelleneigenschaften und gehen Sie dann zum Abschnitt „Beziehungen hinzufügen“.

Sie müssen eine Abfrage erstellen (in Visual Studio mit der rechten Maustaste auf die DB-Verbindung klicken -> Neue Abfrage) und die folgende SQL ausführen:

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

Um zu überprüfen, ob Ihr Fremdschlüssel erstellt wurde, führen Sie die folgende SQL aus:

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

Dank an E Jensen (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1)

Alan hat recht, wenn er sagt, dass es Designerunterstützung gibt.Rhywun hat Unrecht, wenn er impliziert, dass Sie die Fremdschlüsseltabelle nicht auswählen können.Er meint damit, dass in der Benutzeroberfläche das Dropdown-Menü der Fremdschlüsseltabelle ausgegraut ist. Das bedeutet lediglich, dass er nicht mit der rechten Maustaste auf die richtige Tabelle geklickt hat, um den Fremdschlüssel hinzuzufügen.

Zusammenfassend klicken Sie mit der rechten Maustaste auf die Fremdschlüsseltabelle und wählen dann über die Option „Tabelleneigenschaften“ > „Beziehungen hinzufügen“ die zugehörige Primärschlüsseltabelle aus.

Ich habe es viele Male gemacht und es funktioniert.

Komplettlösung:Erstellen einer SQL Server Compact 3.5-Datenbank

Erstellen einer Beziehung zwischen den im vorherigen Verfahren erstellten Tabellen

  1. Erweitern Sie im Server-Explorer/Datenbank-Explorer Tabellen.
  2. Klicken Sie mit der rechten Maustaste auf die Tabelle „Bestellungen“ und klicken Sie dann auf „Tabelleneigenschaften“.
  3. Klicken Sie auf Beziehungen hinzufügen.
  4. Geben Sie FK_Orders_Customers in das Feld Beziehungsname ein.
  5. Wählen Sie CustomerID in der Liste der Spalten der Fremdschlüsseltabelle aus.
  6. Klicken Sie auf Spalten hinzufügen.
  7. Klicken Sie auf Beziehung hinzufügen.
  8. Klicken Sie auf OK, um den Prozess abzuschließen und die Beziehung in der Datenbank zu erstellen.
  9. Klicken Sie erneut auf OK, um das Dialogfeld „Tabelleneigenschaften“ zu schließen.
create table employee
(
   empid int,
   empname varchar(40),
   designation varchar(30),
   hiredate datetime, 
   Bsalary int,
   depno constraint emp_m foreign key references department(depno)
)

Wir sollten einen Primärschlüssel haben, um einen Fremdschlüssel oder eine Beziehung zwischen zwei oder mehr Tabellen zu erstellen.

Ich weiß, dass es „sehr lange her“ ist, seit diese Frage zum ersten Mal gestellt wurde.Nur für den Fall, wenn es jemandem hilft,

Das Hinzufügen von Beziehungen wird von MS über die SQL Server Compact Tool Box gut unterstützt (https://sqlcetoolbox.codeplex.com/).Installieren Sie es einfach, dann erhalten Sie die Möglichkeit, über das Server-Explorer-Fenster eine Verbindung zur Compact Database herzustellen.Klicken Sie mit der rechten Maustaste auf die Primärtabelle und wählen Sie „Tabelleneigenschaften“.Sie sollten das folgende Fenster haben, das die Registerkarte „Beziehungen hinzufügen“ enthält, mit der Sie Beziehungen hinzufügen können.

Add Relations Tab - SQL Server Compact Tool Box

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top