- •Организация структуры базы данных в субд Access
- •Лабораторная работа №1 Создание и модификация структуры таблиц бд
- •Цель работы
- •Порядок работы в конструкторе таблиц
- •2.1. Создание таблиц и задание типов полей
- •2.2. Свойства полей
- •3. Порядок выполнения работы
- •4. Контрольные вопросы и задания
- •Лабораторная работа №2 Организация связей между таблицами
- •Цель работы
- •Организация структуры связей в бд
- •2.1. Порядок создания первичного ключа
- •Поддержание целостности данных
- •3. Порядок выполнения работы
- •4. Контрольные вопросы и задания
2.2. Свойства полей
В блоке Свойства поля указываются атрибуты связанные с режимом ввода данных поля (рис. 4).
Рис. 4. Свойства поля
Свойство Размер поля (FieldSize) определяет максимальный размер данных, которые могут сохраняться в полях с типом данных Текстовый, Числовой или Счетчик.
Свойство Формат поля (Format) указывает форматы вывода текста, чисел, дат и значений времени на экран и на печать.
В полях с типом данных Текстовый и Поле МЕМО для задания форматов используются четыре символа, приведенные в таблице 1:
Таблица 1
Символы для задания форматов
-
Символ
Описание
@
Обязательный текстовый символ или пробел
&
Необязательный текстовый символ
>
Преобразует все символы в прописные
<
Преобразует все символы в строчные
Например, если свойству Формат поля присвоено значение (@@@)@@@-@@@@, то при вводе 2035551234 данные будут отображены в виде (203)555-1234.
Для полей с типами данных Числовой и Денежный можно выбрать любой из стандартных форматов (табл. 2) или создать свой собственный формат.
Таблица 2.
Примеры форматов полей с типом данных Числовой
Тип формата |
Введенное число |
Отображаемое число |
Формат |
Основной |
987654,321 |
987654,321 |
######,### |
Денежный |
987654,321 |
987 654,32р. |
### ##0,00р. |
Фиксированный |
987654,321 |
987654,32 |
######,## |
С разделителями разрядов |
987654,321 |
987 654,32 |
### ##,## |
Процентный |
,987 |
98,7% |
###,##% |
Продолжение табл. 2
Тип формата |
Введенное число |
Отображаемое число |
Формат |
Экспоненциальный |
987654,321 |
9,88Е+05 |
#,##E+00 |
Евро |
987654,321 |
987 654, 32€ |
### ###,##€ |
Числовые пользовательские форматы состоят из четырех частей: (1) для положительных чисел, (2) для отрицательных чисел, (3) для нулевых значений и (4) для значений Null. Можно назначить для каждой части определенный цвет для отображения соответствующих значений. Например, можно создать пользовательский формат для поля с типом данных Денежный, который будет выглядеть подобно следующему:
$# ##0,00 [Зеленый]; ($# ##0,00) [Красный]; ”нуль”;”Пусто”.
Для форматов полей с типом данных Дата/время существует семь стандартных форматов (табл. 3), также можно использовать определенные пользователем установки даты и времени, включая приведенные в таблице 4.
Таблица 3
Стандартные форматы для полей с типом данных Дата/время
-
Формат
Пример
Полный формат даты
10.2.01 и 22:32:15
Длинный формат даты
10 февраля 2001г.
Средний формат даты
10-фев-01
Краткий формат даты
10.2.01
Длинный формат времени
22:32:15
Средний формат времени
10:32
Краткий формат времени
22:32
Таблица 4
Символы, используемые для определения пользователем
установок даты и времени
-
Обозначение
Описание
: (двоеточие)
Разделитель компонентов времени
. (точка) или / (косая черта)
Разделитель компонентов даты
C
Определяет встроенный формат Полный формат даты
d
Номер дня месяца, состоящий из одной или двух цифр (1-31)
dd
Номер дня месяца, состоящий из двух цифр (01-31)
ddd
Сокращенное название дня недели (Пн-Вс)
dddd
Полное название дня недели (понедельник-воскресение)
ddddd
Определяет встроенный Краткий формат даты
dddddd
Определяет встроенный Длинный формат даты
w
Номер дня недели (1-7)
ww
Номер недели в году (1-53)
m
Номер месяца, состоящий из одной или двух цифр (1-12)
mm
Номер месяца, состоящий из двух цифр (01-12)
mmm
Первые три буквы названия месяца (янв-дек)
mmmm
Полное название месяца (январь-декабрь)
q
Номер квартала в годе (1-4)
y
Номер дня в годе (1-366)
yy
Последние две цифры номера года (01-99)
yyyy
Полный номер года (0000-9999)
Продолжение табл. 4
-
Обозначение
Описание
h
Количество часов, состоящее из одной или двух цифр (0-23)
hh
Количество часов, состоящее из двух цифр (00-23)
n
Количество минут, состоящее из одной или двух цифр (0-59)
nn
Количество минут, состоящее из двух цифр (00-59)
s
Количество секунд, состоящее из одной или двух цифр (0-59)
Ss
Количество секунд, состоящее из двух цифр (00-59)
Ttttt
Определяет встроенный Длинный формат времени
AM/PM
12-часовой формат времени с добавлением прописных букв AM или PM
am/pm
12-часовой формат времени с добавлением строчных букв am или pm
A/P
12-часовой формат времени с добавлением прописной буквы A или P
a/p
12-часовой формат времени с добавлением строчной буквы a или p
AMPM
12-часовой формат времени
Данные в полях с типом Логический Access сохраняет не так, как обычно это принято: для логического Да сохраняется значение -1, тогда как для логического Нет – значение 0. С помощью форматов представление данных в полях можно сделать более наглядными.
Существует три стандартных значения формата для полей логического типа (табл. 5).
Таблица 5
Стандартные значения формата для полей типа Логический
Формат |
Описание |
Да/Нет |
Установлено по умолчанию. Отображает -1 как Да и 0 – как Нет |
Истина/Ложь |
Отображает значение -1 как Истина и 0 – как Ложь |
Вкл/Выкл |
Отображает -1 для значения Вкл и 0 – для значения Выкл |
Свойство Маска ввода (InputMask) облегчает ввод данных и определяет значения, которые можно ввести в элемент управления поле. Задание шаблонов ввода данных в требуемое поле можно выполнить с помощью мастера (рис. 5).
Рис. 5. Создание Масок ввода
Ниже перечислены некоторые специальные символы, используемые для задания шаблонов (табл. 6):
Таблица 6
Символы задания шаблонов для маски ввода
Символ |
Описание |
0 |
Цифра (0-9, обязательный знак; знаки (+) и (-) не разрешены |
9 |
Цифра или пробел (необязательный знак; знаки (+) и (-) не разрешены |
# |
Цифра или пробел (необязательный знак; незаполненные позиции) |
L |
Буква (от А до Я, обязательный знак) |
? |
Буква (от А до Я, необязательный знак) |
A |
Буква или цифра (обязательный знак) |
a |
Буква или цифра (необязательный знак) |
& |
Любой знак или пробел (обязательный знак) |
С |
Любой знак или пробел (необязательный знак) |
.,:;-/ |
Десятичный разделитель, разделители групп разрядов, времени и даты. |
< |
Преобразует все знаки к нижнему регистру |
> |
Преобразует все знаки к нижнему регистру |
! |
Указывает заполнение маски ввода справа налево, а не слева направо |
Например, маска для телефона (999)000-0000 задается следующим образом: !(999)000-0000;0;” “. Первая часть маски задает саму маску ввода (! (999)000-0000), восклицательный знак указывает, что маска ввода заполняется справа налево, этот символ следует использовать, если в левой части есть позиции, заполнять которые необязательно. Во второй части указывается, должны ли сохраняться промежуточные символы в таблице (0 – сохраняются, 1 или пустое значение – сохраняются только символы введенные пользователем). В третьей части указывается символ, который будет использоваться вместо пробелов в данной маске ввода.
Свойство Подпись (Caption) определяет текст, который выводится в подписях объектов в различных режимах.
Свойство Значение по умолчанию (DefaultValue) определяет текст или выражение, которое автоматически вводится в элемент управления или поле при создании новой записи.
Свойство Условие на значение (ValidationRule) определяет требования к данным, вводящимся в запись, в поле или в элемент управления. Условия представляются в виде выражений, задаваемых с помощью построителя (рис. 6).
Рис. 6. Окно построителя выражений
При определении допустимого диапазона значений в свойстве Условие на значение можно использовать значение функции Date для данных типа Дата/время. До и после дат в выражениях ставятся символы #. Например, если требуется ограничить ввод данных значениям между 1 января 1970 года и 31 декабря 2001 года, то необходимо ввести выражение Between #1.1.70# and #31.12.01#. Если, например, присутствует поле Пол, то ввод в него можно ограничить двумя значениями М – для мужской и Ж – для женский. Выражение для проверки значения в этом случае выглядит так: InStr(“МЖ”; [Пол])>0.
Сообщение об ошибке (ValidationText) позволяет указать текст сообщения, выводящегося на экран, если введенные данные нарушают условие, определенное в свойстве Условие на значение (ValidationRule).
Свойство Обязательное поле (Required) указывает, требует ли поле обязательного ввода значения. Если это свойство имеет значение «Да», то при вводе новой записи необходимо ввести значение в это поле или в любой присоединенный к нему элемент управления. Пустые (Null) значения в этом поле не допускаются. Например, можно потребовать, чтобы в элементе управления «Фамилия» в каждой записи обязательно выводилась какая-либо фамилия. Чтобы позволить ввод в поле значений Null, недостаточно указать для свойства Обязательное поле (Required) значение «Нет». Если определено свойство Условие на значение (ValidationRule), оно должно иметь вид условие На Значение Or Is Null.
Свойство Пустые строки (AllowZeroLength) определяет, допускается ли ввод в поле пустых строк ("").
Свойство Индексированное поле (Indexed) определяет индекс, задаваемый по одному полю. Индекс ускоряет выполнение запросов, в которых используются индексированные поля и операции сортировки и группировки. Например, если часто выполняется поиск по полю «Фамилия» в таблице «Сотрудники», следует создать индекс для этого поля.
Свойство Сжатие Юникод (UnicodeCompression) для полей типа «Текстовый», «Поле MEMO» и «Гиперссылка» по умолчанию получает значение Да. Когда свойство Сжатие Юникод (UnicodeCompression) поля имеет значение Да, все знаки, первый байт которых равен 0, будут сжиматься при сохранении и восстанавливаться при выборке. Так как первым байтом латинских букв — букв таких западноевропейских языков как английский, испанский или немецкий — является 0, то кодировка Юникод при включенном сжатии не накладывает дополнительных требований к объему дискового пространства, необходимого для хранения в полях данных, состоящих только из латинских букв.
Свойство Режим IME (IMEMode) позволяет задать режим преобразования канджи для элемента управления при получении им фокуса.
Свойство «Режим предложений IME» (IMESentenceMode) определяет переключение режима предложений IME для полей в таблице или элементов управления в форме при перемещении фокуса.
Для каждой из таблиц БД DoctorTab, PatientTab и VisitTab
(табл. 7, 8, 9) ниже приведены размеры полей и типы присвоенных им данных:
Таблица 7
Структура таблицы DoctorTab
Имя поля |
Тип данных |
Размер поля |
Ключевое поле |
Маска ввода |
Условие |
Id_doc |
Текстовый |
5 |
# |
|
|
namedc |
Текстовый |
20 |
|
|
|
patrdc |
Текстовый |
25 |
|
|
|
surndc |
Текстовый |
25 |
|
|
|
specdc |
Текстовый |
25 |
|
|
|
exper |
Числовой |
3 |
|
|
>= 0 |
status |
Логический |
1 |
|
|
|
Результат описания структуры таблицы DoctorTab представлен в окне Конструктор таблиц (рис. 7).
Рис. 7. Таблица DoctorTab в режиме конструктора
Таблицы PatientTab и VisitTab необходимо создать самостоятельно с использованием представленных ниже описаний полей:
Таблица 8
Структура таблицы PatientTab
Имя поля |
Тип данных |
Размер поля |
Ключевое поле |
Маска ввода |
Условие |
Id_pat |
Текстовый |
5 |
# |
|
|
namept |
Текстовый |
20 |
|
|
|
partpt |
Текстовый |
25 |
|
|
|
surnpt |
Текстовый |
25 |
|
|
|
addresspt |
Текстовый |
50 |
|
|
|
telephonept |
Текстовый |
8 |
|
___-__-__ |
|
GroupB |
Числовой |
2 |
|
|
1, 2, 3, 4 |
GroupRisk |
Текстовый |
20 |
|
|
|
Таблица 9
Структура таблицы VisitTab
Имя поля |
Тип данных |
Размер поля |
Ключевое поле |
Маска ввода |
Условие |
Id_doc |
Текстовый |
5 |
|
|
|
Id_pat |
Текстовый |
5 |
|
|
|
datevisit |
Дата/время |
8 |
|
__.__.____г |
|
complaint |
Поле МЕМО |
4 |
|
|
|
Для просмотра и редактирования данных достаточно отыскать нужную таблицу в окне БД и щелкнуть дважды по ней левой кнопкой мыши (рис. 8).
Рис. 8. Окно выбора таблиц БД
В результате появится окно для ввода и редактирования данных (рис. 9).
Рис. 9. Окно ввода и редактирования данных
Для ввода и редактирования данных могут использоваться приемы, обычно применяемые при работе в программах для Windows. Нажатие на клавишу Tab или Enter приводит к перемещению курсора в следующее поле.
Для отображения данных модифицируемой таблицы необходимо:
Открыть базу данных.
Дважды щелкнуть по значку нужной таблицы.
Для заполнения таблицы БД необходимо:
Открыть базу данных.
Дважды щелкнуть по значку модифицируемой таблицы.
В открывшемся окне найти пустую строку, выбрать поле с помощью мыши, используя клавишу Тав ввести значения.
По завершении ввода закрыть окно таблицы. И подтвердить сохранение таблицы.
Для удаления записи в таблице необходимо:
Открыть базу данных.
Дважды щелкнуть по значку интересующей нас таблицы.
В открывшемся окне, используя мышь, выделить нужную строчку и по нажатии правой кнопки мыши выбрать пункт Удалить запись.
По завершении закрыть окно таблицы и подтвердить сохранение таблицы.
