Печать данных с помощью отчетов

Можно осуществлять печать непосредственно таблиц, форм и запросов с помощью команды [Файл-Печать]. Одна­ко для красивой печати документов целесообразно использо­вать отчеты. Отчеты являются производными объектами БД и создаются на основе таблиц, форм и запросов.

Создадим отчет, который будет красиво распечатывать БД «Провайдеры Интернета». Воспользуемся для этого Мас­тером отчетов.

Вывод БД на печать с помощью отчета

1. В окне Провайдеры Интернета: база данных выделить группу объектов Отчеты и выбрать пункт Создание от­чета с помощью мастера.

2. С помощью серии диалоговых панелей задать параметры внешнего вида отчета.

I it IQeucc Q I а МТУ Иди
1 ДЛ.ООс! I ЛЛООгП I 26 00» i I 42 00c I
I 3500» I
Г

3. В окне Провайдеры Интернета: база данных щелкнуть по кнопке Просмотр. Появится документ в том виде, в котором он может быть распечатан.

Провайдеры Интернет* ЩСЭО]

Провайдеры Интернета

J& ft п Название Плата Почасовая Кол-во входных линяй Скорость канала______________ Web-саЛт провайдера

I 45>

J^ I k»w ciiasnet >u \

ТЩ 1вии>яивпг| ij^njuri^^J —'

I 154 kw* ana rj [

2 ! ^cwrit b

I U po w fu I

Ha)

1l I 'Oh S»ww letecof" Ъ I

JBJ Практические задания

«USt

11.8. Создать отчет «Визитка» для базы данных «Записная книж­ка» и отчет «Библиотечная карточка» для базы данных «Биб­лиотечный каталог».

Реляционные базы данных

Однотабличные и многотабличные базы данных

Достаточно часто встречается ситуация, когда хранить всю базу данных в одной таблице неудобно и нерациональ­но. Таблица может содержать слишком большое количество полей, что неудобно пользователю. Различные записи при этом во многих полях дублируют друг друга, что увеличива­ет информационный объем базы данных и замедляет проце­дуры ее обработки.

Поясним это на примере. Пусть табличная база данных «Комплектующие компьютера и поставщики» содержит ин­формацию о различных комплектующих и имеет поля: «Счетчик», «Наименование», «Описание», «Название фир­мы», «Адрес», «Цена» (в рублях) — табл. 11.2.

Таблица 11.2. Комплектующие компьютера и поставщики
Счетчик Наименование Описание Название фирмы Адрес Цена
Системный блок Pentium Фирма1 Адрес 1
Системный блок Pentium Фирма2 Адрес2
Монитор 15" Фирма1 Адрес1
Монитор 15" Фирма2 Адрес2
Клавиатура 104 кл. Фирма1 Адрес 1
Клавиатура 104 кл. Фирма2 Адрес2
Мышь 3 кн Фирма1 Адрес 1
Мышь 3 кн Фирма2 Адрес2


Мы видим, что почти половину объема таблицы составля­ет избыточная, дублированная информация.

Проанализируем причину дублирования. Комплектую­щие компьютера имеют два неотъемлемых свойства: «Наи­менование» и «Описание». «Название фирмы», «Адрес» и «Цена» не являются свойствами комплектующих компьюте­ра, они являются свойствами поставщика.

Естественно разделить исходную таблицу на две: «Комп­лектующие» (табл. 11.3) и «Поставщики» (табл. 11.4).

Каждая таблица должна содержать, по крайней мере, одно ключевое поле, содержимое которого уникально для каждой записи в этой таблице. В таблицу «Комплектую­щие» введем поле «Код комплектующих». Именно это поле будет ключевым в данной таблице.

Таблица 11.3. Комплектующие
Код комплектующих Наименование Описание
К1 Системный блок Pentium
К2 Монитор 15"
КЗ Клавиатура 104 кл.
К4 Мышь 3 кн.

В таблицу «Поставщики» введем дополнительное поле «Код поставщика». Именно это поле будет ключевым в дан­ной таблице.

