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

Лабораторная работа №2. Добавление, изменение и проверка корректности данных в таблицах.

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

Другой важной функцией, которую должна обеспечивать система управления базами данных, является поддержка целостности данных. Правила, обеспечивающие целостность данных, дополняют правила, обеспечивающие ссылочную целостность, Access 97 позволяет определить правила, обеспечивающие целостность данных как на уровне полей, так и на уровне таблиц. Правила, обеспечивающие целостность данных, задаются в виде выражений, вводимых в свойство "Условие на значение" (Validation Rule) нолей или таблиц.

Цель работы

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

Домашнее задание.

Рассмотреть основные методы выделения, изменения, добавления и удаления записей в таблицах . Ознакомиться со следующими разделами Справочной системы АССESS 97:

  • Создание, импорт и связывание таблиц.

  • Создание таблицы.

  • Добавление полей и выбор типов данных.

  • Настройка полей.

  • Работа с таблицей в режиме таблицы.

  • Определение связей и обеспечение целостности данных

  • Выделение, копирование, перемещение и удаление данных.

Заданние 1. Работа с Буфером обмена Windows.

При работе в режиме таблицы Буфер обмена Windows можно использовать для копи­рования и вставки данных из других приложении. Можно также использовать Буфер обмена для ввода повторяющихся данных. Access 97 позволяет выделить диапазон яче­ек таблицы данных и скопировать его в Буфер обмена. Чтобы выделить диапазон ячеек таблицы:

  1. Переместите указатель мыши в левый верхний угол первой ячейки диапазона. Ука­затель мыши примет форму знака плюс.

  2. Нажмите левую кнопку мыши и, удерживая ее, перемещайте указатель мыши.

  3. Выделенный диапазон ячеек заливается темным цветом. Отпустите кнопку мыши,когда будет выделен требуемый диапазон ячеек.

На рисунке 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 не позволит сохранить запись в подчиненной таблице, которой не соответствует ни одна запись в главной таблице. Поэтому проверка корректности кода сотрудника, с которым связано мероприятие, не нужна. Для обеспе­чения корректности данных в полях "КодОтветственного" и "КодНачальника" необхо­димо проверять значения этих полей на совпадение с кодом одного из сотрудников в таблице "Сотрудники". Такая проверка обсуждена далее. Чтобы добавить условия на значение полей таблицы "Персональные мероприятия":

  1. Откройте таблицу "Персональные мероприятия" в режиме конструктора.

  2. Выделите поле "КодСотрудника".

  3. Нажмите клавишу <F6> и поместите точку вставки в поле ввода "Условие на значе­ние".

  4. Введите >0 и нажмите клавишу <Enter>. Точка вставки переместится в поле ввода "Сообщение об ошибке".

  5. Введите строку: Введите правильный код сотрудника. Если текст не помещается целиком в поле ввода, то он прокручивается влево. Чтобы перейти в начало текста сообщения об ошибке, нажмите клавишу <Нomе>. Чтобы перейти к последнему символу строки, нажмите клавишу <End>. После завершения ввода строки нажмите клавишу <Enter>.

  6. Поместите точку вставки в поле ввода "Обязательное поле" (Required) и выберите "Да" в раскрывающемся списке. На рисунке 2 показаны свойства поля "КодСотрудника" после определения условий на значение.

  7. Нажмите клавишу <F6>, чтобы перейти в бланк структуры таблицы, выделите сле­дующее поле и нажмите клавишу <F6>.

  8. Введите условия на значение и текст сообщения об ошибке для оставшихся полей таблицы, повторяя процедуру с шага 3 до шага 5. Установите для свойства "Обя­зательное поле" полей "ТипМероприятия", "КодОтветственного" и "ДатаПлан" значение "Да".

Рис. 2. Свойства поля "КодСотрудника"

Задание 3. Определение условий на значение записей

Значение поля "ДатаФакт" таблицы "Персональные мероприятия" не должно превы­шать значение поля "ДатаПлан". Поэтому для проверки корректности значения поля "ДатаФакг" это значение нужно сравнить со значением поля "ДатаПлан". В Access 97 нельзя задать условия на значения полей. Вместо этого можно задать условие на значе­ние записи таблицы. В условии на значение записи могут сравниваться одновременно значения нескольких полей. Условие на значение записи и текст сообщения об ошибке, появляющийся при нарушении этого условия, можно задать в диалоговом окне "свой­ства таблицы" (Table Properties).

Чтобы определить условие на значение записи для поля "ДатаФакт":

  1. Откройте таблицу "Персональные мероприятия" в режиме конструктора и нажмите кнопку "Свойства" (Properties) на панели инструментов. Появится диалоговое окно "Свойства таблицы" (рис. 3).

  2. В поле ввода "Описание" введите Персональные мероприятия по отделу.

  3. Поместите точку вставки в поле ввода "Условие на значение" и нажмите кнопку "..." справа от поля ввода (рис. 3). Появится диалоговое окно Построителя выражений (рис. 4). В левом списке этого диалогового окна выделена таблица "Персональные мероприятия", а в центральном списке выводится список полей табли­цы.

  4. Дважды щелкните левой кнопкой мыши по элементу "ДатаФакт" в списке полей таблицы. В окне выражения появится строка [ДатаФакт].

  5. Введите >= в окне выражения и дважды щелкните левой кнопкой мыши по элемен­ту "ДатаПлан" в списке полей таблицы, чтобы добавить его в выражение.

Рис. 3. Диалоговое окно "Свойства таблицы"

  1. При создании таблицы "Персональные мероприятия" в поле "ДатаФакт" планирова­лось хранить пустые значения для мероприятий, которые еще не произошли. Поэто­му добавьте к выражению, задающему условие назначение, строку Or [ДатаФакт] Is Null (рис. 4).

  2. Чтобы закрыть окно построителя выражений и добавить условие на значение записей таблицы, нажмите кнопку ОК.

  3. Поместите точку вставки в поле ввода "Сообщение об ошибке" и введите текст со­общения об ошибке: Дата проведения мероприятия не может предшествовать за­планированной дате мероприятия (рис. 5).

  4. Закройте окно "Свойства таблицы", нажав кнопку "Закрыть" в правом верхнем углу окна или нажав кнопку "Свойства" на панели инструментов.

Рис. 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). Подтвердите удаление, нажав кнопку "Да".