☰ Содержание · Информатика

База данных библиотеки и запросы

Уроки 28–29 · 2 урока · Н. И. Тайлаков (общий редактор), А. Б. Ахмедов, М. Д. Пардаева, А. А. Абдуганиев, У. М. Мирсанов. Информатика и информационные технологии, 10 класс, 1-е издание. «Extremum-Press», Ташкент, 2017
28

Практическое занятие

Учебник: с. 62
ЦельПроектирует небольшую базу данных библиотеки из четырёх таблиц, связывает их и выражает связь «многие ко многим» через связующую таблицу.
Новые слова
связующая таблица: таблица, связывающая две таблицы в отношении «многие ко многим» · oraliq jadvalсвязь «многие ко многим»: многим записям одной таблицы соответствует много записей другой · ko‘p-ko‘p aloqasiпроектирование: планирование таблиц и полей до ввода данных · loyihaполе: один столбец таблицы, одно свойство записи · maydon
Объяснение

На практическом занятии вы строите небольшую базу данных школьной библиотеки. Сначала спланируйте таблицы и поля в тетради: «Authors» (AuthorID, AuthorName), «Books» (BookID, Title, AuthorID), «Readers» (ReaderID, ReaderName, Class) и «Loans» (LoanID, BookID, ReaderID, DateOut). Один читатель может взять много книг, а одну книгу могут читать многие читатели в разное время: это связь «многие ко многим», которую Access напрямую не хранит. Поэтому «Loans» становится связующей таблицей и разбивает её на две связи «один ко многим»: Books – Loans и Readers – Loans. Затем создайте каждую таблицу в режиме конструктора, отметьте ключи, свяжите все четыре таблицы в окне «Схема данных» и введите 5–6 выдуманных записей; реальные личные данные не вводятся.

Примеры
Authors – Books: один автор пишет много книг («один ко многим»). Readers – Loans и Books – Loans – тоже «один ко многим». Всего проводятся три линии связи.
Выдуманные записи Loans: читатель 1 брал книги 3 раза, читатель 2 – 4 раза, читатель 3 – 2 раза. В Loans 3+4+2 = 9 записей, потому что каждая выдача – отдельная строка.
Работа в классе

«Библиотекарь»: пара строит базу данных из четырёх таблиц, вводит 6 записей в «Loans» и с помощью запроса показывает, какой читатель какую книгу брал.

Упражнения
1
Какая таблица связывает «Books» и «Readers»?
2
В Loans записаны 2+5+1 выдач. Сколько это записей?
3
Почему связь «многие ко многим» нельзя хранить без связующей таблицы?
4
Каким ключом является AuthorID в таблице «Books»?