Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Praktikum_2008

.pdf
Скачиваний:
270
Добавлен:
06.06.2015
Размер:
8.23 Mб
Скачать

родействие при запросах и требует минимального расхода электронной памяти.

Нормализация состоит из ряда этапов, в результате которых создаются информационные модели разного уровня.

Такие модели называются нормальными формами.

Первый этап нормализации заключается в образовании таблицы, содержащей все необходимые поля информационной модели и ключевых полей. При этом необходимо исключить повторяющиеся столбцы и столбцы-массивы (содержащие значения типа списка). Фрагмент таблицы 4.1 представляет ИМ в первой нормальной форме. Однозначно определять записи будут поля «Название культуры» (далее – «Культуры») и «Группа» (т.е. мы имеем составной ключ). Все остальные поля будут функционально зависеть от этих двух.

Второй этап нормализации заключается в выделении полной и частичной зависимости неключевых полей от первичного ключа.

В нашем случае мы имеем частичную зависимость от составного первичного ключа полей: «Сроки созревания», «Почвы», «Количество культур», «Урожай» и «Урожайность». Значения этих полей зависят от поля «Культуры» и не зависят непосредственно от поля «Группы». А поле «Ед. измерения» зависит от поля «Группы».

Для решения проблем зависимости полей выделим из исходной таблицы поля связанные с группировкой культур, и объединим их в отдельную таблицу (информационный объект), которую назовем «Группы».

Определим поля «Название группы» и «Ед. измерения». Добавим поле «Обозначение», которое будем использовать в некоторых запросах и отчетах при выводе информации (на печать или экран).

Для связывания таблиц добавим в таблицу специальное числовое поле «Код_Гр», что позволит (без ущерба удобству эксплуатации) значительно быстрее выполнять запросы, экономить память (особенно во второй таблице) и упростит ввод данных.

Структура таблицы «Группы» и некоторые данные приводятся в таблице 4.2. Ключевым столбцом в этой таблице будет «Код_Гр».

171

 

 

Фрагмент исходной таблицы «Культуры участка»

 

Таблица 4.1

 

 

 

 

 

Группа

Ед.

Название культуры

Срок

Срок

Почвы

Почвы

К–во

Урожай

Урожайность

 

 

изм.

 

созр.

созр.

от

до

в тек.

в тек

Кг/ед.изм

 

 

 

 

От

До

 

 

году

году

 

 

 

 

 

 

 

 

 

 

(КГ)

 

 

1

2

3

4

5

6

7

8

9

10

 

Деревья

Дер.

Яблоня зимняя

09.25

10.10

5,5

6,0

1,0

20,0

20

 

Деревья

Дер.

Яблоня Летняя

08.01

08.25

5,5

6,0

2,0

30,0

15

 

Кусты

Куст

Смородина крас-

07.15

07.25

5,6

6,0

2,0

5,0

2.5

 

ная

 

Кусты

Куст

Смородина черная

07.20

07.25

5,6

6,0

4,0

8,0

2

 

Овощные

Кв.м.

Картофель

08.10

09.15

6,0

6,5

100,0

250,0

2.5

 

однолет

 

 

 

 

 

 

 

 

 

 

Овощные

Кв.м.

Томаты ранние

08.15

08.25

6,3

6,8

40,0

30,0

0.75

 

однолет

 

172

Замечание.

Названия столбцов в постановке задачи (в информационных моделях) могут отличаться от имен полей в таблицах базы данных.

Для хранения характеристик культур создадим таблицу «Культуры». В нее включим все поля, зависимые только от «культуры» и добавим необходимое поле для связывания таблиц в единую информационную модель.

Для связи таблиц будем использовать числовое поле «Код_Гр.» Это поле будет использоваться и для группировки культур при выполнении запросов и в отчетах БД.

Таблица 4.2. Содержание таблицы «Группы»

Код гр.

Название

Обозначение

Ед. изме-

 

 

 

