Створення та редагування тригерів в ERWin.
Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Створення та редагування тригерів в ERWin.





Для перегляду тригера у контекстному меню кожної таблиці є пункт Trigger. Вибір цього пункту меню дозволяє відкрити вікно SQL коду тригера - Table Trigger Viewer. Дві кнопки Table Trigger таTrigger Template відкривають вікна для редагування тригера таблиці та тригера цілісності посилань відповідно.

Table Trigger Editor дозволяє:

- Вибрати таблицю для редагування.

- Задати команду ( Delete, Insert, Update), на яку має реагувати тригер.

- Визначити до (Befor) чи після (After) виконання команди має запускатися тригер.

- Задати ім‘я нового тригера ( якщо ім‘я не задане, то використовується тригер цілісності посилань).

- Вибрати колонки таблиці (атрибути), яких стосується дія тригера.

- Зробити посилання на попереднє значення атрибута (опція "old") та на нове (опція "new") при оновленні запису. Цій дії відповідає макрос % Ref Clause в шаблоні тригера.

- Вказати ім‘я батьківської таблиці, дочірньої таблиці, ім‘я зв‘язку (Verb Phrase) та правило цілісності посилань.

Для автоматизації створення нового шаблону тригера використовують режим Trigger Toolbox, запускаючи його з вікна Table Trigger Editor .

У Trigger Toolbox представлено п‘ять типів макросів: табличні, зв‘язку, атрибутів, обмежень та макроси загального призначення. Тут також наведено опис кожного макросу та приклад його використання.

Для включення макросу до тригера слід вибрати його зі списку макросів і подвійним натискуванням лівої клавіші миші відправити до Triger Editor у поле Template Code. У полі Template Code сформований шаблон тригера можна передивитись на мові SQL обраної СКБД.

Розглянемо створення шаблону тригера для сутності Customer, який відслідковує зміну даних в полі Customer Name і реєструє в таблиці Sequriti дату зміни, старе ім‘я, нове ім‘я клієнта, та особу, що внесла зміни.



Create trigger % Trigger Name

%Fire %Actions ("or")

on %TableName

%RefClause

%Scope (- "для кожного рядка" - підтримує тільки СКБД Oracl )

/*ERWin bultin %DateTime*/

/*Default body for %Trigger Name*/

begin

Insert into Sequrity (OldName, NewName, UserUpdate, UpdateDate)

Values (:old1.CustomerName, new1.CustomerName, User, Sysdate);

End;

/

Макрос %Fire може приймати одне з двох значень: After або Befor. Макрос % Actions під час генерації коду тригера замінюється на одну з команд: Delete, Insert або Update. Макрос %RefClause генерує вказівку на ім‘я змінних, що вміщують старе та нове значення оновленого поля.

В середовищі Oracl 8 тригер має вигляд:

Create trigger SequrWrite

Befor update of

CustomerName

On Customer

REFERENSING OLD AS old1 NEW AS new1

For each row

/*ERWin Builtin Tue Jan 26 21:30:00 2004*/

/*default body for Secur Write*/

begin

Insert into Securiti (oldName, New Name, UserUpdate, UpdateDate)

Values (:old1. CustomerName, :new1. CustomerName, User, Sysdate);

End;

/

Trigger Template Editor призначено для перевизначення типу цілісності посилань, тобто для зміни чи доповнення стандартного шаблону. Для зміни шаблону маємо:

- Вибрати змінюваний тип цілісності посилань та натискуванням кнопки Detach відокремити його від стандартного шаблону тригера.

- Задати ім‘я нового шаблону тригера у полі Template Name.

- За допомогою Trigger Toolbox створити шаблон нового тригера та натискуванням кнопки Add добавити його у список User Override.

- Ім‘я нового шаблону кнопкою Attach під‘єднати до коригованого типу цілісності посилань.

Питання для самоперевірки

1. Яке призначення тригерів для сутності?

