- •Міністерство освіти і науки України
- •Національний університет водного господарства та природокористування
- •Кафедра електротехніки і автоматики
- •Лабораторна робота № 27
- •1.2 Типи баз даних
- •1.2.1 Автономні бази даних
- •1.2.2 Файл-Серверні бази даних
- •1.2.3 Бази даних клієнт-сервер
- •1.2.4 Багатоярусні бази даних
- •2. Створення баз даних за допомогою Database
- •2.1 Створення нової таблиці
- •2.2 Завдання полів
- •2.3 Завдання властивостей таблиці
- •2.3.1 Validity Checks - перевірка правильності значень
- •2.3.2 Tablе Lookup - таблиця перегляду
- •2.3.3 Secondary Indexes - вторинні індекси
- •2.3.4 Referential Integrity - цілісність на рівні посилань
- •2.3.5 Password Security - паролі доступу
- •2.3.6 Table Language - мова таблиці
- •2.3.7 Dependent Tables - залежні таблиці
- •2.4 Завершення створення таблиці
- •2.5 Зміна структури й заповнення таблиці за допомогою Database Desktop
- •27.3 Опис лабораторного обладнання
- •27.4 Порядок виконання роботи
- •Вимоги до звіту
- •27.5 Контрольні запитання
2. Створення баз даних за допомогою Database
Desktop
2.1 Створення нової таблиці
Перш, ніж почати створювати програми, які працюють із базами даних, треба мати самі бази даних. C++ Builder постачається із прикладами, що мають чимало баз даних, якими можна скористатися для навчання. Розглянемо роботу із БД, що містить таблиці Pers і Dep, фрагменти яких були наведені вище у таблицях 1.1 і 1.2.
Для створення баз даних зовсім не обов'язково використовувати стандартні СКБД. Разом із BDE і C++ Builder постачається програма Database Desktop (DBD32.EXE - виконавчий файл і DBDLOCAL.EXE - файл конфігурування), що дозволяє створювати таблиці баз даних деяких СКБД, задавати і змінювати їхню структуру.
Зазвичай виклик Database Desktop включений у головне меню C++ Builder у розділ Tools. Якщо це не зроблено, то корисно включити його туди за допомогою команди Tools | Configure Tools. Викличте Database Desktop. Ви побачите вікно, вид якого показаний на рис. 2.1.
Рис. 2.1 Головне вікно програми Database Desktop
Створимо за допомогою Database Desktop таблицю бази даних СКБД Paradox 7. У Paradox 7 база даних - це каталог, у якому лежать таблиці - файли з розширенням .db. Тому раніше потрібно створити відповідний каталог. Далі виконуємо команду Database Desktop File | New. Відкриється підменю, яке містить три варіанти:
QBE Query |
Візуальний будівник запитів і запис цих запитів у файл |
SQL File |
Створення запиту на SQL і запис його у файл |
Table |
Створення нової таблиці |
Вибираємо Table. Відкривається невелике діалогове вікно (рис. 2.2). У ньому зі списку, що випадає, можна вибрати СКБД, для якої необхідно створити таблицю. Вибираємо Paradox 7. Бачимо вікно, представлене на рис. 2.3. У цьому вікні можна задати структуру таблиці (поля і їхні типи), створити вторинні індекси, ввести діапазони допустимих значень полів, значення за замовчуванням і ввести багато іншої корисної інформації про створювану таблицю.
Рис. 2.2 Вікно вибору СКБД
Рис. 2.3 Вікно створення структури таблиці Paradox 7
2.2 Завдання полів
Для кожного поля створюваної таблиці перш за все вказуємо ім'я (Field Name) - ідентифікатор поля. Він може включати до 25 символів і не може починатися із пробілу (але всередині пробіли допускаються). Потім треба вибрати тип (Турe) даних цього поля. Для цього необхідно перейти в розділ Турe поля і клацнути правою кнопкою миші. З'явиться список доступних типів, з якого можна вибрати необхідний вам. Приведемо пояснення типів даних, використовуваних у Paradox.
Позначення |
Розмір (Size) |
Позначення в списку |
Пояснення |
|||||
А |
1 — 255 |
Alpha |
Строкове поле, що містить будь-які друковані ASCII символи. Розмір — число символів. |
|||||
N |
|
Number |
Дійсні числа від -10307 до 10308 з 15 значущими розрядами. Для вибору формату подання треба використовувати Paradox. |
|||||
$ |
|
Money |
Додатні або від’ємні числа, які відрізняються від Number формою подання й символом грошової одиниці. Для вибору формату подання треба використовувати Paradox. |
|||||
S |
|
Short |
Короткі цілі числа від -32 767 до 32 767. |
|||||
I |
|
Long Integer |
Довгі цілі числа від -2 147 483 648 до 2 147 483 647. |
|||||
# |
0 — 32* |
BCD |
Числа у форматі BCD (Binary Coded Decimal). Обчислення з ними проводяться з підвищеною точністю в порівнянні з іншими типами чисел, але повільніше. Цей тип введений для сумісності з іншими БД, які використовують BCD. У поле типу BCD можна вводити до 15 значущих розрядів. |
|||||
D |
|
Date |
Значення, що представляють собою дати. Для вибору формату подання треба використовувати Paradox. |
|||||
Т |
|
Time |
Значення, що представляють собою час. Для вибору формату подання треба використовувати Paradox. |
|||||
@ |
|
Timestamp |
Значення, що зберігають час і дату. Для вибору формату подання треба використовувати Paradox. При введенні значення в поле типу Timestamp користувач може послідовно натискати клавішу пробілу, щоб ввести поточний час і дату. |
|||||
м |
1 — 240 |
Memo |
Поля для зберігання текстів необмеженої довжини. Тексти зберігаються в окремих файлах.mb. Розмір, який вказується - це число перших символів тексту, які зберігаються безпосередньо в таблиці. Перегляд полів Memo можливий в Paradox або в додатках C++Builder. |
|||||
F |
0 — 240 |
Formatted Memo |
Поля для зберігання форматоваигих текстів необмеженої довжини. Тексти зберігаються в окремі файлах.mb. Розмір, що вказується - це число перших символів тексту, які зберігаються безпосередньо в таблиці. Перегляд полів Formatted Memo можливий в Paradox або в додатках C++Builder. |
|||||
G |
|
Graphic |
Зображення з файлів у форматах.bmp, .pcx, .tif, .gif або .eps. Database Desktop перетворить їх у формат .BMP. Перегляд полів Graphic можливий в Paradox або в додатках C++Builder. |
|||||
О |
|
OLE |
Дані типу OLE — зображення, звуки, документи. Database Desktop не підтримує поля цього типу. Перегляд полів OLE можливий в Paradox або в додатках C++ Builder. |
|||||
L |
|
Logical |
Логічні поля. За замовчуванням можливі значення — true і false. При введенні даних користувач може ввести тільки перший символ з можливих значень. |
|||||
+ |
|
Autoincre-ment |
Автоматично збільшується на 1 довге ціле. Тільки для читання. При знищені записів значення полів у записах, що залишилися, не змінюються. |
|||||
В |
|
Binary |
Дані, що зберігаються в окремі двійкові файлах.mb, які Database Desktop не інтерпретує. У файлах можуть зберігатися звуки й будь-які інші дані. |
|||||
Y |
1 — 255 |
Bytes |
Дані, які Database Desktop не інтерпретує. На відміну від полів Binary зберігаються в таблиці, а не в зовнішніх файлах. |
|||||
У прикладі таблиці Pers (див. таблицю 1.1) для поля Num доцільно вибрати тип Autoincrement, який забезпечує унікальність кожного запису. Для полів Dep, Fam, Nam і Par необхідно задати тип Alpha, для поля Year_b — тип Short, для поля Sex — Logical, для поля Charact — Memo, для поля Photo — Graphic. У таблиці Dep (див. таблицю 1.2) для поля Dep треба задати тип Alpha, а для поля Proisv — Logical.
Для деяких типів необхідно задавати розмір (Size). Наприклад, для строкового типу Alpha розмір — це число символів.
Ключові поля повинні бути відзначені символом «*» в останній колонці. Для того, щоб поставити або знищити цей символ, треба або зробити подвійне клацання у відповідній графі інформації про поле, або знищити цю графу і натиснути клавішу пробілу. Якщо є кілька ключових полів, то в таблицях Paradox вони повинні бути першими. У прикладі для таблиці Pers ключовим є поле Num, а для таблиці Dep — поле Dep.
