- •Міністерство освіти і науки України
- •Національний університет водного господарства та природокористування
- •Кафедра електротехніки і автоматики
- •Лабораторна робота № 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.3.3 Secondary Indexes - вторинні індекси
Наступний розділ у списку, що випадає, властивостей таблиці: Secondary Indexes - вторинні індекси. Цей розділ дозволяє створити необхідні для подальшої роботи вторинні індекси (первинний індекс створюється по ключових полях). Наприклад, для подальшого використання нашої таблиці Pers корисні будуть наступні індекси:
Ім'я індексу |
Поля |
Пояснення |
fio |
Fam, Nam, Par |
Впорядкування таблиці співробітників за алфавітом. |
depfio |
Dep, Fara, Nam, Par |
Впорядкування таблиці по підрозділах, а усередині кожного підрозділу впорядкування співробітників за алфавітом. |
year |
Year_b |
Впорядкування таблиці по році народження співробітників. |
Щоб створити новий вторинний індекс, натискаємо кнопку Define - визначити. Відкриється діалогове вікно, представлене на мал. 2.5. У його лівому вікні Fields міститься список доступних полів, у правому вікні Indexed fields можна підібрати і впорядкувати список полів, що включаються в індекс. Для переносу поля з лівого вікна в праве треба виділити поле, що цікавить вас, або групу полів і нажати кнопку зі стрілкою вправо. Стрілками Change order (змінити послідовність) можна змінити порядок проходження полів в індексі.
Рис. 2.5 Вікно завдання вторинного індексу
Панель радіокнопок Index Options (опції індексу) дозволяють встановити наступні характеристики:
Unique |
Встановка цієї опції не дозволяє індексувати таблицю, якщо в ній перебувають дублікати сукупності включених в індекс полів. Наприклад, установка цієї опції для індексу fio не допустила б наявності в таблиці співробітників зі співпадаючим прізвищем, ім'ям та по батькові |
Descending |
При установці цієї опції таблиця буде впорядковуватися по ступені убування значень (за замовчуванням впорядкування робиться, по ступені наростання значень) |
Case Sensitive |
При установці цієї опції буде прийматися в увагу регістр, у якому уведені символи |
Maintained |
Якщо ця опція встановлена, то індекс обновляється при кожній зміні в таблиці. У противному випадку індекс обновляється тільки в момент зв'язування з таблицею або передачі в неї запиту. Це трохи сповільнює обробку запитів. Тому корисно включати цю опцію для обновлюваних таблиць. Якщо таблиця використовується тільки для читання, цю опцію краще не включати |
Після того, як індекс сформований, клацаємо на кнопці ОК. Відкриється вікно (мал. 2.6), у якому задаємо ім'я індексу.
2.3.4 Referential Integrity - цілісність на рівні посилань
Наступний розділ у списку, що випадає властивостей таблиці в правому верхньому куті екрана представлені на мал. 2.3: Referential Integrity — цілісність на рівні посилань. Мова йде про способи, що дозволяють забезпечити постійні зв'язки між даними окремих таблиць. Якщо встановлюється цілісність на рівні посилань між двома таблицями, одна йз яких — головна (батьківська), а інша — допоміжна (дочірня), то в допоміжній таблиці вказується поле (або група полів), які можуть брати свої значення тільки із ключового поля (або полів) головної таблиці. Подібні зв'язки припустимі не для всіх типів таблиць, але в Paradox вони передбачені. Перш, ніж створювати Referential Integrity, треба мати обидві таблиці, що зв'язуються - батьківську й дочірню. Якби в попередньому прикладі мати обидві таблиці — Pers і Dep, тоді можна було задати цілісність, зв'язавши поле Dep таблиць Pers із ключовим полем Dep головної таблиці Dep. Щоб ввести подібний зв'язок, треба спочатку встановити в якості робочий каталог, що містить обидві таблиці (це робиться командою File | Working Directory). Потім треба відкрити дочірню таблицю Pers (команда File | Open), увійти в режим її реструктуризації (команда Table | Restructure) і у вікні Table properties вибрати розділ Referential Integrity. Потім клацнути на кнопці Define, і відкриється діалогове вікно, представлене на мал. 2.7.. У його лівій панелі Fields можна вибрати поле або групу полів, які зв'язуються із ключовими полями головної таблиці, і кнопкою зі стрілкою перенести їх у список дочірніх полів Child fields. Потім у правій панелі Table можна вказати головну панель і кнопкою зі стрілкою перенести в список ключів батьківської таблиці Parent's key. Група радіокнопок Update rule визначає, що буде, якщо в головній таблиці ви знищити або змінити значення ключового поля, з яким зв'язані якісь записи в допоміжній таблиці. Якщо вже встановлена опція Prohibit, то Database Desktop просто не дозволить подібну операцію. Якщо встановлено опцію Cascade, то при зміні значення ключового поля в головній таблиці аналогічні зміни автоматично відбудуться в записах дочірньої таблиці. А якщо знищити запис у головній таблиці, що містить деяке значення ключового поля, то в допоміжній таблиці автоматично знишуться всі записи, пов'язані із цим значенням ключового поля.
Рис. 2.6 Завдання ім'я індексу
Рис. 2.7 Вікно встановлення цілісності на рівні посилань
Встановлення індикатора Strict Referential Integrity у нижній частині діалогового вікна не дозволить раннім версіям Paradox (зокрема, версіям Paradox для DOS) відкрити й зіпсувати таблиці, у яких введена цілісність на рівні посилань.
Коли всі необхідні операції проведені, клацаємо на кнопці OK і у вікні, що відкрилося (мал. 2.8) вводимо ім'я для створеного посилання.
Рис. 2.8 Введення ім'я створеного посилання
