Комплекс лабораторных работ в среде access microsoft Access является настольной субд реляционного типа, которая позволяет выполнять
Вид материала | Документы |
СодержаниеStudent и Department Student и Department Просмотр и редактирование данных в таблице Teacher и просмотреть содержимое таблиц Subject Post и просмотреть таблицу Teacher |
- План: Основные сведения, 549.41kb.
- Методическая разработка по дисциплине «Информатика» Тема: Система управления базами, 698.73kb.
- Лабораторная работа №12, 35.2kb.
- Лабораторная работа по дисциплине «Компьютерные технологии в науке и производстве», 77.14kb.
- «Обработка баз данных при помощи Microsoft Access», 1092.93kb.
- Введение в access, 119.48kb.
- З автор: Тенгиз Куправа www kuprava ru агрузка внешних данных в Excel, 47.19kb.
- Лекция №1: Стандарты языка sql, 1420.56kb.
- Методические указания к курсовой работе по предмету «Организация баз данных», 59.32kb.
- Ms access Создание базы данных, 34.31kb.
Пример
Создадим связь между таблицами Student и Department по полю NDepartment. Откройте окно Схемы данных и перетащите с помощью мыши поле NDepartment из таблицы Student на поле NDepartment в таблице Department. В открывшемся окне установите флажок "Обеспечение целостности данных". Теперь в поле NDepartment таблицы Student невозможно внести код, отсутствующий в таблице Department. Невозможно удалить строку из таблицы Department или изменить значение поля NDepartment в этой таблице, если в таблице Student есть хотя бы одна запись с кодом факультета равным коду факультета удаляемой или изменяемой записи.
На рисунке представлено окно Схемы данных
со связью между таблицами Student и Department
Для того чтобы после изменения кода факультета в таблице Department автоматически изменялись соответствующие коды факультета в таблице Student, необходимо установить флажок Каскадное обновление связанных полей. Для того чтобы после удаления записи из таблицы Department удалялись все записи с таким же кодом факультета из таблицы Student, необходимо установить флажок каскадное удаление связанных записей.
- Установите еще четыре связи между таблицами, соответствующие содержанию этих таблиц.
- Установите следующие правила целостности:
а). запрещается удалять информацию о факультете, если на нем учится хотя бы один студент или работает хотя бы один преподаватель;
б). запрещается удалять информацию о преподавателе, если он читает хотя бы один предмет;
в). разрешить каскадное изменение во всех дочерних таблицах при изменении кода преподавателя;
г). при удалении должности разрешить каскадное удаление всех преподавателей, имеющих эту должность;
д). при добавлении нового студента установить проверку на на наличие вводимого кода факультета и вводимого кода преподавателя.
Просмотр и редактирование данных в таблице
Для просмотра и редактирования данных в таблице необходимо в окне базы данных выбрать таблицу и нажать кнопку Открыть. Появится окно с содержимым таблицы. В верхней части таблицы располагаются имена полей (или подписи, если они были определены для поля), за которыми ниже следуют строки, в которых находятся данные одной записи таблицы.
Одна запись всегда является текущей, рядом с ней расположен указатель текущей записи в виде стрелки слева от записи. В нижней части окна находятся кнопки для перемещения указателя текущей записи по таблице (на первую запись, на предыдущую, на следующую, на последнюю, на новую запись), рядом находится поле номера текущей записи и общее количество записей в таблице. Перемещаться по таблице можно также при помощи клавиш управления курсором клавиатуры.
На рисунке представлено окно просмотра содержимого таблицы Student
Существует три операции с записями: добавление, изменение, удаление.
Чтобы добавить в таблицу новую запись, необходимо выбрать пункт меню Вставка, Новая запись (или нажать кнопку На новую запись, расположенную у нижней границы окна, или перейти на последнюю пустую строку таблицы, отмеченную символом звездочка) и ввести данные в поля новой записи.
Чтобы изменить существующую запись, необходимо переместить курсор в поле, данные в котором требуется изменить, ввести новые данные и нажать клавишу Tab для перехода на следующее поле. Изменения будут записаны только когда указатель на текущую запись будет перемещен на любую другую запись. До тех пор пока работа выполняется над одной записью, все изменения можно отменить, нажав клавишу Esc. Во время редактирования записи указатель на текущую запись имеет вид карандаша. Когда изменения будут зафиксированы указатель снова примет вид стрелки.
При выполнении этих операций отслеживаются установленные ограничения целостности для связанных таблиц. При изменении значений или вводе новых значений в связанные поля выполняется проверка на наличие таких значений в родительских таблицах и при их отсутствии появится сообщение об ошибке, но не ранее чем Вы переместите указатель текущей записи на другую запись. Изменения не будут приняты, пока данные во всех полях не будут удовлетворять установленным ограничениям.
При изменении данных в записи таблицы, являющейся родительской по отношению к другим таблицам, могут быть внесены изменения в связанные с ней записи в дочерних таблицах или наоборот, операция изменения записи не будет выполнена, так как с ней связаны записи в других таблицах.
Ввод значений в поле, имеющее тип Поле объекта OLE, выполняется по команде меню Вставка, Объект. В открывшемся окне можно активизировать радиокнопку Создать новый и, выбрав тип объекта и нажав кнопку ОК, создать объект, или активизировать радиокнопку Создать из файла и, нажав кнопку Обзор, выбрать файл содержащий объект. После выполнения этих действий в таблице появится подпись соответствующая типу объекта, например "Точечный рисунок" для графического файла, или "Лист Microsoft Excel" для листа электронной таблицы.
Изменение объектов происходит посредством пункта меню Правка, Объект, Изменить или Открыть, или Преобразовать. При этом открывается окно приложения, которое работает с объектами этого типа. Если требуется вставить другой объект, то существующий объект нужно удалить и вставить новый.
Чтобы удалить запись необходимо установить указатель текущей записи на удаляемую запись и выбрать в меню пункт Правка, Удалить запись. При удалении записи Access запрашивает подтверждение.
При удалении одной записи в таблице, являющейся родительской по отношению к другим таблицам, могут быть удалены связанные с ней записи в дочерних таблицах или наоборот, операция удаления записи не будет выполнена, так как с ней связаны записи в других таблицах.
- Заполните таблицы указанными ниже данными. Заполнение таблиц нужно выполнять в указанном порядке. Почему?
Содержимое таблицы 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 введите произвольный текст.
- Организуйте одновременный просмотр таблиц Student, Post и Deparment в разных местах экрана дисплея.
- Сделайте копию таблицы Student под именами Student0, используя пункты меню Правка, Копировать и Правка, Вставить.
- В таблице Student0 удалите одну, текущую, строку, а затем одновременно несколько строк (например, для студентов факультета с кодом 200). Удалите таблицу.
- Для проверки работы установленных ограничений целостности попробуйте выполнить следующие операции по редактированию таблиц:
а). удалить информацию о математическом факультете из таблицы 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 должно быть заполнено.