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

Посібник_Лутай АП

.pdf
Скачиваний:
43
Добавлен:
22.02.2016
Размер:
41.15 Mб
Скачать

This document is created with trial version of Document2PDF Pilot 2.16.100.

Рис. 5.4.3.22 - Програма роботи з одновимірним масивом

Рис. 5.4.3.23 - Екранна форма для робота з масивом

301

This document is created with trial version of Document2PDF Pilot 2.16.100.

Контрольні запитання:

1.Назвіть можливостімови Visual Basic.

2.Назвіть складові частини вікна Visual Basic.

3.Що таке об'єкт, властивість, процедура події, програмний оператор, метод, змінна?

4.Дайте характеристику властивостей об'єктів.

5.Робота з функціями

6.Математичні функції Visual Basic.

7.Назвіть функції для роботи з рядковими змінними?

8.Що це таке модуль?

9.Як створити стандартний модуль проекту?

10.Де застосовуються умовні оператори?

11.Які оператори використовуються в умовних виразах?

12.Побудова умовних виразів за допомогою операторів Select Case.

13.Використання циклів.

14.Робота з об'єктом Timer.

15.Як створити власне меню.?

16.Елементи керування Image та PictureBox.

17.Робота з масивами

18.Що таке масив?

Тести за темами 5 розділу

Тест 1

1)Яке з визначень об’єкту є найбільш повним?

a)Об’єкт – це елемент управління

b)Об’єкт – це елемент роботи, який характеризується певними параметрами, які називаються властивостями, і по відношенню до якого можна застосувати програмні засоби роботи з ним, які називаються методами

c)Об’єкт – це елемент роботи, з яким під час виконання програми може відбутися певна подія

2)Що з перерахованого є властивостями об’єктів?

a)Name

b)Click

c)TextBox

d)Caption

3)Як вивести вікно властивостей об’єктів?

a)командою меню View - Toolbox

b)командою меню View - Properties Window

c)командою меню View - Project Explorer

4)Що з перерахованого є подією?

a)KeyPress

b)Text

c)Command Button

302

This document is created with trial version of Document2PDF Pilot 2.16.100.

d)Click

5)Які оператори коду, що визначають властивості об'єктів, помилкові?

a)frmGlav.Caption = Програма розрахунку значень функцій

b)txtNum.Caption = “Приклад“

c)txtPr.Text = “Введіть число”

d)txtR.Caption = “Результат = ”

e)lblZap.Caption = 16

6)Які вирази є правильними?

a)X = (Y + 47) * 3

b)lblR.Caption = “Результат: ” +12 / X

c)txtX.Text= “X=”+str(X)

7)Які ствердження щодо призначення процедур правильні?

a)Процедура Private Sub txtNumber_Click() виконується у випадку клацання лівою кнопкою миші на командній кнопці txtNumber.

b)Процедура Private Sub txtNumber_Click() виконується у випадку подвійного клацання лівою кнопкою миші на текстовому полі txtNumber.

c)Процедура Private Sub txtX_KeyPress() виконується у випадку натиснення будь-якої клавіші, коли курсор перебуває в текстовому полі txtX.

d)Процедура Private Sub cmdExit_Click() виконується у випадку клацання лівою кнопкою миші на кнопці cmdExit.

Тест 2

1)Які оператори використовуються для організації розгалужених обчислювальних процесів?

a)Select Case

b)DIM

c)Do While . . . Loop

d)For . . . Next

2)Яким буде значення властивості Caption етикетки l blExample, якщо зн а- чення перемінної Х = 6?

Select Case X Case 0

lblExample.Caption = “Приклад” case 2..5, 10..20 lblExample.Caption = “ Example ” case else

lblExample.Caption = “ Значення ” End Select

a)Значення

b)Example

c)Приклад

d)└┘ (пробіл)

3)Які оператори використовуються для організації циклічних обчислюваль-

303

This document is created with trial version of Document2PDF Pilot 2.16.100.

них процесів?

a)DIM

b)Select Case

c)Do While . . . Loop

d)For . . . Next

4)Які фрагменти коду можуть бути включені в програму зведення числа Х у ступінь N?

a)Z = X

i = 2 Do

Z = Z *X i = i +1

Loop While i<=N b) Z = 1

For i = 1 To N Z = X * Z Next

c)Z = X i = 1

Do While i <= N Z = X*X

i = i + 1 Loop

5)Які помилки допущені у фрагменті коду? For X = 1 To 7

X = 3

Y = Y + X Next

X = 1

a)відсутня умова виходу з циклу While

b)у циклі постійно змінюється значення Х

c)відсутня фраза Step N

