русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тема КОМПОНЕНТЫ ДЛЯ РАБОТЫ С БД. НАСТРОЙКА СВЯЗИ МЕЖДУ ОТНОШЕНИЯМИ (СВЯЗЫВАНИЕ ТАБЛИЦ).


Дата добавления: 2015-07-09; просмотров: 913; Нарушение авторских прав


Лабораторная работа №5

 

 

Среда Delphi предоставляет в распоряжение пользователя компоненты, позволяющие получить доступ к базам данных и осуществить их редактирование. Компоненты, расположенные на страницах Data Access и BDEпалитры компонентов (в дальнейшем П/К) предназначены для доступа к базам данных. Компоненты, расположенные на странице Data Controls, представляют собой элементы управления данными. Эти компоненты подобны компонентам, расположенным на страницах Standard и Additional, однако отличаются от них тем, что имеют свойства, обеспечивающие связь с полями таблицы базы данных.

 

Компоненты для работы с базами данных

Рис.31

В данной лабораторной работе мы будем рассматривать:

компоненты доступа к данным

- ClientDataSet - клиентский набор данных (П/К Data Access);

- Table - таблица базы данных (П/К BDE);

- Query - предназначен для доступа к базе данных посредством SQL запроса (П/К BDE);

- DataSource - источник данных (П/К Data Access);

компоненты управления данными

- DBGrid - позволяет представить таблицу базы данных в виде похожем на электронную таблицу (П/К Data Controls);

- DBNavigator - представляет собой кнопочный переключатель, посредством которого можно перемещать курсор по записям таблицы и выполнять редактирование записей (П/К Data Controls).

 

Рассмотрим наиболее важные свойства представленных компонентов.

 

Table Наиболее важными свойствами компонента являются:

· Active – данное свойство служит для получения доступа к таблице базы данных. Этому свойству присваивается значение true после установки нижеследующих свойств.

· DataBaseName – в данном свойстве указывается имя базы данных, доступ к таблице которой должен получить компонент Table. Вместо имени базы данных можно указывать ее псевдоним (алиас) или полный путь к каталогу, содержащему таблицы.



· TableName – в данном свойстве указывается конкретная таблица базы данных. При необходимости иметь в форме доступ к нескольким таблицам следует для каждой таблице определить свой компонент Table.

 

 

Компонент Query, как и компонент Table имеет свойство DataBaseName, но не имеет свойства TableName. Необходимая таблица создается автоматически при выполнении той или иной команды SQL. Свойству SQL присваивается текст одноименной команды, как при дизайне приложения, так и в процессе выполнения приложения. Для создания SQL команды в процессе дизайна приложения достаточно щелкнуть по кнопке расположенной рядом со свойством SQL в инспекторе объектов и в окне редактора команды ввести соответствующий текст SQL команды.

 

DataSource:

- свойство Enabled похоже на свойство Active таблицы или Connected у базы данных, т.е. делает активным или неактивным соединение;

- свойство AutoEdit, будучи включенным, обеспечивает возможность правки записей без написания какого-либо дополнительного кода;

- свойство State информирует о том, в каком состоянии в текущий момент находится источник данных;

- свойство DataSet определяет источник данных - таблицу, запрос и т.д.

 

DBGrid:

- DataSource, свойство, указывающее на источник данных, отображающихся в данной сетке (Grid-е).

DBNavigator:

- DataSource, свойство, указывающее на объект навигации (на таблицу, по записям которой предстоит выполнять перемещение указателя);

- + VisibleButtons – установка/удаление кнопок на навигаторе (пр умолчанию все кнопки на навигаторе видимы).

 

ВЫПОЛНИТЬ

Для выполнения данной работы Вы должны знать (вспомнить):

а) в какой папке сохранены таблицы (ОТДЕЛЫ, СОТРУДНИКИ и СЕМЬЯ СОТРУДНИКОВ), созданные на Лабораторной работе №3 – это должна быть папка DATA;

б) какой алиас Вы регистрировали для этой папки (Лаб№4). Если не помните алиас, то зарегистрируйте его вновь. В дальнейшем таблицы ОТДЕЛЫ, СОТРУДНИКИ и СЕМЬЯ СОТРУДНИКОВ будем называть БД «Предприятие».

1. Создать СУБД «Предприятие». В качестве компонента доступа к данным использовать компонент Table.

2. Далее пошагово описан путь создания приложения.

3. Создайте в своей личной папке папку Лабораторная_5.

4. Запустите среду Delphi и сохраните еще пустой проект в созданную папку (File à SaveProjectAs).

5. Нанесите на форму набор следующих компонентов:

- Table1, DataSource1, DBGrid1, DBNavigator1;

- Table2, DataSource2, DBGrid2, DBNavigator3.

- Table3, DataSource3, DBGrid3, DBNavigator3.

 

6. Активизируйте компонент Table1и в инспекторе объектов (далее И/О) для перечисленных ниже свойств установите значения:

- DataBaseName – тот алиас, который вы зарегистрировали на папку DATA (с таблицами ОТДЕЛЫ, СОТРУДНИКИ и СЕМЬЯ СОТРУДНИКОВ).

 

- TableName – имя таблицы ОТДЕЛЫ;

- Active à true.

7. Активизируйте компонент Table2и в инспекторе объектов для перечисленных ниже свойств установите значения:

