створення БД
Кожна таблиця фізично зберігається в окремому файлі. Однак ототожнювати базу даних і таблицю не можна, так як досить часто поля одного запису розподілені по декількох таблицях і, отже, знаходяться в різних файлах.
У найпростішому випадку джерелом інформації для програми, яка працює з базою даних, може бути вся таблиця. Однак, як правило, користувача цікавить не вся інформація, яка перебуває в базі даних, а тільки якась її частина. Він вибирає і переглядає тільки деякі, що задовольняють його запиту записи. Тому в модель бази даних крім таблиці, що представляє собою всю базу даних, було введено поняття запиту, що є вибіркою, т. Е. Групою записів бази даних.
Розробляючи програму роботи з базою даних, програміст не може знати, на якому диску і в якому каталозі будуть знаходитися файли бази даних під час її використання. Наприклад, користувач може помістити базу даних в один з каталогів дисків С. D: або на мережевий диск.
Тому виникає проблема передачі в програму інформації про місце знаходження файлів бази даних.
У Delphi проблема передачі в програму інформації про місце знаходження файлів бази даних вирішується шляхом використання псевдоніма бази даних.
Ім'я користувача (Alias) - це коротке ім'я, поставлене у відповідність реальному, повного імені каталогу бази даних. Наприклад, псевдонімом каталогу C: \ data \ SPetersburg може бути ім'я Peterburg. Програма роботи з базою даних для доступу до даних використовує не реальне ім'я, а псевдонім.
Для доступу до інформації програма, що забезпечує роботу з базою даних, підключає бібліотеку Borland Database Engine (BDE). яка, в свою чергу, використовує конфігураційний файл, що містить інформацію про всіх зареєстрованих в системі псевдонімах.
Ім'я користувача бази даних може бути створений (зареєстрований) за допомогою утиліти BDE Administrator. Тієї ж самої програми змінити каталог, пов'язаний з псевдонімом.
База даних - це набір файлів (таблиць), в яких знаходиться інформація. Як правило, база даних складається з декількох таблиць, які розміщують в одному каталозі. Каталог для нової бази даних створюється звичайним чином, наприклад, за допомогою Провідника.
Таблицю можна створити, скориставшись входить до складу Delphi утилітою Borland Database Deskto p або організувавши SQL-запит до сервера бази даних.
Так як для доступу до файлів (таблиць) бази даних бібліотека BDE використовує не ім'я каталогу, в якому знаходяться файли, а його псевдонім, то перед тим, як приступити до створення таблиць нової бази даних. необхідно створити псевдонім для цієї бази даних.
Таким чином, процес створення бази даних може бути представлений як послідовність наступних кроків:
- Створення каталогу.
- Створення псевдоніма.
- Створення таблиць.
створення каталогу
Каталог (папка) для файлів бази даних створюється звичайним чином, наприклад, за допомогою Провідника. Зазвичай файли локальної бази даних поміщають в окремому підкаталозі каталогу програми роботи з базою даних.
Примітка: Для подальшої роботи з даної як приклад базою даних "Архітектурні пам'ятники Санкт-Петербурга" слід в каталозі Проекти створити каталог Петербург і в ньому - підкаталог Data.
створення псевдоніма
Ім'я користувача бази даних створюється за допомогою що входить в Delphi утиліти BDE Administrator, яка запускається з Windows вибором з меню Програми | Borland Delphi 7 команди BDE Administrator.
Вид діалогового вікна BDE Administrator після запуску наведено на рис. 17.2
Мал. 17.2. Вікно BDE Administrator
У лівій частині вікна, на вкладці Databases. перераховані псевдоніми, зареєстровані на даному комп'ютері. Для того щоб створити новий псевдонім, необхідно з меню Object вибрати команду New. Потім в діалоговому вікні New Database Alias (Новий псевдонім бази даних) зі списку Database Driver Name. в якому перераховані зареєстровані в системі драйвери доступу до баз даних, потрібно вибрати драйвер для створюваної бази даних (рис. 17.3), т. е. фактично вибрати тип створюваної бази даних.
При створенні псевдоніма за замовчуванням пропонується драйвер STANDARD (default driver). який забезпечує доступ до таблиць у форматі Paradox.
Мал. 17.3. Діалогове вікно New Database Alias
Після вибору драйвера і клацання на кнопці ОК в список псевдонімів буде додано новий елемент (рис. 17.4).
Мал. 17.4. Реєстрація нового псевдоніма
Після цього потрібно змінити автоматично створене адміністратором ім'я псевдоніма і задати шлях до файлів бази даних. для якої створюється псевдонім.
Ім'я псевдоніма можна змінити звичайним для Windows способом: натиснути правою кнопкою миші на імені псевдоніма (на вкладці Databases), в контекстному меню вибрати команду Rename (Перейменувати) і в діалоговому вікні ввести нове ім'я.
Шлях до файлів бази даних можна ввести на вкладці Definition в поле Path з клавіатури або скористатися стандартним діалоговим вікном Select Directory (Вибір каталогу). яке відкривається клацанням на кнопці з трьома крапками, що знаходиться в кінці поля Path.
Як приклад на рис. 17.5 наведено вид вікна BDE Administrator після створення псевдоніма Peterburg для бази даних "Архітектурні пам'ятники Санкт-Петербурга".
Для того щоб створений псевдонім був зареєстрований в файлі конфігурації (Idapi.cfg), необхідно в меню Object вибрати команду Apply (Застосувати). У діалоговому вікні Confirm слід підтвердити необхідність збереження змін у файлі конфігурації.
Мал. 17.5. Результат створення псевдоніма
створення таблиці
Важливим моментом при створенні бази даних є розподіл інформації між полями записи. Очевидно, що інформація може бути розподілена між полями по-різному.
Наприклад, відомості про історичні пам'ятники Санкт-Петербурга можуть бути організовані у вигляді записів, що складаються з полів "Пам'ятник" і "Історична довідка" або з полів "Пам'ятник", "Архітектор", "Рік" і "Історична довідка".
У першому варіанті поле "Пам'ятник" буде містити назву пам'ятника, наприклад Ермітаж, а поле "Історична довідка" - всю іншу інформацію. При цьому користувач зможе знайти інформацію про цікавить його пам'ятнику тільки за назвою. При другому варіанті організації записи користувач зможе знайти інформацію про пам'ятки, архітектором яких є конкретний зодчий, або про пам'ятники, зведених в даний історичний період.
Можна сформулювати наступне правило: якщо передбачається, що під час використання бази даних буде виконуватися вибірка інформації за деяким критерієм, то інформацію, що забезпечує можливість цієї вибірки, слід помістити в окреме поле.
Після того як визначені поля записи, необхідно виконати розподіл полів за таблицями. У простій базі даних всі поля можна розмістити в одній таблиці. У складній базі даних поля розподіляють по декількох таблицях, і введенням деякої додаткової інформації,
однозначно ідентифікує кожний запис, забезпечується зв'язок між таблицями.
Примітка: Бази даних. що складаються з декількох, пов'язаних між собою таблиць, називаються реляційними. У реляційних базах даних, для того щоб уникнути дублювання інформації в таблицях, до основної інформації додається деяка службова інформація, яка однозначно ідентифікує запис, Детальний розгляд організації реляційних баз даних в задачу цієї книги не входить. Читач може самостійно ознайомитися з питаннями організації реляційних Баз даних. звернувшись до літератури.
Після того як визначена структура записів бази даних. можна приступити безпосередньо до створення таблиці. Таблиці створюються за допомогою що входить до складу Delphi утиліти Database Desktop.
Мал. 17.6. Діалогове вікно Database Desktop
Для того щоб створити нову таблицю, потрібно вибором з меню Tools команди Database Desktop запустити Database Desktop. Потім у вікні утиліти Database Desktop треба з меню File вибрати команду New і в списку, що з'явився вибрати тип створюваного файлу-Table (рис. 17.6).
Потім в діалоговому вікні Create Table (рис. 17.7) слід вибрати тип створюваної таблиці (значенням за замовчуванням є тип Paradox 7).
Мал. 17.7. Вибір типу таблиці
В результаті відкривається діалогове вікно Create Paradox 7 Table (рис. 17.8), в якому можна визначити структуру записів таблиці.
Мал. 17.8. Діалогове вікно Create Paradox 7 Table
Для кожного поля таблиці необхідно задати ім'я, тип і, якщо потрібно, розмір поля. Ім'я поля використовується для доступу до даних. Як ім'я поля, яке вводиться в колонку Field Name, можна використовувати послідовність з букв латинського алфавіту і цифр довжиною не більше 25 символів.
Тип поля визначає тип даних, які можуть бути поміщені в поле.Тіп задається введенням в колонку Туре символьної константи. Типи полів і відповідні їм константи наведені в табл. 17.1.
Таблиця 17.1. Тип поля визначає тип інформації, яка може в ньому перебувати
Константа, що визначає тип поля, може бути введена з клавіатури або шляхом вибору типу поля зі списку (рис. 17.9), який з'являється при натисканні правою кнопкою миші в колонці Туре або при натисканні клавіші <Пробел> .
Рис, 17.9. Тип поля можна вибрати зі списку
Одне або декілька полів можна помітити як ключові. Ключове поле визначає логічний порядок проходження записів в таблиці. Наприклад, якщо символьне (тип Alpha) поле Fam (Прізвище) позначити як ключове, то при виведенні таблиці записи будуть упорядковані відповідно до алфавітного порядку прізвищ. Якщо поле Fam не позначаються як ключове, то записи будуть виведені в тому порядку, в якому вони були введені в таблицю. Слід звернути увагу на те, що в таблиці не може бути двох записів з однаковим вмістом ключових полів. Тому в розглянутому прикладі ключовими полями повинні бути поля Fam (Прізвище) і name (Ім'я). Тоді в таблицю можна буде ввести інформацію про однофамільців. Однак як і раніше не можна буде ввести однофамільців, у яких збігаються імена.
Тому в якості ключового поля зазвичай вибирають поле, яке містить унікальну інформацію. Для таблиці зі списком людей, в якості ключового можна вибрати поле Рasр (Паспорт).
Для того щоб позначити поле як ключове, необхідно виконати подвійне клацання в колонці Key. Слід звернути увагу на те, що ключові поля повинні бути згруповані у верхній частині таблиці.
Якщо значення, що записується в поле, має перебувати в певному діапазоні, то введенням значень в поля Minimum value (Мінімальне значення) і Maximum value (Максимальне значення) можна задати межі діапазону.
Поле Default value дозволяє задати значення за замовчуванням, яке буде автоматично записуватися в поле при додаванні до таблиці нового запису. Поле Picture дозволяє задати шаблон, використовуючи який можна контролювати правильність введеної в поле інформації. Шаблон являє собою послідовність звичайних і спеціальних символів. Спеціальні символи перераховані в табл. 17.2.
В цьому випадку в поле Picture слід записати шаблон: ### - ## - * #. При введенні інформації в поле Tel будуть з'являтися тільки цифри (натискання клавіш з іншими символами ігноруються), причому після введення третьої і п'ятої цифр в поле будуть автоматично додані дефіси.
Таблиця 17.2, Спеціальні символи, використовувані при записі шаблонів
Шаблони дозволяють не тільки контролювати правильність введених в поле даних шляхом блокування введення невірних символів, але і забезпечують автоматизацію введення даних. Це досягається шляхом вказівки в шаблоні в квадратних або фігурних дужках списку допустимих значень вмісту поля.
Наприклад, якщо для поля Address задати шаблон [Санкт-Петербург, Москва, Воронеж | * @ або [Санкт-Петербург, Москва, Воронеж] * Е, то під час введення даних в це поле назву відповідного міста буде з'являтися відразу після введення однієї з букв: с, м або в. Відмінність фігурних дужок від квадратних і, отже, цих шаблонів один від одного полягає в тому, що в першому шаблоні вміст поля обов'язково повинно починатися з назви одного з перерахованих у списку міст, а в другому - місто може називатися по-іншому, проте його назва доведеться вводити повністю.
Після того як буде визначена структура таблиці, таблицю слід зберегти. Для цього необхідно натиснути кнопку Save As (див. Рис. 17.8). В результаті відкривається вікно Save Table As. У цьому вікні зі списку Alias потрібно вибрати псевдонім бази даних. частиною якої є створена таблиця, а в поле Ім'я файлу ввести ім'я файлу, в якому потрібно зберегти створену таблицю (рис. 17.10).
Якщо перед тим як натиснути кнопку Зберегти встановити прапорець Display table. то в результаті натискання кнопки Зберегти відкривається діалогове вікно Table (рис. 17.11), в якому можна ввести дані в тільки що створену таблицю.
Мал. 17.11. Вікно Database Desktop можна використовувати для введення інформації в базу даних
Дані в поля записи вводяться з клавіатури звичайним чином. Для переходу до наступного поля потрібно натиснути клавішу. Якщо поле є останнім полем останнього запису, то в результаті натискання клавіші в таблицю буде додано ще один запис.
Якщо під час заповнення таблиці необхідно внести зміни в якийсь вже заповнене поле, то слід вибрати це поле, скориставшись клавішами переміщення курсору, натиснути клавішу і внести потрібні зміни.
Якщо при введенні даних в таблицю літери російського алфавіту відображаються невірно, то треба змінити шрифт. використовуваний для відображення даних.
Мал. 17.12. Для правильного відображення даних в Database Desktop потрібно вибрати
З точки зору програміста, база даних - це набір файлів, що містять інформацію. Розробляючи базу даних для користувача, програміст створює програму, яка забезпечує роботу з файлами даних.
В даний час існує досить велика кількість програмних систем, що дозволяють створювати і використовувати локальні (dBASE, FoxPro, Access, Paradox) і віддалені (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) бази даних.
До складу Delphi входять компоненти, що дозволяють створювати програми роботи з файлами даних, створеними різними системами: від dBASE до Infomix і Oracle. Delphi також дозволяє програмісту, використовуючи утиліту Borland Database Desktop. створювати файли баз даних в різних форматах.