48457 (597397), страница 2
Текст из файла (страница 2)
Каждая запись имеет ключ. Ключ – это поле или группа полей в таблице, которые индексируются для быстрого извлечения данных. Ключ может быть однозначным (unique) или неоднозначным в зависимости от того, разрешается ли в нем наличие повторений. Однозначный ключ может быть назначен первичным ключом (primary key), являющимся неповторяемым идентификатором для каждой строки таблицы. Если ключевое поле не установлено, то Microsoft Access автоматически устанавливает в качестве ключевого поле Счетчик. В приведенных таблицах идентификационные номера записей (выделены жирным шрифтом) являются первичными ключами таблиц, потому что однозначно определяют одну и только одну запись.
В таблице 5 внешние ключи выделены жирным курсивом.
Таблица 5
Покупатели | Заказы | Товары | ||
ИДКл | КодЗаказа | КодТовара | ||
Покупатель | ИДКл | Товар | ||
Фамилия | Дата | Поставщик | ||
Адрес | НДС | Ед.изм. | ||
Город | КодТовара | Цена | ||
Кол-во | В наличии |
Тип отношений, приведенный в таблице Заказы, называется отношением один ко многим, так как одни клиент может сделать несколько заказов, но конкретный заказ может быть размещен только одним заказчиком, и один товар может быть заказан несколькими клиентами.
Между таблицами Покупатели и Товары установлено отношение многие ко многим. Один клиент может заказать несколько товаров, а один товар может быть заказан несколькими клиентами. Отношение «многие ко многим» реализовано путем создания двух отношений «один ко многим», с общей таблицей «многие» (таблица Заказы), которая содержит внешние ключи других таблиц: таблица Заказы связана как с таблицей Товары (через поле КодТовара), так и с таблицей Покупатели (через поле ИДКл).
Так как таблицы нормализованы, можно изменять данные о заказах, исправив всего одну запись в таблицах Покупатели или Товары. Кроме того, используя нормализованные таблицы, можно составить новые, виртуальные таблицы, содержащие требуемую информацию, сделать удобным ввод данных в БД.
2. Создание базы данных
Для проектирования собственной базы данных загрузите приложение Microsoft Access, для этого нажмите кнопку на панели Microsoft Office.
После загрузки приложения появится диалоговое окно, в котором пометьте переключатель Новая база данных и нажмите кнопку ОК.
После этого появится диалоговое окно с предложением ввести имя базы данных. Введите имя базы данных и нажмите кнопку Создать. На экране появится окно База данных с именем базы (рис. 1).
Задание 1
-
Последовательно создайте таблицы Покупатели и Товары, структура которых определена в таблицах 2, 3 (или 5).
Для этого нажмите кнопку Таблицы в разделе Объекты и кнопку Создать на панели инструментов окна базы данных. Это приведет к появлению диалогового окна Новая таблица (рис. 2). Выберите Мастер таблиц и нажмите кнопку ОК.
В диалоговом окне Создание таблиц (рис. 3) в списке Образцы таблиц можно выбрать стандартные образцы таблиц, а из списка Образцы полей – нужные Вам поля.
Рисунок 1. Окно приложения Microsoft Access
Для добавления нужного поля в таблицу поместите на него маркер и нажмите кнопку со стрелкой . Если имя поля, предложенное Мастером таблиц, по какой-либо причине не устраивает, поместите маркер на соответствующее поле в списке Поля новой таблицы, нажмите кнопку Переименовать поле… и введите нужное имя. После того, как поля новой таблицы заданы, нажмите кнопку Далее и в появившемся диалоговом окне Создание таблицы введите имя таблицы – Покупатели и вновь нажмите кнопку Далее.
Рисунок 3. Диалоговое окно Создание таблиц
-
Создайте таблицу Заказы, структура которой определена в таблице 4 (или 5). При создании таблицы Заказы в диалоговом окне Создание таблицы нажмите кнопку Связи и выберите связи создаваемой таблицы Заказы с таблицами Покупатели и Товары базы данных. Например, один и тот же покупатель может оформить несколько заказов, т.е. одной записи таблицы Покупатели будет соответствовать много записей таблицы Заказы. Поэтому в диалоговом окне Связи нужно пометить соответствующий переключатель (рис. 4).
После пометки нужного переключателя нажмите кнопку ОК, а затем – Далее.
Рисунок 5.
В диалоговом окне Создание таблиц (рис. 5) выберите переключатель Изменение структуры таблицы, если Вы хотите изменить структуру вновь созданной таблицы, и нажмите кнопку Готово. После этого будет выведено окно редактора структуры таблицы. Установите нужные свойства полей таблицы: размер поля, формат, значение по умолчанию, число десятичных знаков. Например, для таблицы Заказы окно будет иметь вид, показанный на рис 6.
После редактирования структуры таблицы закройте окно кнопкой .
Окно редактора структуры таблицы можно вызвать также из окна базы данных. Для этого выберите маркером нужную таблицу и нажмите кнопку Конструктор панели инструментов окна.
Созданные таблицы можно просмотреть. Для этого в окне базы данных выберите нужную таблицу и нажмите кнопку Открыть.
-
Проверьте правильность создания структуры базы данных.
Для проверки правильность организации таблиц базы данных нажмите кнопку Схема данных панели инструментов окна Microsoft Access. В результате на экране появится окно Схема данных (рис. 7), в котором будут показаны структуры таблиц БД и связи между ними. Для того, чтобы БД правильно выполняла свои функции, должна быть обеспечена целостность данных.
Рисунок 7. Окно Схема данных
Целостность данных означает систему правил, используемых в Microsoft Access для поддержания связей между записями в связанных таблицах, а также обеспечивающих защиту от случайного удаления или изменения связанных данных. Установить целостность данных можно, если выполнены следующие условия:
-
связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;
-
связанные поля имеют один тип данных;
-
обе таблицы принадлежат одной базе данных Microsoft Access.
Для установления целостности данных созданной БД дважды щелкните мышкой на конкретной связи. После этого на экране появится диалоговое окно Изменение связей (рис. 8) установите в нем флажок Обеспечение целостности данных.
Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажки Каскадное обновление связанных полей и Каскадное удаление связанных полей. Если установлен флажок Каскадное обновление связанных полей, то при изменении ключевого поля главной таблицы автоматически изменяются и соответствующие значения полей в связанных записях. Если установлен флажок Каскадное удаление связанных полей, то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.
Для обеих связей нашей БД установите флажок Обеспечение целостности данных. После выполнения этой операции схема данных примет вид, показанный на рис. 9.
Задание 2
Создайте формы для ввода данных в таблицы Покупатели, Товары и Заказы.
3. Ввод данных в таблицы
Заполнить таблицу данными можно в режиме открытой таблицы. Это не всегда удобно. Лучше пользоваться для этой цели специально созданными формами. Чтобы создать формы для заполнения таблиц (Покупатели и Товары), воспользуйтесь Мастером форм. В окне База данных нажмите в списке кнопку Формы, а затем кнопку Создать. В окне Новая форма (рис. 10) выберите Мастер форм и имя таблицы, для которой создается форма, и нажмите кнопку ОК. В появившемся окне Создание форм выберите все поля таблицы (кнопка ).
После этого нажмите кнопку Далее. В последовательности появляющихся окон Создание форм (рис. 11) выберите понравившееся вам оформление формы. С помощью созданных форм заполните таблицы Покупатели и Товары БД.
В таблице Заказы будет много записей, в которых повторяются коды клиента и товара. Чтобы облегчить работу по вводу данных в таблицу, усовершенствуйте форму Заказы. С этой целью замените поля ввода кодов покупателя и товара полями со списком.
Порядок замены поля ввода полем со списком:
-
Откройте форму Заказы в режиме конструктора (рис. 12).
-
Щелчком мыши выберите нужное поле ввода данных, а затем из меню Формат выберите последовательно Преобразовать элемент Поле со списком.
-
Нажмите кнопку Свойства панели инструментов и в появившемся окне свойств Поле со списком (рис. 13) установите свойства поля.
|
-
Закройте окно свойств.
Проделайте то же самое для поля ввода Код товара. После настройки свойств полей формы закройте окно конструктора форм.
После открытия формы она примет вид, показанный на рис. 14.
Задание 3
Используя созданные формы, заполните последовательно таблицы Покупатели, Товары и Заказы данными.
Задание 4