Комплекс лабораторных работ в среде access microsoft Access является настольной субд реляционного типа, которая позволяет выполнять

Вид материалаДокументы

Содержание


Student и Department
Student и Department
Просмотр и редактирование данных в таблице
Teacher и просмотреть содержимое таблиц Subject
Post и просмотреть таблицу Teacher
Подобный материал:
1   2   3   4   5   6   7

Пример


Создадим связь между таблицами Student и Department по полю NDepartment. Откройте окно Схемы данных и перетащите с помощью мыши поле NDepartment из таблицы Student на поле NDepartment в таблице Department. В открывшемся окне установите флажок "Обеспечение целостности данных". Теперь в поле NDepartment таблицы Student невозможно внести код, отсутствующий в таблице Department. Невозможно удалить строку из таблицы Department или изменить значение поля NDepartment в этой таблице, если в таблице Student есть хотя бы одна запись с кодом факультета равным коду факультета удаляемой или изменяемой записи.

На рисунке представлено окно Схемы данных
со связью между таблицами Student и Department



Для того чтобы после изменения кода факультета в таблице Department автоматически изменялись соответствующие коды факультета в таблице Student, необходимо установить флажок Каскадное обновление связанных полей. Для того чтобы после удаления записи из таблицы Department удалялись все записи с таким же кодом факультета из таблицы Student, необходимо установить флажок каскадное удаление связанных записей.
  1. Установите еще четыре связи между таблицами, соответствующие содержанию этих таблиц.
  2. Установите следующие правила целостности:

а). запрещается удалять информацию о факультете, если на нем учится хотя бы один студент или работает хотя бы один преподаватель;

б). запрещается удалять информацию о преподавателе, если он читает хотя бы один предмет;

в). разрешить каскадное изменение во всех дочерних таблицах при изменении кода преподавателя;

г). при удалении должности разрешить каскадное удаление всех преподавателей, имеющих эту должность;

д). при добавлении нового студента установить проверку на на наличие вводимого кода факультета и вводимого кода преподавателя.

Просмотр и редактирование данных в таблице


Для просмотра и редактирования данных в таблице необходимо в окне базы данных выбрать таблицу и нажать кнопку Открыть. Появится окно с содержимым таблицы. В верхней части таблицы располагаются имена полей (или подписи, если они были определены для поля), за которыми ниже следуют строки, в которых находятся данные одной записи таблицы.

Одна запись всегда является текущей, рядом с ней расположен указатель текущей записи в виде стрелки слева от записи. В нижней части окна находятся кнопки для перемещения указателя текущей записи по таблице (на первую запись, на предыдущую, на следующую, на последнюю, на новую запись), рядом находится поле номера текущей записи и общее количество записей в таблице. Перемещаться по таблице можно также при помощи клавиш управления курсором клавиатуры.

На рисунке представлено окно просмотра содержимого таблицы Student



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

Чтобы добавить в таблицу новую запись, необходимо выбрать пункт меню Вставка, Новая запись (или нажать кнопку На новую запись, расположенную у нижней границы окна, или перейти на последнюю пустую строку таблицы, отмеченную символом звездочка) и ввести данные в поля новой записи.

Чтобы изменить существующую запись, необходимо переместить курсор в поле, данные в котором требуется изменить, ввести новые данные и нажать клавишу Tab для перехода на следующее поле. Изменения будут записаны только когда указатель на текущую запись будет перемещен на любую другую запись. До тех пор пока работа выполняется над одной записью, все изменения можно отменить, нажав клавишу Esc. Во время редактирования записи указатель на текущую запись имеет вид карандаша. Когда изменения будут зафиксированы указатель снова примет вид стрелки.

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

При изменении данных в записи таблицы, являющейся родительской по отношению к другим таблицам, могут быть внесены изменения в связанные с ней записи в дочерних таблицах или наоборот, операция изменения записи не будет выполнена, так как с ней связаны записи в других таблицах.

Ввод значений в поле, имеющее тип Поле объекта OLE, выполняется по команде меню Вставка, Объект. В открывшемся окне можно активизировать радиокнопку Создать новый и, выбрав тип объекта и нажав кнопку ОК, создать объект, или активизировать радиокнопку Создать из файла и, нажав кнопку Обзор, выбрать файл содержащий объект. После выполнения этих действий в таблице появится подпись соответствующая типу объекта, например "Точечный рисунок" для графического файла, или "Лист Microsoft Excel" для листа электронной таблицы.

Изменение объектов происходит посредством пункта меню Правка, Объект, Изменить или Открыть, или Преобразовать. При этом открывается окно приложения, которое работает с объектами этого типа. Если требуется вставить другой объект, то существующий объект нужно удалить и вставить новый.

