- •До практичних занять з курсу технологія створення програмних та інтелектуальних систем
- •9. Оформити звіт, який повинен містити запити та їх результати виконання, а також їх описання відповідно до поставлених завдань.
- •3.2. Налаштування проекту. Створення першої програми.
- •3.3. Основні властивості форми
- •3.4. Власний ScreenSaver
- •Мета роботи: Набуття навичок створення бази даних та використання її за допомогою візуальних компонентів. Використання у програмі зв'язаних таблиць, додавання обчислювальних полів.
- •Контрольні питання та завдання
- •Порядок виконання роботи
- •Приклад створення експертної системи визначення виду рослини за її ознаками
9. Оформити звіт, який повинен містити запити та їх результати виконання, а також їх описання відповідно до поставлених завдань.
10. Зробити висновки проаналізувавши можливості, переваги та недоліки запитів щодо створення та маніпулювання базою даних засобами SQL у порівнянні із стандартними засобами.
Індивідуальні завдання:
1) Створити затити які :
А. Передавав дані з таблиці студентів до таблиці «відомості» у якому відображаються всі студенти допущенні до здачі сесії
В. Змінює прізвища студента «Козовський Віталій» в «Ткач»
С. Видаляє значення
поля «Стипендія» у студентів
2) Створити затити які :
А.
В. Що видиляє із таблиці студентів які вступили до 2005 року.
С. Присвоює студентам з оцінкою 3 стипендію 374
3) Створити затити які :
А. Присвоює студентам з оцінкою 5 стипендію 1024.
В. Створює талицю з полями «оцінка» «Стипендія»
С. Передавав дані з таблиці студентів до таблиці «відомості» у якому відображаються всі студенти допущенні до здачі сесії
4) Створити затити які :
А. Що видиляє із таблиці студентів які вступили до 2001 року.
В. Змінює прізвища студента «Повський Сергій» в «Джміль»
С. Присвоює студентам з оцінкою 4 стипендію 802
5) Створити затити які :
А. об’єднував таблиці «Ліцей» та «Коледж» у таблицю «Студенти»
В. Створює талицю з полями «Студент» «оцінка» «Стипендія»
С. Що видиляє із таблиці студентів які вступили до 2002 року.
6) Створити затити які :
А. Змінює оцінки студента «Козовський Віталій» в «2»
В. Передавав дані з таблиці студентів до таблиці «відомості» у якому відображаються всі студенти допущенні до здачі сесії
С. Добавляє в таблицю „студенти ” поле адреси студента
Додаток 1
Для створення таблиць і маніпулювання їх даними використовуються ключові слова:
ALTER TABLE INSERT INTO
CREATE TABLE SELECT INTO
DELETE UPDATE
Визначення:
ALTER TABLE
Використовується для модифікації полів і умов обмеження їх значень в існуючій таблиці.
Обмеження (Constraints) задають умови на значення, що можуть бути вставлені в поля і створити посилальну цілісність
CREATE TABLE
Використовується для створення нової таблиці
DELETE
Виконує видалення запису з таблиці.
INSERT
Виконує вставку запису в таблицю даних.
NULL
Значення “пусто”.
SELECT
Виконує вибірку даних з таблиць бази даних.
UPDATE
Виконує оновлення запису у таблиці даних
Типи даних в Access SQL:
Числові (Numeric):
DECIMAL
Тип даних високої точності приймає значення від –1028–1 до 1028–1.
FLOAT
Зберігає значення подвійної точності з плаваючою комою.
INTEGER
Або INT. Зберігає довге ціле в межах від – 2,147,483,648 до 2,147,483,647.
REAL
Зберігає дійсне значення плаваючою комою.
SMALLINT
Зберігає ціле від –32,768 до 32,767.
TINYINT
Зберігає ціле від 0 до 255.
MONEY
Зберігає грошові значення і числові дані для математичних обчислень.
Символьні (String):
CHAR
Тип даних фіксованої довжини, зберігає комбінацію до 255 символів.
TEXT Тип даних змінної довжини, зберігає комбінацію текста і цифр не довшу за 255 символів. Довжина визначається у властивості “розмір поля”. Рядок символів може містити будь-які ASCII символи.
MEMO
Тип даних змінної довжини, зберігає текст довжиною від 1 до 65,536 символів
Інші типи:
BINARY
Зберігає бінарні дані у полі. Зміна даних в цьому полі неможлива.
BIT
Використовується для збереження 2-х значень у полі. Наприклад, true/false,
COUNTER
Зберігає ціле значення, яке автоматично інкрементується для кожного нового запису.
DATETIME
Зберігає значення дати й часу для діапазону років від 100 до 9999.
IMAGE
Використовується як сховище об'єктів OLE, наприклад зображень, аудіо або відео.
Обмеження:
NULL/NOT NULL Застосовується для визначення чи може поле бути пустим коли в таблицю додається новий запис.
PRIMARY KEY Застосовується для визначення унікального ідентифікатора запису у таблиці.
FOREIGN KEY Застосовується для визначення зв'язку запису поточної таблиці із записом іншої таблиці.
UNIQUE Використовується для заборони однакових значень у полі таблиці.
CHECK Використовується для встановлення критерію введення даних в поле.
Синтаксис команд створення, видалення та модифікації таблиць:
Базові таблиці описуються в SQL за допомогою пропозиції CREATE TABLE (створити таблицю), синтаксис якої має невеликі відмінності в різних СУБД. Проте всі вони підтримують наступну мінімальну форму:
CREATE TABLE базовая_таблица (стовпець тип_данных [NOT NULL]
[,столбец тип_данных [NOT NULL]] ...);
де тип_данных повинен належати до одного з типів даних, підтримуваних СУБД . Так, опис таблиці Блюда може бути записане у вигляді:
CREATE TABLE Блюда
( БЛ SMALLINT NOT NULL
Блюда CHAR (70) NOT NULL
В CHAR (1)
Основа CHAR (10)
Вихід FLOAT
Праця SMALLINT );
Конструкція NOT NULL забороняє використання невизначеного значення, тобто спеціального значення, яке вводиться для представлення "невідомого значення" або "непридатного значення".
Існуючу базову таблицю можна у будь-який момент знищити за допомогою пропозиції DROP TABLE (знищити таблицю):
DROP TABLE базовая_таблица;
по якому віддаляється опис таблиці, її дані, пов'язані з нею уявлення і індекси, побудовані для стовпців таблиці.
SQL існує також пропозиція ALTER TABLE (змінити таблицю), яка дозволяє додати справа до таблиці новий стовпець, тобто модифікувати опис таблиці:
ALTER TABLE базовая_таблица
ADD стовпець тип_данных [NOT NULL]
[стовпець тип_данных].;
Приклад включення нового стовпця в таблицю:
ALTER TABLE Блюда
ADD Ціна Real Null;
Модифікація даних може виконуватися за допомогою пропозицій DELETE (видалити), INSERT (вставити) і UPDATE (відновити). Подібно до пропозиції SELECT вони можуть оперувати як базовими таблицями, так і уявленнями. Проте з ряду причин не всі уявлення є оновлюваними. Поки зафіксуємо цей факт, відклавши опис уявлень і особливостей їх оновлення до розділу 5, але пам'ятатимемо, що термін "уявлення" відноситься тільки до оновлюваних уявлень.
Пропозиція DELETE має формат:
DELETE
FROM базова таблиця | уявлення
[WHERE фраза];
і дозволяє видалити вміст всіх рядків вказаної таблиці (за відсутності WHERE фрази) або тих її рядків, які виділяються WHERE фразою.
Видалити всі м'ясні блюда:
DELETE FROM Блюда
WHERE Основа = 'М'ясо';
Пропозиція INSERT має один з наступних форматів:
INSERT
INTO { базова таблиця | уявлення} [(стовпець [,столбец] ...)]
VALUES ({ константа | змінна} [,{ константа | змінна}] ...);
або
INSERT
INTO { базова таблиця | уявлення} [(стовпець [,столбец] ...)]
підзапит;
У першому форматі в таблицю вставляється рядок із значеннями полів, вказаними в переліку фрази VALUES (значення), причому i-е значення відповідає i-му стовпцю в списку стовпців (стовпці, не вказані в списку, заповнюються NULL-значениями). Якщо в списку VALUES фрази вказані всі стовпці таблиці, що модифікується, і порядок їх перерахування відповідає порядку стовпців в описі таблиці, то список стовпців у фразі INTO можна опустити. Проте не радимо цього робити, оскільки при зміні опису таблиці (перестановка стовпців або зміна їх числа) доведеться переписувати і INSERT пропозиція.
У другому форматі спочатку виконується підзапит, тобто за пропозицією SELECT в пам'яті формується робоча таблиця, а потім рядки робочої таблиці завантажуються в таблицю, що модифікується. При цьому i-й стовпець робочої таблиці (i-й елемент списку SELECT) відповідає i-му стовпцю в списку стовпців таблиці, що модифікується. Тут також при виконанні вказаних вище умов може бути опущений список стовпців фрази INTO.
Пропозиція UPDATE також має два формати. Перший з них:
UPDATE (базова таблиця | уявлення}
SET стовпець = значення [, стовпець = значення] ...
[WHERE фраза]
де значення - це
стовпець | вираз | константа | змінна
і може включати стовпці лише з оновлюваної таблиці, тобто значення одне із стовпців таблиці, що модифікується, може замінюватися на значення її іншого стовпця або виразу, що містить значення декілька її стовпців, включаючи змінний.
За відсутності WHERE фрази оновлюються значення вказаних стовпців у всіх рядках таблиці, що модифікується. WHERE фраза дозволяє скоротити число оновлюваних рядків, указуючи умови їх відбору.
Другий формат описує пропозиція, що дозволяє проводити оновлення значень таблиці, що модифікується, по значеннях стовпців з інших таблиць. На жаль у ряді СУБД ці формати відрізняються один від одного і від стандарту. Для прикладу приведемо один з таких форматів:
UPDATE { базова таблиця | уявлення}
SET стовпець = значення [, стовпець = значення] ...
FROM { базова таблиця | уявлення} [псевдонім]
{ базова таблиця | уявлення} [псевдонім]
[,{ базова таблиця | уявлення} [псевдонім]] ...
[WHERE фраза]
Тут перелік таблиць фрази FROM містить ім'я таблиці, що модифікується, і тих таблиць, значення стовпців яких використовуються для оновлення. При цьому, природно, таблиці повинні бути зв'язані між собою в WHERE фразі, яка, крім того, служить для вказівки умов відбору оновлюваних рядків таблиці, що модифікується.
У значеннях, що знаходяться в правих частинах рівності фрази SET, слід уточнювати імена використовуваних стовпців, передуючи їм ім'ям таблиці (псевдоніма
Додаток 2
1. Запит на видалення.
В нашій базі створюємо довільну таблицю та назвем її «YAD11», заповнимо таблицю довільними даними. Далі реалізовуємо запит так же як у попередній лабораторній роботі, з наступним текстом:
DELETE *
FROM YAD11;
Даний запит призводить до видалення всіх даних таблиці YAD11.
2. Запит на видалення з умовою:
DELETE *
FROM students
WHERE stip=0;
Даний запит видаляє лише ті стрічки у яких значення стипендії рівне нулю
3. Запит на створення нової таблиці:
Реалізовуємо запит. Зберігаємо, запускаємо запит , у діалогових вікнах дозволяємо виконання запиту, після виконання запиту переходимо до закладки «Таблицы» і ми бачимо що було створено нову таблицю YAD111
CREATE TABLE YAD111
(
dfgklag CHAR(8),
ytfhg CHAR(12)
);
Структура запиту.
4. Знищення таблиці:
DROP TABLE YAD111;
Даний запит знищує таблицю «YAD111»
5. Створення таблиці відмінників із заданої таблиці студентів
Копіюємо таблицю «students» повторно до бази даних і надаємо їй назву «Vidminnuku», відкриваємо таблицю «Vidminnuku» та видаляємо всі дані. Реалізовуємо наступний запит:
INSERT INTO Vidminnuku
SELECT *
FROM students
WHERE otsinca=5;
6. Запит на добавлення даних(1):
INSERT INTO students
VALUES('not null' ,'sdfg','sdf','5','5435','345', '35', '234');
7. Запит на добавлення даних(2):
INSERT INTO students ( priz, imja )
VALUES ('Wineaminows', 'Oleg');
8. Запит на оновлення:
UPDATE students SET priz = 'Пінчук'
WHERE imja='Сергій';
Даний запит всіх студентів з ім’ям 'Сергій' змінює прізвища в значення 'Пінчук'
Перелік контрольних запитань:
Склад СКБД
Основні поняття мови SQL
Команди створення таблиць у БД
Команди видалення
команди модифікації БД
Практична робота №3
Тема: Вступ до розробки програм засобами C++Builder 6. Перший проект.
Мета: Набуття навичок по створювані проектів програм засобами C++Builder 6. Налаштування файлів проекту.
Завдання для виконання:
Ознайомитися з графічним інтерфейсом C++Builder 6 (додаток 1).
Ознайомитися з основними компонентами. (додаток 2)
Встановити індивідуальні налаштування новоствореної програми.
Ознайомитися з основними властивостями форми.
Створити власний ScreenSaver на тему «Кафедра економічної кібернетики».
Хіт роботи:
Перший проект в середовищі C++Builder 6.
Запускаємо програму C++Builder 6
Зберігаємо проект File->Save Project As…->(Рис 3.1)
Рисунок 3.1 – Збереження проекту.
у вікні що з’явиться вибрати каталог для зберігання проекту для кожного наступного проекту потрібно створювати новий каталог у даному випадку створимо каталог з назвою Laba_1.2, натискаємо кнопку Открыть->Сохранить. Зберігаємо файли вікон та файл проекту у одному каталозі.
|
|
Рисунок 3.2 Інтерфейс збереження програми |
Рисунок 3.3. |
3.1.3. Для того щоб наша програма працювала не лише на нашому комп’ютері, але й на інших на ЕОМ на яких не встановлено C++Builder або динамічні бібліотеки даної середи потрібно у головному меню вибрати Project->Options (Рис. 3.3) у вікні що з’явиться відключаємо наступні налаштування проекту :
Project->Options->Linker->Use dynamic RTL (рис. 3.4)
Project->Options->Linker->Create debug information (рис. 3.4)
Project->Options->Packages->Build with runtime packages (рис. 3.5)
|
|
Рис. 3.4 – налаштування динамічних бібліотек. |
Рис. 3.5 – налаштування динамічних бібліотек. |
У вікні опцій переходимо на вкладку Forms, вибираємо форму проекту (рис. 3.6) яка буде головною при завантаженні програма буде завантажувати її першою.
Рисунок 3.6 – визначення головної форми проекту
Зберігаємо проект. File->Save.
3.1.4. Компонуємо проект, для цього нам необхідно натиснути F9, або Run->Run.(рис. 3.7)
Рисунок 3.7 – компіляція програми
3.1.5. Для того щоб перервати виконання команди і приступити до подальшого кодування необхідно натиснути Run->Program Reset, або в вікні компілятора натиснути Ctrl+F2
Рисунок 3.8 – зупинка виконання програми
3.1.6.. Зберігаємо проект File->Save
