Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л № 21 SQL БД.doc
Скачиваний:
1
Добавлен:
08.08.2019
Размер:
54.27 Кб
Скачать

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

1. Типи даних

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

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

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

1. Типи даних

У мові 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 - часовий інтервал.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Команда 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, з якої ви працюєте.

Створення таблиці на основі вже існуючої

За допомогою комбінації операторів CREATE TABLE і SELECT можна створити копію вже існуючої таблиці. Стовпці нової таблиці будуть мати ті ж визначення. При цьому для копіювання можна вибрати як всі стовпці, так і тільки деяких.

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

Базовий синтаксис оператора створення таблиці із уже існуючої буде наступним.

CREATE TABLE ІМ'Я_НОВОЇ_ТАБЛИЦІ AS SELECT [ *|СТОЛБЕЦ!, СТОВПЕЦЬ2 ] FROM ІМ'Я_ТАБЛИЦІ [ WHERE ]

Звернете тут увагу на нові ключові слова, зокрема, на ключове слово SELECT, що представляє запит до бази даних і буде обговорюватися докладно пізніше. Але зараз важливо знати, що ви можете створювати таблиці, ґрунтуючись на результатах запиту.

Спочатку виконаємо запит, щоб побачити дані в таблиці PRODUCTSJTBL.

SELECT * FROM PRODUCTSJTBL;

PROD_ID PROD_DESC COST

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]