Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Авт_ПМП / Metod_BD.doc
Скачиваний:
32
Добавлен:
05.02.2016
Размер:
574.98 Кб
Скачать

Insert into ustanova(kod,nazva) values(10234,’Академія дпс України’)

Цей оператор вставляє в таблицю ustanovaновий рядок значення першої колонки стає 10234 (ця колонка має числовий формат), а другої колонки (вона має текстовий формат) – “Академія ДПС України”.

В мові SQL діють арифметичні операції – додавання, віднімання, множення і ділення. Ці операції позначаються:

  • + - додавання (сума);

  • - - віднімання (різниця);

  • * - множення (добуток);

  • / - ділення (частка).

Алгебричні вирази. Люба числова константа є алгебричним виразом. Люба назва стовпчика таблиці є алгебричним виразом. Алгебричні вирази називають сумісними по типу, якщо вони мають однаковий тип (символьний, числовий). Якщо A i B алгебричні вирази числового типу , то A+B, A-B, A*B, A/B - алгебричні вирази числового типу. Наприклад, 100/2, (column_name*0.2)/1.2, column_name1*column_name2+100. Якщо вирази А і B мають строковий тип, то A+B є строковим виразом. Наприклад, ‘Академія’+’ ДПСУ’, column_name3 + ’зараховано’, column_name3+ column_name4. У вище наведених прикладах column_name1, column_name2 означали назви стовпчиків числового типу, а column_name3, column_name4 – назви стовпчиків символьного типу.

В мові SQL використовуються такі оператори зрівнювання:

=

рівність

<

менше

>

більше

<=

менше або дорівнює

>=

більше або дорівнює

<>

не рівно

Якщо вирази A i B вирази одного типу, то вирази:

A = B, A < B, A > B, A <= B, A >= B, A <> B

називатимемо предикатами. Предикати приймають 2 значення: ІСТИНА і НЕІСТИНА. Наприклад, column_name1>1000, column_name3=‘Академія’.

Більш складні предикати будуються з допомогою булевих операцій AND, OR або NOT.

Якщо P1, P2 – предикати, то

P1 AND P2 , P1 OR P2 , NOT P1

також предикати.

Нижче в таблиці наведені результати застосування булевих операцій.

P1

P2

P1 AND P2

P1 OR P2

NOT P1

Істина

Істина

Істина

Істина

Неістина

Істина

Неістина

Неістина

Істина

Неістина

Істина

Неістина

Істина

Істина

Неістина

Неістина

Неістина

Неістина

Закони Де Моргана:

1-й закон.Предикат NOT(P1 OR P2) еквівалентний предикатові NOT P1AND NOT P2, тобто на однакових наборах значень P1, P2приймають однакові значення. Ця еквівалентність записується так:

NOT(P1 OR P2)NOT P1AND NOT P2

2-й закон:

NOT(P1 AND P2)NOT P1OR NOT P2

Дистрибутивний закон:

Q AND (P1OR P2)(Q AND P1) OR (Q AND P2)

Продемонструємо використання цих законів. Нехай в колонці з назвою Sдеякої таблиці зберігається інформація про нараховані суми. Предикат, що визначає рядки в яких нарахована сума НЕ лежить в межах від 100 до 1000 грн. матиме вид:

NOT(S>=100 ANDS<=1000)

Згідно 2-му закону Де Моргана, він еквівалентний:

NOT (S>=100) OR NOT(S<=1000)

В свою чергу

NOT (S>=100)S<100

NOT( S<=1000) )S>1000

Отже

NOT(S>=100 ANDS<=1000) )S<100 ORS>1000

В мові SQL передбачено також використання скалярних функцій над символьними даними, даними типу DATE, TIMESTAMP а також функцій, що перетворюють один тип даних в інший. Деякі розробники СУБД відійшли від стандарту SQL-92, тому ми подаємо таблицю, в якій вказані функції стандарту SQL-92 і відповідні їм функції СУБД Access.

Функція

Призначення

стандарт SQL-92

СУБД Access

CHAR_LENGTH

Len

повертає довжину в байтах заданого аргументу

LOWER

відсутня

повертає символьну строку у нижньому регістрі(малі букви)

UPPER

відсутня

повертає символьну строку у верхньому регістрі (великі букви)

TRIM

TRIM

SQL-92:Видаляє зі строки початкові (LEADING), кінцеві (TRAILING), або ті і інші (BOTH) вказані символи із заданої строки. Приклад: TRIM(BOTH 'A' From 'Академія') поверне 'кадемія'

СУБД Access: Видаляє зі строки початкові і прикінцеві пробіли. Приклад: TRIM(' Академія ') поверне 'Академія'

відсутня

LTRIM

Видаляє зі строки початкові пробіли.

відсутня

RTRIM

Видаляє зі строки прикінцеві пробіли.

SUBSTR

відсутня

Функція виділяє підслово в слові. SUBSTR (PRIZ FROM 2 TO 4) повертатиме послідовність з 4 символів з колонки PRIZ, починаючи з 2-го символу, тобто, якщо колонка містить значення 'Іванов', функція поверне 'вано'

Left

Left

Left(PRIZ,4) поверне перших 4 символи значення колонки PRIZ, тобто, якщо колонка містить значення 'Іванов', функція поверне - 'Іван'

Right

Right

Right(PRIZ,4) поверне останні 4 символи значення колонки PRIZ, тобто, якщо колонка містить значення 'Іванов', функція поверне- 'анов'

EXTRACT

Year, Month, Day

Функції застосовуються лише до даних типу DATE, TIMESTAMP і повертають рік, номер місяця (1 – 12) або день (1 – 31).Приклад. Якщо в колонці DREG зберігається дата реєстрації підприємства, то EXTRACT(YEAR FROM DREG) поверне значення року

СУБД Access: Year(DREG) поверне значення року

Month(DREG) поверне номер місяця, а Day(DREG) – номер дня (1 – 31).

Соседние файлы в папке Авт_ПМП