Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка БД .doc
Скачиваний:
3
Добавлен:
24.11.2019
Размер:
649.73 Кб
Скачать

Типы и свойства полей

Текстовый формат

Вкладка Общие со свойствами текстовых полей имеет ряд строк. Раз­мер поля может находиться в пределах от 1 до 255 символов. Слишком короткое поле неприятно тем, что данные в нем могут не уместить­ся. Чересчур длинное поле приводит к нерациональному использованию па­мяти. Размер поля можно изменять «по ходу дела», но при его уменьшении возможна потеря (усечение) данных. Правда, Ассеss предупреждает об этом пользователя перед выполнением операции.

Формат поля используется в формах и запросах. Существует набор спе­циальных символов формата, которые жестко задают вид и размер вводимых строк. Кодовые символы формата текстовых полей представлены ниже:

@ — должен быть текстовый символ или пробел,

& — текстовый символ,

< — преобразование символов в нижний регистр,

> — преобразование символов в верхний регистр.

Формат поля может состоять из двух частей, разделенных знаком «точка с запятой». Первая часть является собственно форматом ввода, вторая — оп­ределяет значение поля, если данные в него не были введены.

Маска ввода также представляет собой последовательность кодовых сим­волов. Их не так уж много:

0 — должна быть цифра от 0 до 9,

9 — цифра или пробел,

# — цифра, пробел, плюс или минус,

L — должна быть буква (А...Z, А...Я),

? — может быть буква,

А — должна быть буква или цифра,

а — может быть буква или цифра,

& — должен быть любой символ или пробел,

С — произвольный символ,

.,:;-/ — разделители, которые сохраняют свой вид в строке данных,

< — преобразование символов в нижний регистр,

> — преобразование символов в верхний регистр,

! — маска должна заполняться справа налево,

\ — следующий за этой обратной косой чертой символ будет введен как литерал.

Кодовые символы 0, А, L, & предполагают обязательный ввод данных в поле. Поскольку некоторые виды данных (даты, время, телефонные номера) содержат стандартные разделители, то для упрощения ввода предусмотрено, что некоторые общепринятые символы-разделители воспринимаются в маске ввода «буквально», т. е. записываются в поле наряду с введенными данны­ми. Кроме этого, для определения символьных констант, состоящих из не­скольких символов, допускается использовать двойные кавычки. В отличие от символов формата, символы маски ввода являются общими для всех типов полей, в которых разрешено применение маски.

В качестве примера напишем маску для ввода в базу данных номера пас­порта. Он, как известно, содержит буквенную и числовую части, каждая из которых имеет фиксированную длину и является обязательной: L??-LL №000000.

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

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

Свойство «условие на значение» позволяет создать фильтр, который не разрешит вводить в данное поле, что попало, а позволит использовать только те значения, которые удовлетворяют определенному условию. Для задания такого критерия можно запустить Построитель выражений. Если же пользователь БД нарушит условие ввода, то программа сообщит ему об этом, выведя на экран текст, определенный как свойство «сообщение об ошибке».

Свойство «обязательное поле» является логическим. Оно может прини­мать одно из двух значений: Да или Нет, которые выбираются из списка, связанного со строкой данного свойства. Да означает, что в поле обязательно должны быть введены данные.

Свойство «пустые строки» тоже логическое и похоже на предыдущее. Оно определяет, разрешены, или нет в данном поле пустые строки. Для Ассеss существуют два разных поня­тия: «поле, в которое ничего не было введено» и «поле с пустой строкой, т. е. содержащее пробелы».

Свойство «индексированное поле» может иметь одно из трех значений: поле не индексировано; поле индексировано, но допускаются повторяющиеся значения; поле индексировано, и повторения значений поля запрещены.

При конструировании базы данных нет необходимости зада­вать все свойства полей. Более того, их не надо определять до тех пор, пока в этом не возникнет настоятельная необходимость. Но чтобы пол­ностью использовать потенциал Ассеss, при работе с программой необходимо держать «в уме» возможность применения того или иного свойства.

Числовой формат

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

Числовые поля обладают, в основном, теми же свойствами, что и текстовые, но имеются и некоторые отличия.