рения

1

Деревья

ДЕР.

дер.

3

Ягодные

ЯГОДН.

кв.м.

2

Кусты

КУСТ.

куст.

6

Цветочные

ЦВЕТЫ

кв.м.

4

Овощные двухлетние

ОВОЩ_Д

кв.м.

5

Овощные однолетн.

ОВОЩ_О

кв.м.

Так как для оценки количественных и качественных показателей возделывания культур необходимо иметь единицы измерения оставим это поле в таблице «Культуры». Это позволит решать некоторые задачи, не обращаясь к таблице «Группы».

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

173

Первичным ключом в этой таблице будет составной ключ, состоящий из значений полей «Код_Гр.» и «Код_культ».

В результате преобразований получим две взаимосвязанные таблицы во второй нормальной форме (структура здесь не приводится), где все неключевые поля зависят только от ключевых.

На третьем этапе нормализации мы должны исключить зависимые (неключевые) поля. В нашем случае, значения поля «Урожайность» вычисляются на основе значений полей «Кол-во в тек. году» и «Урожай в тек. году». Этого требует не только теория нормализации, но и особенности СУБД Access, которая не поддерживает вычисляемые поля в таблицах БД.

При необходимости мы можем включить это поле в отчеты, запросы, экранные формы и другие объекты БД.

После исключения зависимых полей мы получим информа-

ционную модель в третьей нормальной форме.

Окончательный вид таблицы «Культуры» представлен в таблице 4.3.

Первая графа («№ записи») никакого отношения к нашей базе данных (и таблице) не имеет. Пояснения к другим полям таблицы мы приведем позже.

174

Таблица 4.3

Пример содержимого таблицы «Культуры»

Код

Код культ.

Название

Созр.

Созр.

Почвы

Почвы

Ед.

К–во

Урожай в

записи

гр.

 

 

От

До

от

до

изм.

в Тек.

тек. году

 

 

 

 

 

 

7

 

 

Году

(КГ)

1

2

3

4

5

6

8

9

10

11

1

1

ЯБЛ.–ЗИМН

Яблоня зимняя

09.25

10.10

5,5

6,0

Дер.

1,0

20,0

2

1

ЯБЛ.–ЛЕТН

Яблоня Летняя

08.01

08.25

5,5

6,0

Дер.

2,0

30,0

3

1

ЯБЛ.–ОСЕН

Яблоня осенняя

09.10

09.20

5,5

6,0

Дер.

2,0

15,0

4

1

ГРУ.–ОСЕН

Груша осенняя

09.20

09.15

5,4

6,2

Дер.

2,0

10,0

5

1

ВИШН.–ОБЩ

Вишня

07.10

07.20

6,2

7,0

Дер.

3,0

15,0

6

2

СМОР.–КРАС

Смородина крас-

07.15

07.25

5,6

6,0

Куст

2,0

5,0

 

 

 

ная

 

 

 

 

 

 

 

7

2

СМОР.–ЧЕРН

Смородина чер-

07.20

07.25

5,6

6,0

Куст

4,0

8,0

 

 

 

ная

 

 

6,0

 

 

 

 

8

5

КАРТ.–ОБЩ.

Картофель

08.10

09.15

6,5

Кв.м.

100,0

250,0

9

5

ТОМ.–РАН.

Томаты ранние

08.15

08.25

6,3

6,8

Кв.м.

40,0

30,0

10

5

ТОМ.–ПОЗД

Томаты

08.25

09.20

6,2

6,9

Кв.м.

30,0

50,0

 

 

 

позднеспелые

 

 

6,0

 

 

 

 

11

4

МОРК.–ОБЩ

Морковь

07.10

09.20

7,0

Кв.м.

5,0

50,0

12

4

КАП.–Б.Р.

Капуста белоко-

07.20

08.10

6,5

7,2

Кв.м.

20,0

50,0

 

 

 

чанная ранняя

 

 