6)Знайдіть помилки у операторі. If X = 3

У = 5*Х Х = 20 End If

a)відсутня гілка else

b)відсутня фраза Then

c)X привласнюється значення 20

Тест 3

1)Які ствердження є правильними?

a)Процедура Private Sub hsbT_SmallChange() виконується, коли бігунок

304

This document is created with trial version of Document2PDF Pilot 2.16.100.

змінив положення на смузі прокручування hsbT

b)Процедура Private Sub hsbDat_Scroll() виконується, коли бігунок переміщується по смузі прокручування hsbDat

c)Процедура Private Sub hsbPrim_Change() виконується, коли бігунок змінив положення на смузі прокручування hsbPrim

2)Метод – це . . .

a)стандартна процедура для виконання певних дій з об’єктами одного типу

b)процедура, яку створено автором програми

c)властивість об’єкту

3)Які ствердження є правильними?

a)смуга прокручування використовується для вибору певного значення в заданому діапазоні

b)смуга прокручування використовується в програмах для переміщення

c)смуга прокручування дає змогу обрати деяке значення з переліку можливих

4)Списки, що розчиняються, створюються як об’єкти класу . . .

a)OptionButton

b)CheckBox

c)Frame

d)ComboBox

e)OLE

5)Що з переліченого відноситься до методів?

a)Caption

b)Hide

c)Value

d)Change

e)Select Case

6)Перемикачі створюються як об’єкти класу . . .

a)OptionButton

b)CheckBox

c)Frame

d)ComboBox

e)OLE

7)Для створення нової форми у проекті слід подати команду . . .

a)Project – Add Form

b)View - Toolbox

c)Edit - Cut

d)File – Save Project

305

This document is created with trial version of Document2PDF Pilot 2.16.100.

Питання для самоконтролю по 5 розділу

1.Чому мову Visual Basic називають об'єктно -орієнтованою мовою програм у- вання? Що таке об'єкт?

2. Як на етапі візуальної розробки програ ми створити нову форму, помістити елементи управління в форму?

3.Які властивості форм, етикеток, текстових полів, командних кнопок Вам відомі? Як змінити властивості об'єктів?

4.Визначить поняття «подія». Що означає подія Click?

5.Для чого в коді програми використовується оператор Option Explicit?

6.Що таке змінна? Як у коді програми можна оголосити змінні?

7.Як змінюються в коді програми властивості об'єктів?

8.З якими операторами Visual Basic Ви познайомились?

9. Які файли створюються при записі проекту на магнітний дис к? Як створити файл програми, готовий до виконання?

10.Що таке розгалужений обчислювальний процес?

11.Чим оператор If відрізняється від оператора Select Case?

12.Які обчислювальні процеси можна організувати за допомогою оператора

Select Case?

13.Який обчислювальний процес називають циклічним?

14.Чому оператор Do ... Loop While називають циклом із після умовою?

15.У чому полягає відмінність оператора циклу For … Next від оператора Do While … Loop?

16. Як використовуються лінійки прокручування в програмах, створених м овою

Visual Basіc?

17.Як відрізняються перемикачі в області діалогу?

18.Для чого застосовується об’єкт Група (Frame) у формах?

19.Як у коді програми аналізувати стан прапорців?

20.Як визначити, яке значення обрано зі списку, що розчиняється?

21.Що таке метод? Які методи Вам відомі?

22.Для чого і як оголошуються глобальні змінні?

306

This document is created with trial version of Document2PDF Pilot 2.16.100.

Розділ 6. Система управління базами даних, як основа пакетів прикладних програм управління підприємствами

6.1. Архітектура системи бази даних

Інформація дуже різноманітна за змістом та дуже велика за обсяг ом. Тому її необхідно структурувати — виділити компоненти та встановити зв’язки поміж ними. Існує три моделі (рівні) структурування: концептуальна, логічна (зовнішня) та фізична (внутрішня). На рисунку 6.1 .1 відображена архітектура системи бази даних.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Користувач А1

 

Користувач А2

 

Користувач В1

 

Користувач В2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Мова

 

 

 

 

 

 

 

Мова

 

 

 

 

 

Мова

 

 

 

 

 

 

 

Мова

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Робоча

 

 

 

 

 

 

 

Робоча

 

 

 

 

 

Робоча

 

 

 

 

 

 

 

Робоча

 

 

 

 

 

 

 

область

 

 

 

 

 

 

область

 

 

 

 

 

область

 

 

 

 

 

 

 

область

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Зовнішня

 

 

 

 

 

 

 

 

 

 

 