Размер поля может принимать значения из следующего списка:

Байт — целые числа в пределах от 0 до 255,

Целое — целые числа от -32 768 до 32 767

Длинное целое — целые числа от -2 147 483 648 до 2 147 483 647

С плавающей точкой (4 байт) - числа в пределах от -3.402823Е38 до 3.402823Е38,

С плавающей точкой (8 байт) — числа в пределах от -1.79769313486232Е308 до 1.79769313486232Е308,

Код репликации — уникальный глобальный идентификатор (GUID) длиною 16 байт.

Формат поля может определяться следующими кодовыми сим­волами:

. — точка используется в качестве десятичного разделителя,

, — запятая применяется как разделитель групп разрядов,

0 — вывод цифры (или нуля, если разряд незначащий),

# — вывод цифры,

$ — вывод знака доллара,

% — вывод числа в процентном формате,

Е или е — вывод числа в экспоненциальной форме (например, О.ООЕ+00).

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

Основой для определения числового формата может служить следующая конструкция: # ##0,00

В этом формате указано не только расположение обязательных и факуль­тативных разрядов, но и отмечено, что в числе должно проводиться разделе­ние групп разрядов пробелами. Так, например, число 123456,789 в этом фор­мате выглядело бы следующим образом: 123 456,79.

В справочнике Ассеss указано, что точка является десятичным разделите­лем. На самом деле вид десятичного разделителя выбирается в Windows. Для того чтобы сделать это, или посмотреть, какой вид разделителя установ­лен на компьютере, необходимо раскрыть Панель управления, выбрать окно Свойства: Язык и стандарты, а в нем - вкладку Числа. По умолчанию в русской версии Windows в качестве разделителя используется запятая, поэтому она и показана в приведенных выше примерах.

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

#[Красный];-#[Синий];0[Зеленый];"Неизвестно"

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

Как можно использовать последнюю, четвертую группу формата? Во-пер­вых, можно создать фразу-напоминание (Введи число!), которая покажет, что в некоторой ячейке отсутствуют данные, которые на самом деле должны там быть. Во-вторых, используя четвертую группу формата, можно из число­вого поля сделать «как бы текстовое», т. е. позволить программе заполнять ячейку неким текстом при отсутствии числовых данных. Соответствующий пример был показан выше, в формате температуры.

Формат «дата/время»

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

Денежный формат

По умолчанию денежный формат представляет собой числа, записанные с двумя знаками после запятой, с разделением групп разрядов и обозначением «р» в конце. Можно записать в строке Формат поля шаблон для своего формата. Допустим, необходимо вводить суммы в долларах. Тогда надо установить курсор на слово «Денежный» в указанной строке и заменить его шаблоном формата, например, таким: # ###$.

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

Формат «счетчик»

Такие поля выпол­няют вполне определенную функцию — автоматическую идентификацию за­писей таблицы.

Поэтому свойств, которые можно было бы изменить, у такого поля немного. Во-первых, счетчик — это всегда число. Во-вторых, наращи­вание его значения происходит автоматически. Ассеss предлагает два вариан­та изменения счетчика: последовательный и случайный. Первый вариант удобен тем, что позволяет нумеровать записи. Назначение второго варианта не так очевидно. Его можно использовать, если надо создать систему кодиро­вания записей в таблице, защищенную от неосторожных действий оператора. Если нумеровать записи последовательно (1,2,3, и т. д.), то опечатка при вводе может легко превратить один код в другой, и обнаружить такую ошиб­ку будет трудно. Иначе обстоит дело, если коды выбираются случайным об­разом (например, 1193517479, 442230790, 1742918387, и т.д.). Поскольку случайные значения счетчика представляют собой много разрядные числа, то вероятность того, что один код будет введен вместо другого, меньше, чем в первом случае. Кроме того, имея список всех кодов, легко проверить сколь угодно большую таблицу на наличие опечаток. Остается добавить, что ис­пользовать этот прием можно, если заменить в дальнейшем тип «счетчик» на другой, потому что изменять данные в поле счетчика оператор не может.

Логический формат