6,6

 

 

 

 

13

4

КАП.–Б.П.

Капуста белоко-

08.20

09.20

7,7

Кв.м.

20,0

80,0

 

 

 

чанная, поздняя

 

 

6,7

 

 

 

 

14

4

КАП.–ЦВЕТ

Капуста цветная

08.10

08.30

7,3

Кв.м.

5,0

30,0

175

§3. Создание базы данных

Общая схема создания БД в СУБД MS Access

При создании элементов БД мы воспользуемся разными способами (мастерами, конструкторами, образцами и смешанными).

Замечание.

Ранее мы использовали термин «объект» для сокращения названия «информационный объект». Далее мы будем использовать аналогичный термин и для специальных объектов СУБД. Объектами в СУБД называется все то, что может иметь имя: таблицы, запросы, отчеты, формы, макросы, модули.

Можно предложить следующую схему создания БД и ее элементов в среде СУБД MS Access.

1.Создание таблиц. Опытный разработчик может сразу начинать создание таблиц в режиме конструктора. Начинающему мы рекомендуем сначала создать одну таблицу (например, «Группы») по образцу тех данных, которые будут храниться в таблице,

азатем откорректировать свойства полей в режиме конструктора.

2.После создания всех таблиц БД можно установить структурные связи (создать схему данных). Лучше это делать, когда таблицы пусты или содержат хорошо выверенные данные.

3.Затем следует заполнить таблицы данными из контрольного примера и проверить работу связей и свойств (масок, условий на значения, установки по умолчанию, синхронизацию работы связанных таблиц при удалении данных и т. д.). Далее, если необходимо, следует исправить ошибки и откорректировать структуру таблиц и связей.

4.Следующий этап - создание экранных форм для ввода и редактирования записей таблиц БД. На начальном этапе лучше воспользоваться мастером форм. После создания основы — форма корректируется в режиме конструктора и наполняется функциональными элементами.

5.Самый трудный этап — создание запросов. Здесь необходимо иметь формализованные требования на выборку данных из БД и хорошее знание о построении логических выражений.

176

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

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

Создание основного файла БД

Для обеспечения надежной сохранности результатов выполнения упражнений организуйте на своей дискете (в системе Windows) папку (например, «БД_Культуры») и постарайтесь придерживаться следующей схемы.

Вначале сеанса переписывайте все созданные файлы БД со своего диска из созданной папки на жесткий диск (например, в папку «Мои документы»).

Работайте (открывайте БД и т.д.) на жестком диске.

Вконце сеанса перепишите файл БД на свою дискету в нужную папку.

Создадим базу данных.

Любым способом запустите систему MS Access. Появится окно системы. В левой части находится колонка категорий шаблонов, где можно выбрать нужный шаблон для БД. Справа – перечень баз данных, с которыми работали пользователи в предыдущих сеансах.

Для открытия уже созданной базы данных надо нажать кн. «Другие».

Для создания новой базы данных – щелкните ЛКМ на значке «Новая база данных». В ДО «Новая база данных» укажите место хранения и имя файла базы данных. Имя файла должно быть уникальным. По умолчанию систе-

ма устанавливает тип .accdb.

Замечание.

Для работы с файлами можно воспользоваться круглой кнопкой «Office» в верхнем левом углу окна системы. В процессе ра-

177

боты используйте эту кнопку для регулярного сохранения файла после внесения изменений. Для открытия существующего файла используйте команду «Открыть».

Учтите, что в Access нет команды «Сохранить как…» для переименования или перезаписи базы данных на другой диск. Эта команда действует только на отдельные объекты БД (таблицы, формы, запросы и др.).

После установки имени файла нажмите кн. «Создать». Внутри главного окно СУБД появятся окна «Область перехо-

дов» с именем одной таблицы и рабочее окно таблицы (пустой). Окно системы состоит из стандартных (для Windows) элемен-

тов.

