Perl для системного администрирования



              

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


Реляционные базы данных предлагают множество способов установить связи между данными из двух или более таблиц. Этот процесс называется объединением («joining») таблиц. Объединения очень быстро могут стать сложными, учитывая количество используемых запросов и точный контроль, который программист имеет над возвращаемыми данными. Тем, кого интересуют такие детали, лучше заглянуть в книгу по SQL.

Рассмотрим один пример объединения. Здесь будет использоваться таблица под названием contracts, в которой содержится информация о гарантиях на каждую машину (табл. D.3).

Таблица D.3. Таблица Contracts

name

servicevendor

start date

enddate

bendir

Dec

09-09-1995

06-01-1998

sander

Intergraph

03-14-1998

03-14-1999

shimmer

Sun

12-12-1998

12-12-2000

Sulawesi

Apple

11-01-1995

11-01-1998

Вот один из способов установить отношение между таблицей hosts и таблицей contracts при помощи объединения:

SELECT name.servicevendor,enddato FROM r,nr\ -rifts, hosts WHERE contracts, name = nosn. r;vne

Проще всего понять этот код, если начать читать его с середины. Условие FROM contacts, '"osrs говорит серверу о том, что связь устанавливается между таблицами contracts и hosts. Условие WHERE hosts, name сообщает, что мы ищем совпадения между строками из таблиц contracts и hosts, основываясь на содержимом поля из каждой таблицы. Наконец, строка SELECT, определяет поля, которые мы хотим включить в получаемые данные.




Содержание  Назад  Вперед