СУБД MS Access 2003 (960526), страница 13
Текст из файла (страница 13)
Чем больше в таблице записей,тем интереснее будет проходить процесс поиска и обработки данных.При следующем открытии таблицы можно убедиться в том,что Access сортирует записи по полю первичного ключа,т. е. по коду модели. Запись с наименьшим кодом модели будетстоять первой (Corolla Kombi; Код модели 12410), несмотря нато что была введена последней.4.4. Редактирование и печать записейПользователь может добавить в таблицу любое количество записей, удалить или исправить имеющиеся данные. Удаляемыеданные следует предварительно маркировать с помощью селекторной колонки и нажать клавишу [Del] или выбрать из менюПравка команду Удалить или Удалить запись.
Access во избежание случайных ошибок выдаст запрос о том, действительно лидолжна быть удалена маркированная запись, т. е. пользователь получит возможность вовремя отказаться от удаления.Тема 3. ТаблицыЕсли таблицу необходимо перенести на бумагу, из меню Файлследует выбрать команду Печать.
Можно отпечатать только некоторые записи. Их следует предварительно маркировать в режимезаполнения таблицы и затем активизировать команду Печать.В группе Печатать активизируйте кнопку Выделенные записи и щелкните мышью на кнопке ОК для запуска процесса печати(рис. 35).состояние; Готовтип;Panasonic KX-P6500место:LPT1:заметки:Г" печать в файлКопииПечатать<••всечисло копий;1 ;fjстраницы с:выделенные записиОтменаНастройка..,,Рис, 35.
Диалоговое окно печатиЗакрыть таблицу можно посредством команды Закрытьиз меню Файл или с помощью двойного щелчка на кнопке вызовауправляющего меню окна таблицы. Сохранение данных не 1ребуется, поскольку программа Access уже автоматически поместилавсе записи по мере их ввода в файл на жесткий диск.4.5. Работа с клиентамиИтак, первая Access-таблица уже содержится в БД, поэтомуприступим к проектированию второй таблицы, в которой будутсобраны имена и адреса клиентов и информация об их заказах.Поле Код модели должно стать связующим полем таблицы клиентов с таблицей предлагаемых моделей.
На основе кода модели для82Проектирование баз данных. СУБД MS Accessкаждого клиента можно выбрать из таблицы моделей информациюо заказанном автомобиле (цвет, мощность, обивка и т. д.).Создайте новую таблицу точно так же, как создавали первую,выполнив щелчок мышью в окне БД на закладке таблицы и нажавзатем кнопку Создать. После выбора в диалоговом окне созданиятаблицы команды Конструктор Access откроет пустое окно проектирования. Наличие других открытых окон таблиц или другихобъектов не рассматривается Access как преграда для открытияеще одного окна.
Какие операции следует выполнять при созданиитаблицы, вам уже известно. Надлежит определить типы данныхполей и свойства полей. При необходимости для каждого поляможно задать краткое описание, чтобы подробнее документировать разрабатываемый проект.Хотелось бы дать еще один совет. При проектировании структуры таблицы и выборе типов полей разбивайте информациюна наименьшие возможные (в разумных пределах) независимыеэлементы. Так, почтовый адрес рекомендуется разделить на несколько отдельных полей: поле почтового индекса, поле населенного пункта и т.
д. Тот же подход следует применить при проектировании полей, содержащих имена клиентов. Эту информацию удобно хранить в трех полях: поле фамилии, поле имении отчества.Такое структурирование информации вполне себя оправдывает. Во-первых, упрощается процедура поиска и сортировки по отдельным элементам информации - индексу, городу и т.
д. Вовторых, упрощается процедура оформления серийных писем,в особенности обращений к адресатам. В начале письма обычноприсутствует обращение к адресату, например: «Дорогой господинБендер!» Это обращение формируется по содержимому полей таблицы клиентов.
Если предусмотрены отдельные поля для фамилии, имени и отчества, то проблем не возникнет. В противном случае попытка использовать единственное поле, содержащее и имяи фамилию, для генерации обращения приведет к тому, что этообращение будет выглядеть так: «Дорогой господин Бендер ОстапИбрагимович!» Такое обращение не принято!Таблица клиентов должна содержать следующие поля(табл. 46).Тема 3. Таблицы83Таблица 46Имя поляТип данных поляКод моделиЧисловойНомер договораЧисловойОбращениеИмяТекстовыйОтчествоТекстовыйФамилияТекстовыйПочтовый адресТекстовыйТекстовыйПочтовый индексЧисловойНаселенный пуню-ТекстовыйТелефонТекстовыйДата заказаДата/ВремяСкидкаЧисловойПримечание.
Поле Телефон объявлено текстовым полем,а не числовым. Такое объявление объясняется тем, что в привычной форме записи номеров телефонов встречаются специальныесимволы, такие, как дефис и скобки, например (0211)-123-44-6б.В числовых же полях не разрешены никакие знаки, кроме цифр,точек и запятых.Объявленные поля имеют следующие свойства:1. ПолеКод моделиРазмер поляФорматДлинное целоеОсновнойЧисло десятичных знаковОДа (Допускаются совпадения)Индексированное полеПримечание. В таблице предлагаемых моделей каждому типуавтомобиля присваивался уникальный код модели, и записьс таким кодом встречалась в таблице один раз.
В таблице клиентоводин код модели может встречаться несколько раз, когданесколько клиентов заказывают одну и ту же модель. Поэтому длясвойства поля Индексированное поле следует выбрать значениеДа (Допускаются совпадения).Проектирование баз данных. СУБД MS Access2. ПолеРазмер поляФорматЧисло десятичных знаковИндексированное поле3. ПолеРазмер поляЗначение по умолчаниюУсловие на значениеСообщение об ошибкеИндексированное поле4. ПолеРазмер поляИндексированное поле5. ПолеРазмер поляИндексированное поле6. ПолеРазмер поляИндексированное поле7. ПолеРазмер поляИндексированное поле8. ПолеРазмер поляФорматЧисло десятичных знаковИндексированное полеНомер заказаДлинное целоеОсновнойОДа (Совпадения не допускаются)Обращение10Господину«Господину» or «Госпоже»Допустимые значения «Господину»или «Госпоже»!НетИмя•!НетОтчество40НетФамилия40НетПочтовый адрес40НетПочтовый индексДлинное целоеОсновнойОДа (Допускаются совпадения)Примечание.
Почтовые индексы в России кодируютсяшестизначным числом, поэтому приходится выбирать для соответствующего поля размер Длинное целое, так как размер Целоепозволяет хранить только четырехзначные числа.9. ПолеРазмер поляИндексированное полеНаселенный пункт40НетТема 3. Таблицы8510. ПолеРазмер поляИндексированное поле11. ПолеФорматИндексированное полеТелефон20НетДата заказаКраткий формат датыДа (Допускаются совпадения IПримечание. Существуют различные форматы даты, например: 02.05.93, 2.5.1993, 02.05.1993, 02-Май-93.Формат Краткий формат даты является наиболее общеупотребительным способом записи даты. Разумеется, вы можетепо своему усмотрению воспользоваться любым другим форматом.12. ПолеРазмер поляФорматЧисло десятичных знаковИндексированное полеСкидкаС плавающей точкой (8 байт)ПроцентныйОНетПроект таблицы должен выглядеть приблизительно так, какпоказано на рис.
36.3- Клиенты; таблица,-.Тип д а н ч ы < (ЧисловойЧисловойТекстовыйТекстовыйТекстовыйТекстмьйТекстовыйЧисловойТекстовьйТекстовьйДата/времяЧиспсвой\Иняпопя! >• Код «оделиiНапер iaitasa1 С€рзщенивjИия[п Отчество|_ Фамилия| Почтовый адрес•Почтовьй индекс| Населенный пункт__ Телефон1Дата заканаГ [ Скидка'"., 'Описание, „{УНйй1лСвойства тляОбщиеj Подстановка ]PasMep полчФормат поляЧисла десятичных ;Н;КОБМаска вводяПодписьЗначение по уиопчан№оУслжие на (начениеСообщение об ошибкеОбняв тельное полеИндексированное полеДттное целоеОсновной0Пня |>^пн «о^ет cw-тоятв иь 6* зчако»с учетич грибелое. finacnpas^i- ^hwsi-ам попей е^хчите 'AW.IUV F i -0НетДа (Допускаются совпадения)Рис.
36. Проект таблицы клиентов86Проектирование^ баз данных 1 СУБД MS AccessНа ней отображается первичный ключ, установленный для поля Номер договора. Это условие выполняется, поскольку для характеристики Индексированное поле установлено значение Да(Совпадения не допускаются). Благодаря первичному ключу будет исключен ввод повторяющихся номеров договоров. Для объявления поля Номер договора полем первичного ключа маркируйте соответствующую строку спецификации и выполните щелчокна пиктограмме ключа в строке пиктограмм или выберите из менюПравка команду Ключевое поле.Перейдите из режима проектирования в режим заполнения таблицы посредством щелчка на пиктограмме таблицы в строкепиктограмм или выберите опцию Таблица в меню Вид.Сохраните готовый проект таблицы, выбрав для него подходящее имя, например Клиенты.В спроектированную таблицу клиентов необходимо ввестиготовые данные.На ней отображается первичный ключ, установленный для поля Номер договора.
Это условие выполняется, поскольку для характеристики Индексированное поле установлено значение Да(Совпадения не допускаются). Благодаря первичному ключу будет исключен ввод повторяющихся номеров договоров. Для объявления поля Номер договора полем первичного ключа маркируйте соответствующую строку спецификации и выполните щелчокна пиктограмме ключа в строке пиктограмм или выберите из менюПравка команду Ключевое поле.Сохраните готовый проект таблицы, выбрав для него подходящее имя, например Клиенты.В спроектированную таблицу клиентов необходимо ввестиготовые данные.Перейдите из режима проектирования в режим заполнения таблицы посредством щелчка на пиктограмме таблицы в строкепиктограмм или выберите опцию Таблица в меню Вид.Вы можете заполнить таблицу клиентов произвольными адресами, телефонами и фамилиями. В отношении кодов моделей следует быть осторожнее: эти коды должны в точности совпадатьс таковыми из таблицы Предлагаемые модели. В поле Скидка дляособенно надежных партнеров указаны суммы скидок в процен-Тема 3.
Таблицы87тах. Для всех остальных клиентов введите в это поле нуль (0). Призаполнении полей процентного формата следует учитывать, чтовводимую величину Access умножает на 100 и интерпретирует какпроценты. Если, к примеру, клиент должен получить скидку 10 %,то надлежит ввести значение 0,1 (0,1 х 100 % = 10 %). Если быв поле скидки было введено значение 10, то получилась бы скидка1 000 % (10 х 100 % - 1 000 %).Произведя некоторый анализ созданной таблицы, заметим, чтополе Обращение может иметь только два значения («Господину»или «Госпоже») и может быть преобразовано в комбинированныйсписок (поле со списком), как это было проделано с полем Коробка передач в таблице Предлагаемые модели.Несколько по-другому строится комбинированный список дляполя Код модели. Он может базироваться только на моделях, содержащихся в таблице Предлагаемые модели.