2. Який макрос визначає момент запуску тригера?

3. Який макрос відповідає за подію на яку реагує тригер?

4. Який макрос визначає змінні, в яких зберігаються нове та старе значення скоригованих даних?

Завдання

1. Створити, за допомогою макросів ERWin, шаблон тригера для вилучення запису з таблиці БД, змодельованої в ході лабораторних робіт, який записував би час, вміст старого запису і особу, що вилучила запис у окрему таблицю.

2. Створити, за допомогою макросів ERWin, шаблон тригера для оновлення запису з таблиці БД, змодельованої в ході лабораторних робіт, який записував би час, назву оновлених полів і особу, що оновила запис у окрему таблицю.

3. Створити, за допомогою макросів ERWin, шаблон тригера для доповнення запису до таблиці БД, змодельованої в ході лабораторних робіт, який записував би час, назву таблиці і особу, що доповнила БД у окрему таблицю.

Тест до модуля 3

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

А) 1NF

B) 2NF

C) 3NF

D) 3 NF- Бойса-Кода

E) 4NF

F) 5NF

2. В якій нормальній формі знаходиться сутність, якщо атрибути вміщують тільки атомарні значення:

А) 1NF

B) 2NF

C) 3NF

D) 3 NF- Бойса-Кода

E) 4NF

F) 5NF

3. В якій нормальній формі знаходиться сутність, якщо атрибути вміщують тільки атомарні значення , кожний не ключовий атрибут повністю залежить від первинного ключа.

А) 1NF

B) 2NF

C) 3NF

D) 3 NF- Бойса-Кода

E) 4NF

F) 5NF

4. Виберіть нормальну форму, приведення до якої усуває транзитивну залежність між атрибутами сутності:

А) 1NF

B) 2NF

C) 3NF

D) 3 NF- Бойса-Кода

E) 4NF

F) 5NF

5. Які дані називаються атомарними:

А) ті, що не повторюються в одному стовпчику;

B) ті, що не повторюються в одному рядку;

C) ті, що відповідають одному факту;

D) ті, що не повторюються в одній комірці;

E) ті, що не повторюються в базі даних;

F) ті, що не повторюються в одній таблиці.

6. Нормалізація структури бази даних проводиться для:

А) Усунення протиріч в базі даних;

B) Спрощення адміністрування БД;

C) Зменшення таблиць БД;

D) Зменшення часу виконання запиту до БД;

E) Зменшення зв‘язків між даними;

F) Зменшення обсягу даних в БД.

 

ЛІТЕРАТУРА

1. Карпова Т.. Базы данных. Модели, разработка, реализация. СПб.: Питер, 2001. – 304 с.

2. Маклаков С.В. CASE–средства разработки информационных систем. – М. : Диалог – МИФИ, 2001 – 256 с.

3. Маклаков С.В Создание информационных систем с ALLFusion Modeling Suite. – М. : Диалог – МИФИ, 2005 – 432 с.

4.

5. Мартин Дж. Организация баз данных в вычислительных системах. М. Мир, 1978 – 615 с.

6. Мякшило О.М, Загоровська Л.Г. Моделювання систем: Лабораторний практикум. (частина 2) для студентів спец. 6.080400 “Інформаційні управляючі системи і технології” ден. форми навчання ./ Уклад.:– К. : УДУХТ, 2000 – 20 с.

 

Додаток 1

Контрольна робота до модуля 3

Завдання 1

1. Створити запит для БД, заданої відношенням НАКЛАДНА (код накладної, номер накладної, дата, вантажовідправник) та РЯДОК НАКЛАДНОЇ(код рядка, код накладної, номер рядка, назва товару, ціна за один., кількість), в якому реалізувати вибірку накладних за поточну дату і підрахувати виручку за проданий товар. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

