Главная | Обратная связь
МегаЛекции

Модифікація елементів таблиці





Тема: Мова SQL. Оператори для роботи із БД

Типи даних

Створення таблиці

Модифікація таблиці

Видалення таблиць

Типи даних

 

У мові SQL92S підтримуються наступні типи даних:

  • CHARACTER(n) або CHAR(n) - символьні рядки постійної довжини в п символів. При завданні даного типу під кожне значення завжди приділяється п символів, і якщо реальне значення займає менш, ніж п символів, те СУБД автоматично доповнює відсутні символи пробілами.
  • NUMERIC[(n,m)] - точні числа, тут n - загальна кількість цифр у числі, m - кількість цифр ліворуч від десяткової крапки.
  • DECIMAL[(n,m)] - точні числа, тут n - загальна кількість цифр у числі, m - кількість цифр ліворуч від десяткової крапки.
  • DEC[(n,m)] - те ж, що й DECIMAL[(n,m)].
  • INTEGER або INT - цілі числа.
  • SMALLINT - цілі числа меншого діапазону.
  • VARCHAR(n) - рядка символів змінної довжини.
  • NCHAR(N) - рядка локалізованих символів постійної довжини.
  • NCHAR VARYING(n) - рядка локалізованих символів змінної довжини.
  • BIT(n) - рядок битов постійної довжини.
  • BIT VARYING(n) - рядок битов змінної довжини.
  • DATE - календарна дата.
  • ТIMESТАМР(точність) - дата й час.
  • INTERVAL - часовий інтервал.

 

Створення таблиці

Оператор CREATE TABLE використається для того, щоб створювати таблиці. Хоча безпосередно створення таблиці виявляється зовсім простою справою, перш, ніж використати оператор CREATE TABLE, потрібно з усією старанністю підійти до питання планування структури таблиці.

От кілька простих питань, на які при створенні таблиці потрібно одержати відповіді.

• Якого типу дані будуть уводитися в таблицю?

• Яким повинне бути ім'я таблиці?

• Яким стовпцем (або стовпцями) буде задаватися ключове поле (складовій ключ)?

• Які імена варто привласнити стовпцям (полям)?

• Які типи даних варто призначити стовпцям?

• Який вибрати довжину кожного зі стовпців?

• Які стовпці таблиці будуть вимагати обов'язкового уведення даних?

Одержавши відповіді на всі ці питання, не становить праці побудувати підходящий оператор CREATE TABLE і застосувати його.



Синтаксис оператора для створення таблиць буде наступним:

CREATE TABLE ІМ'Я_ТАБЛИЦІ ( ПОЛЕ1 ТИП ДАНИХ [ NOT NULL ] , ПОЛЕ2 ТИП ДАНИХ [ NOT NULL ] , ПОЛІЗ ТИП ДАНИХ [ NOT NULL ] , ПОЛЕ4 ТИП ДАНИХ [ NOT NULL ] , ПОЛЕ5 ТИП ДАНИХ [ NOT NULL ] ) ;

Модифікація таблиці

Команда ALTER TABLE

Таблицю можна модифікувати й після її створення за допомогою команди ALTER TABLE. За допомогою цієї команди можна додавати й видаляти стовпці, міняти визначення стовпців, додавати й видаляти обмеження, а в деяких реалізаціях і модифікувати значення, що задають ключовим словом STORAGE.

Стандартний синтаксис команди ALTER TABLE наступний:

ALTER TABLE ІМ'Я_ТАБЛИЦІ [MODIFY] [COLUMN ІМ'Я_СТОВПЦЯ] [ТИП ДАННЫХ|NULL NOT NULL] [RESTRICT|CASCADE]

[DROP] [CONSTRAINT ІМ'Я_ОБМЕЖЕННЯ]

[ADD] [COLUMN] ВИЗНАЧЕННЯ СТОВПЦЯ

Модифікація елементів таблиці

Зміна атрибутів стовпця

Атрибути стовпця задають правила подання даних у стовпці. За допомогою команди ALTER TABLE можна міняти атрибути стовпця. Під атрибутами тут розуміється наступне:

· тип даних у стовпці;

· довжина, точність або масштаб даних у стовпці;

· . дозвіл або заборона мати в стовпці значення NULL.

У наступному прикладі команда ALTER TABLE використається для того, щоб змінити атрибути стовпця EMP_ID таблиці EMPLOYEE_TBL.

ALTER TABLE EMPLOYEE_TBL MODIFY (EMP_ID VARCHAR2(10));

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

Стовпцю вже був призначений тип даних VARCHAR2 (рядок символів змінної довжини), але тут була збільшена максимальна довжина рядка з 9 до 10.

Додавання стовпців, що вимагають обов'язкового уведення даних

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

І все-таки є можливість додати стовпець, що вимагає обов'язкового уведення даних, у такий спосіб.

1. Додайте стовпець, задавши йому атрибут NULL (це значить, що в стовпці не обов'язково повинні бути присутнім дані).

2. Уведіть дані в кожний рядок нового стовпця таблиці.

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

Зміна стовпців

При зміні стовпців таблиць потрібно враховувати цілий ряд моментів. Загальні правила наступні.

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

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

• Для стовпців із числовими даними ширину завжди можна збільшити.

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

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

• Тип даних у стовпці звичайно можна змінити.

У деяких реачизациях використання певних опцій оператора ALTER TABLE може бути заборонено. Наприклад, вам можуть не дозволити видаляти стовпці з таблиць. Замість цього вам потрібно буде видалити таблицю й створити нову з потрібним числом стовпців. Можуть виникнути проблеми з видаленням стовпців з таблиці, що залежить від стовпця з іншої таблиці, або з видаленням стовпця, на який посилається інша таблиця. Із цього приводу уважно переглянете документацію, пропоновану тією реалізацією SQL, з якої ви працюєте.





Рекомендуемые страницы:




Читайте также:


Воспользуйтесь поиском по сайту:
©2015- 2020 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.