Установление связей между таблицами
Реляционные базы данных предлагают множество способов установить связи между данными из двух или более таблиц. Этот процесс называется объединением («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, определяет поля, которые мы хотим включить в получаемые данные.