2. Створити запит для БД, заданої відношенням НАКЛАДНА (код накладної, номер накладної, дата, вантажовідправник) та РЯДОК НАКЛАДНОЇ(код рядка, код накладної, номер рядка, назва товару, ціна за один., кількість), в якому реалізувати вибірку накладних за назвами товару і підрахувати кількість кожного виду товару проданого за поточну дату. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

3. Створити запит для БД, заданої відношенням НАКЛАДНА (код накладної, номер накладної, дата, вантажовідправник) та РЯДОК НАКЛАДНОЇ (код рядка, код накладної, номер рядка, назва товару, ціна за один., кількість), в якому реалізувати вибірку накладних за назвами товару і підрахувати суму по кожному виду товару проданого за поточну дату. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

4. Створити запит для БД, заданої відношенням ПОСТАЧАЛЬНИК (код постачальника, назва постачальника, адреса, реквізити), реалізувати вибірку постачальників, що знаходяться у київській області. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

5. Створити запит для БД, заданої відношенням ПОСТАЧАЛЬНИК (код постачальника, назва постачальника, адреса, реквізити) та ДОГОВІР (код договору, код постачальника, дата укладання, назва сировини, кількість, сума, термін поставки), реалізувати вибірку постачальників, договори з якими укладено не раніше 2005 року. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

6. Створити запит для БД, заданої відношенням ПОСТАЧАЛЬНИК (код постачальника, назва постачальника, адреса, реквізити) та ДОГОВІР (код договору, код постачальника, дата укладання, назва сировини, кількість, сума, термін поставки), реалізувати вибірку постачальників, договори з якими укладено не раніше 2005 року і на суму більшу за 10000 грн. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

7. Створити запит для БД, заданої відношенням ПОСТАЧАЛЬНИК (код постачальника, назва постачальника, адреса, реквізити) та ДОГОВІР (код договору, код постачальника, дата укладання, назва сировини, кількість, сума, термін поставки), реалізувати вибірку постачальників, договори з якими укладено не раніше 2001 року і не пізніше 2005 року. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

8. Створити запит для БД, заданої відношенням ЗАМОВНИК (код замовника, назва замовника, адреса, реквізити) та ЗАМОВЛЕННЯ (код замовлення, код замовника, дата замовлення, назва продукції, кількість, сума, термін поставки), підрахувати суму замовлень по кожному замовнику за 2005 рік. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

9. Створити запит для БД, заданої відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума), вибрати регіони, в яких сума продажу була максимальною за 4 квартал 2005 року, згрупувати по регіонах. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

10. Створити запит для БД, заданої відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума), вибрати регіони, в яких сума продажу кожного виду продукції була мінімальною за 4 квартал 2005 року, відсортувати по регіонах. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

11. Створити запит для БД, заданої відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума), вибрати продукцію яка користувалась найбільшим попитом у 2005 році (у грошовому вимірі), відсортувати по регіонах. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

12. Створити запит для БД, заданої відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума), вибрати регіони де був реалізований більш ніж один вид продукції у 2005 році, згрупувати по регіонах. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

13. Створити запит для БД, заданої відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума), підрахувати кількість продаж кожного виду продукції у різних регіонах за 2005 рік (у кількісному вимірі), відсортувати по регіонах. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

14. Створити запит для БД, заданої відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума), підрахувати кількість продаж по кожному виду продукції у 2005 році. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

15. Створити запит для БД, заданої відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума), підрахувати кількість продаж по кожному виду продукції у 2005 році у Київській області. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

16. Створити запит для БД, заданої відношенням ОБЛАДНАННЯ (код обладнання, назва обладнання) та ЖУРНАЛ РЕМОНТІВ (код ремонту, код обладнання, дата, опис ремонту, виконавець), в якому реалізувати групування ремонтних робіт за назвами обладнання і підрахувати кількість ремонтів кожного виду обладнання за 2005 рік. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