Таблица 11.4. Поставщики
Код поставщика Название фирмы Адрес
П1 Фирма1 Адрес 1
П2 Фирма2 Адрес2

Связывание таблиц

После создания различных таблиц, содержащих данные, относящиеся к различным аспектам базы данных, необходи­мо обеспечить целостность базы данных. Для этого надо свя­зать таблицы между собой.

При связи «один-ко-многим» каждой записи в одной (главной) таблице могут соответствовать несколько записей в другой (подчиненной) таблице, а запись в подчиненной таблице не может иметь более одной соответствующей ей за­писи в главной таблице.

Если одной записи в первой таблице могут соответство­вать несколько записей во второй таблице и, наоборот, од­ной записи во второй таблице — несколько записей в первой таблице, то реализуется связь «многие-ко-многим».

В нашем случае реализуется именно такая связь. Одной записи в таблице «Комплектующие» соответствуют две за­писи в таблице «Поставщики», так как устройства одного типа продаются двумя фирмами. Одной же записи таблицы «Поставщики» соответствуют четыре записи таблицы «Комплектующие», так как одна фирма продает устройст­ва четырех типов.

Две таблицы, находящиеся в отношении «многие-ко-мно­гим», могут быть связаны только с помощью третьей (свя­зующей) таблицы. Таблицы «Комплектующие» и «Постав­щики» можно связать в отношении «многие-ко-многим» путем создания двух связей «один-ко-многим» по отноше­нию к таблице «Цена».

Таблицы «Комплектующие» и «Поставщики» будут яв­ляться главными по отношению к таблице «Цена».

Связь между таблицами устанавливает отношения между совпадающими значениями в полях с одинаковыми имена­ми. С ключевым полем главной таблицы (первичный ключ) связывается одноименное поле подчиненной таблицы (внеш­ний ключ).

В главной таблице «Комплектующие» поле «Код комп­лектующих» является первичным ключом, соответственно в подчиненной таблице «Цена» должно существовать одно­именное поле, которое является внешним ключом.

Таблица «Поставщики» также является главной по отно­шению к таблице «Цена». Ее поле «Код поставщика» явля­ется первичным ключом, соответственно в подчиненной таб­лице «Цена» должно существовать одноименное поле, которое является внешним ключом.

Таким образом, таблица «Цена» должна содержать следу­ющие поля (табл. 11.5):

• «Счетчик» (ключевое поле);

• «Код комплектующих» (поле внешнего ключа для табли­цы «Комплектующие»);

• «Код поставщика» (поле внешнего ключа для таблицы «Поставщики»);

• «Цена» (числовое поле).

Таблица 11.5. Цена
Счетчик Код комплектующих Код поставщика Цена
К1 П1
К1 П2
К2 П1
К2 П2
КЗ П1
КЗ П2
К4 П1
К4 П2
*

Межтабличная связь обеспечивает целостность данных. Связанные таблицы представляют собой единую базу дан­ных, в которой можно создавать новые таблицы, а также за­просы и отчеты, содержащие данные из связанных таблиц.

Базы данных, состоящие из связанных двумерных таблиц, принято называть реляционными.

Прежде чем приступить к созданию реляционной базы данных, необходимо продумать ее проект. Проект представ­ляет собой модель будущей БД, состоящей из объектов и их связей, необходимых для выполнения поставленных задач.

Процесс проектирования включает, прежде всего, опреде­ление перечня необходимых таблиц и задание их структуры, а также установление типа связей между этими таблицами.

Вопросы для размышления

1. Почему в некоторых случаях целесообразно использовать много­табличные, а не однотабличные базы данных?

2. Какие типы связей между таблицами возможны в реляционных базах данных?

Практические задания

11.9. Разработать проект реляционной базы данных «Коллекция аудиозаписей», которая бы содержала главную таблицу «Спи­сок аудио-CD» и подчиненную таблицу «Содержание аудио-CD».

Наши рекомендации