Зовнішня

 

 

 

 

 

 

 

 

 

 

 

 

 

модель А

 

 

 

 

 

 

 

 

 

модель В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Модель даних

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(концептуальна модель)

 

 

 

 

 

 

 

 

СУБД

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

База даних (внутрішня модель)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 6.1.1 - Архітектура системи бази даних

 

Концептуальна модель. Елементи реального світу, інформація про які зб е- рігається та використовується, називається об’єктами.

Об’єктом може бути предмет праці, технологічна операція, робітник, підрозділ, підприємство або поняття, про яке отримані дані. Множина об’єктів, інф о- рмаційний опис котрих використовується в системі, має назву предметної області

системи. Сукупність інформації про цю область являє собою інформаційний пр

о-

стір предметної області.

 

Кожний об’єкт предметної області характеризується низкою властивостей.

 

Ці властивості відображуються за допомогою елементарних одиниць інформації

 

— атрибутів. Атрибут — це неподільний під час передавання та зберігання ел

е-

мент інформаційного простору. З атрибутів будуються всі інші, більш складні,

 

інформаційні конструкції. Атрибут відображує певну властивість деяких класів об’єктів. Значення або екземпляр атрибута — це інформація про дану властивість одного конкретного об’єкта. Клас об’єктів — це їхня сукупність, яка володіє о д- наковим набором властивостей.

307

This document is created with trial version of Document2PDF Pilot 2.16.100.

Концептуальна модель також визначає зв’язки між об’єктами.

 

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

 

інформацію її кінцевих користувачів.

 

Існують такі моделі да

них: файлові з послідовною та індексно

-

послідовною організацією; ієрархічні; мережові та реляційні. Останнім часом найбільш поширеною моделлю є реляційна.

Внутрішня модель (фізична база даних) являє собою найнижчий рівень бази даних. Вона складається з рі зних екземплярів типів даних, які зберігаються на пристроях зовнішньої пам’яті (наприклад, на дисках).

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

Таким чином, база даних — це інтегроване сховище взаємопов’язаних д а- них конкретної предметної області.

Система управління базами даних (СУБД) — це комплекс програмних засобів, призначений для інтегрованого зберігання та обробки даних.

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

визначення інформаційного змісту бази даних;

визначення структури зберігання даних;

взаємодія з користувачами;

забезпечення перевірки достовірності інформації;

визначення повноважень доступу;

визначення методів архівації та поновлення даних;

управління ефективністю функціонування СУБД.

6.2. Реляційна модель даних

Реляційна модель даних подає дані у вигляді множини таблиць. Структура бази даних визначається встановленням зв’язкі в між таблицями замість модел ю- вання схеми даних відповідно до способу їхнього фізичного розташування.

Таблиця являє собою набір рядків та стовпців, де рядки називаються зап и- сами, а стовпчики — полями. Наприклад, та блиця 6.2.1. «Замовники» має такий вигляд:

Таблиця 6.2.1 - «Замовники»

Номер

 

 

 

Номер

 

замовни-

Прізвище

Ім’я

 

Адреса

 

рахунка

ка

 

 

 

 

 

 

 

 

 

120

Петренко

Іван

 

432568

м. Донецьк

123

Ткаченко

Тарас

 

325672

м. Київ …

178

Кулик

Тетяна

 

734589

м. Львів

 

 

 

308

 

This document is created with trial version of Document2PDF Pilot 2.16.100.

Для кожної таблиці можна створити декілька індексів. Індекси доз

воляють

впорядковувати записи, виконувати швидкий пошук потрібних даних та встано

в-

лювати зв’язки між таблицями. Поля, які використовуються в індексах, назив

а-

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

 

містить ім’я одного поля, а складений може містити декілька полів. Пе

рвинний

ключ (Primary key) повинен однозначно ідентифікувати запис, тобто він може приймати тільки унікальне значення, наприклад, поле «номер замовника».

База даних може містити декілька таблиць, які пов’язані пом іж собою по

ключових полях. Наприклад, база даних «Замовники» крім таблиці «Замовн

и-

ки» може мати таблицю «Замовлення» (таблиця 6.2.2), яка містить усі замо

в-

лення, що розміщені окремими замовниками. Замість повторення всієї інфо

р-

мації замовника в кожному за писі таблиці «Замовлення» ця таблиця може мі с- тити єдине поле (номер замовника), яке ідентифікує відповідного замовника.

Таблиця 6.2.2 - «Замовлення»

Номер

 

Номер

 

 

Сума,

 

замовлен-

 

Дата

Код товару

 

 

замовника

тис. грн

 

ня

 

 

 

 

 

 

 

 

 

 