17. Створити запит для БД, заданої відношенням ОБЛАДНАННЯ (код обладнання, назва обладнання) та ЖУРНАЛ РЕМОНТІВ (код ремонту, код обладнання, дата, опис ремонту, виконавець), в якому реалізувати групування ремонтних робіт за виконавцями і підрахувати кількість ремонтів на кожного виконавця за 2005 рік. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

18. Створити запит для БД, заданої відношенням ОБЛАДНАННЯ (код обладнання, назва обладнання) та ЖУРНАЛ РЕМОНТІВ (код ремонту, код обладнання, дата, опис ремонту, виконавець), в якому реалізувати вибірку ремонтних робіт з назвами обладнання і підрахувати кількість ремонтів за 2005 рік. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

19. Створити запит для БД, заданої відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка), в якому реалізувати вибірку студентів, що успішно здали сесію. Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

20. Створити запит для БД, заданої відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка), в якому реалізувати вибірку студентів, що успішно здали сесію (відсортувати по групах). Побудувати схему БД. Записати SQL код запит. Навести приклад результуючої таблиці.

21. Створити запит для БД, заданої відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка), в якому реалізувати вибірку студентів, що успішно здали сесію (відсортувати по дисциплінах). Побудувати схему БД. Записати SQL код запит. Навести приклад результуючої таблиці.

22. Створити запит для БД, заданої відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка), в якому реалізувати вибірку студентів, що мають двійки за сесію (відсортувати по групах). Побудувати схему БД. Записати SQL код запит. Навести приклад результуючої таблиці.

23. Створити запит для БД, заданої відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка), в якому вибрати студентів, що мають більше 2 двійок (відсортувати по групах). Побудувати схему БД. Записати SQL код запита. Навести приклад результуючої таблиці.

 

Завдання 2

1. З бази даних заданої відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка) видалити студентів (з відношення СТУДЕНТ), що по трьом дисциплінам мають незадовільні оцінки.

2. З бази даних заданої відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка) видалити студентів (з відношення СТУДЕНТ), що мають середній бал за сесію нижче “4”.

3. У базу даних задану відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка) ввести відмінний результат здачі іспиту з дисципліни “Моделювання систем” студенткою Івановою Іриною. Вважати, що діє правило збереження цілісності посилань Parent Insert Cascade, а код екзамену – поле типа AutoInc.

4. В базі даних заданій відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка) замінити оцінку з дисципліни “Моделювання систем” студенту Бойко на “4”.

5. В БД заданої відношенням Замовник (код замовника, назва замовника, адреса, реквізити) замінити адресу замовника “Фуршет” на наступну: “Київ-145, Богоутівська, 17”.

6. В базу даних задану відношенням Замовник (код замовника, назва замовника, адреса, реквізити) ввести назву замовника: “Фуршет”, адресу :“Київ-145, Богоутівська, 17” та реквізити: “Аваль, МФО 2656002163, ІД 0032210013”.

7. З бази даних заданої відношенням Замовник (код замовника, назва замовника, адреса, реквізити) видалити замовника “Фуршет”

8. З БД, заданої відношенням ЗАМОВНИК (код замовника, назва замовника, адреса, реквізити) та ЗАМОВЛЕННЯ (код замовлення, код замовника, дата замовлення, назва продукції, кількість, сума, термін поставки) видалити замовників, що замовляли продукцію не пізніше 31.12.2004 р.

9. З БД, заданої відношенням ЗАМОВНИК (код замовника, назва замовника, адреса, реквізити) та ЗАМОВЛЕННЯ (код замовлення, код замовника, дата замовлення, назва продукції, кількість, сума, термін поставки) видалити замовлення, що датовані не пізніше 31.12.2004 р.

10. В БД, задану відношенням ЗАМОВНИК (код замовника, назва замовника, адреса, реквізити) та ЗАМОВЛЕННЯ (код замовлення, код замовника, дата замовлення, назва продукції, кількість, ціна, термін поставки) вставити замовлення від магазину “Фуршет” на поточну дату, продукції “Ковбаса с/к “Віденська”, в кількості 100 кг., по ціні 50 грн./кг., з терміном поставки 10 днів.

