Pregunta

Visual Studio 2005 no proporciona una interfaz para crear relaciones entre tablas en una base de datos SQL Server CE (estoy usando la versión 3.0) y, hasta donde yo sé, no se puede abrir una base de datos Compact Edition usando Management Studio.¿Algunas ideas?

¿Fue útil?

Solución

Lamentablemente, actualmente no hay soporte de diseñador (a diferencia de SQL Server 2005) para crear relaciones entre tablas en SQL Server CE.Para construir relaciones necesita usar comandos SQL como:

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

Si está realizando desarrollo CE, le recomendaría estas preguntas frecuentes:

EDITAR:En Visual Studio 2008, esto ahora es posible hacerlo en la GUI haciendo clic derecho en su tabla.

Otros consejos

estudio visual 2008 hace tener un diseñador que te permita agregar FK's.Simplemente haga clic derecho en la tabla...Propiedades de la tabla, luego vaya a la sección "Agregar relaciones".

Debe crear una consulta (en Visual Studio, haga clic derecho en la conexión de base de datos -> Nueva consulta) y ejecute el siguiente SQL:

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

Para verificar que se creó su clave externa, ejecute el siguiente SQL:

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

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

Alan tiene razón cuando dice que hay apoyo de los diseñadores.Rhywun se equivoca cuando implica que no se puede elegir la tabla de claves externas.Lo que quiere decir es que en la interfaz de usuario el menú desplegable de la tabla de claves externas está atenuado; todo lo que significa es que no ha hecho clic derecho en la tabla correcta para agregar la clave externa.

En resumen, haga clic derecho en la tabla de claves externas y luego, a través de la opción 'Propiedades de tabla' > 'Agregar relaciones', seleccione la tabla de clave principal relacionada.

Lo he hecho numerosas veces y funciona.

Tutorial:Crear una base de datos de SQL Server Compact 3.5

Para crear una relación entre las tablas creadas en el procedimiento anterior

  1. En Explorador de servidores/Explorador de bases de datos, expanda Tablas.
  2. Haga clic derecho en la tabla Pedidos y luego haga clic en Propiedades de la tabla.
  3. Haga clic en Agregar relaciones.
  4. Escriba FK_Orders_Customers en el cuadro Nombre de relación.
  5. Seleccione CustomerID en la lista de columnas de la tabla de claves externas.
  6. Haga clic en Agregar columnas.
  7. Haga clic en Agregar relación.
  8. Haga clic en Aceptar para completar el proceso y crear la relación en la base de datos.
  9. Haga clic en Aceptar nuevamente para cerrar el cuadro de diálogo Propiedades de la tabla.
create table employee
(
   empid int,
   empname varchar(40),
   designation varchar(30),
   hiredate datetime, 
   Bsalary int,
   depno constraint emp_m foreign key references department(depno)
)

Deberíamos tener una clave principal para crear una clave externa o una relación entre dos o más tablas.

Sé que ha pasado "mucho tiempo" desde que se hizo esta pregunta por primera vez.Por si acaso, si a alguien le sirve,

MS admite la adición de relaciones a través de SQL Server Compact Tool Box (https://sqlcetoolbox.codeplex.com/).Simplemente instálelo y luego tendrá la opción de conectarse a la base de datos compacta utilizando la ventana del Explorador de servidores.Haga clic derecho en la tabla principal, seleccione "Propiedades de la tabla".Debería tener la siguiente ventana, que contiene la pestaña "Agregar relaciones" que le permite agregar relaciones.

Add Relations Tab - SQL Server Compact Tool Box

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top