Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
07.02.2016
Размер:
119.81 Кб
Скачать

Типи даних спеціального призначення

Назва

L

P

S

Опис

Bit

Н

Н

Н

Тип даних, що дозволяє зберігати інформацію, що приймає тільки два значення: 0 або 1; займає в пам'яті 1 біт.

Діапазон: 0 або 1.

Binary

Д

Н

Н

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

Розмірність: до 8000 байт.

Varbinary

Д

Н

Н

Тип даних, використовуваний для зберігання бітових ланцюжків регульованої довжини, аналогічно типу даних Binary.

Розмірність: до 8000 байт.

Timestamp

Н

Н

Н

Тип даних, що автоматично розміщає значення лічильника щораз при вставці нового запису.

Uniqueidentifier

Н

Н

Н

Розміщення унікального 16-розрядного ідентифікатора GUID (Globally unique identifier), використовуваного для підтримки цілісності даних. Генерація нового ідентифікатора здійснюється з використанням команди SQL NEWID().

У деяких СУБД ще існує тип даних LOGICAL, DOUBLE і ряд інших. СУБД INGRES надає користувачеві можливість самостійного визначення нових типів даних, наприклад, площинні або просторові координати, одиниці різних метрик, п'яти-або шестиденні тижні (робочий тиждень, де відразу після п'ятниці або суботи треба понеділок), дробу, графіка, більші цілі числа (що стало дуже актуальним для російських банків) і т.п.

Орієнтований на роботу з таблицями SQL не має достатніх засобів для створення складних прикладних програм. Тому в різних СУБД він або використається разом з мовами програмування високого рівня (наприклад, такими як Си або Паскаль), або включений до складу команд спеціально розробленої мови СУБД (мова систем dBASE, R:BASE і т.п.). Уніфікація повних мов сучасних професійних СУБД досягається за рахунок впровадження объектно-орієнтованої мови четвертого покоління 4GL. Останній дозволяє організовувати цикли, умовні пропозиції, меню, екранні форми, складні запити до баз даних.

Таблиці SQL

Дотепер поняття "таблиця", як правило, зв'язувалося з реальною або базовою таблицею, тобто з таблицею, для кожного рядка якої в дійсності є деякий двійник, що зберігається у фізичній пам'яті машини. Однак SQL використає й створює ряд віртуальних (начебто існуючих) таблиць: подань, курсорів і неіменованих робочих таблиць, у яких формуються результати запитів на одержання даних з базових таблиць й, можливо, подань. Це таблиці, які не існують у базі даних, але як би існують із погляду користувача.

Базові таблиці створюються за допомогою пропозиції CREATE TABLE (створити таблицю).

СREATE TABLE Блюда

(БЛ SMALLINT,

Блюдо CHAR (70),

В CHAR (1),

Основа CHAR (10),

Вихід FLOAT,

Праця SMALLINT);

Пропозиція CREATЕ TABLE специфікуе ім'я базової таблиці, що повинна бути створена, імена її стовпців і типи даних для цих стовпців (а також, можливо, деяку додаткову інформацію, не илюструючу даним прикладом). CREATЕ TABLE - виконувана пропозиція. Якщо його ввести з термінала, система негайно побудує таблицю Блюда, що спочатку буде порожньою: вона буде містити тільки рядок заголовків стовпців, але не буде ще містити ніяких рядків з даними. Однак можна негайно приступитися до вставки таких рядків даних, можливо, за допомогою пропозиції INSERT і створити таблицю, аналогічну таблиці Блюда.

Якщо тепер треба було довідатися які овочеві блюда може приготувати кухар пансіонату, то можна набрати на терміналі наступний текст запиту:

SELECT БЛ,Блюдо

FROM Блюда

WHERE Основа = 'Овочі';

і миттєво одержати на екрані наступний результат його реалізації:

БЛ

Блюдо

1

Салат літній

3

Салат вітамінний