Чтобы удалить запись необходимо установить указатель текущей записи на удаляемую запись и выбрать в меню пункт Правка, Удалить запись. При удалении записи Access запрашивает подтверждение.

При удалении одной записи в таблице, являющейся родительской по отношению к другим таблицам, могут быть удалены связанные с ней записи в дочерних таблицах или наоборот, операция удаления записи не будет выполнена, так как с ней связаны записи в других таблицах.
  1. Заполните таблицы указанными ниже данными. Заполнение таблиц нужно выполнять в указанном порядке. Почему?

Содержимое таблицы Department

NDepartment

CName

100

Математический

200

Физический

300

Экономический

Содержимое таблицы Post

NPost

CName

10

Преподаватель

20

Ст. преподаватель

30

Доцент

40

Профессор

50

Зав. кафедрой

Содержимое таблицы Teacher

NTeacher

CName

NDepartment

NPost

210

Поляков В.В.

100

30

220

Кузнецов В.А.

100

30

230

Бердино Н.Ю.

100

20

310

Стефанович Г.Б.

200

30

410

Дмитриева Л.Н.

300

50

420

Литвинас А.П.

300

40

320

Порывайло К.М.

200

10

Содержимое таблицы Subject

NSubject

CName

NHour

NTeacher

103

Информационные системы

90

210

42

Исследование операций

60

220

111

Практикум на ЭВМ

30

230

201

Физика

30

310

305

Экономическая география

90

420

302

Бухгалтерский учет

50

410

317

Экономическая информатика

80

210

193

Электротехника

60

310

218

Банковские операции

30

410

Содержимое таблицы Student

NStudent

CName

NDepartment

NIQ

NTeacher

3467589

Отличников К.Л.

100

99

210

4678455

Двоечников Н.Е.

300

30

410

5934508

Середняков А.Д.

200

64

310

7459876

Дубинин У.У.

100

41

410

2227778

Мозгов О.Г.

100

100

220

4678466

Хвостов П.П.

300

64

410

5934512

Папуасов М.Ю.

200

58

310

В поле OPhoto вставьте произвольные графические файлы.

В поле Remark введите произвольный текст.
  1. Организуйте одновременный просмотр таблиц Student, Post и Deparment в разных местах экрана дисплея.
  2. Сделайте копию таблицы Student под именами Student0, используя пункты меню Правка, Копировать и Правка, Вставить.
  3. В таблице Student0 удалите одну, текущую, строку, а затем одновременно несколько строк (например, для студентов факультета с кодом 200). Удалите таблицу.
  4. Для проверки работы установленных ограничений целостности попробуйте выполнить следующие операции по редактированию таблиц:

а). удалить информацию о математическом факультете из таблицы Department (невозможно, так как есть студенты, учащиеся на этом факультете);

б). удалить информацию о преподавателе Кузнецов В.А. из таблицы Teacher (невозможно, так как этот преподаватель ведет предметы) и Порывайло К.М. (будет удалена); восстановить информацию о преподавателе Порывайло К.М.;

в). изменить код преподавателя Кузнецова В.А. на 610 в таблице Teacher и просмотреть содержимое таблиц Subject и Student, в которых автоматически изменятся значения столбца NTeacher для предметов, которые вел преподаватель Кузнецов В.А. и студентов, для которых он является руководителем; вернуть прежнее значение кода преподавателя Кузнецова В.А.

г). удалить должность с кодом 10 из таблицы Post и просмотреть таблицу Teacher, в которой будут автоматически удалены преподаватели имеющие код должности 10 (преподаватель Порывайло К.М.); восстановить информацию о преподавателе Порывайло К.М.

д). удалитьдолжность с кодом 30 из таблицы Post (невозможно, так как каскадно вместе с этой записью должны быть удалены все преподаватели, имеющие эту должность, но такие преподаватели являются руководителями студентов, а в этом случае информация о них не может быть удалена);

е). добавить информацию о новом студенте в таблицу Student :

NStudent

CName

NDepartment

NIQ

NTeacher

354625

Куролесов И.И.

600

62

310

Невозможно, так как нет факультета с кодом 600;

ж). добавить информацию о новом студенте в таблицу Student :

NStudent

CName

NDepartment

NIQ

NTeacher

354625

Куролесов И.И.

100

62

780

Невозможно, так как нет преподавателя с кодом 780;

з). добавить информацию о новом студенте в таблицу Student :

NStudent

CName

NDepartment

NIQ

NTeacher

388688




100

62

310

Невозможно, так как поле CName должно быть заполнено.