Глава 28. Пакет LiveWire Pro 673
Каждая таблица может также содержать указатели на другие таблицы (foreign key — "чужой ключ"), сохраняя в своих колонках значение первичного ключа другой таблицы. Например, одной из характеристик любой книги является выпустившее ее издательство. На рис. 28.3 видно, что для каждой книги указана ссылка на издательство (Publisher ID). Для таблицы книг (Books)это значение является чужим ключом. Однако для таблицы издательств (Publisher)это значение является первичным ключом.
Books
ISBN | Title | Publication Year | Retail Price | Publisher ID | ||
7897 | ||||||
57521 | ||||||
7897 | ||||||
56205 | ||||||
57521 | ||||||
56205 | ||||||
57521 | ||||||
7897 | ||||||
7897 | ||||||
57521 | —————, | |||||
7897 | ||||||
56205 | .................... | .......... |
Publisher | |
ID | Imprint |
7897 | Que |
57521 | SAMS.NET |
56205 | NRP |
57576 | Que Education and Training |
Рис. 28.3.Связь двух отношений
Разработка баз данных является отдельной областью компьютерных приложений. Если вам необходимо установить новую базу данных, следует пригласить специалиста. При разработке реляционных баз возникают две противоположные тенденции. Если в таблицах присутствует избыточность, то вполне вероятно, что они станут противоречить друг другу. Например, если в таблицу книг будет включена не только ссылка на издательство, но и его адрес, то может случиться ситуация, когда некоторый адрес будет обновлен в таблице издательств, но этого не будет сделано в таблице книг.
Если база данных будет разделена на множество небольших таблиц, не имеющих избыточности, то легко гарантировать ее непротиворечивость. Однако если база данных имеет значительные размеры, то наличие множества таблиц может потребовать большого числа запросов для выполнения поиска с использованием чужих ключей. Большие базы данных, имеющие небольшую (или нулевую)степень избыточности, могут быть неэффективны как с точки зрения занимаемого места, так и с точки зрения производительности.
Разработчики баз данных используют понятие пяти уровней нормализации — стандартов согласованности (непротиворечивости)базы данных. Нормальные формы иерархичны — так, база данных третьей нормальной формы удовле-
22 Эак.535