17

Морква з рисом

23

Помідори з луком

Створення таблиці за допомогою SQL Server Enterprice Manager

Виберіть у списку об'єктів бази групу даних Tables, після чого в правій частині утиліти SQL Server Enterprice Manager буде відображений список всіх її таблиць, у тому числі й системних. Виконаєте команду New Tables меню Action, після чого на екрані відобразиться запит уведення імені створюваної таблиці. Підтвердите уведення натисканням OK. Потім утиліта відобразить на екрані вікно дизайнера таблиць. У стовпчик Column Name необхідно буде ввести назву стовпця таблиці, після чого визначити його тип даних, скориставшись стовпчиком Datatype вікна дизайнера. Після вибору типу даних для створюваного поля система автоматично підставить для нього параметри Length (розмір поля), Precision (десятковий розмір), Scale (точність числового типу даних).

При створенні таблиці можна визначити так називана властивість Identity для якого-небудь її поля. Ця властивість дозволяє автоматично збільшувати на зазначену величину значення, що вводить у поле, при кожнім додаванні нового запису в таблицю.

Оператори INSERT, DELETE, UPDATE

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

INSERT [INTO] [target] [(columns)]

Директива INTO є необов'язкової, але вона небагато полегшує сприйняття коду.

Параметр target може позначати таблицю або вид:

    1. Таблиця. У цьому випадку замість параметра target вказуеться ім'я таблиці, у яку потрібно вставити значення.

    2. Вид. Дозволяє вставити інформацію в основні таблиці бази даних.

У більшості випадків необхідно вказувати ім'я таблиці, у яку необхідно вставляти дані. Замість параметра columns необхідно вказати SQL Server стовпці, у які потрібно вставити дані.

Наприклад, якщо є таблиця Addresses зі стовпцями Name, Address, Phone, те оператор вставки може починатися так:

INSERT INTO Address (Name, Phone ...)

У цьому прикладі значення уставляються в стовпці Name, Phone, а стовпець Address пропущений.

Якщо необхідно вставити рядок, що містить тільки стандартного значення, певні у вигляді обмеження Default для таблиці, скористайтеся директивою Default values оператора Insert. Тоді в стовпці будуть вставлені стандартні значення або елементи Null, залежно від того, що було визначено для даної таблиці.

Останній варіант вставки інформації в таблиці - це використання оператора Select, для вибірки значень, які потрібно вставити.

Для відновлення значень у стовпцях використається оператор Update. Спрощений синтаксис цього оператора виглядає в такий спосіб:

UPDATE table_name

SET column_name_1 = value, ... column_name_n = value

WHERE column_name comparison operator value

Перше, що необхідно вказати, - це ім'я таблиці. В операторі Update директива Where використається для вказівки рядків, які потрібно змінити. За допомогою даного оператора можна змінити кілька рядків, які задовольняють критерію, певному в директиві Where. У наступному прикладі значення Sales із стовпця Department міняється на Marketing во всіх рядках, де воно зустрічається.

UPDATE Employee

SET Department = 'Marceting”

WHERE Department = “Sales”

Видалення рядків з таблиці бази даних - це ще одна операція, без якої неможливо обійтися. Для видалення рядків таблиці використається оператор DELETE FROM. Його синтаксис виглядає в такий спосіб:

DELETE [FROM] table_name

WHERE column_name = “value”

Ключове слово FROM використати не обов'язково. У наступному прикладі оператор DELETE використається для видалення всіх рядків, які задовольняють критерію, певному в директиві WHERE. Цим критерієм є наявність у стовпці Department значення Sales.

DELETE FROM Employee

WHERE Department = “Sales”

Оператор DELETE FROM використається для видалення як окремих, так і декількох рядків з таблиці. Але якщо в операторі DELETE FROM не зазначена директива WHERE, те будуть вилучені весь рядки таблиці.

Соседние файлы в папке Учебное пособие