Создание базы данных в MS Access.

advertisement
Лабораторная работа № 12
Создание таблиц в MS Access.
Теоретические сведения.
1) Создание базы данных:
Для создания новой базы данных нужно при открытии MS Access выбрать опцию Новая
база данных. В появившемся диалоговом окне указать имя новой базы данных и папку, в которой
она будет находиться. После этого, если базы данных с таким именем в этой папке еще нет,
открывается окно новой базы данных.
2) Создание таблиц:
В MS Access для создания таблицы с помощью конструктора таблиц нужно перейти на
вкладку Таблицы, нажать кнопку Создать и при создании таблицы указать режим Конструктор.
Конструктор таблиц имеет вид как на рис. 1. Окно конструктора разделено на две части. В
верхней части окна указываются имена полей таблицы (столбец Имя поля), типы данных (Тип
данных) и необязательные описания. Каждое поле таблицы представляется отдельной строкой.
В нижней части окна устанавливаются свойства полей, такие как:
размер поля; формат; десятичные разряды; входной формат; подпись поля;
стандартное значение; условие на значение; сообщение об ошибках; обязательное поле;
индексированное поле. Пример набора свойств для поля «Цена» показан на рис. 1.
рис. 1 – Внешний вид окна конструктора таблиц
Для создания нового поля таблицы необходимо выбрать пустую строку в верхней части окна,
щелкнуть мышью в столбце Имя поля и ввести новое имя поля. Затем в столбце Тип данных
выбрать нужный тип данных (см. типы данных в таблице 1).
Таблица 1 – Типы данных в MS Access.
Тип данных
Текстовый
Числовой
Описание типа данных
Текст длиной до 255 знаков
В них хранятся числовые данные, формат определяется в графе Размер
поля.
Тип данных
Описание типа данных
Дата/Время
Задание даты и времени, в формате, определенном в графе Формат
поля.
Денежный
Задание денежной суммы с точностью до 15 целых и 4 дробных
десятичных разрядов (8 байтов).
Логический
Логические значения Да/Нет. Эти поля нельзя индексировать.
Счетчик
Уникальное длинное целое, генерируется ACCESS при создании любой
новой записи. Используется для генерации значений первичного ключа.
MEMO
Текст, имеющий максимальную длину до 65536 знаков. Эти поля нельзя
индексировать.
Объект OLE
OLE – Объект (например, электронная таблица Microsoft Excel,
документ Microsoft Word, рисунок, звукозапись или другие данные в
двоичном формате), связанный или внедренный в таблицу Microsoft
Access.
В этих полях хранятся объекты, которые были оформлены при помощи
OLE-сервера в другом приложении. Максимальный размер поля – 1 Гб;
эти поля нельзя индексировать.
Гиперссылка
Строка, состоящая из букв и цифр, и представляющая адрес
гиперссылки. Адрес гиперссылки может состоять максимум из трех
частей:
Текст – текст до 2048 символов, выводимый в поле или в элементе
управления;
Адрес – путь к файлу или странице (адрес URL) (до 2048 символов);
Дополнительный адрес – смещение внутри файла или страницы (до 2048
символов).
Отображает данные, подставляемые из другой таблицы или списка,
задаваемого пользователем. При этом запускается мастер подстановок, с
помощью которого определяется тип данных и организуется связь с
другой таблицей.
Мастер
подстановок
После задания имени поля и типа данных в нижней части окна конструктора нужно задать
Свойства этого поля, например:
– Формат поля указывает способ отображения на экране текста, чисел, значений дат и
времени. Для задания форматов в полях данных типа Текстовый и MEMO используются такие
четыре символа (см. таблицу 2):
Таблица 2 – Символы задания пользовательских форматов
Символ
Описание
Обязательный текстовый символ или пробел
@
Необязательный текстовый символ
&
Преобразует все символы в прописные
>
Преобразует все символы в строчные
<
При вводе номера телефона можно задать следующий формат (@@@)@@-@@-@@. Если
затем ввести 555232332, то данные будут отображены в виде (555)23-23-32.
– Маска ввода задает шаблон, облегчающий ввод данных в поле. Маска ввода может быть
задана для типов данных Текстовый, Числовой, Денежный.
Таблица 3 – Символы, используемые в маске ввода
Символ
Описание
Цифра (0-9, обязательный символ; знаки плюс (+) и минус (–) не
0
разрешены)
Цифра или пробел (0-9, необязательный символ; знаки плюс (+) и
9
минус (–) не разрешены)
Цифра, знаки плюс (+), минус (-) или пробел (необязательный
символ; незаполненные позиции выводятся как пробелы в режиме
#
редактирования, но удаляются при сохранении данных)
L
Буква (обязательный символ)
?
Буква (необязательный символ)
A
Буква или цифра (обязательный символ)
а
Буква или цифра (необязательный символ)
&
Любой символ или пробел (обязательный символ)
Любой символ или пробел (необязательный символ)
C
Все введенные после него символы преобразуются в строчные
<
Все введенные после него символы преобразуются в прописные
>
Десятичный разделитель, разделители групп разрядов, времени или
даты. (Используемые символы разделителей определяются в окне
.,:;-/
Язык и стандарты панели управления Windows).
Например, для поля “Телефон” можно задать следующую маску ввода, которая позволяла
бы вводить только цифры и автоматически добавляла промежуточные символы: (999)900-00-00.
MS Access автоматически добавит символ "\" для каждого промежуточного символа: \(999\)900\00\-00.
– Значение по умолчанию – устанавливает для всех типов данных, кроме Cчетчика,
МЕМО и Объекта OLE. Для Числового типа значение по умолчанию равно 0, для Текстового и
MEMO типов оно равно NULL (пустое значение).
– Обязательное поле – определяется, обязательно ли вводить данные в соответствующее
поле, или оно может остаться пустым.
– Условие на значение – выражение, которое при вводе или редактировании значения
этого поля всегда должно быть истинным. Подробно правила составления условий рассмотрены в
лабораторной работе № 19, а пример можно найти для столбца «Цена» на рис. 1.
После того, как все поля новой таблицы определены, необходимо задать ключ. Ключ –
такое поле или комбинация полей, значения в котором (-ой) повторяться не могут. Примером
ключа может быть идентификационный код человека в налоговой администрации, паспортные
данные, номер зачетки и т.д.
Для определения ключа, состоящего из одного поля, необходимо в верхней части окна
конструктора выделить строку с этим полем и нажать кнопку Ключевое поле
на панели
инструментов. Для определения ключа, состоящего из нескольких полей, необходимо выделить
строки с этими полями при нажатой клавише Ctrl, а затем нажать кнопку
учитывать, что все ключевые поля должны быть обязательными.
. Необходимо лишь
3) Создание связей между таблицами:
Связи между таблицами показывают, что значения поля в одной таблице (дочерней) выбираются
только из списка значений некоторого поля другой таблицы (родительской).
Например, в базе данных “Борей” при описании заказа в таблице «Заказы» необходимо, чтобы
значения поля “кодСотрудника” выбирались только из списка значений поля «кодСотрудника»
таблицы «Сотрудники».
Пример связи между таблицами «Заказы» и «Сотрудники»показан на рис. 2
рис. 2 Связь между заказами и сотрудниками.
Различают связи «1:1» («один-к-одному») и «1:М» («один-ко-многим»).
Связь «1:1» показывает, что каждой записи в родительской таблице соответствует максимум одна
запись в дочерней таблице. Связь «1:М» показывает, что каждой записи в родительской таблице
соответствует несколько записей в дочерней таблице.
Например, между таблицами «Сотрудники» и «Заказы» установлена связь 1:М, которая
гарантирует, что заказы будут оформляться только зарегистрированными в базе данных
сотрудниками, и что каждый сотрудник может оформить несколько заказов. При этом,
таблица «Сотрудники» будет родительской, а таблица «Заказы» – дочерней.
Настроить связи между таблицами можно с помощью инструмента Схемы данных (в окне базы
данных вызвать команду меню Сервис/Схема данных или нажать кнопку
на панели
инструментов в окне базы данных).
При открытии окна Схемы данных появляется список таблиц, которые можно выбрать для показа
на схеме. Для выбора таблицы нужно ее отметить в списке и затем нажать кнопку Добавить.
Затем это окно можно закрыть. Если в процессе работы со схемой понадобилось добавить еще
таблицы, для этого можно нажать кнопку Добавить таблицу
на панели инструментов.
Для удаления ненужной таблицы из схемы данных, ее необходимо выделить и нажать клавишу
Del.
После того, как все нужные таблицы выбраны, между ними устанавливаются связи. Для этого
поступают так:
1) определяют родительскую и дочернюю таблицу для связи;
2) определяют поле родительской таблицы, значения которого должны использоваться в дочерней
таблице. Эти поля должны быть одного типа данных, и подходить по смыслу друг другу.
3) нажав левую кнопку мыши на выбранном поле, перетаскивают указатель мыши на
соответствующее поле дочерней таблицы. При этом появляется диалоговое окно установления
связи (см. рис. 3).
рис. 3 Окно настройки связи между таблицами "Заказы "и "Сотрудники"
В окне «Связи» в строке «Тип отношения» отражается определенный тип связи («1:1» или «1:М»).
Включают опцию Обеспечение целостности данных, и дополнительно, опции действий СУБД
при обновлении/удалении данных в связанных таблицах.
Например, если включить опцию «каскадное удаление связанных записей», то при удалении
записи в родительской таблице все связанные с ней записи в дочерней таблице также будут
удалены.
Затем, нажимают кнопку ОК, и получают схему данных как на рис. 2.
Для исправления связи нужно выделить мышью линию между таблицами, нажать правую
кнопку мыши и выбрать один из пунктов: “Изменить связь” или “Удалить”.
4) Работа с Мастером подстановок:
Значения поля, созданного мастером подстановок, при вводе можно выбирать из списка
значений.
Для того, чтобы задать подстановку для поля, в Конструкторе таблиц для этого поля
указывается тип данных Мастер Подстановок. На первом шаге мастера указывается, что
значения поля могут выбираться либо из фиксированного набора значений, либо из значений поля
какой-нибудь таблицы. В первом случае на втором шаге мастера нужно ввести возможные
значения поля. Во втором случае на втором шаге мастера нужно выбрать таблицу, а на третьем
шаге выбрать поле (поля), значения которых будут использованы в подстановке. На четвертом
шаге мастера необходимо указать имя поля, куда будут заноситься значения из подстановки.
Завершают работу мастера нажатием кнопки Готово.
Например, для таблицы «Заказы» для поля «кодСотрудника» можно использовать мастер
подстановок так, чтобы значения этого поля выбирались из значений полей «кодСотрудника» и
«название» таблицы «Сотрудники», а сохранялось только значение поля «кодСотрудника». См
рис. 4.
рис.4 Мастер подстановки в действии – значения поля “Сотрудник” выбираются из списка.
Download