Створення бази даних
Так як створювана нами база даних розміститься на носіях одного комп'ютера, то вона буде локальною. Локальною базою даних вважається каталог на диску, в якому зберігаються файли таблиць БД, індексів, приміток (мемо-полів) і т.д. Для зберігання однієї таблиці створюється окремий файл. Такі ж окремі файли створюються для зберігання індексів таблиці та мемо-полів. Розробляючи програму роботи з базою даних, ми не можемо знати, на якому диску і в якому каталозі будуть знаходитися файли бази даних під час її використання. Наприклад, користувач може помістити базу даних в один з каталогів дисків С. D. E: або на мережевий диск. Тому виникає проблема передачі в програму інформації про місце знаходження файлів бази даних.
У Delphi проблема передачі в програму інформації про місце знаходження файлів бази даних вирішується шляхом використання псевдоніма бази даних.
Ім'я користувача (Alias) - це коротке ім'я, поставлене у відповідність реальному, повного імені каталогу бази даних. Такий псевдонім повинен бути зареєстрований в файлі конфігурації конкретного комп'ютера за допомогою утиліти BDE Administrator.
Для доступу до інформації програма, що забезпечує роботу з базою даних, підключає бібліотеку Borland Database Engine (BDE), яка, в свою чергу, використовує конфігураційний файл, що містить інформацію про всі зареєстровані в системі псевдонімах.
Створимо каталог на диску Е: і назвемо його "meb_salon", далі за допомогою BDE Administrator створимо однойменний псевдонім і вкажемо йому шлях "E: meb_salon".
Далі перейдемо до створення таблиць нашої БД. Для цього відкриємо компонент Delphi - Database Desktop (DBD) і для зручності подальшої роботи в головному меню File виберемо Working directory і виберемо робочим псевдонімом "meb_salon", з яким DBD буде працювати за замовчуванням.
Створимо чотири таблиці:
1. meb_client.dbf (клієнти);
2. meb_zacaz.dbf (замовлення);
3. meb_meb.dbf (товар);
4. meb_proizv.dbf (виробники)
і заповнимо їх, як описано вище.
Всім полям призначимо атрибут Required (вимога обов'язкового існування значення на момент його запам'ятовування в БД), крім поля N_zac, оскільки це поле має тип Autoincrement тобто автоматичне заповнення при запам'ятовуванні нового запису.
Далі нам необхідно визначити кількість посилань цілісність таблиць і задати вид каскадних впливів (відображення змін запису на пов'язаних записах в інших таблицях). Для цього відкриємо таблицю meb_zacaz (замовлення) і в режимі зміни структури таблиці (Table Restructure) в списку властивостей (Table Properties) виберемо елемент Refrential Integrity. Потім, натиснувши кнопку Define, створимо кількість посилань цілісність.
Рис.6 Створення посилальної цілісності для поля N_cli.
Вибравши поле N_cli в списку, розташованому ліворуч, визначимо його, як зовнішній ключ до батьківської таблиці meb_client справа. В поле Update rule поставимо прапорець у напису Cascade (каскадне зміна і видалення підлеглих записів). Те ж саме проробимо з полем N_meb, присвоївши йому батьківську таблицю meb_meb, далі визначимо посилання у таблиці meb_meb у відносно таблиці meb_proizv по полю N_pro. Всім посилальним визначень дамо імена і збережемо. При створенні посилальної цілісності в таблицях з зовнішніми ключами автоматично створюються індекси по їх неявному визначенням:
o meb_zacaz - N_cli, N_meb;
o meb_meb - N_pro.
У підсумку ми отримали локальну базу даних для меблевого салону, що складається з чотирьох пов'язаних таблиць.