Школьная библиотека ведёт реляционную базу данных из трёх таблиц. Таблица «Читатели» содержит поля КодЧитателя, Фамилия, Класс и четыре записи: (1, Ахметов, 9А); (2, Белова, 9Б); (3, Серик, 10А); (4, Ким, 9А). Таблица «Книги» содержит поля КодКниги, Название, Автор, Год и три записи: (101, «Абай жолы», Ауэзов, 1947); (102, «Мартин Иден», Лондон, 1909); (103, «Чёрная стрела», Стивенсон, 1888). Таблица «Выдачи» содержит поля НомерВыдачи, КодЧитателя, КодКниги, ДатаВыдачи и пять записей: (1, 2, 101, 10.09); (2, 1, 102, 12.09); (3, 2, 103, 15.09); (4, 4, 101, 20.09); (5, 1, 103, 12.09). Поля КодЧитателя и КодКниги в таблице «Выдачи» являются внешними ключами: они ссылаются на ключевые поля таблиц «Читатели» и «Книги». Каждая запись в «Читатели» и «Книги» хранится один раз, а информация о выдачах собирается из связанных таблиц. Система управления базой данных следит за целостностью: значение внешнего ключа должно существовать в связанной таблице. Библиотекарь будет вносить в «Выдачи» новые записи каждый день.
Какое поле таблицы «Выдачи» подходит на роль первичного ключа, если в неё каждый день добавляются новые записи?
Показать ответ и разборСкрыть ответ и разбор
Верный ответ
- DНомерВыдачи
Разбор
Первичный ключ должен однозначно определять каждую запись, поэтому его значения не должны повторяться. В таблице «Выдачи» значение 2 в поле КодЧитателя встречается в двух записях, значение 101 в поле КодКниги тоже, а дата 12.09 повторяется в двух выдачах. Значения НомерВыдачи уникальны, и каждой новой выдаче можно присвоить новый номер. Значит, подходит «НомерВыдачи».