2010-08-31 5 views
6

¿Me falta algo aquí? Parece que las únicas opciones para crear una nueva tabla en un proyecto de base de datos en VS2010 son:¿Hay un diseñador de tablas para el proyecto de base de datos VS2010?

Cree un objeto de tabla como un archivo, luego cree todas las restricciones (valores predeterminados) como archivos separados, luego cree cada índice como un archivo separado y la clave primaria como un archivo independiente y sigue y sigue ...

O

crear todo el esquema de la tabla utilizando el diseñador de tablas en SSMS y luego utilizar el esquema compara la herramienta para crear un único archivo monolítica de SQL declaraciones para cada elemento de la tabla y copie cada bloque de código a un archivo recién creado en VS.

Esta pregunta fue hecha hace 2 años y espero que la respuesta haya cambiado. Por favor, dime que hay un diseñador de tablas oculto para el proyecto de base de datos en VS2010 que acabo de pasar por alto.

Respuesta

3

¡Estoy bastante seguro de que no hay ninguno!

¿Puedo preguntar por qué necesita un diseñador de tablas sobre la creación y modificación de archivos de secuencias de comandos de creación para sus nuevos objetos? ¿Hay algo que esto no le dé a un diseñador?

+2

@David, prefiero un diseñador en este caso por la misma razón que uso otras herramientas de codificación (como VS), en lugar de codificar en el bloc de notas. Comodidad, mayor productividad y confiabilidad. Con suerte, estarás de acuerdo en que un código es tan "caldeado" que es generado y mantenido más rápido y de manera más confiable por una herramienta que por un ser humano. Cuando estoy "debajo de la pistola", prefiero dedicar mi tiempo y mis procesos mentales a la lógica de negocios que las declaraciones "ALTER TABLE xxx ADD CONSTRAINT xxx blah, blah blah". –

+0

@David, después de mirar su perfil y ver que trabaja para Red Gate, podría agregar que otras herramientas de codificación que uso por razones similares incluyen: Petición de SQL de Red Gate, Refactor, Data Gen, Docs y anteriormente, Packager. Usted, de todos, debe entender mi deseo de un diseñador de mesas. –

+1

El objetivo del modelo de script fuera de línea de VS2010 es que no requiere que formes declaraciones ALTER difíciles de recordar para modificar tus objetos. Está definiendo los scripts CREATE (desde un punto de inicio de plantilla) y cuando esto se implementa en una base de datos, el motor subyacente realiza las tareas difíciles. –

0

Wow ... no puedo creer que nadie se haya tomado el tiempo para responder a esto en todo este tiempo. Aquí hay una muestra del script de creación de tabla con algunas restricciones simples.

CREATE TABLE [User] 
(
    UserID    INT    NOT NULL IDENTITY (1,1), 
    UserName   NVARCHAR(20) NOT NULL, 
    UserPassword  NVARCHAR(20) NOT NULL, 
    EmailAddress  NVARCHAR(50) NOT NULL, 
    Location   NVARCHAR(100), 
    MobileNumber  VARCHAR(10), 
    CreatedDate   DATETIME  NOT NULL  
     CONSTRAINT User_CreatedDate_DF DEFAULT     (GETDATE()), 
     CONSTRAINT User_UserID_PK  PRIMARY KEY CLUSTERED (UserID), 
     CONSTRAINT User_UserName_UQ  UNIQUE     (UserName), 
     CONSTRAINT User_EmailAddress_CK CHECK     (EmailAddress LIKE '%@%.%'), 
     CONSTRAINT User_MobileNumber_CK CHECK     (MobileNumber LIKE '[2-9][0-9][0-9][2-9][0-9][0-9][0-9][0-9][0-9][0-9]') 
) 

Puede utilizar funciones para incrustar en sus restricciones de comprobación, pero de nuevo, esto es una exaxmple simplista.

+1

Gracias por tomarse el tiempo para dar una respuesta, pero, desafortunadamente, no se permite agregar restricciones como parte de la sentencia CREATE TABLE en el proyecto VSDB e incluso si lo fuera, sería contrario a los propósitos al tener archivos separados para cada base de datos objeto, que son: 1. protección a través del control de fuente y 2. tener objetos individuales para comparar en el proceso de actualización. Mi problema es que la creación de esos objetos individuales como archivos es un ejercicio que consume mucho tiempo. Con un diseñador de tablas, podría crear una tabla y todas las restricciones y objetos relacionados como archivos en cuestión de minutos. –

+0

Y por cierto, soy muy consciente de cómo escribir un guión de creación de tablas con contraints, pero gracias de todos modos ... Yo también estoy sorprendido de que solo haya recibido 2 respuestas sobre esto. Especialmente sorprendido de no obtener una respuesta de alguien de MS, tal vez en el equipo de Visual Studio. Oh, bueno ... –

1

La forma en que uso el proyecto de base de datos en VS2010 es:

  1. Crear todo con SQL Server Management Studio.
  2. Sincronícelo en mi proyecto de base de datos.
  3. Cuando necesito cambiar algo, hágalo en SQL Server Management Studio.
  4. Use las comparaciones de esquemas para sincronizar su proyecto de base de datos.
1

Me di cuenta de que VS 11 Beta ahora incluye un diseñador, aunque es áspero en los bordes (las relaciones, por ejemplo, todavía deben escribirse a mano).

+0

Hola, gracias por la respuesta. ¡Eso suena alentador! Tendremos que verificar eso. Hemos tenido otros problemas serios con particularmente, actualizaciones y restricciones. He estado fuera de esa parte tanto tiempo, no conozco los problemas exactos, pero no es tan útil como pensamos que sería cuando nos comprometimos. Afortunadamente, también han abordado esos problemas. –

0

Como he comentado here, la referencia VS2010 indica que existe un Table Designer en este document.

Pero por alguna razón, no importa qué tipo de proyecto se crea (proyecto de servidor 2008/2005, 2008/2005 proyecto de base de) no puedo conseguir que se muestra la Table Designer.

+0

Creo que es básicamente el diseñador de tablas de SSMS. Creo que está diseñado para la interacción con una instancia de servidor SQL o un archivo MDF, no para un proyecto de base de datos VSTS. No sería diferente a abrir SSMS (o la versión gratuita), diseñar la tabla y copiar el código SQL que la herramienta genera en los archivos del proyecto. Aún tendría que mantener manualmente el código de las restricciones como archivos de código separados. Usted y yo creemos que sería mejor para una herramienta de diseño mantener todos los archivos relacionados con la tabla. No dudaría si el proyecto DB muere en la vid, en lugar de EF. –

Cuestiones relacionadas