- DataBaseName – тот алиас, который вы зарегистрировали на папку DATA (с таблицами ОТДЕЛЫ, СОТРУДНИКИ и СЕМЬЯ СОТРУДНИКОВ).

- TableName – имя таблицы СОТРУДНИКИ;

- Active à true.

8. Активизируйте компонент Table3и в инспекторе объектов для перечисленных ниже свойств установите значения:

- DataBaseName – тот алиас, который вы зарегистрировали на папку DATA (с таблицами ОТДЕЛЫ, СОТРУДНИКИ и СЕМЬЯ СОТРУДНИКОВ).

- TableName – имя таблицы СЕМЬЯ СОТРУДНИКОВ;

- Active à true.

9. Активизируйте компонент DataSource1 и в инспекторе объектов для свойства DataSet установите значениеTable1;

10. Активизируйте компонент DataSource2 и в инспекторе объектов для свойства DataSet установите значениеTable2;

11. Активизируйте компонент DataSource3 и в инспекторе объектов для свойства DataSet установите значениеTable3;

12. Активизируйте компонент DBGrid1 и в инспекторе объектов для свойства DataSource установите значениеDataSource1;

13. Активизируйте компонент DBGrid2 и в инспекторе объектов для свойства DataSource установите значениеDataSource2;

14. Активизируйте компонент DBGrid3 и в инспекторе объектов для свойства DataSource установите значениеDataSource3;

15. Активизируйте компонент DBNavigator1 и в инспекторе объектов для свойства DataSource установите значениеDataSource1;

16. Активизируйте компонент DBNavigator2 и в инспекторе объектов для свойства DataSource установите значениеDataSource2;

17. Активизируйте компонент DBNavigator3 и в инспекторе объектов для свойства DataSource установите значениеDataSource3;

18. Скомпилируйте приложение (RunàRun или F9), остановите его, и если нет ошибок, сохраните командой SaveAll.

 

Ранее оговаривалось, что мы имеем дело с реляционной БД, однако сами по себе таблицы никак не связаны. Сейчас приступаем к настройке механизма связывания таблиц (отношений) между собой. Внимание!!! Поля по которым настраивается связь ОБЯЗАТЕЛЬНО должны быть проиндексированы (толи первичный ключ, то ли вторичный индекс).

 

ПРАВИЛО. Связь всегда настраивается ОТ подчиненной таблице (detail-отношение) К главной таблице (master-отношение).

 

Обратите внимание на логическую схему БД «Предприятие». Таблица «СОТРУДНИКИ» подчинена таблице «ОТДЕЛЫ», т.е. связь будет настраиваться от таблицы «СОТРУДНИКИ» à«ОТДЕЛЫ» по полям Отдел à Отдел соответственно.

Таблица «СЕМЬЯ СОТРУДНИКА» подчинена таблице«СОТРУДНИКИ», т.е. связь будет настраиваться от таблицы «СЕМЬЯ СОТРУДНИКА» «СОТРУДНИКИ» à «СОТРУДНИКИ» по полям ИД à №ПП соответственно.

 

ОТДЕЛЫ   СОТРУДНИКИ   СЕМЬЯ СОТРУДНИКА
Отдел № П/П   № П/П
Телефон   ФИО сотрудника   Статус
Руководитель   Год рождения   ФИО
    Отдел   Год рождения
    ИД

 

 

Структурная схема БД «Предприятие»

 

 

19. Выберите компонент Table2 (таблица«СОТРУДНИКИ») и в И/О вы берите:

- свойство MasterSource à DataSource1;

- свойство MasterFields à … ;

Свойство MasterFields дает возможность связать между собой таблицы по нужным полям (это действие ещё называют связывание курсоров). Ниже представлен рисунок, показывающий последовательность настраивания связи между двумя таблицами: master (главная)и detail (подчиненная).

 

 

 

Описание рисунка. 1-2. В окне индексов Available Indexes выбирается индекс ПОДЧИНЕННОГО поля. 3. Этот индекс автоматически вносится в поле DetailFields. Затем мышкой выбирается поле связи главной (Master) таблицы и нажимается кнопка Add . 4. После добавления связки в поле JoinedField окно Мастера связи закрывается командой подтверждения ОК.

20. Следующий шаг – это соединение таблиц «СЕМЬЯ СОТРУДНИКА» - Detail и «СОТРУДНИКИ»- Master, поля связи для этих таблиц ИД и №ПП соответственно. Не забудьте, что эти поля должны иметь индексы!!! Поле №ПП в соответствии с правилами создания структуры таблиц в формате Paradox долино быть ключевым – Primery, а вот для поля ИД должен быть установлен вторичный индекс.

21. Далее, по аналогии с пунктом 20 настройте связь между таблицами «СЕМЬЯ СОТРУДНИКА» и «СОТРУДНИКИ».

22. Скомпилируйте приложение (RunàRun или F9), остановите его, и если нет ошибок, сохраните командой SaveAll.

23. Вновь запустите приложение и попробуйте заполнить строки в таблицах.

 



<== предыдущая лекция | следующая лекция ==>
ЛАБОРАТОРНАЯ РАБОТА №4 | ОРГАНИЗАЦИЯ ПОИСКА ДАННЫХ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.422 сек.