В верхней части расположен заголовок с набором стандартных кнопок.

Главное меню (ГМ) системы – «лента»— используется для выполнения всех команд и операций с помощью кнопочных панелей инструментов (ПИ), расположенных на вкладках, которые разделены на функциональные группы.

Внизу расположена строка состояния, которая содержит

общую справочную информацию, текущие подсказки и сообщения об ошибках. В нижнем правом углу находятся кнопки управления режимами просмотра объектов БД.

Центральная часть окна СУБД служит для отображения разных функциональных окон. Наиболее важными из них являются.

Окно «Области переходов» (ОПЕР).

Это аналог окна базы данных в предыдущих версиях. Оно расположено справа. Появляется сразу при создании или открытии БД. По мере создания объектов БД в этом окне

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

полнении соответствующих команд или при нажатии на соответствующую кнопку в окне базы данных.

Окно таблицы. В этом окне отображается содержимое указанной таблицы БД доступное для ввода и редактирования данных, или структура таблицы (в режиме конструктора).

178

Окно запросов служит для построения запросов на выборку информации из БД по определенному критерию.

Окно формы используется для обработки записей БД в удобной форме типа «формуляр».

Окно отчета. Если оно открывается в режиме предварительного просмотра, то показывает (в разных масштабах) вид сформированного документа для печати. Изменить форму, программу формирования и структуру отчета мож-

но в режиме конструктора.

Другие окна открываются по мере выполнения определенных команд или операций с данными.

Создание таблицы «Группы».

При создании новой БД, если параметры рабочей среды установлены по умолчанию открывается окно пустой таблицы в ре-

жиме «Таблицы» (см. рис. 4.1)

Рис. 4.1. Начальное состояние окна таблицы

Из методических соображений мы будем создавать таблицу «Группы» «по образцу», т.е. введем в каждое поле данные из таблицы 4.2 и система сама установит тип поля (столбца) и некоторые его характеристики.

Сейчас таблица имеет условное имя «Таблица1». Позже мы дадим ей конкретное имя - «Группы».

По умолчанию система сформировала таблицу с одним полем «Код», присвоив ему статус первичного ключа. Справа от него

179

находится вкладка «Добавить поле». Значения в поле «Код» будут формироваться автоматически.

Введите в столбец «Добавить поле» значение = 1 (код группы «Деревья») и нажмите Enter. Появится новое поле «Поле1» со значением = 1. По этому значению система определит тип поля – «числовой». Значение поля «Код» будет установлено = 1.

Используя контрольный пример из таблицы 4.2 – «Группы», введите две первые записи, строго соблюдая регистр (прописные/строчные буквы) и знаки препинания. В конце ввода значения нажимайте Enter или Tab. Для установки курсора в начало следующей записи используйте стрелки или курсор мыши.

После ввода первых записей фрагмент таблицы может выглядеть следующим образом.

Код

Поле1

Поле2

Поле3

Поле4

Добавить поле

 

 

 

 

 

 

1

1

Деревья

ДЕР.

дер.

 

 

 

 

 

 

 

2

3

Ягодные

ЯГОДН.

кв.м.

 

 

 

 

 

 

 

Внимание !

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

После ввода начальных образцов записей необходимо переименовать столбцы в соответствии с макетом из графы «Имя поля» таблицы 4.4.

Для изменения имени поля щелкните на его заголовке ПКМ и выберите команду «Переименовать столбец». После этого введите новое название из таблицы 4.4. Например, вместо «Поле1» введите «Код_Гр».

Любым способом переименуйте остальные поля.

Для того, чтобы поля имели размеры, соответствующие размерам своих значений, проводите курсором мыши по строке заголовков полей и, как только курсор примет форму крестика с двунаправленными стрелками, щелкните

2ЛКМ. Размер столбца изменится.

Сохраните макет таблицы с данными. Для этого введите команду «Сохранить» и в отрывшемся окне «Сохранение» введите

180

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]