льки в такій моделі головні об'єкти завжди розміщені вище підлеглих. Ці зв'язки є основними в реляційних базах даних, тому що одно-однозначні зв'язку використовуються лише в рідкісних випадках, коли доводиться розділяти велику кількість полів, що визначаються одним і тим же ключем, по різних таблицях, які мають різний регламент обслуговування.
Встановлюючи у вікні схеми даних зв'язку типу 1: М між парою таблиць, треба виділити в головній таблиці унікальне ключове поле, по якому встановлюється зв'язок. Далі, при кнопці миші, протягнути курсор у відповідне поле підпорядкованої таблиці.
При створенні зв'язку по складеному ключу необхідно виділити всі поля, що входять в ключ головної таблиці, і перетягнути їх на одне з полів зв'язку у підпорядкованій таблиці. Для виділення всіх полів, що входять в складовою унікальний ключ, необхідно відзначати поля при клавіші. Після створення зв'язку відкриється вікно Зміна зв'язків (Edit Relationships). При цьому в рядку Тип відносини (Relationship Type) автоматично встановиться тип один-до-багатьох (One-To-Many).
При складеному ключі зв'язку у вікні Зміна зв'язків (Edit Relationships) необхідно для кожного поля ключа в головній таблиці таблиця / запит (Table / Query) вибрати відповідне поле підпорядкованої таблиці, названої зв'язана таблиця / запит (Related Table/Query).
2.6.6 Створення контейнера TDataModule
Зв'язок екранної форми з БД забезпечується спеціальними компонентами, які називаються невізуальними компонентами. Ці елементи видно тільки в режимі конструювання, а в режимі роботи системи на екрані невидимі.
Якщо СУБД складається з однієї екранної форми, то не потрібно спеціального сховища у вигляді контейнера для зберігання невізуальних компонентів. У цьому випадку невізуальні компоненти можна розташувати на тій же екранній формі, яка є єдиною. У разі безлічі екранних форм, кожна з яких повинна мати доступ до БД, доступ організовується наступним чином.
Для всіх екранних і звітних форм необхідний доступ (зв'язок) до БД. Причому коли СУБД має кілька екранних форм їх доступ до БД можна здійснити двома способами.
. Доступ кожної форми (і її компонентів) до БД можна здійснити автономно, незалежно від інших форм.
. Другий спосіб передбачає не повторювати для кожної форми організацію доступу до БД, а для всіх екранних і звітних форм організувати єдиний доступ через спеціальний компонент типу TDataModule. Компонент типу TDataModule являє собою контейнер, в який можна поміщати невізуальні компоненти TTable, TQuery, DataSource, які необхідні для доступу до БД і т.д. Тоді всі ті форми, для яких?? потрібно доступ до БД, доступ отримають через компонент TdataModule. Тому при створенні СУБД для кожної екранної форми необхідно встановити зв'язок з компонентою типу TdataModule.
Таким чином, для роботи СУБД необхідно створити компонент типу TDataModule.
Створення примірника TDataModule в середовищі Delphi здійснюється через пункт меню File | New Data Module . p>
Компонент TDataModule служить контейнером компонентів для роботи з базами даних. У палітрі компонентів Delphi на сторінці Data Access виб...