1234

 

123

10/03/11

25

123

 

1235

 

123

10/03/11

28

165

 

1238

 

178

10/03/11

28

154

 

1237

 

120

10/03/11

25

345

 

З таблиці

«Замовлення» бачимо, що замовник з номером 123 (Ткаченко)

замовив товари 25 та 28. У таблиці «Замовники» первинним ключем є поле «Н о- мер замовника», в таблиці «Замовлення» первинним ключем є номер замовлення, а поле «номер замовника» в таблиці «Замовлення» встановлює відношення (зв’язок) між таблицями і являє собою зовнішній ключ, тому що він посилається на первинний ключ «зовнішньої» таблиці «Замовники». Такий тип відношення має назву «one-to-many» (один-до-багатьох), тому що один замовник може розміщати

багато замовлень, але окреме замовлення може бути розміщене тільки одним з

а-

мовником. Ще існ ують відношення «one -to-one» (один-до-одного) та «many

-to-

many» (багато-до-багатьох). Відношення «one -to-one» (одному запису в першій таблиці відповідає один запис у другій таблиці) у реляційній моделі застосовуєт ь- ся дуже рід ко, тому що такі дві таблиці можна з’єднати в одну. Відношен - ня «many-to-many» використовується, якщо одному запис у першої таблиці відп о- відає декілька зап исів другої таблиці та одному запису другої таблиці відповідає декілька записів першої таблиці.

Реляційна модель базується на понятті теоретико -множинного відношення, яке являє собою підмножину декартового добутку сп иску доменів. Домен — це множина значень. Наприклад, величини, які присутні у стовпчиках НОМЕР З А- МОВНИКА табл. 6.2.1. та табл. 6.2.2. вибрані з основного домену всіх можл ивих номерів замовника. Декартовим добутком доменів D1, D2, … , Dn (позначається як D1 × D2 × … × Dn) називається множина всіх кортежів (V1, V2, … , Vn) довжи-

309

This document is created with trial version of Document2PDF Pilot 2.16.100.

ни n, таких, що V1 належить D1, V2 належить D2, … , Vn належить Dn, тощо. На-

приклад, якщо n=2, D1={0,1} та D2={r,f}, тоді D1 × D2 є {(0,r), (0,f), (1,r), (1,f)} .

 

Відношення — підмножина декартового добутку одного або більше дом

е-

нів. Наприклад, {(0, r), (0,f), (1,r), (1,f)} є відношення визначеної раніше підмн

о-

жини D1 × D2. Величина n являє собою ступінь відношення. Так, для відношення ЗАМОВНИКИ ступінь має значення 5.

Елементи відноше ння називаються кортежами. Кожний кортеж містить n компонентів.

Таблицю можна представити як відношення, де кожний кортеж — це рядок, а кожний стовпчик відповідає одному компоненту. Стовпчики також називаються атрибутами, але складаються вони з відповідного домену.

Список імен атрибутів відношення зветься схемою відношення. Наприклад, відношення має назву ЗАМОВНИКИ. Його схема буде мати такий вигляд:

DOMAIN НОМЕР ЗАМОВНИКА NUMERIC (4) DOMAIN ПРІЗВИЩЕ CHARACTER (20) DOMAIN ІМ’Я CHARACTER (15)

DOMAIN НОМЕР РАХУНКА NUMERIC (10) DOMAIN АДРЕСА CHARACTER (50)

RELATION ЗАМОВНИКИ (НОМ DOMAIN НОМЕР ЗАМОВНИКА) ПРІЗВ DOMAIN ПРІЗВИЩЕ

NAME DOMAIN ІМ’Я

РАХ DOMAIN НОМЕР РАХУНКА АДР DOMAIN АДРЕСА

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

Таким чином, у таблиці 6.2.3 зображено відношення ЗАМОВНИКИ ступеня 5, яке визначено на доменах НОМЕР ЗАМОВНИКА, ПРІЗВИЩЕ, ІМ’Я, НОМЕР РАХУНКА, АДРЕСА. У табл иці 6.2.3 показаний декартовий добуток двох мн о- жин ЗАМОВНИКИ (120, 123, 178) та КОД ТОВАРУ (25, 28).

Таблиця 6.2.3 - Декартовий добуток двох множин

Номер замовника

Код товару

120

25

120

28

123

25

123

28

178

25

178

28

Для створення запитів у реляційних відношеннях використовується реляційна алгебра, яка містить такі операції:

1. З’єднання. З’єднання відношень R1 та R2 є множиною кортежів R3, котрі належать R1 або R2, або їм обом. Ця операція застосовується тільки до відн о-

310