Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.Б.Д / лекции / 4БД.doc
Скачиваний:
35
Добавлен:
30.05.2020
Размер:
115.2 Кб
Скачать

2.2 Зміна таблиці

Структура існуючої таблиці може бути модифікована за допомогою команди ALTER TABLE, спрощений синтаксис якої представлений нижче:

ALTER TABLE ім’я_таблиці

{[ADD [COLUMN] ім’я_колонкитип_даних [NULL | NOT NULL ]]

| [DROP [COLUMN] ім’я_колонки]}

В середовищі MS SQL Server спрощений синтаксис команди модифікації таблиці має вигляд:

ALTER TABLE ім’я_таблиці

{[ALTER COLUMN ім’я_колонки

\новий_тип_даних [(точність[,масштаб])]

[ NULL | NOT NULL ]}]

| ADD { [ім’я_колонки тип_даних]

| ім’я_колонки AS вираз } [,...n]

| DROP {COLUMN ім’я_колонки}[,...n]

}

Команда дозволяє додавати і видаляти стовпці, змінювати їх визначення.

Одне з основних правил при додаванні стовпців в існуючу таблицю свідчить: коли в таблиці вже містяться дані, стовпець, що додається, не може бути визначений з атрибутом NOT NULL. Цей атрибут означає, що для кожного рядка даних відповідний стовпець повинен містити деяке значення, тому додавання стовпця з атрибутом NOT NULL приводить до появи суперечності – вже існуючі рядки даних таблиці не матимуть в новому стовпці ненульових значень.

Проте існує спосіб додавання обов'язкових полів в існуючу таблицю. Для цього необхідно:

  • додати в таблицю новий стовпець, визначивши його з атрибутом NULL (тобто стовпець не зобов'язаний містити яких-небудь значень);

  • ввести в новий стовпець які-небудь значення для кожного рядка даних таблиці;

  • переконавшися, що новий стовпець містить ненульові значення для кожного рядка даних, змінити структуру таблиці, замінивши атрибут цього стовпця на NOT NULL.

При зміні визначень стовпців слід брати до уваги деякі загальноприйняті правила:

  • розмір стовпця може бути збільшений до максимального значення, що допускається відповідним типом даних;

  • розмір стовпця може бути зменшений тільки в тому випадку, якщо найбільше значення, що міститься в ньому, не перевершуватиме його нового розміру;

  • кількість розрядів числового типу даних завжди може бути збільшене;

  • кількість розрядів числового типу даних може бути зменшене тільки в тому випадку, якщо кількість розрядів найбільшого значення у відповідному стовпці не перевершуватиме нового числа розрядів, визначеного для цього стовпця ;

  • кількість десяткових знаків числового типу даних може бути зменшене або збільшене;

  • тип даних стовпця, як правило, може бути змінений.

Деякі реалізації фактично можуть обмежити розробника у використовуванні деяких опцій команди ALTER TABLE. Наприклад, може виявитися неприпустимим видалення стовпців з існуючої таблиці. Щоб добитися цього, спочатку буде потрібно видалити саму таблицю і тільки потім наново її побудувати з потрібними стовпцями. Причому вже внесені в таблицю дані будуть втрачені.

Можливі труднощі, пов'язані з видаленням з таблиці стовпця, який залежить від деякого стовпця іншої таблиці. У такому разі спочатку доведеться видалити обмеження стовпця, а потім сам стовпець.

Приклад 4.4. Додати в таблицю Клієнт поле для номера розрахункового рахунку.

ALTER TABLE Клієнт ADD Роз_рахунок CHAR(20)

Приклад 4.4. Додавання в таблицю Клієнт поля для номера розрахункового рахунку.

Соседние файлы в папке лекции