2. С В Я З И ТА Б Л И Ц
Все связи – отображает связанные таблицы
Очистить макет – убирает таблицы из виду
Скрыть таблицу – прячет выделенную таблицу
Прямые связи - отображает связи от
конкретной таблицы 2
4. С В Я З И ТА Б Л И Ц
Отобразить таблицу +
Изменение связей
4
5. Создание связей:
• Связь между таблицами
устанавливается автоматически при
создании подстановки с помощью
мастера подстановок из другой
таблицы;
• Перетаскивание одноименных
полей с одинаковым типом данных
из одной таблицы на другую;
5
9. 1. Сохранения целостности данных состоит в
недопущении непарных записей и поддержании
ссылок в синхронизированном состоянии, чтобы
исключить появление записей со ссылками на
несуществующие записи. Access будет отклонять
обновления и удаления, изменяющие конец ссылки.
2. Access будет отклонять каждую операцию,
нарушающую целостность данных для этой
межтабличной связи. Если же обновить первичный
ключ, Access автоматически обновит все поля,
ссылающиеся на этот первичный ключ.
3. При удалении записи на стороне первичного
ключа в отношении, Access автоматически удалит все
записи со ссылкой на первичный ключ. 9
10. Зачем создавать межтабличные связи?
• Межтабличные связи предоставляют
сведения для структуры запросов
• Межтабличные связи предоставляют
сведения для структуры форм и отчетов
• Межтабличные связи — это та основа, с
помощью которой можно обеспечить
целостность данных, чтобы в базе данных
не было непарных записей.
10
14. Т_Студенты
Личный номер Фамилия студента Курс
11 Котова 4
22 Серова 1
33 Леонидов 3
Т_Дисциплины
Код дисциплины Название дисциплины Семестр
1 Высшая математика 2
2 Иностранный язык 3
3 Философия 1
4 Психология 9
5 Спецкурс 10
Объединение таблиц
14
15. Запрос: Какие экзамены сданы всеми
студентами, которые закончили учебный год?
Студенты (семестр <= 2*курс) Дисциплины
Личный
номер
Фамилия
студента
Курс Код
дисциплины
Название
дисциплины
Семестр
11 Котова 4 1 Высшая математика 2
11 Котова 4 2 Иностранный язык 3
11 Котова 4 3 Философия 1
22 Серова 1 1 Высшая математика 2
22 Серова 1 3 Философия 1
33 Леонидов 3 1 Высшая математика 2
33 Леонидов 3 2 Иностранный язык 3
33 Леонидов 3 3 Философия 1
15
16. Т_Оценка
Личный номер Код дисциплины Оценка
11 1 5
11 2 4
11 3 5
22 1 3
22 3 4
33 2 5
Экви-соединения. Даны три отношения
Т_Студенты
Личный
номер
Фамилия
студента
11 Котова
22 Серова
33 Леонидов
Т_Дисциплины
Код
дисциплины
Название дисциплины
1 Высшая математика
2 Иностранный язык
3 Философия
16
17. Совпадают поля Личный номер (их необходимо
переименовать)
Личный
номер 1
Фамилия
студента
Личный
номер 2
Код
дисциплины
Оценка
11 Котова 11 1 5
11 Котова 11 2 4
11 Котова 11 3 5
22 Серова 22 1 3
22 Серова 22 3 4
33 Леонидов 33 2 5
Если необходимо получить из данных отношений
информацию, касающуюся всех оценок, полученных
студентами, то нужно использовать экви-соединение.
Т_студенты [Личный_номер =
Личный_номер] Т_Оценки
17
19. Примеры использования реляционных операторов
Пример1: Получить фамилии студентов, сдавших
дисциплину с кодом 3
Решение:
((Т_Оценки join Т_Студенты)
Where Код_дисциплины = 3) [Фамилия_студента]
Личный
номер
Фамилия
студента
Код
дисциплины
Оценка
11 Котова 3 5
22 Серова 3 4
Фамилия студента
Котова
Серова
19
20. Пример2: Получить фамилии студентов, сдавших
философию
Решение:
(((Т_Дисциплины Where Название_дисциплины =
философия) join Т_Оценки ) join Т_Студенты)
[Фамилия_студента]
Личный
номер
Фамилия
студента
Код
дисциплины
Название
дисциплины
Оценка
11 Котова 3 Философия 5
22 Серова 3 Философия 4
Фамилия студента
Котова
Серова
20
21. Пример3: Получить фамилии студентов, не сдавших
дисциплину с кодом 3
Решение:
((Т_Студенты [Личный_номер] minus
((Т_Студенты join Т_Оценки)
Where Код_дисциплины = 3) [Личный_номер])
join Т_Студенты ) [Фамилия_студента]
Личный
номер
Фамилия
студента
Код
дисциплины
Название
дисциплины
Оценка
33 Леонидов 2 Иностранный язык 5
Фамилия студента
Леонидов
21
22. Левое соединение: A left join B
Правое соединение: A right join B
Пример4: Узнать средний балл оценок
Решение:
(Т_Оценки Rename Оценка As Средняя)
[Средняя] = Avg (Т_Оценки [Средняя] )
Средняя
4,33
22