Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

3.5. Установка связей между таблицами

И мя источника главной (родительской) таблицы, с которой устанав­ливается связь, и имя поля главной таблицы, по которому связывается таб­ли­ца, задаются в свойствах подчиненной (дочерней) таблицы MasterSource и MasterFields соответ­ственно. В нашем примере для таблицы строек этим свойствам присвоим значения: MasterSource=Pod­­­rjd­hiki, MasterFields=Kp. Существует визуальный способ установки связей. Вы­бе­рем стра­ни­­цу Data Di­ag­­ram. Пере­не­­сем мыш­­кой из про­­вод­ника ок­­­­на узлы с име­нами таб­­­­­­лиц Stroi­ki.DB, Pod­­­­rjd­hi­ki.DB и Za­kaz­­­h­i­ki.DB на эту ст­ра­ни­­цу (рис.3.5.1). Щел­­­к­­нем на кнопке Master Detail.

Рис. 3.5.1. Связь между таблицами

Проведите линию при нажатой левой кнопке мы­ши от родительской таблицы Podrjdhiki до таблицы Sroiki; появится окно Field Link Designer.

Установите значения для полей (рис. 3.5.1) и нажмите кнопку Add и OK и появится линия связи. Аналогично устанав­ли­вает­ся связь с таблицей заказчиков (наличие связей может вызывать ряд проблем (п. 3.2)).

Объекты схемы данных можно прокомментировать: нажмите кноп­ку Comment Block и щелкните мышкой на свободном месте схеме и в по­явив­шемся прямоугольнике введите текст комментария, щелкните по кноп­ке Comment Allude и протяните линию от комментария к нужному объекту.

3.6. Установка полей соответствия (Lookup)

Дополним список постоянных полей таблицы строек (п. 3.3) полями с наименованиями заказчика (Nz) и подрядчика (Np). Это можно сделать, так как в таблицах есть поля соответствия с кодами заказчиков и под­ряд­чи­ков и при равенстве этих кодов наименования будут соответ­ст­во­вать кодам в теку­щей записи строек. Для этого от­кро­ем мо­дуль базы, щелк­нем правой мыш­­кой на табли­це Stroiki на панели Com­po­nents и выбе­рем команду Fields Editor, поя­вит­ся окно DataModu­le2.Stroi­ki. Из кон­­текст­ного ме­­­ню это­го окна вы­пол­ним команду New field. Появится ок­но, заполним его (рис. 3.6.1).

Рис. 3.6.1. Установка поля соответствия

Аналогично сформируем второе поле с названием заказчика. Если разместить таблицу (DBGrid) на форме и включить колонки с полями Np, Nz при выводе таблицы строек, то при выборе ячеек с этими полями они будут раскрываться в виде списка с наименованиями, и пользователю достаточно только выбрать нужное наименование, а код его поместится в соответствующее поле с кодом Kp или Kz таблицы строек.

Кнопкой Lookup можно визуально установить связи по полям соответствия линиями со значком в виде “глаза”.

3.7. Создание запросов

Запросы служат для выборки нужных записей и объединения нескольких таблиц в одну. С помощью запросов реализуется реляционный доступ к базе данных, который автоматизирует и унифицирует процедуры доступа к распределенным многопользовательским базам. Для создания запросов используются команды языка структурированных запросов (SQL). Этот язык стандартизован и используется в различных СУБД, что унифицирует доступ к данным. В Delphi имеются визуальные средства по формированию команд SQL, это упрощает и ускоряет создание простых запросов и не требует знания деталей использования команд SQL.