2010-08-31 12 views
6

Я что-то пропустил? По-видимому, единственными параметрами для создания новой таблицы в проекте базы данных в VS2010 являются:Есть ли дизайнер таблиц для проекта базы данных VS2010?

Создайте объект таблицы как файл, затем создайте все ограничения (по умолчанию) в виде отдельных файлов, а затем создайте каждый индекс в виде отдельного файла и первичный ключ в виде отдельного файла и так далее ...

Или

Создать всю схему таблицы с помощью конструктора таблицы в SSMS, а затем использовать схему инструмент для сравнения, чтобы создать единый монолитный файл SQL операторов для каждого элемента таблицы и копировать каждый блок кода во вновь созданный файл в VS.

Этот вопрос был задан 2 года назад, и я надеюсь, что ответ изменился. Пожалуйста, скажите мне, что есть скрытый дизайнер таблиц для проекта базы данных в VS2010, который я только что забыл.

ответ

3

Я уверен, что его нет!

Могу ли я спросить, почему вам нужен дизайнер таблицы для создания и изменения файлов сценариев создания для ваших новых объектов? Есть ли что-то, что не даст вам конструктора?

+2

@David, я предпочитаю конструктора в этом случае по той же причине, что и другие инструменты кодирования (например, VS), а не кодирование в блокноте. Удобство, повышенная производительность и надежность. Хотелось бы надеяться, что вы согласитесь, что какой-то код настолько «Бойлер», что он генерируется и поддерживается быстрее и надежнее инструментом, чем человеком. Когда «под пистолетом», я бы предпочел потратить свое время и мыслительные процессы на бизнес-логику, чем ошеломить «ALTER TABLE xxx ADD CONSTRAINT xxx blah, blah blah». –

+0

@David, посмотрев ваш профиль и увидев, что вы работаете в Red Gate, я могу добавить, что другие инструменты кодирования, которые я использую по тем же причинам, включают в себя: SQL-запрос Red Gate, Refactor, Data Gen, Docs и ранее, Packager. Вы, в общем, должны понять мое желание для дизайнера стола. –

+1

Весь смысл автономной скриптовой модели VS2010 заключается в том, что вам не нужно создавать сложные для запоминания инструкции ALTER для изменения ваших объектов. Вы определяете сценарии CREATE (начиная с начальной точки шаблона), и когда это развертывается в базе данных, жесткий материал выполняется под машиной внизу. –

0

Ничего себе ... не могу поверить, что никто не нашел времени ответить на все это время. Вот пример сценария создания таблицы с некоторыми простыми ограничениями.

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]') 
) 

Вы можете использовать функции, внедряемые в проверочных ограничениях, но опять же, это упрощено exaxmple.

+1

Спасибо за то, что нашли время, чтобы дать ответ, но, к сожалению, добавление ограничений как части оператора CREATE TABLE не разрешено в проекте VSDB, и даже если бы это было так, это побеждало бы цели в том, чтобы иметь отдельные файлы для каждой базы данных объект: 1. защита через Source Control и 2. наличие отдельных объектов для сравнения в процессе обновления. Моя говядина заключается в том, что создание этих отдельных объектов в качестве файлов требует много времени. С помощью конструктора таблиц я мог бы создать таблицу и все ограничения и связанные объекты в виде файлов за считанные минуты. –

+0

И, кстати, мне хорошо известно, как написать скрипт создания таблиц с ограничениями, но спасибо точно так же ... Я тоже удивлен, что на этот счет я получил всего 2 ответа. Особенно удивлен, чтобы не получить ответ от кого-то из MS, возможно, в команде Visual Studio. О, хорошо .. –

1

Путь я использую проект базы данных в VS2010 является:

  1. Создать все с SQL Server Management Studio.
  2. Синхронизировать его с моим проектом базы данных.
  3. Когда мне нужно что-то изменить, сделайте это в SQL Server Management Studio.
  4. Использовать Схемы Сравнение для синхронизации проекта базы данных.
1

Я только что заметил, что VS 11 Beta теперь включает в себя конструктора, хотя он грубый по краям (отношения, например, все еще нужно набирать вручную).

+0

Эй, спасибо за ответ. Это звучит обнадеживающе! Придется проверить это. У нас были другие серьезные проблемы с особенностями, обновлениями и ограничениями. Я так долго не был в этой части, я не знаю точных вопросов, но это не так полезно, как мы думали, что это будет, когда мы позаботимся об этом. Надеюсь, они также затронули эти проблемы. –

0

Как я уже говорил, here, ссылка VS2010 указывает, что в этом document есть Table Designer.

Но по какой-то причине, независимо от того, какой проект я создаю (Project Server 2008/2005, проект базы данных 2008/2005) Я не могу получить Table Designer показано на рисунке.

+0

Я думаю, что это в основном дизайнер таблиц из SSMS. Я думаю, что он предназначен для взаимодействия с экземпляром SQL-сервера или файлом MDF, а не для проекта базы данных VSTS. Это ничем не отличается от открытия SSMS (или бесплатной версии), создания таблицы и копирования кода SQL, который инструмент генерирует для файлов проекта. Вам все равно придется вручную поддерживать код для ограничений в виде отдельных файлов кода. Мы с вами оба полагаем, что лучше всего, чтобы инструмент проектирования поддерживал все файлы, связанные с таблицей. Я бы не сомневался, что проект БД умирает на лозе, вместо EF. –