11. В БД, заданій відношенням ЗАМОВНИК (код замовника, назва замовника, адреса, реквізити) та ЗАМОВЛЕННЯ (код замовлення, код замовника, дата замовлення, назва продукції, кількість, ціна, термін поставки) збільшити термін поставки в замовленні магазину “Фуршет” від 15.10.2005, продукції “Ковбаса с/к “Віденська” на 5 днів.

12. В БД, заданій відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума) поміняти дані в полях “кількість” та “сума” для продукції “молоко “Буренка” за 3 квартал 2005 року у м. Києві.

13. В БД, заданій відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума) ввести дані в поля “кількість” та “сума” для продукції “молоко “Ласуня” за 2 квартал 2005 року у м. Києві. Задача вирішується у дві команди.

14. В БД, задану відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума) ввести дані про новий вид продукції “Актимель” за 3 квартал 2005р. в місті Києві, кількість - 20000 пакетів, а сума - 40000 грн. Врахувати, що діє правило збереження цілісності посилань Parent Insert Cascade, а код продажу – поле типа AutoInc.

15. З БД, заданої відношенням ОБЛАДНАННЯ (код обладнання, назва обладнання) та ЖУРНАЛ РЕМОНТІВ (код ремонту, код обладнання, дата, опис ремонту, виконавець) видалити дані про ремонти виконані не пізніше 31.12.2004 року.

16. З БД, заданої відношенням ОБЛАДНАННЯ (код обладнання, назва обладнання) та ЖУРНАЛ РЕМОНТІВ (код ремонту, код обладнання, дата, опис ремонту, виконавець) видалити дані про ремонти обладнання з назвою “Холодильна камера №1”, оскільки її демонтовано. Врахувати, що діє правило обмеження цілісності посилань Parent Delete Cascade.

17. З БД, заданої відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума) вилучити дані про продукцію “молоко “Ласуня” за 2 квартал 2005 року у м. Києві.

18. З БД, заданої відношенням ПРОДУКЦІЯ (код продукції, назва продукції) та ПРОДАЖ (код продажу, код продукції, період, рік, регіон, кількість, сума) вилучити дані про продукцію “молоко “Ласуня”, оскільки дослідження попиту на неї більше проводитись не будуть. Врахувати, що діє правило обмеження цілісності посилань Parent Delete Cascade.

19. З БД, заданої відношенням ЗАМОВНИК (код замовника, назва замовника, адреса, реквізити) та ЗАМОВЛЕННЯ (код замовлення, код замовника, дата замовлення, назва продукції, кількість, сума, термін поставки) видалити замовника “Сільпо” та пов‘язані з ним замовлення, враховуючи, що діє правило Parent Delete Restrict.

20. З БД, заданої відношенням ЗАМОВНИК (код замовника, назва замовника, адреса, реквізити) та ЗАМОВЛЕННЯ (код замовлення, код замовника, дата замовлення, назва продукції, кількість, сума, термін поставки) видалити всі замовлення на продукцію “Ковбаса ліверна” та замовників її, враховуючи, що діє правило Child Delete Cascade та Parent Delete Restrict.

21. З БД, заданої відношенням ЗАМОВНИК (код замовника, назва замовника, адреса, реквізити) та ЗАМОВЛЕННЯ (код замовлення, код замовника, дата замовлення, назва продукції, кількість, сума, термін поставки) видалити всіх замовників на продукцію “Ковбаса ліверна”, якщо вони не замовляли іншої продукції.

22. В базі даних заданій відношенням СТУДЕНТ (код студента, № зал_кн, ПІП, група) та ЗВЕДЕНА ВІДОМІСТЬ (код екзамену, код студента, дата, дисципліна, оцінка) замінити оцінку з дисципліни “Моделювання систем” студенту Бойко на “4” і вказати нову дату здачі іспиту.

 

 

