Visual Basic 6. Руководство разработчика


         

Структура базы данных


BIBLIO

Одна из двух стандартных баз данных, поставляемых с Visual Basic, называется BIBLIO. База данных BIBLIO имеет простую структуру, почти тривиальную, но демонстрирует многие из рассмотренных ранее тем. Откройте базу BIBLIO с помощью Visual Data Manager и исследуйте ее структуру.

База BIBLIO содержит заголовки книг имена авторов и издателей в виде четырех таблиц (рис. 17.11). Вместо имен полей каждой таблицы на рисунке отображены некоторые содержащиеся в них данные. Приведены только те поля, которые необходимы, чтобы показать связи между таблицами. Имена полей отображены как заголовки столбцов. Первое правило при проектировании базы данных — не дублировать данные. Хранение имени автора совместно с заголовками нарушило бы это правило, поскольку автор обычно пишет больше одной книги. В этом случае необходимо было бы повторить имя автора в более чем одной строке таблицы Titles. Имена авторов хранятся в отдельной таблице – Authors. Это же справедливо и для издателей. Так как каждый издатель появляется во многих книгах то информация об издателях в таблице Titles не хранится. Зачем повторять адрес издателя с каждым заголовком?

Пока обосновано существование трех таблиц в базе данных. Но в базу данных BIBLIO входит четвертая таблица. Каждая книга может иметь более одного автора, а имя автора может появляться не только в одном заголовке Хранение имен каждого из авторов или их ID для каждого наименования книги потребовало бы соответст­вующих полей в таблице Titles. Отличие поля с ID автора от поля PubID (ID издателя) состоит в том, что книга может иметь несколько авторов, и необходимо предусмотреть ряд полей для хранения идентификаторов Author ID (AuthorIDl, AuthorID2 и т.д.). Очевидно, что имена авторов не могут обрабатываться подобно именам издателей.

Рис. 17.11. Структура базы данных BIBLIO

Таблица Title Author находится между таблицами Titles и Authors и соединяет их с парой полей — ISBN книги и ID автора. Для просмотра имени автора конкретной книги необходимо выполнить следующие действия.




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