- •Рязанский государственный радиотехнический университет
- •Учебно-методический комплекс по дисциплине сд.Р.06 «инфорационные сети, базы данных»
- •653700 «Приборостроение»
- •200106 – «Информационно-измерительная техника и технологии»
- •Работа № 1 работа с базами данных и таблицами.
- •2.1 Разработка таблицы "Персональные мероприятия"
- •2.2 Разбиение информации но полям.
- •2.3 Создание таблицы "Персональные мероприятия"
- •2.4 Определение значения по умолчанию для поля.
- •3.1. Отношения между таблицами.
- •4.1 Выбор ключа таблицы
- •4.2 Индексирование таблицы.
- •5.3 Изменение свойств полей и связей между таблицами.
- •5.4 Изменение связей между таблицами
- •Лабораторная работа №2. Добавление, изменение и проверка корректности данных в таблицах.
- •Цель работы
- •Домашнее задание.
- •Лабораторная работа № 3 Сортировка, поиск и фильтрация данных в таблицах
- •Сортировка таблицы по значению одного поля.
- •Сортировка таблицы по значению нескольких полей
- •Поиск записей по значению поля.
- •Отбор данных при помощи фильтров
- •Фильтр по выделенному фрагменту.
- •Обычный фильтр.
- •Расширенный фильтр и расширенная сортировка
- •Добавление сортировки по нескольким столбцам и составного критерия отбора
- •Сохранение и загрузка фильтра в качестве запроса
- •1. Создание простого запроса
- •2. Добавление полей в запрос.
- •3. Задание условия отбора и порядка сортировки результатов запроса
- •4. Создание более сложных запросов
- •5. Изменение полей таблицы при помощи запроса
- •6. Изменение заголовков полей в запросе
- •7. Сохранение запросов
- •Создание запросов других видов
- •8. Использование простых запросов на создание таблиц
- •9. Добавление параметра к запросу
- •10. Преобразование запросов по образцу в запросы на языке sql
- •Лабораторная работа № 5 запросы по нескольким таблицам и перекрёстные запросы
- •1. Соединение таблиц для создания многотабличного запроса
- •1.1 Создание внутреннего соединения по одному полю
- •1.2. Определение порядка сортировки результатов запроса
- •1.3. Создание запросов на выборку данных из таблиц с косвенными связями
- •1.4. Создание внутреннего соединения по нескольким полям
- •2. Использование полей подстановок
- •2.1 Добавление списка, задающего значение внешнего ключа, при помощи Мастера подстановок
- •2.2 Добавление списка постоянных значений к полю таблицы
- •Введите строку 03-94, чтобы вывести данные для марта 1995 года (рис. 10.51).
- •Нажмите кнопку ок для вывода результирующего множества запроса(рис.52).
Лабораторная работа №2. Добавление, изменение и проверка корректности данных в таблицах.
Простота добавления и изменения информации является одним из основных критериев эффективности систем управления базами данных. В большинстве приложений Access для добавления и редактирования данных используются формы. Тем не менее, существуют случаи, когда добавление данных в режиме таблицы является более эффективным, особенно на этапе разработки приложения. Например, при разработке новой базы данных перед созданием форм и отчетов необходима проверка структуры базы. Изменение структуры таблиц и отношений между таблицами после создания форм и отчетов может вызвать дополнительные трудности в разработке приложения. Дня проверки структуры базы часто требуется вводить в нее тестовые данные. В этом случае для добавления данных лучше использовать режим таблицы. При импорте данных из текстового файла, электронной таблицы или базы другого формата часто нужно изменять импортируемые данные, чтобы сделать их формат совместимым с разрабатываемым приложением. И в этом случае использование режима таблицы для редактирования данных является более предпочтительным.
Другой важной функцией, которую должна обеспечивать система управления базами данных, является поддержка целостности данных. Правила, обеспечивающие целостность данных, дополняют правила, обеспечивающие ссылочную целостность, Access 97 позволяет определить правила, обеспечивающие целостность данных как на уровне полей, так и на уровне таблиц. Правила, обеспечивающие целостность данных, задаются в виде выражений, вводимых в свойство "Условие на значение" (Validation Rule) нолей или таблиц.
Цель работы
Рассмотреть основные методы выделения, изменения, добавления и удаления записей в таблицах. Кроме того, освоить основные приемы работы с Буфером обмена Windows, а также определения условий на значение полей и записей.
Домашнее задание.
Рассмотреть основные методы выделения, изменения, добавления и удаления записей в таблицах . Ознакомиться со следующими разделами Справочной системы АССESS 97:
Создание, импорт и связывание таблиц.
Создание таблицы.
Добавление полей и выбор типов данных.
Настройка полей.
Работа с таблицей в режиме таблицы.
Определение связей и обеспечение целостности данных
Выделение, копирование, перемещение и удаление данных.
Заданние 1. Работа с Буфером обмена Windows.
При работе в режиме таблицы Буфер обмена Windows можно использовать для копирования и вставки данных из других приложении. Можно также использовать Буфер обмена для ввода повторяющихся данных. Access 97 позволяет выделить диапазон ячеек таблицы данных и скопировать его в Буфер обмена. Чтобы выделить диапазон ячеек таблицы:
Переместите указатель мыши в левый верхний угол первой ячейки диапазона. Указатель мыши примет форму знака плюс.
Нажмите левую кнопку мыши и, удерживая ее, перемещайте указатель мыши.
Выделенный диапазон ячеек заливается темным цветом. Отпустите кнопку мыши,когда будет выделен требуемый диапазон ячеек.
На рисунке 1 показана таблица "Клиенты" с выделенным диапазоном ячеек. Выделенные ячейки можно копировать в Буфер обмена, но их нельзя вырезать.
Рис. 1. Прямоугольный блок ячеек, выделенный в режиме таблицы
Если при вставке из Буфера обмена данные имеют тип и размер, соответствующие типу и размеру поля, в которое они вставляются, то все данные попадают в это поле. Для работы с Буфером обмена можно использовать кнопки "Удалить в буфер" (Cut), "Копировать в буфер" (Copy) и "Вставить из буфера" (Paste) на панели инструментов или команды "Правка, Вырезать" (Edit, Cut). "Правка, Копировать" (Edit, Copy) и "Правка, Вставить" (Edit, Paste).
Проверка корректности данных.
Данные, которыми заполняются таблицы, могут представлять какую-либо ценность только в том случае, если они являются корректными. Даже опытные пользователи, заполняющие таблицы, могут допустить ошибку и добавить в таблицу неверные данные. Access 97 позволяет проверить корректность введенных данных с помощью простых выражений, присваиваемых свойству "Условие на значение". Если введенные данные не соответствуют условию назначение, то появится диалоговое окно, сообщающее пользователю об ошибке. Проверка данных на соответствие условию назначение, вместе с режимом обеспечения ссылочной целостности позволяют поддерживать целостность данных.
Выражения являются атомарными элементами языков программирования. Access 97 позволяет создавать выражения, не требуя от пользователя специальной подготовки, хотя даже самое поверхностное знакомство с языками программирования очень полезно при создании выражений. Выражения используются для вычисления различных величин и содержат, по крайней мере, один оператор (например, арифметические операторы, операторы сравнения и т. д.). Чаще всего используются арифметические операторы +, -, * (оператор умножения), / (оператор деления). Эти знакомые всем знаки называются операторами, поскольку они оперируют с (используют) величинами, стоящими слева и справа от знака операции.
Существуют операторы, позволяющие сравнивать значения своих операндов. Эти операторы называются операторами сравнения (например, > (знак больше), = (знак равенства) и т. д). Логические операторы (And, Or, Is, Not, Between и Like) возвращают в качестве результата одно из значений "Истина" (True), "Ложь" (False) или пустое значение (Null), если результат вычислить невозможно. Оператор & используется для слияния (конкатенации) двух строк в одну. В Access 97 для слияния строк также можно использовать оператор +, но оператор & предоставляет дополнительные возможности, и поэтому предпочтительней использовать именно его. Access 97 позволяет создавать сложные выражения из простых, комбинируя их в соответствии с синтаксисом операторов.
В условиях на значение используются выражения, возвращающие одно из значений "Истина" (данные корректны) или "Ложь" (ошибка в данных). Если данные записи не удовлетворяют условию назначение, то при переходе к другой записи или попытке сохранить изменения, появляется диалоговое окно, сообщающее об этом.
Задание 2. Определение условий на значение полей.
Условия на значения, проверяющие корректность данных только в одном поле, независимо от значений других полей, называются условиями на значение поля. В таблице 1 приведен список условий на значение для таблицы "Персональные мероприятия".
Таблица 1.Условия назначения полей таблицы "Персональные мероприятия"
Поле |
Условие на значение |
Текст сообщения об ошибке
|
КодСотрудиика
|
>0
|
Введите правильный код сотрудника
|
ТипМероприятия
|
"П" Or "У Or "К" Or "Г" Or "М" Or "Н" Or "О"
|
Недопустимый код. Допустимы только коды "П", "У, "М", "К", "Г","Н"и"0"
|
КодОтветствен-ного
|
>0 |
Введите правильный код сотрудника, ответственного за мероприятие
|
ДатаПлан |
Between Date() -365 And Date() + 365
|
Мероприятие не может быть запланировано более чем на один год вперед
|
КодНачальника |
>0 Or Is Null |
Введите правильный код начальника или оставьте поле пустым
|
Рейтинг
|
Between 0 And 9 Or Is Null
|
Введите правильный рейтинг сотрудника (число от 0 до 9) или оставьте поле пустым |
Сумма |
Не определено |
Нет
|
Примечание |
Не определено |
Нет |
Условия назначения полей "КодСотрудника", "КодОтветственного" и "КодНачаль-ника" не могут определить, правильно ли был введен код Например, в одно из этих полей может быть введен код, которого нет в таблице "Сотрудники". Тем не менее, поскольку при создании связи с таблицей "Сотрудники" был установлен режим обеспечения ссылочной целостности. Access 97 не позволит сохранить запись в подчиненной таблице, которой не соответствует ни одна запись в главной таблице. Поэтому проверка корректности кода сотрудника, с которым связано мероприятие, не нужна. Для обеспечения корректности данных в полях "КодОтветственного" и "КодНачальника" необходимо проверять значения этих полей на совпадение с кодом одного из сотрудников в таблице "Сотрудники". Такая проверка обсуждена далее. Чтобы добавить условия на значение полей таблицы "Персональные мероприятия":
Откройте таблицу "Персональные мероприятия" в режиме конструктора.
Выделите поле "КодСотрудника".
Нажмите клавишу <F6> и поместите точку вставки в поле ввода "Условие на значение".
Введите >0 и нажмите клавишу <Enter>. Точка вставки переместится в поле ввода "Сообщение об ошибке".
Введите строку: Введите правильный код сотрудника. Если текст не помещается целиком в поле ввода, то он прокручивается влево. Чтобы перейти в начало текста сообщения об ошибке, нажмите клавишу <Нomе>. Чтобы перейти к последнему символу строки, нажмите клавишу <End>. После завершения ввода строки нажмите клавишу <Enter>.
Поместите точку вставки в поле ввода "Обязательное поле" (Required) и выберите "Да" в раскрывающемся списке. На рисунке 2 показаны свойства поля "КодСотрудника" после определения условий на значение.
Нажмите клавишу <F6>, чтобы перейти в бланк структуры таблицы, выделите следующее поле и нажмите клавишу <F6>.
Введите условия на значение и текст сообщения об ошибке для оставшихся полей таблицы, повторяя процедуру с шага 3 до шага 5. Установите для свойства "Обязательное поле" полей "ТипМероприятия", "КодОтветственного" и "ДатаПлан" значение "Да".
Рис. 2. Свойства поля "КодСотрудника"
Задание 3. Определение условий на значение записей
Значение поля "ДатаФакт" таблицы "Персональные мероприятия" не должно превышать значение поля "ДатаПлан". Поэтому для проверки корректности значения поля "ДатаФакг" это значение нужно сравнить со значением поля "ДатаПлан". В Access 97 нельзя задать условия на значения полей. Вместо этого можно задать условие на значение записи таблицы. В условии на значение записи могут сравниваться одновременно значения нескольких полей. Условие на значение записи и текст сообщения об ошибке, появляющийся при нарушении этого условия, можно задать в диалоговом окне "свойства таблицы" (Table Properties).
Чтобы определить условие на значение записи для поля "ДатаФакт":
Откройте таблицу "Персональные мероприятия" в режиме конструктора и нажмите кнопку "Свойства" (Properties) на панели инструментов. Появится диалоговое окно "Свойства таблицы" (рис. 3).
В поле ввода "Описание" введите Персональные мероприятия по отделу.
Поместите точку вставки в поле ввода "Условие на значение" и нажмите кнопку "..." справа от поля ввода (рис. 3). Появится диалоговое окно Построителя выражений (рис. 4). В левом списке этого диалогового окна выделена таблица "Персональные мероприятия", а в центральном списке выводится список полей таблицы.
Дважды щелкните левой кнопкой мыши по элементу "ДатаФакт" в списке полей таблицы. В окне выражения появится строка [ДатаФакт].
Введите >= в окне выражения и дважды щелкните левой кнопкой мыши по элементу "ДатаПлан" в списке полей таблицы, чтобы добавить его в выражение.
Рис. 3. Диалоговое окно "Свойства таблицы"
При создании таблицы "Персональные мероприятия" в поле "ДатаФакт" планировалось хранить пустые значения для мероприятий, которые еще не произошли. Поэтому добавьте к выражению, задающему условие назначение, строку Or [ДатаФакт] Is Null (рис. 4).
Чтобы закрыть окно построителя выражений и добавить условие на значение записей таблицы, нажмите кнопку ОК.
Поместите точку вставки в поле ввода "Сообщение об ошибке" и введите текст сообщения об ошибке: Дата проведения мероприятия не может предшествовать запланированной дате мероприятия (рис. 5).
Закройте окно "Свойства таблицы", нажав кнопку "Закрыть" в правом верхнем углу окна или нажав кнопку "Свойства" на панели инструментов.
Рис. 4. Диалоговое окно Построителя выражений.
Задание 4. Добавление записей в таблицу "Персональные мероприятия"
В таблице 2 приведены данные о приеме на работу каждого из 9 сотрудников компании Борей, которые нужно ввести в таблицу "Персональные мероприятия".
Рис 5. Добавление текста сообщения об ошибке.
Значения полей "ДатаПлан" и "ДатаФакт" определены на основе поля "ДатаНайма" таблицы "Сотрудники". После заполнения таблицы "Персональные мероприятия" данными о приеме сотрудников на работу, поле "ДатаНайма" может быть удалено из таблицы "Сотрудники", поскольку в таблице "Персональные мероприятия" уже хранятся сведения о дате найма сотрудников.
При заполнении поля "Сумма" можно быть как скупым, так и щедрым по отношению к сотрудникам. В любом случае это никак не скажется ни на ваших взаимоотношениях с несуществующими сотрудниками вымышленной фирмы, ни на ваших финансовых средствах.
Заполнение таблицы "Персональные мероприятия" данными о приеме сотрудников на работу достаточно быстрый процесс, особенно для опытных пользователей. В процессе заполнения таблицы можно проверить правильность определения значений свойств "Значение по умолчанию" и "Формат поля". Можно попробовать ввести в таблицу некорректные данные, чтобы проверить условия на значение полей и записей.
Таблица 2. Сведения о найме сотрудников.
Код Тип Ответственный Дата-План Начальник Сумма
|
1 П 1 01-май-92 2 000000 |
2 П 1 14-авг-92 3 500000 |
3 П 1 0l-апр-92 2 250000 |
4 Д 2 0З-май-93 2 2 250000 |
5 П 2 17-окт-93 2 2 500000 |
6 П 2 17-окт -93 2 4 000000 |
7 П 2 02-янв-94 2 3 000000 |
8 П 2 05-мар-94 2 2 500000 |
9 П 2 15-ноя-94 2 3 000000 |
Чтобы заполнить первые 9 записей таблицы "Персональные мероприятия", используйте данные из таблицы 2:
1. Откройте таблицу "Персональные мероприятия" в режиме таблицы Установите точку вставки в первое поле хвостовой записи.
2. Введите значение поля "КодСотрудника". Маркер текущей записи изменится на маркер изменяемой записи, а под ней появится новая хвостовая запись. Чтобы ввести значение следующего поля, нажмите клавишу <Enter>, клавишу <Таb> или клавишу <>. Помните о том, что новая запись не добавляется в таблицу, пока не будут сохранены изменения или не будет выделена другая запись.
3. Введите значение полей "ТипМероприятия" и "КодОтветственного" и нажмите клавишу <Enter>.
4. Введите значение запланированной даты мероприятия. Заметьте, что при вводе нового значения старое удалять не нужно. Нужно просто начать вводить дату Она заменит значение по умолчанию. Нажмите клавишу <Enter>.
5. Введите значение кода начальника для тех записей, у которых оно определено, и нажмите клавишу <Enter>.
6. Введите значение даты проведения мероприятия и дважды нажмите клавишу <Еnter>, <Tаb> или <>, чтобы пропустить поле 'Тейтннг", значение которого не определяется при приеме сотрудника на работу.
7. Введите значение месячного заработка сотрудника в момент приема на работу.
8. В поле "Примечание" введите комментарии о мероприятии. Нажмите клавишу <Еnter>, <Tаb> или <>. Точка вставки переместится в первое поле хвостовой записи.
9. Введите данные об оставшихся восьми сотрудниках, повторив шаги 2—8.
После того как информация о приеме сотрудников на работу будет введена, таблица "Персональные мероприятия" примет вид, показанный на рисунке 6.
Рис.6. Первые 9 записей таблицы "Персональные мероприятия
При попытке добавить данные в поля, для которых определены условия на значение, появляются сообщения об ошибке.
Отредактируйте или введите заново данные удовлетворяющие установленным условиям на значение. Если при вводе в таблицу корректных данных появляется сообщение об ошибке, то скорее всего условие назначение задано неверно. В этом случае перейдите в режим конструктора таблиц и проверьте правильность условий на значение, сверяя их с таблицей 2. Можно попробовать временно удалить условие на значение, вырезав его в Буфер обмена (потом условие на значение можно вставить обратно из Буфера обмена), переключиться в режим таблицы и продолжить ее заполнение.
Задание 5. Проверка корректности данных в таблице "Персональные мероприятия"
Теперь с таблицей 'Персональные мероприятия" можно экспериментировать, добавляя в нее различные данные с целью проверки работы условий на значение и средств обеспечения ссылочной целостности данных. Тестирование приложений баз данных часто занимает гораздо больше времени, чем их разработка. Следующие тестовые примеры помогут проверить правильность работы условий на значение и режима ссылочной целостности:
1. Ссылочная целоситость. Введите в поле "КодСотрудника" хвостовой записи таблицы "Персональные мероприятия" значение 25, а в поле "КодОтветственного" значение 2 и нажмите клавишу <>. Нажатие клавиши <> означает сохранение изменений в ней и выделение предыдущей записи. При попытке сохранения изменений в новой записи Асcssе 97 автоматически проверяет, существует ли в таблице "Сотрудники" запись,, на которую ссылается по значению поля "КодСотрудннка" новая запись таблицы "Персональные мероприятия". Если такой записи не существует, то появляется сообщение об ошибке (рис. 7). Нажмите кнопку ОК или нажмите клавишу <Enter>.
Рис. 7. Сообщение о нарушении ссылочной целостности данных.
2. Уникальность значения ключа таблицы. В только что добавленной записи введите значения полей, совпадающие с предыдущей записью, а затем нажмите клавишу <>. Появится сообщение об ошибке (рис. 8). Нажмите кнопку ОК или наймите клавишу <Enter>.
Рис. 8. Сообщение о нарушении уникальности значений ключа таблицы.
3. Проверка корректности значений полей. Введите в поле "КодСотрудника" значение Ы и нажмите клавишу <>. Появится сообщение об ошибке, текст которого был введен в свойство "Сообщение об ошибке" поля "КодСотрудиика". Нажмите кнопку ОК.
Рис. 9. Сообщение о нарушении условия ни значение поля ''КодСотрудника"
Введите в поле "ТипМероприятия" значение п и нажмите клавишу
<>. После того как точка вставки покинет поле "ТипМероприятия", значение этого поля должно измениться на П, поскольку был использован формат ">@". В поде "КодОтветственного" введите значение 0 и нямсмоте к-првишу <>. Появится сообщение об ошибке, текст которого был введен в свойство "Сообщение об ошибке" поля "КодОтветственного" (рис.10). Нажмите кнопку ОК.
Рис.10. Сообщение о нарушении условия назначение ноля "КодОтветственного"
Продолжайте процесс тестирования. Введите значение 01/01/80 в поля "ДатаПлан" и "ДатаФакт", чтобы проверить работу условия на значение поля "ДатаПлан". Чтобы изменить значение поля, а не вводить заново его содержимое, выделите поле и нажмите клавишу <F2>, которая является переключателем между режимами перемещения и редактирования таблицы. После окончания тестирования, выделите запись таблицы, которая использовалась для тестирования, и нажмите клавишу <Delete>. Появится диалоговое окно, запрашивающее подтверждение удаления записи (рис.11). Подтвердите удаление, нажав кнопку "Да".