Ячейка в поле логического типа может содержать только одно из двух значений: Да или Нет. Асееss предлагает еще два варианта названий логи­ческого типа: Истина/Ложь и Включено/Выключено. Вид формулировки можно выбрать из списка в строке Формат поля на вкладке свойств. Использование логических полей может быть самым различным, например, в анкетах или для создания элементов управления. Самым цен­ным качеством логических полей является способ их пред­ставления в таблице.

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

Гиперссылка

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

Поле МЕМО

Поля этого типа подобны текстовым, но могут содержать до 65535 сим­волов. Вкладка свойств поля МЕМО такая, как у поля логического типа за исключением последней строки, где вместо строки Индексированное поле используется строка Пустые строки.

Такие поля могут выполнять разные функции. Во-первых, они обеспечивают совмести­мость с базами данных других СУБД, поддерживающих такие поля (напри­мер, «dВА5Е или FохРго). Это может оказаться важным при выполнении опе­раций импорта или экспорта баз данных. Во-вторых, поле МЕМО может служить хранилищем текста. Но увидеть такой текст можно будет только в форме или отчете, если для поля МЕМО будет создан элемент управления «поле». Лучше всего создавать его при помощи Мастера. Область для вывода текста может иметь размеры, позволяющие увидеть сразу несколько строк, а если весь текст не уместится в границах элемента управления, то будет созда­на полоса вертикальной прокрутки.

Мастер подстановок

Последний элемент в списке типов полей — Мастер подстановок — не яв­ляется названием типа, а представляет собой команду для запуска Мастера, позволяющего создать связь между таблицами. Для пояснения работы Мас­тера рассмотрим небольшой пример. Допустим, в базе данных имеются две таблицы, одна из которых (Таблица1) имеет три поля: два числовых и одно текстовое, а вторая таблица (Таблица2) имеет два числовых поля. В таблице1 поле Код1 ключевое. Содержимое таблиц показано на рис. 1. Для облегчения понимания существа дела в одну из них — Таблица1 — введены числа, начинающиеся с цифры 1, а в другую — Таблица2 — числа, начинающиеся с цифры 2. Имена полей также снабжены соответствующими цифрами. Задача: выполнить под­становку поля Текст1 из Таблица1 в Таблица2.

Таблица1

Код1

Числа1

Текст 1

10

115

Телевизоры

11

116

Ведра

12

117

Гвозди

13

118

Кабель

14

119

Обувь

15

120

Магнитолы

16

121

Мебель

Таблица2

Код2

Числа2

20

221

21

222

22

223

23

224

24

225

25

226

Рис.1. Исходные данные для операции подстановки

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

На втором шаге необходимо выбрать таблицу – источник данных. Необходимо подчеркнуть, что выполнить подстановку в пределах одной таблицы нельзя, то есть подстановка – межтабличная операция. На этом шаге можно указать, какие источники данных могут быть использованы для подстановки: таблицы, запросы или то и другое вместе. В рассматриваемом случае нужно выбрать Таблица1.

На третьем шаге необходимо выбрать список доступных полей выбранной таблицы. В данном случае это поле Текст1.

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

Несмотря на то, что в колон­ках присутствует мигающий курсор и имеется возможность выделять поля и записи, отредактировать данные в этот момент невозможно. Можно только изменять ширину колонок.

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

После окончания работы Мастера можно проанализировать его рабо­ту в окне конструктора таблицы. Итак, что сделал Мастер? Во-первых, он заменил имя поля подстановки, заданное пользователем первона­чально, на имя ключевого поля (Код1) таблицы, являющейся источником данных. Разумеется, это не пустая формальность. Этот факт свиде­тельствует о том, что между двумя таблицами установлена связь. Во-вторых, ново­му полю таблицы Мастер подстановки присвоил числовой тип. Не надо ду­мать, что так случилось потому, что в Таблица1 было выбрано числовое поле для подстановки. Числовой тип в данном случае относится к полю Таблица1.Числа1. В-третьих, старое имя поля подстановки Мастер использовал для создания подписи. Это значит, что при просмотре таблицы данное поле будет обозначаться своим старым именем, а не тем, которое стоит в графе Имя поля. Остальные свойства оставлены без изменения, но они доступны для редактирования.

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

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