Visual Studio 2005 no proporciona una interfaz para crear relaciones entre tablas en una base de datos de SQL Server CE (estoy usando la versión 3.0) y no se puede abrir una base de datos Compact Edition utilizando Management Studio hasta donde yo sé. ¿Algunas ideas?¿Cómo se crea una relación de clave externa en una base de datos SQL Server CE (Compact Edition)?
Respuesta
Desafortunadamente, actualmente no hay soporte de diseñador (a diferencia de SQL Server 2005) para construir relaciones entre tablas en SQL Server CE. Para construir relaciones es necesario utilizar comandos SQL tales como:
ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)
Si usted está haciendo el desarrollo de la CE, recomiendo este FAQ:
EDITAR: En Visual Studio 2008 esto es ahora posible hacer en la GUI haciendo clic derecho en su mesa.
Es necesario crear una consulta (en Visual Studio, haga clic en la conexión DB -> Nueva consulta) y ejecutar el siguiente código SQL:
ALTER TABLE tblAlpha
ADD CONSTRAINT MyConstraint FOREIGN KEY (FK_id) REFERENCES
tblGamma(GammaID)
ON UPDATE CASCADE
para verificar que su clave externa fue creado, ejecutar el siguiente código SQL:
SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
crédito a E Jensen (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1)
Visual Studio 2008 hace tiene un diseñador que le permite agregar FK. Simplemente haga clic con el botón derecho en la tabla ... Propiedades de la tabla, luego vaya a la sección "Agregar relaciones".
HTH
Creo que estaba usando VS 2005 cuando tuve este problema. ¡Es bueno saber que ahora puede hacerlo a través de la interfaz de usuario en VS 2008! –
Alan es correcto cuando dice que hay apoyo diseñador. Rhywun es incorrecto cuando implica que no puede elegir la tabla de clave foránea. Lo que quiere decir es que en la interfaz de usuario, el menú desplegable de la tabla de claves externas está atenuado; todo eso significa que no ha hecho clic con el botón derecho en la tabla correcta para agregar la clave externa.
En resumen, haga clic con el botón derecho en la tabla de claves foriegn y luego, a través de la opción 'Propiedades de tabla'> 'Agregar relaciones', seleccione la tabla de clave primaria relacionada.
Lo he hecho muchas veces y funciona.
Gracias Rob, este me fue el truco. – Spidey
create table employee
(
empid int,
empname varchar(40),
designation varchar(30),
hiredate datetime,
Bsalary int,
depno constraint emp_m foreign key references department(depno)
)
Debemos tener una clave principal para crear una clave foránea o una relación entre dos o más tablas.
Sé que es un "tiempo muy largo" desde que se hizo esta pregunta por primera vez. Por si acaso, si ayuda a alguien,
La adición de relaciones es bien soportada por MS a través de la caja de herramientas de SQL Server Compact (https://sqlcetoolbox.codeplex.com/). Simplemente instálelo, luego tendrá la opción de conectarse a la Base de Datos Compacta usando 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.
Walkthrough: Creating a SQL Server Compact 3.5 Database
Para crear una relación entre las tablas creadas en el procedimiento anterior
- En el Explorador de servidores Explorador/Base de datos, expanda Tablas.
- Haga clic con el botón derecho en la tabla Pedidos y luego haga clic en Propiedades de la tabla.
- Haga clic en Agregar relaciones.
- Escriba FK_Orders_Customers en el cuadro Nombre de la relación.
- Seleccione CustomerID en la lista Columna de tabla de clave externa.
- Haga clic en Agregar columnas.
- Haga clic en Agregar relación.
- Haga clic en Aceptar para completar el proceso y crear la relación en la base de datos .
- Haga clic en Aceptar nuevamente para cerrar el cuadro de diálogo Propiedades de la tabla.
- 1. ¿Cómo usar SQL Server Compact Edition (CE) desde Java?
- 2. Subconsulta en SQL Server Compact Edition
- 3. sql server compact edition Editor de datos
- 4. ¿Puedo usar SQL Server Compact Edition CE en Mono?
- 5. SQL Server 2008 a SQL Server Compact Edition?
- 6. ¿Cómo importar datos en SQL Compact Edition?
- 7. Métodos para migrar la base de datos SQL (mdf) a SQL Compact Edition (sdf)
- 8. ¿FluentNHibernate es compatible con SQL Server Compact Edition 4.0?
- 9. Resolver daños en archivos de base de datos de SQL Server Compact Edition
- 10. Problema de SQL Compact (CE) con la creación de clave externa
- 11. ¿Cómo se abre un archivo SDF (SQL Server Compact Edition)?
- 12. SQL Server Compact Edition 4 - AccessViolationException
- 13. ¿Alguien ha usado (o considerado usar) Sql Server Compact Edition?
- 14. ¿SQL Server Compact Edition es una alternativa sensata a SQLite?
- 15. ¿Cómo cambio el nombre de una tabla en SQL Server Compact Edition?
- 16. ¿Puedo utilizar membresía ASP.NET con SQL Server Compact Edition?
- 17. Cómo conectarse a SQL Server Compact Edition 4.0 con un proveedor de tipos en F #?
- 18. Crear una clave externa compuesta en SQL Server 2008
- 19. ¿SQL Compact Edition admite índices agrupados?
- 20. ¿Cuál es la diferencia entre SQL Server Compact Edition y SQL Server Express Edition?
- 21. Almacenar una imagen en una base de datos SQL Server CE
- 22. ¿Cómo puedo actualizar mi Sql Server CE 3.5 sdf a Sql Server CE 4.0?
- 23. Cómo usar el parámetro con LIKE en Sql Server Compact Edition
- 24. Relación de clave externa entre dos bases de datos en SQL Server 2008
- 25. ¿Cómo puedo soltar una clave externa en SQL Server?
- 26. Desventajas del uso de SQL Server Compact frente a la base de datos SQL Server dedicada
- 27. ¿Cuál es la diferencia entre Shrink y Compact en SQL Server CE?
- 28. ¿La degradación de ntext, texto e imagen afecta a SQL Server Compact Edition?
- 29. Conectarse a una base de datos SQL externa en C#
- 30. No se puede establecer una relación de clave externa
Creo que se está perdiendo la palabra clave CONSTRAINT. Al menos en SQL Server CE 3.5 ... ALTER TABLE Orders ADD CONSTRAINT FK_Customer_Order FOREIGN KEY (CustomerId) REFERENCIAS Clientes (CustomerId) – Edo