Опубликован: 11.12.2006 | Доступ: свободный | Студентов: 5820 / 381 | Оценка: 4.42 / 3.86 | Длительность: 57:15:00
Лекция 15:

Управление таблицами с помощью T-SQL и Enterprise Manager

Модифицирование таблицы с помощью Enterprise Manager

Как уже говорилось, модифицирование таблицы с помощью Enterprise Manager выполняется проще и дает вам больше функциональных возможностей и гибкости, чем операторы T-SQL. Вы можете выполнять все свои модификации в окне Design Table (Проектирование таблицы) или с помощью схемы (диаграммы) базы данных. Рассмотрим сначала использование окна Design Table. Чтобы открыть окно Design Table для вашей таблицы Bicycle_Sales, выполните следующие шаги:

  1. Раскройте папку базы данных MyDB в левой панели Enterprise Manager.
  2. Щелкните на папке Tables (Таблицы), чтобы в правой панели появился список всех таблиц базы данных MyDB (рис. 15.1).
    Enterprise Manager

    увеличить изображение
    Рис. 15.1. Enterprise Manager
  3. Щелкните правой кнопкой мыши на таблице Bicycle_Sales в правой панели. Выберите из контекстного меню пункт Design Table, чтобы появилось окно Design Table (рис. 15.2). В этом окне показана исходная, немодифицированная таблица Bicycle_Sales.
    Окно Design Table (Проектирование таблицы)

    Рис. 15.2. Окно Design Table (Проектирование таблицы)
Изменение колонок

Чтобы изменить колонку в окне Design Table, просто щелкните на соответствующей ячейке или установите нужный флажок в "сетке" и внесите необходимые изменения. Каждая строка в этой сетке представляет колонку таблицы. Заголовки вверху сетки указывают, какое свойство задает каждая ячейка сетки.

Для некоторых ситуаций, когда T-SQL не позволяет выполнить определенные модификации и возвращает сообщение об ошибке, Enterprise Manager предоставляет дополнительные возможности, позволяющие вам правильно осуществить процесс модификаций. Например, если вы попытаетесь с помощью оператора T-SQL ALTER TABLE изменить длину данных колонки, имеющей ограничение primary key или foreign key, то получите сообщение об ошибке, аналогичное следующему сообщению:

Column or parameter #0: Cannot specify a column width on data type int.
(Колонка или параметр #0: Невозможно задать ширину колонки по типу данных int.)

Но если вы используете Enterprise Manager, то увидите окно сообщения, в котором можно изменить длину данных для этой колонки.

Например, чтобы изменить тип данных tinyint на тип smallint для колонки make_id (имеющей ограничение foreign key, содержащее ссылку на колонку make_id таблицы Bicycle_Inventory), просто щелкните на tinyint, щелкните на направленной вниз стрелке, чтобы появился раскрывающийся список Data Type (Тип данных) и затем выберите smallint (рис. 15.3).

Изменение типа данных колонки с помощью Enterprise Manager

Рис. 15.3. Изменение типа данных колонки с помощью Enterprise Manager

Поскольку колонка make_id имеет ограничение foreign key, появится диалоговое окно Data Type Change Required (Требуется изменение типа данных) (рис. 15.4). Щелкните на кнопке Yes (Да), чтобы автоматически преобразовать в обеих таблицах тип колонки make_id из tinyint в smallint.

Диалоговое окно Data Type Change Required (Требуется изменение типа данных)

Рис. 15.4. Диалоговое окно Data Type Change Required (Требуется изменение типа данных)

Как и в случае использования T-SQL, при изменении типа данных с помощью Enterprise Manager исходный тип данных должен допускать неявное преобразование в новый тип данных. Если вы попытаетесь выполнить недопустимое преобразование, Enterprise Manager возвратит сообщение об ошибке, аналогичное тому, что отображено на рис. 15.5, где показан результат недопустимого способа изменения типа данных для колонки sale_date из типа datetime в тип text. Щелкните на кнопке OK, чтобы закрыть окно с сообщением об ошибке, и измените недопустимый тип данных на тип, допускающий неявное преобразование.

Сообщение об ошибке, которое выводится после попытки изменения типа данных на тип, не допускающий неявного преобразования

Рис. 15.5. Сообщение об ошибке, которое выводится после попытки изменения типа данных на тип, не допускающий неявного преобразования

Чтобы сохранить ваши изменения, щелкните на кнопке Save Disk (Сохранение на диске) панели инструментов окна Design Table. Затем в диалоговом окне Save (Сохранение) (рис. 15.6), нужно подтвердить, что указанные таблицы должны быть записаны на диск. Чтобы подтвердить, что вы хотите сохранить ваши изменения, щелкните на кнопке Yes.

Диалоговое окно Save (Сохранить)

Рис. 15.6. Диалоговое окно Save (Сохранить)