Однотабличные БД
Как и любой объект базы данных, таблицу можно создать
«вручную» или с помощью мастера таблиц.
Режим
таблицы |
Создание таблицы в режиме таблицы. Access создает абстрактную,
но готовую к использованию таблицу. Совершенствуя ее, пользователь
определяет необходимые свойства и заполняет таблицу информацией. |
Конструктор |
Создание таблицы с помощью конструктора таблиц. В
этом режиме программа по умолчанию не создает никаких полей. Пользователь
сам определяет структуру таблицы. |
Мастер
таблиц |
Создание таблицы с помощью мастера таблиц. |
Импорт
таблиц |
Создание таблицы путем импортирования данных из
внешнего файла или другой базы данных. |
Связь с
таблицами |
Присоединение внешнего файла или таблицы другой базы
данных. |
Каждый из подходов имеет свои преимущества. «Ручной»
способ дает большую точность: вы создаете пустую
таблицу и далее включаете в нее поля по своему усмотрению. При этом методе вы
получаете полный контроль над всем процессом создания таблицы, но при этом
затраты времени могут быть значительными.
Использование мастера намного проще. Вы можете:
выбрать тип
таблицы;
выбрать структуру
таблицы;
ввести данные
непосредственно в таблицу.
К созданию новой таблицы можно приступить сразу после
открытия базы данных. Для этого выполните следующие действия:
1) в окне базы данных откройте вкладку Таблицы;
2) выполните щелчок на кнопке Создать.
В результате на экране появиться окно Новая таблица, в правой части
которого перечисляются способы создания таблицы:
Рис. 1. Диалоговое окно создания таблицы
3) выберите способ Конструктор. После нажатия кнопки ОК
вы попадете окно конструктора таблицы;
4) в открывшемся окне конструктора таблиц задаются поля
таблицы и их свойства. Справа внизу Access отображает справочную информацию о
допустимых на каждом этапе проектирования действиях.
Рис. 2. Окно
конструктора таблицы
Проект таблицы состоит из трех колонок - Имя
поля, Тип данных и Описание.
Имя поля - имя поля может иметь длину до 64 символов и
содержать пробелы и любые специальные символы, кроме точек, восклицательных
знаков и угловых скобок. В таблице не должно быть двух полей с одинаковыми
именами.
Тип данных - определяет вид информации, которая будет храниться
в данном поле.
По умолчанию устанавливается тип данных Текстовый. Чтобы изменить тип данных,
выполните щелчок в одной из ячеек колонки Тип данных. В правой части ячейки
появится кнопка списка, при нажатии на которую откроется список с доступными
типами данных. Маркируйте необходимый элемент, после чего выбранный тип будет
внесен в соответствующую ячейку колонки Тип данных.
Рис. 3. Типы
данных поля
Описание - содержит комментарий к полю и делает таблицу более
понятной. При обращении к полю комментарий будет появляться в строке состояний.
Текст комментария может быть произвольным. Этот параметр является необязательным.
Отметим, что кроме типов данных в списке колонки Тип
данных присутствует элемент Мастер подстановок, который не
является названием типа и который позволяет представлять значения полей в виде
простого или комбинированного списка.
Как только курсор оказывается в столбце Тип
данных, в нижней части окна возникает бланк свойств (характеристик)
данного поля. Бланк свойств представляет собой
перечень свойств с окном подсказки по каждому свойству. Перечень свойств
меняется в зависимости от типа данных.
Например, в полях, относящихся к типу данных Текстовый, вы можете задавать (вместе с
другими характеристиками) максимальное число символов вводимых элементов
данных.
Рис. 4. Бланк
свойств текстового типа данных
При работе с данными типа Дата/Время можно выбирать различные форматы даты и времени.
Если вы назначаете тип данных Числовой, то можете задать число десятичных знаков, используемых
Access для отображения чисел в соответствующем поле, а также можете
устанавливать, будет ли использоваться формат с плавающей запятой.
Следующая таблица содержит названия свойств и их
описание:
Размер
поля |
Определяет максимальную длину текстового или числового
поля. Учтите, что при создании полей слишком большого размера неэкономно
расходуется память, а полей маленького размера искажается содержимое поля. |
Формат
поля |
Устанавливается формат отображения данных в форме
или запросе. |
Число
десятичных знаков |
Определяется количество разрядов в дробной части
десятичного числа. |
Маска
ввода |
Определяет маску данных при вводе, что позволяет не
набирать с клавиатуры разделительные знаки при вводе данных. Например, знак «-» при наборе номера телефона или «точку» при вводе даты.. |
Подпись |
Содержит надпись, которая выводится рядом с полем в
форме или в отчете (данная надпись может и не совпадать с именем поля, а
также может содержать поясняющие сведения). |
Значение
по умолчанию |
Содержит значение, устанавливаемое по умолчанию в
соответствующем поле таблицы. |
Условие
на значение |
Определяет множество значений, которые пользователь
может вводить в это поле при заполнении таблицы. |
Сообщение
об ошибке |
Определяет сообщение, которое появляется на экране
при вводе недопустимого значения. |
Обязательное
поле |
Установка, указывающая на то, что данное поле
обязательно следует заполнить. |
Пустые
строки |
Установка, которая определяет, допускается ли ввод в
данное поле пустых строк. |
Индексированное
поле |
Средство автоматической сортировки записей в таблице
по значению индексированного поля. Может иметь одно из трех значений: поле не
индексировано; поле индексировано, но допускаются повторяющиеся значения;
поле индексировано и повторяющиеся значения запрещены. |
Отметим, что при конструировании таблицы нет
необходимости задавать все свойства полей.
Задание 1
Создайте
таблицу со следующими полями и свойствами полей:
Рис. 5. Таблица в
режиме Конструктора.
Задание 2.
Для поля Домашний телефон введите маску ввода.
После определения всех полей таблицы следует указать по меньшей мере еще одно поле для использования в
качестве поля первичного ключа, что не позволит вводить в таблицу повторяющиеся
записи, поскольку поле первичного ключа содержит однозначный идентификатор для
каждой записи. Это поле не может содержать одинаковое значение для двух
различных записей.
В большинстве случаев в таблицу включают одно поле
первичного ключа, который может быть определен только в режиме конструктора
таблиц.
Чтобы объявить поле таблицы полем первичного ключа,
следует выполнить следующие действия:
1) установить в него курсор;
2) выполнить щелчок на кнопке с изображением ключа на
панели инструментов или выбрать команду Ключевое поле из меню Правка.
Слева от данного поля появится маленькое изображение ключа - признак поля
первичного ключа.
Если к моменту выхода из режима конструктора первичный
ключ не объявлен, Access выдаст запрос о необходимости включения в таблицу поля
первичного ключа.
Полями первичного ключа можно объявить несколько
полей. Для этого следует маркировать необходимые поля в спецификации следующим
образом:
удерживая клавишу CTRL, щелкнуть в столбце маркировки
напротив нужных строк.
Задание 3.
Объявите поле Код студента созданной таблицы ключевым
полем.
Подготовленную при проектировании спецификацию таблицы
следует сохранить. Для этого следует воспользоваться командой Сохранить меню Файл или значок Сохранить
на панели инструментов. Если таблица сохраняется впервые, Access выводит на
экран диалоговое окно Сохранение объекта. Введите имя
таблицы (длиной не более 64 символов) или воспользуйтесь именем, предлагаемым
программой.
Задание 4.
Сохраните
проект таблицы. Дайте ей имя Сведения о
студентах.
После создания всех полей и определения их свойств
выполняется ввод данных в таблицу. Чтобы заполнить таблицу, следует перейти из
окна конструктора таблицы на лист данных, нажав кнопку Вид на панели
инструментов (или выбрать команду Режим таблицы в меню Вид).
Новая Access-таблица состоит из одной пустой записи. После
ввода данных пустая запись смещается в конец таблицы. Именно в ней осуществляется
ввод информации.
Рис 6.
Заполняемая таблица «Сведения о студентах»
На листе данных активная запись обозначается
треугольным Маркером, а пустая запись - звездочкой.
Для обозначения записи, в которую осуществляется ввод,
используется изображение карандаша. Все маркеры появляются в столбце маркировки,
расположенной в левой части листа данных.
Поскольку программа автоматически сохраняет каждую запись
по завершении ее обработки, необходимости в
промежуточном сохранении таблицы нет.
При заполнении таблицы данными в некоторых случаях
значения удобно не вводить, а выбирать
из списка. Например, при заполнении поля Район таблицы Сведения о студентах
удобно не вводить, а выбирать из списка
значений.
Задание 5.
Создайте для поля Район таблицы Сведения о студентах список значений.
Выполним следующие действия:
1) выполним щелчок в колонке Тип данных поля Район в
окне конструктора таблиц;
2) выберем значение Мастер подстановок из открывшегося
списка. В результате запустится мастер подстановок;
3) в диалоговом окне Создание подстановки установим опцию Будет введен фиксированный набор значений, который позволяет пользователю самостоятельно формировать список значений для поля, и
нажмем кнопку Далее;
4) в диалоговом окне Создание подстановки следует ввести значения (г.Новокузнецк, г.Междуреченск, г.Прокопьевск, г.Киселевск, г.Мыски, г.Калтан и
т.д.). Для завершения формирования списка значений необходимо нажать кнопку Готово.
Рис. 7.
Формирование списка значений
В области Свойства поля на вкладке Подстановка
для поля Район появятся новые свойства.
Задание 6.
Заполните
таблицу Сведения о студентах данными
в соответствии с указанными полями (6-7 записей). При заполнении поля Район воспользуйтесь созданным списком.
В программе Access существуют различные способы
перемещения по таблице.
Для активации одного поля записи достаточно выполнить
на нем щелчок.
Поле, которое находится в невидимой части таблицы,
можно отобразить на экране с помощью полос прокрутки.
Перемещаться по таблице в любом направлении позволяют
клавиши управления курсором. Чтобы активизировать одно из предыдущих полей записи,
следует воспользоваться комбинацией клавиш SHIFT+TAB. Для перемещения от
записи к записи предназначены клавиши управления курсором # и $.
Наиболее удобным средством перемещения по таблице
являются кнопки из области Запись, расположенной в нижнем левом
углу листа данных. С их помощью можно быстро перейти к любому блоку данных.
Рис. 8.
Перемещение по записям.
Копирование
(перенос) строк таблицы
Перенести или скопировать строку из одной таблицы в
другую в целом несложно, но и здесь есть некоторые тонкости. Вот самый простой
способ:
1) откройте и расположите две таблицы так, чтобы
одновременно видеть их на экране;
2) щелкните в области выделения нужной строки правой
кнопкой мыши и выберите из контекстного меню команду Вырезать
или Копировать;
3) щелкните правой кнопкой мыши в области выделения той
строки в другой таблице, в которую производится перенос или копирование
данных. Затем выберите из контекстного меню команду Вставить.
Копирование
(перенос) полей таблицы
Алгоритм переноса или копирования поля таблицы следующий:
1) создайте в таблице-приемнике новое поле. Его тип
должен совпадать с типом копируемого поля;
2) выделите поле в таблице-источнике, щелкнув его
заголовок. Нажмите Ctrl+C;
3) выделите пустое поле в таблице-приемнике, щелкнув его
заголовок. Нажмите Ctrl+V;
4) если исходное поле больше не нужно, удалите его.
При переносе полей из таблицы в таблицу можно
воспользоваться контекстным меню.
Удаление
записей
В Access для удаления данных предназначена команда Удалить из меню Правка. Удаляемую запись
необходимо маркировать, иначе указанная команда не будет доступна.
Для удаления маркированных записей можно также
применять клавишу DELETE. После попытки удалить запись программа открывает окно
для подтверждения удаления, так как удаленные данные будут безвозвратно утеряны.
Если возникнет необходимость добавить, удалить или
изменить параметры поля, маркируйте имя таблицы в окне базы данных и выполните
щелчок на кнопке Конструктор. Access откроет проект таблицы, и вы сможете
внести в нее любые исправления.
Рекомендуется соблюдать осторожность при изменении
свойств поля, особенно при изменении его размера. Увеличение размера поля не
оказывает влияния на содержащиеся в нем данные. Однако если размер поля
уменьшить, его содержимое может исказиться.
Если в определенную позицию проекта необходимо
добавить поле, следует маркировать ту строку, перед которой должна быть
введена пустая строка. Затем нужно активизировать команду Строки в меню
Вставка.
Буфер обмена позволяет быстро сделать копию таблицы в
пределах одной базы данных. Для этого достаточно выполнить следующее:
1) щелкните значок нужной таблицы правой клавишей мыши;
2) в открывшемся контекстном меню выберите команду Копировать;
3) щелкните, нажав правую клавишу, в области, где расположены
значки таблиц базы данных;
4) из контекстного меню выберите команду Вставить;
5) в открывшемся окне Вставка таблицы введите имя новой
таблицы и установите соответствующий переключатель в зависимости от того,
какие компоненты вы хотите скопировать.
Рис. 9. Окно
вставки новой таблицы
Самостоятельная работа № 1
1. Создайте таблицу Сведения
о родителях, с полями, представленными в следующей таблице:
Рис. 10. Таблица
Сведения о родителях в режиме Конструктора.
В качестве ключевого поля укажите поле Код студента.
Создайте для поля Код
студента список значений (Фамилия,
имя, отчество, код студента). В качестве источника данных списка укажите таблицу
Сведения
о студентах.
Заполните таблицу данными (6-7 записей).
Если вы все выполнили верно, то заполненная таблица
будет иметь примерно такой вид:
Рис. 11. Заполненная таблица Сведения о
родителях.
2. Создайте таблицу Годовая
успеваемость группы с полями:
Рис. 12. Таблица
«Годовая успеваемость группы» в режиме Конструктор.
Укажите, какие поля данной таблицы должны быть
определены как ключевые. Определите ключевые поля.
Создайте для поля Предмет поле со списком, в котором
перечислен список предметов.
Создайте для поля Код студента поле со списком Код
студента. Фамилия, Имя.
Заполните таблицу данными (20 - 25 записей).
Если вы все выполнили верно, то заполненная таблица
будет иметь примерно такой вид:
Рис. 13.
Заполняемая таблица «Годовая успеваемость группы»
Работая с таблицей в оперативном режиме, вы можете
установить фильтр, т.е. задан, логическое выражение, которое позволит выдавать
на экран только те записи, для которых это выражение выполняется.
В Access существует три вида фильтрации данных:
Обычный
фильтр |
Отбор записей по содержимому нескольких полей |
Фильтр
по выделенному фрагменту |
Отбор записей путем выделения данных |
Расширенный
фильтр |
Построение более сложного фильтра |
Фильтр по выделенному фрагменту и обычный фильтр
являются самыми простыми способами отбора записей.
Обычный фильтр используется для выбора искомых
значений из списка без просмотра всех записей в таблице или форме, или при
указании нескольких условий отбора одновременно (критерий отбора формируется с
помощью логического оператора Или).
Также можно легко найти и выбрать в таблице, форме или
в запросе в режиме таблицы значение, которое должны содержать отбираемые
записи, следует использовать фильтр по выделенному фрагменту.
Для создания сложных фильтров следует использовать
окно расширенного фильтра.
Задание 7.
Выдать
анкетные сведения по студенткам одной
группы.
Рассмотрим все три способа фильтрации данных.
Обычный
фильтр
1) Откроем таблицу Сведения о студентах (так как в ней
хранятся требуемые данные);
2) в меню Записи активизируем команду Фильтр,
а в открывшемся подменю-команду Изменить
фильтр;
3) в окне создания фильтра в поле Пол укажем критерий
отбора - значение "ж";
4) выберем команду Применить
фильтр в меню Фильтр или щелкнем на кнопке Применить
фильтр на панели инструментов Фильтр.
В результате фильтрации будут показаны только те
записи, для которых заданное условие выполняется.
Для удаления фильтров и вывода на экран всех записей
таблицы предназначена команда Удалить
фильтр из меню Записи.
Фильтр по
выделенному фрагменту
1) Выделим данные, которые будут
использоваться в качестве критерия фильтрации (в нашем примере выделим поле Пол
со значением «ж»};
2) в меню Записи активизируем команду Фильтр,
а в открывшемся подменю-команду Фильтр по
выделенному. Можно также щелкнуть на одноименной кнопке
на панели инструментов.
В результате фильтрации будут показаны только те
записи, для которых заданное условие выполняется,
Расширенный
фильтр
Для демонстрации возможностей расширенного фильтра
решим более сложную задачу.
Задание 8.
Пусть для
участия в олимпиаде по информатике - требуется указать студентов, отлично
успевающих по этой дисциплине.
В данном случае необходимо выполнить четыре основных
операции:
1. выбрать поля, по которым осуществляется поиск;
2. определить порядок сортировки (причем можно
использовать различный порядок сортировки для различных полей);
3. установить критерий отбора;
4. применить фильтр.
Для выполнения этого алгоритма выполним следующие
действия:
1)
откроем таблицу Годовая успеваемость группы;
2)
откроем меню Записи,
укажем меню Фильтр и выберем Расширенный фильтр;
3)
в нижнюю часть
раскрывшегося окна перетащим с помощью мыши имя поля Код студента и установим в строке Сортировка значение по возрастанию;
4)
аналогично
переместим в нижнюю часть окна поле Предмет;
5)
аналогично
переместим в нижнюю часть окна поле Оценка;
6)
в строке Условие отбора введем значение «5»;
7)
щелкнем на кнопке
Применение
фильтра на панели инструментов Фильтр или выберем команду Применить фильтр в меню Фильтр.
В результате фильтрации будут показаны записи,
удовлетворяющие указанному условию.
Заметим, что при фильтрации нельзя подавить
отображение отдельных полей и выполнить вычисления. При необходимости выполнить
такие операции необходимо использовать запрос на выборку.
Самостоятельная работа № 2
1. С помощью команды Обычный фильтр создать фильтр,
позволяющий просмотреть все оценки какого-нибудь ученика.
2. С помощью команды Фильтр по выделенному
создать фильтр, позволяющий найти сведения об учениках, живущих и Центральном
районе.
3. С помощью команды Расширенный фильтр создать фильтр,
позволяющий просмотреть все оценки по любым двум предметам.