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

More Related Content

More from Evgeniy Golendyhin

21 элементы управление
21  элементы управление21  элементы управление
21 элементы управление
Evgeniy Golendyhin
 
20 объект. экранная форма
20  объект. экранная форма20  объект. экранная форма
20 объект. экранная форма
Evgeniy Golendyhin
 
11 ms acces_приемы работыt
11 ms acces_приемы работыt11 ms acces_приемы работыt
11 ms acces_приемы работыt
Evgeniy Golendyhin
 
8 9 этапы проектированиябд
8 9 этапы проектированиябд8 9 этапы проектированиябд
8 9 этапы проектированиябд
Evgeniy Golendyhin
 
7 основные операции реляции
7 основные операции реляции7 основные операции реляции
7 основные операции реляции
Evgeniy Golendyhin
 
5 даталогич модельбд
5 даталогич модельбд5 даталогич модельбд
5 даталогич модельбд
Evgeniy Golendyhin
 
4_Основные понятия и типы модели
4_Основные понятия и типы модели4_Основные понятия и типы модели
4_Основные понятия и типы модели
Evgeniy Golendyhin
 
3_БД_Основные понятия
3_БД_Основные понятия3_БД_Основные понятия
3_БД_Основные понятия
Evgeniy Golendyhin
 
2_Введение_основные_понятия
2_Введение_основные_понятия2_Введение_основные_понятия
2_Введение_основные_понятия
Evgeniy Golendyhin
 

More from Evgeniy Golendyhin (13)

21 элементы управление
21  элементы управление21  элементы управление
21 элементы управление
 
20 объект. экранная форма
20  объект. экранная форма20  объект. экранная форма
20 объект. экранная форма
 
12 ms access
12 ms access12 ms access
12 ms access
 
11 ms acces_приемы работыt
11 ms acces_приемы работыt11 ms acces_приемы работыt
11 ms acces_приемы работыt
 
10 субд
10 субд10 субд
10 субд
 
8 9 этапы проектированиябд
8 9 этапы проектированиябд8 9 этапы проектированиябд
8 9 этапы проектированиябд
 
7 основные операции реляции
7 основные операции реляции7 основные операции реляции
7 основные операции реляции
 
6 рмд
6 рмд6 рмд
6 рмд
 
5 даталогич модельбд
5 даталогич модельбд5 даталогич модельбд
5 даталогич модельбд
 
4_Основные понятия и типы модели
4_Основные понятия и типы модели4_Основные понятия и типы модели
4_Основные понятия и типы модели
 
3_БД_Основные понятия
3_БД_Основные понятия3_БД_Основные понятия
3_БД_Основные понятия
 
2_Введение_основные_понятия
2_Введение_основные_понятия2_Введение_основные_понятия
2_Введение_основные_понятия
 
1 Введение
1 Введение1 Введение
1 Введение
 

16 взаимосвязи таблиц

  • 1. 1
  • 2. С В Я З И ТА Б Л И Ц Все связи – отображает связанные таблицы Очистить макет – убирает таблицы из виду Скрыть таблицу – прячет выделенную таблицу Прямые связи - отображает связи от конкретной таблицы 2
  • 3. С В Я З И ТА Б Л И Ц Отчет по схеме данных 3
  • 4. С В Я З И ТА Б Л И Ц Отобразить таблицу + Изменение связей 4
  • 5. Создание связей: • Связь между таблицами устанавливается автоматически при создании подстановки с помощью мастера подстановок из другой таблицы; • Перетаскивание одноименных полей с одинаковым типом данных из одной таблицы на другую; 5
  • 7. С В Я З И ТА Б Л И Ц Изменение и удаление связей - КМ 7
  • 9. 1. Сохранения целостности данных состоит в недопущении непарных записей и поддержании ссылок в синхронизированном состоянии, чтобы исключить появление записей со ссылками на несуществующие записи. Access будет отклонять обновления и удаления, изменяющие конец ссылки. 2. Access будет отклонять каждую операцию, нарушающую целостность данных для этой межтабличной связи. Если же обновить первичный ключ, Access автоматически обновит все поля, ссылающиеся на этот первичный ключ. 3. При удалении записи на стороне первичного ключа в отношении, Access автоматически удалит все записи со ссылкой на первичный ключ. 9
  • 10. Зачем создавать межтабличные связи? • Межтабличные связи предоставляют сведения для структуры запросов • Межтабличные связи предоставляют сведения для структуры форм и отчетов • Межтабличные связи — это та основа, с помощью которой можно обеспечить целостность данных, чтобы в базе данных не было непарных записей. 10
  • 11. 11
  • 12. 12
  • 13. 13
  • 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
  • 18. Личный номер Фамилия студента Код дисциплины Название дисциплины Оценка 11 Котова 1 Высшая математика 5 11 Котова 2 Иностранный язык 4 11 Котова 3 Философия 5 22 Серова 1 Высшая математика 3 22 Серова 3 Философия 4 33 Леонидов 2 Иностранный язык 5 Естественное соединение Т_Студенты join Т_Дисциплины join Т_Оценки 18
  • 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