Когда дело доходит до создания приложений, работающих с базами данных, Microsoft Access является не самым сложным из них. Версия, которая будет описана в этом разделе, входит в состав пакета Microsoft Office XP Professional.
Также хочется заметить, что фирм, которые в пакете услуг хостинга предлагают поддержку баз данных Microsoft Access, — великое множество. (Может быть, в Америке, но не в СНГ. 99% фирм предлагают поддержку только MySQL ввиду их бесплатности. — Прим, перев.) Именно этот факт послужил основой нашего выбора именно этого пакета для демонстрации примера.
Для того чтобы создать базу данных в Access, выполните следующие действия.
1. Запустите Microsoft Access. Откроется окно создания базы данных (рис. 6.1).
2. Выберите в меню пункт, соответствующий созданию новой базы данных. Вам будет предложено ввести имя нового документа и место его размещения на диске. Сохраните базу данных не в области Web-сервера. Если это невозможно, поместите базу в папку, защищенную паролем. Любой из этих способов обеспечит безопасность данных. Если у вас возникнут проблемы, обратитесь за помощью к администратору Web-сервера. После того как задано имя файла и место его размещения, щелкните на кнопке
Рис. 6.1. Чтобы создать новую базу данных, установите переключатель в положение Новая база данных
Рис. 6.2. В меню Объекты выберите пункт Таблица, щелкните на кнопке Создать и в диалоговом окне Новая таблица выберите режим конструктора
4. В указанные поля введите следующую информацию: Имя поля — ProductTypeID; Тип данных — Счетчик.
5. Щелкните на первой ячейке второй строки и введите следующую информацию: Имя поля —
ProductType; Тип данных — Текст.
6. Щелкните правой кнопкой на ячейке ProductTypeID и выберите в контекстном меню пункт Первичный ключ. Окно таблицы станет похожим на рис. 6.3. Закройте таблицу и сохраните ее под именем
ProductType.
Рис. 6.3. Поля таблицы сформированы и установлен первичный ключ
Совет Первичным ключом в Microsoft Access называется уникальный идентификатор записей таблицы, который ускоряет поиск нужных строк. Устанавливая поле в качестве первичного ключа, Access сообщается, что все его значения уникальны.
7. В следующую таблицу мы будем заносить информацию о продуктах, которые предлагает компания JCT. Создайте новую таблицу так, как было описано выше. Когда таблица откроется, введите в поля ее описания информацию, приведенную в табл. 6.1.
Таблица 6.1. Состав полей таблицы Products
Field Name |
Data Type |
ProductID |
Счетчик |
ProductTypelD |
Число |
Product |
Текст |
Description |
Текст |
Price |
Денежный |
Замечание Установите размер поля Описание так, чтобы оно вмещало по крайней мере 100 символов. ,
8. После ввода описания всех полей с помощью контекстного меню установите первичным ключом поле ProductID. Закройте таблицу и присвойте ей имя Product (рис. 6.4). Теперь нужно установить связь между таблицами ProductID и Product. Таким способом мы сможем ассоциировать информацию одной таблицы с информацией, содержащейся в другой. Также нам потребуется установить ряд правил, позволяющих избежать ввода случайных данных. Все это позволит эффективно управлять данными. Преимуществом такого подхода является то, что он практически исключает дублирование информации.
Рис. 6.4. Описание таблицы Product. Обратите внимание, что размеры текстовой области описания продукта соответствуют 100 символам
9. Выберите в меню пункт Сервис=>Схема данных. Откроется диалоговое окно
Добавление таблицы. Выделите обе таблицы и щелкните на кнопке Добавить (рис. 6.5). В окне Схема данных отобразятся выделенные таблицы.
10. Чтобы установить связь между нашими таблицами, в окне Схема данных выделите поле Product Type ID в таблице
Product и перетащите его на одноименное поле в таблице ProductType. Когда курсор переместится на корректное поле, он примет вид прямоугольника.
11. Отпустите кнопку мыши. Откроется окно Изменение связей (рис. 6.6). Установите в нем флажки
Обеспечить целостность данных и Каскадное удаление связанных записей.
Рис. 6.5. В диалоговом окне Добавление таблицы устанавливаются связи между таблицами. В нем нужно выбрать таблицы, данные которых будут связываться
Рис. 6.6. В окне Изменение связей определяется тип связи между полями
12. Обратите внимание, что связь между полями имеет тип "один ко многим". Это значит, что несколько продуктов могут иметь один тип. В нашем случае мы знаем, что в категории рубашек единственного продукта быть не может. Щелкните на кнопке Создать, и между соответствующими полями двух таблиц отобразится линия. Закройте окно связей.
Совет Рекомендуется распечатывать твердую копию окна Relationship. Это даст вам в руки ^удобную диаграмму, которая пригодится при создании динамического узла.
Замечание Параметр Обеспечить целостность данных имеет многозначительное название, однако он значит только то, что в главной таблице нельзя создать записи, не имеющие ссылки на ассоциированную таблицу. При типе связи "один ко многим" (one-to-many) поле в первой таблице должно быть ее первичным ключом, а во второй — не должно.
Итак, вы создали модель данных, которая описывает типы продукции (рубашки, обувь и т.п.), и связали с этими типами отдельные товары. Мы также немного заглянули в будущее и предусмотрели возможность создания новых типов продукции и связанных с ними товаров. В дополнение мы определили правило, запрещающее ввод товара, для которого не определен его тип. Это поможет сохранить качество организации данных. База данных была сконструирована так, что при удалении типа продукции вместе с ним удаляются и ассоциированные с ним товары. Это было выполнено с помощью установки флажка Каскадное удаление записей в окне Изменение связей. Теперь пришло время заняться заполнением созданной базы данных.
Заполнение базы данных
Сконструировав структуру базы данных и установив взаимосвязи между таблицами, можно приступать к заполнению базы данных. В данном примере мы создадим таблицу обуви, которая будет доступна для узла JCT.
1. Дважды щелкните на таблице ProductType в окне базы данных. Откроется таблица категорий продукции. Так как поле
ProductTypelD заполняется автоматически, щелкните на поле ProductType и введите
Shirts.
2. Перейдите в поле, расположенное под ним, и введите Hats. Поле ProductTypeID заполнится числами. Повторите те же действия для категорий Shoes и Pants.
3. Откройте таблицу Products и введите в соответствующих полях значения, приведенные в табл. 6.2. Ключевое поле ProductTypelD должно соответствовать номеру нужной категории на рис. 6.7. В данном случае мы вводим продукцию категории Shoes с номером 3.
4. Закройте базу данных и выйдите из Access. База данных теперь готова к размещению в Internet.
Рис. 6.7. Продукты вводятся в таблицу Product. Значение ключевого поля должно совпадать с полем Product-Type ID в строке Shoes
Обратите внимание, что запроса на сохранение данных при выходе из Access не было. Это приложение, равно как и большинство других СУБД, сохраняет информацию по мере ее ввода. Подтверждение сохранения это приложение потребует от вас только в случае изменения размеров полей, применяемых фильтров или порядка сортировки. В этом случае вам будет предложено подтвердить сохранение компоновки (layout).
Таблица 6.2. Значения полей таблицы Products
ProductTypelD |
Product |
Description |
Price |
3 |
Raven |
Running shoes with racing stripe |
49,95 |
3 |
Hawk |
Basketball shoes |
59,95 |
3 |
Falcon |
Track shoes |
59,95 |
3 |
Eagle |
Tennis shoes |
79,95 |