Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 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; появится окноFieldLinkDesigner.

Установите значения для полей (рис. 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.