Додаток 2

Типи даних в SQL

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

CHARACTER(n) або CHAR(n) — символьні рядки постійної довжини у n символів. При завданні даного типу під кожне значення завжди відводиться n символів, і якщо реальне значення займає менше, ніж n символів, то СКБД автоматично доповнює недостаючи символи проміжками.

NUMERIC[(n,m)] — точні числа, тут n — загальна кількість цифр в числі, т — кількість цифр ліворуч від десяткової крапки.

DECIMAL[(n,m)] —точні числа, тут n — загальна кількість цифр в числі, m — кількість цифр ліворуч від десяткової крапки.

DEC[(n,m)] — теж саме, що і DECIMAL[(n,m)].

INTEGER або INT — цілі числа.

SMALLINT — цілі числа меншого діапазону.

Не зважаючи на те, що в стандарті SQL1 не визначено точно, що розуміють під типом INT і SMALLINT (це віддано на відкуп реалізації), вказано тільки співвідношення між цими типами даних, в більшості реалізацій тип даних INTEGER відповідає цілим числам, що зберігаються у чотирьох байтах, а SMALLINT — відповідає цілим числам, що зберігаються у двох байтах. Вибір одного з цих типів визначається розміром числа.

FLOAT[(n)] — числа більшої точності, які зберігаються у формі з плаваючою крапкою. Тут n — число байтів, зарезервованих під зберігання одного числа. Діапазон чисел визначається конкретною реалізацією.

REAL — дійсний тип чисел, який відповідає числам с плаваючою комою, меншої точності, ніж FLOAT.

DOUBLE PRECISION — специфікує тип даних з визначеною в реалізації точністю більшою, ніж визначена в реалізації точність для REAL.

У стандарті SQL92 додані наступні типи даних:

VARCHAR(n) — рядки символів змінної довжини.

NCHAR(N) — рядки локалізованих символів постійної довжини.

NCHAR VARYING(n) — рядки локалізованих символів змінної довжини.

BIT(n) — рядок бітів постійної довжини.

BIT VARYING(n) — рядок бітів змінної довжини.

DАТЕ (n) — календарна дата.

ТIМЕSТАМР (точність) — дата та час.

INTERVAL — часовий інтервал.

До SQL2 введено ряд стандартних вбудованих функцій:

BIТ_LЕХGТН (рядок) — кількість бітів у рядку;

CАSТ (значення AS тип даних) — значення, перетворене у заданий тип даних;

CHAR_LЕNGТН (рядок) — довжина рядку символів;

CОNVЕRТ (рядок USING функція) — рядок, перетворений у відповідності з функцією, що вказана;

CURRENT_DATE — поточна дата;

CURRЕNТ_ТIМЕ (точність) — поточний час з вказаною точністю;

CURRENT_ТIМЕSТАМР (точність) — поточна дата та час з вказаною точністю;

LOWЕR (рядок) — рядок, перетворений до нижнього регістру;

OСТЕD_LЕNGТН (рядок) — число байтів у рядку символів;

POSITION (перший рядок IN другий рядок) — позиція, з якої починається входження першого рядка до другого;

SUBSTRING (рядок FROM n FOR довжина) — частина рядка, що починається з n-гo символу і який має вказану довжину;

ТRАNSLАТЕ (рядок USING функція) — рядок, що перетворений зі застосуванням вказаної функції;

ТRIM (ВОТН символ FROM рядок) — рядок, у якому видалені всі перші та останні символи;

TRIM (LEADING символ FROM рядок ) — рядок, у якому видалені всі перші вказані символи;

TRIM (TRAILING символ FROM рядок) — рядок, у якому видалені останні вказані символи;

UРРЕR (рядок) — рядок, перетворений до верхнього регістру.

 

 


 

Додаток 3









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.