Головна | Про нас | Зворотній зв'язок
Як вже говорилося, тип таблиць Paradox 7 кращий при створенні файл-серверних БД. Таблиці Paradox 7 в порівнянні з іншими підтримують найбагатший набір різних типів полів, що дозволяє автоматично стежити за пра-ності вводяться в поля даних (пункт Validity Checks в списку Table properties), вибирати дані з іншої таблиці (Lookup Table), будувати вторинні індекси , в тому числі складові (Secondary Indexes), стежити за посилальної цілісністю БД (Referential Integrity), захищати таблицю від несанкціонованого доступу (Password Security), вибирати мовний драйвер (Table Language).
Типи полів, які можуть використовуватися в таблицях Paradox. У цій таблиці в колонках Туре і Size вказані відповідно умовах а-ний символ типу і його довжина, тобто ті дані, які містяться в одноімен-ні колонки таблиці Field roster DBD.
Таблиця 1.1. Типи даних в таблицях Paradox
Текстове поле зазначеної довжини
Числа з плаваючою комою в діапазоні від -10 307 до +10 307 з 15 значущими десятковими розрядами
Грошове поле. Містить речові числа з фіксованою комою, 6 знаками цілої частини і 2 знаками дробової
Цілі числа в діапазоні від -32 768 до +32 767
Цілі числа в діапазоні від -2 147 483 648 до +2 147 483 647
Двійковій-десяткові речові числа. Size - кількість розрядів після коми
Дата в діапазоні від 1.01.0000 до 31.12.9999
Час з точністю до мілісекунд
Мемо-поледля розміщення довільних текстових рядків необмеженої довжини. Перші Size символів зберігаються в основній таблиці, інші - в файлі з розширенням .MB
Мемо-поле для розміщення тексту фіксованої в форматі RTF
Графічне зображення у форматі TIF. Size байтів інформація зберігається в основній таблиці, інші - в окремому файлі
Контроль за вмістом полів
За замовчуванням відразу після відкриття вікна редагування структури таблиці в списку Table properties обраний пункт Validity Checks (див. Рис. 1.5), що дозволяє кон-троліровать вміст полів.
За допомогою прапорця Required Field ви можете зажадати обов'язкового заповнення-ня поля при введенні нового запису - за цим стежитиме BDE. Також на BDE можна покласти контроль за мінімальним і максимальним значеннями число-вого поля (рядки Minimum Value і Maximum Value). У рядку Default Value можна вка-мовити значення поля за замовчуванням - при введенні нового запису значення в це поле помістить BDE. За допомогою рядка Picture можна задати шаблон для автоматическо-го форматування значення поля.
Для будь-якого поля таблиці іноді потрібно встановити однозначний зв'язок з по-лем іншої таблиці. В цьому випадку BDE буде стежити за тим, щоб значення знову вводиться записи в поле першої таблиці було б одним зі значень зазначеного поля в іншій таблиці, яка в цьому випадку називається таблицею підстановки.
Для встановлення зв'язку потрібно вибрати пункт Table Lookup в списку Table properties і клацнути на кнопці Define. У вікні (рис. 1.7) в списку Fields вибирається поле, за значеннями якого потрібно стежити, і клацанням на кнопці зі стрілкою вправо ім'я цього поля переноситься до рядка Field name. Потім в списку Lookup table вибирається потрібна таблиця і клацанням на кнопці зі стрілкою вліво ім'я первинного ключового поля цієї таблиці переноситься у рядок Lookup field.
Зв'язок буде встановлена тільки в тому випадку, якщо поле, за значенням якого потрібно стежити, має такий же тип, як і перше індексне поле в таблиці підстановки. Так як в таблицях Paradox вторинний індекс можна створити тільки при наявності в табли-ці первинного ключа, який можна створити тільки в першому полі, підстановлювальний поле повинно бути ключовим і першим в списку полів таблиці підстановки. У поки-занном на рис. 1.7 прикладі таблиця NAKLS має первинний ключ по полю автоінкре-цементних типу, тому поле MNakl має сумісний з цим типом тип Long Integer. Якби ми захотіли створити підстановлювальний зв'язок для будь-якого іншого поля, це б не вдалося, так як типи Short і Money несумісні з типом Autoincrement.
Мал. 1.7. Встановлення зв'язку з таблицею підстановки Призначення перемикачів:
- Justcurrentfield- перевіряється відповідність тільки пов'язаних полів;
- All corresponding fields - перевіряється відповідність всіх полів обох таблиць (в цьому випадку структури обох таблиць повинні бути ідентичними);
- Fill no help - при редагуванні перевіряється поля таблиця підстановки не відображається;
- Help and fill - при редагуванні перевіряється поля показується таблиця підстановки.
Посилальна цілісність - це особливий механізм, який сприяє підтриманню несуперечливих відомостей в таблицях БД, пов'язаних реляційними відно-ями. У демонстраційній БД таблиця NAKLS містить дані про накладних, а таблиця MOVEBOOK - про пов'язаних з ними книгах. Перед видаленням даних про наклад-ною потрібно попередньо видалити пов'язаний з нею список книг, інакше таблиця MOVEBOOK буде містити записи про «нічийних» книгах. Інший приклад. Якщо ми захочемо видалити запис в таблиці MOVEBOOK (видалити з накладної дані про ка-кой-яких книзі), нам слід відповідним чином змінити кількість книг на складі (таблиця BOOKS) і сальдо партнера (таблиця FIRMS). Якщо таблиці свя-зани механізмом посилальної цілісності, BDE буде автоматично блокувати спроби зміни поля зв'язку в батьківській таблиці, поки відповідним чином не змінені пов'язані з нею записи в дочірньої таблиці.
Для встановлення посилальної цілісності потрібно вибрати пункт Referential Integrity в списку Table properties і клацнути на кнопці Define (див. Рис. 1.5). Відкриється вікно Referential Integrity, показане на рис. 1.8.
Мал. 1.8. Встановлення посилальної цілісності
У списку Fields вибирається поле зв'язку редагованої таблиці (вона повинна бути дочірньою), а в списку Table - потрібна батьківська таблиця. Після клацань на кнопках зі стрілками імена полів зв'язку переносяться в рядки Child fields і Parent's key. Далі потрібно клацнути на кнопці ОК. DBD запитає ім'я новостворюваної посилальної цілісності і потім створить її. Після цього спроба видалення інфор-мації про будь-накладної буде відхилятися до тих пір, поки не видалені дані про всі пов'язаних з нею книгах.
За допомогою перемикачів в групі Update rule визначаються правила поддержа-ня посилальної цілісності:
- Prohibit - BDE відкидає будь-які зміни в пов'язаному полі батьківської таб-лиці без відповідної зміни записів в дочірній таблиці; видалення запису батьківської таблиці блокується до видалення пов'язаних з нею запи-сей в дочірній таблиці;
- Cascade - BDE автоматично виробляє каскадні зміни в дочірній таблиці при змінах батьківської таблиці 1.
Будь-яка таблиця Paradox може бути повністю або частково захищена від несанк-ціонірованного доступу. Для цього (див. Рис. 1.5) в списку Table properties вибираючи-ється пункт Password Security і клацанням на кнопці Define відкривається відповідними-ющее діалогове вікно (рис. 1.9).
Мал. 1.9. Вікно визначення пароля
Пароль може містити від 1 до 15 будь-яких символів, в тому числі і прогалини. Він чутливий до регістру букв. За допомогою кнопки Auxiliary Passwords викликається додаткове вікно, в якому можна уточнити, які поля і як захищаються 2.