Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB-для курсового проектирования4.doc
Скачиваний:
16
Добавлен:
23.08.2019
Размер:
2.36 Mб
Скачать

3.2. Практическая часть

3.2.1. Создание файла базы данных и таблиц.

Прежде чем создавать таблицы БД, а также другие объекты, необходимо создать файл новой пустой базы данных в MS Access (Файл/Создать) либо выбрать один из предлагаемых шаблонов многих типовых приложений (рис.16).

Рис.16

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

Если создается новая база данных без использования шаблонов приложения, то в открывшемся диалоговом окне необходимо ввести имя файла. Нажатие кнопки OK приводит к созданию базы данных. MS Access автоматически добавляет расширение MDB к введенному имени файла. Когда база данных откроется, то на экране появится окно базы данных, из которого можно получить доступ ко всем объектам базы данных. Затем можно приступать к первому этапу - созданию необходимых таблиц, определив их структуру и типы полей. Это можно сделать несколькими способами:

  1. С помощью конструктора таблиц (в этом случае вы формируете список полей таблицы вручную);

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

  3. Путем ввода данных, на основании которых MS Access автоматически определит типы полей, добавит ключевое поле, вам останется лишь изменить имена полей, т.к. автоматически они будут иметь следующие: поле1, поле2, и т.д.

  4. Путем импорта таблицы из другого файла БД MS Access. Соответствующий элемент меню (Импорт) появляется по правой кнопке в области списка таблиц БД.

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

Таблица - это объект БД, который хранит данные определенной структуры. Таблица состоит из записей (строк), каждая из которых описывает одну сущность. Каждый столбец таблицы - это поле. Столбец содержит однотипную информацию.

Длина имени таблицы - не более 64 символов.

Длина имени поля - не более 64 символов.

Количество полей в одной таблице - не более 255.

Количество записей - неограниченно.

Суммарный объем информации во всей БД - не более 1 Гб.

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

Таблица может содержать следующие типы полей:

Текстовый. Поле данного типа содержит короткий текст. Текст и числа, например, имена и адреса, номера телефонов и почтовые индексы. Текстовое поле может содержать до 255 символов.

Поле Memo. Длинный текст и числа, например, комментарии и пояснения. Memo-поле может содержать до 64000 символов.

Числовой. Общий тип для числовых данных, допускающих проведение математических расчетов, за исключением расчетов для денежных значений. Свойство Размер поля позволяет указать различные типы числовых данных. Длина - 8 байт. Точность – 15 знаков.

Дата/время. Значения даты и времени. Пользователь имеет возможность выбрать один из многочисленных стандартных форматов или создать специальный формат. Длина - 8 байт.

Денежный. Денежные значения. Числа представляются с двумя знаками после запятой. Не рекомендуется использовать для проведения денежных расчетов значения, принадлежащие к числовому типу данных, так как последние могут округляться при расчетах. Значения типа "Денежный" всегда выводятся с указанным числом десятичных знаков после запятой. Длина - 8 байт.

Счетчик. Значения полей данного типа автоматически нумеруются. Счетчик увеличивается на единицу для каждой следующей записи. Нумерация начинается с 1. Поле счетчика удобно для создания ключа. В таблице может быть только одно такое поле. Длина - 4 байта.

Л огический. Значения "Да"/"Нет", "Истина"/"Ложь", "Вкл"/"Выкл", т.е. одно из двух возможных значений. Длина - 1 байт.

Поле объекта OLE Объекты, созданные в других программах, поддерживающих протокол OLE, например графика, рисунки, документы MS Word и т.п. Объекты связываются или внедряются в базу данных Microsoft Access через элемент управления в форме или отчете.

На первый взгляд в рассматриваемом примере должны быть две таблицы: контрактов и летательных аппаратов. Но в этом случае часть информации пришлось бы многократно повторять (например, данные об организациях, заключивших контракт), кроме того, существенно затрудняется редактирование данных (например, изменение наименования фирмы). Это издержки работы с таблицами, связанных отношением многие-ко-многим. Поэтому представим наши данные в виде следующих таблиц: Customer – продавцы, Firma – покупатели, LA – данные о летательных аппаратах, а также две таблицы с информацией о конт

Рис.17. Таблицы БД

рактах – N_Kontract и Kontract (рис.17, 19, 21).

Поле Vid_LA может принимать значения транспортный; военно-транспортный или военный. В связи с этим значение данного поля можно рассматривать как заранее определенный список и при определении этого поля во вкладке Подстановка/Тип элемента управления, Тип источника строк и Источник строк (рис.18) занесите следующее:

Рис. 18. Диалог задание значений поля Vid_LA в режиме конструктора

Т

Рис. 19

аблица N_Kontract содержит перечень заключенных контрактов и естественным является тот факт, что покупатель и продавец (фирма-изготовитель) должны значиться соответственно в таблицах Customer и Firma, поэтому для полей N_Cust и N_pr источниками должны быть соответствующие таблицы. В этих случаях вкладка Подстановка будет выглядеть следующим образом (рис.20):

З

Рис. 20

Рис. 21

аметим, что SQL-предложение в строке Источник строк сформировано MS Access в результате диалоговых ответов пользователя, при выборе для поля N_Cust в качестве типа Мастер подстановок

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

Заполните таблицы информацией. При заполнении поля Pict_LA файла LA укажите полный путь к графическому файлу с фотографией данного типа летательного аппарата. Заполнение поля Note производится путем копирования в блокноте фрагмента описания самолета и вставки этого фрагмента в соответствующее поле записи файла LA.

Индексирование полей таблицы. Индексирование позволяет ускорить сортировку и поиск данных в таблице. Можно индексировать числовые, денежные, текстовые, логические поля, а также поля типа Счетчик и Дата. Не следует создавать слишком много индексов для одной таблицы, т.к. это замедлит ввод и редактирование ее данных.

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

Связи между таблицами. Таблицы могут быть связаны отношениями один-к-одному, один-ко-многим и многие-ко-многим. Access позволяет использовать только отношения первых двух типов.

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

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

Наиболее часто используются отношения один-ко-многим. В этом случае одной записи в главной таблице соответствует несколько записей в подчиненной таблице.

Для создания отношений необходимо выбрать элемент меню Сервис/Схема данных, добавить все созданные ранее таблицы, с помощью мыши перетащить ключевые поля главной таблицы в подчиненную. В диалоговом окне «Изменение связей» указать связываемые поля в двух таблицах, которые содержат одни и те же данные. Обычно такое поле в одной из таблиц (главной) является ключевым. Имена связывающих полей могут отличаться, но типы и свойства должны совпадать. Возможна связь между полем типа Счетчик и полем типа Число с форматом Длинное целое.

Для рассматриваемого примера схема данных может быть, например, следующей (рис.22):

Рис. 22

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

  • в подчиненную таблицу не может быть добавлена запись со значением ключа связи, не существующего в главной таблице;

  • в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненных таблицах;

  • изменение значений ключа связи в записи подчиненной таблицы невозможно, если в главной таблице есть записи, связанные с ней.

Рис. 23

После окончания работы в диалоговом окне MS Access определяет соответствующий данным в таблицах тип отношения: один-к-одному или один-ко-многим. Если на схеме данных нет типа отношений (значков 1 и ∞), а присутствуют только линии связи, это означает, что для этой связи не определены правила целостности данных. Для корректного определения связей рекомендуется определять тип данных до заполнения таблиц.

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