На Горох
Информатика, 10 класс

§ 34. Реляционные модели

"Информатика (базовый уровень)", Гейн А.Г., Юнерман Н.А.

Объяснение темы В оглавлении: § 34. Реляционные модели

Кратко о теме

Реляционная модель описывает данные как отношения, которые обычно выглядят как таблицы. В таблице столбцы задают свойства объектов, строки содержат сведения об отдельных объектах, а значения подчиняются общим правилам. Первичный ключ позволяет однозначно отличать одну запись от другой. Несколько таблиц можно связать общими ключевыми значениями, чтобы хранить данные о разных типах объектов отдельно и удобно обрабатывать их запросами.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Реляционная модель представляет данные как отношения, которые обычно отображаются таблицами. В ней информация организована не в произвольном списке, а по строгим правилам: столбцы описывают свойства, а строки содержат отдельные сведения. Такая модель нужна, чтобы данные было удобно хранить, искать, изменять и связывать.

Отношение — таблица с данными об объектах одного типа. Например, отношение «Книги» может содержать сведения только о книгах, а его столбцы — название, автора и год издания. Это помогает не смешивать в одной структуре объекты с разным набором свойств.

Атрибут — столбец отношения, описывающий одно свойство объектов. Все значения в таком столбце должны иметь один смысл: в столбце «Год издания» нельзя одновременно хранить имена авторов. Понятие атрибута нужно, чтобы программа однозначно понимала и обрабатывала каждое поле.

Первичный ключ — атрибут или набор атрибутов, однозначно определяющий строку таблицы. Например, уникальный номер ученика позволяет отличить двух учеников с одинаковыми фамилиями. Ключ нужен для точного поиска записи и для связывания таблицы с другими таблицами.

Как это устроено

Чтобы получить отношение, сначала определяют, о каких объектах будут храниться данные, а затем выбирают их важные характеристики. Для книг это могут быть название, автор и год издания. После этого каждому объекту отводят одну строку, потому что строка должна описывать именно один экземпляр, а не смесь разных объектов.

Один столбец хранит значения одного атрибута, поскольку иначе одинаковое место таблицы имело бы разные смыслы. Если в столбце «Год» часть ячеек содержит числа, а часть — фамилии, сортировка и вычисления становятся неоднозначными. Поэтому значения должны относиться к одному свойству и иметь совместимый тип: числовой, текстовый, логический или другой.

Первичный ключ отличает строки по устойчивому признаку, а не по их положению. Даже если у двух учеников совпадают имя, фамилия и класс, разные номера позволят выбрать нужную запись. Без ключа изменение данных может привести к тому, что строку нельзя будет надёжно найти или связать с другой таблицей.

Порядок строк и столбцов не определяет смысл отношения, потому что важны сами значения и названия атрибутов. Таблицу можно отсортировать или переставить её столбцы, не изменив описываемые объекты. Повторяющиеся строки также не добавляют сведений: они полностью совпадают и потому должны быть исключены.

Данные о разных типах объектов хранят в отдельных связанных таблицах, чтобы не повторять одну и ту же информацию. Например, сведения об учениках можно отделить от сведений о кружках, а связь задать через номера учеников. Совпадающие значения ключей позволяют запросу сопоставить строки и получить общую информацию.

Элементы реляционной модели и их назначение

ЭлементКак представлен в таблицеНазначение
ОтношениеТаблицаХранит данные об объектах одного типа
АтрибутСтолбецОписывает одно свойство объектов
Запись (кортеж)СтрокаСодержит сведения об одном объекте
ДоменМножество допустимых значений атрибутаЗадаёт, какие значения и какого типа можно хранить
Первичный ключОдин атрибут или набор столбцовОднозначно определяет запись

При чтении таблицы сначала определите, какие объекты она описывает, затем рассмотрите заголовки столбцов и отдельные строки. Домен помогает проверить допустимость значения, а первичный ключ — найти конкретную запись. Эти элементы связаны: отношение состоит из записей, записи имеют атрибуты, а ключ выделяет запись среди остальных.

Разбор задач

Задача 1

Условие: для таблицы «Книги» с полями «Название», «Автор», «Год издания» укажите отношение, атрибуты и записи. Нужно перевести обычные элементы таблицы на язык реляционной модели. Сначала определим, что описывает вся таблица, а затем разделим её на столбцы и строки.

  1. Вся таблица «Книги» является отношением, потому что содержит сведения об объектах одного типа — книгах.
  2. Её атрибуты — «Название», «Автор» и «Год издания», так как каждый из них задаёт одно свойство книги.
  3. Каждая строка с конкретным названием, автором и годом издания является записью, или кортежем.

Ответ: отношение — таблица «Книги»; атрибуты — её три столбца; записи — строки с данными об отдельных книгах.

Задача 2

Условие: в таблице «Ученики» есть поля «Фамилия», «Имя», «Класс» и «Номер ученика». Нужно выбрать первичный ключ. Проверим, какое поле может однозначно отличать любую запись и сохранять это свойство при совпадении других данных.

  1. Фамилия и имя могут повторяться, поэтому по ним нельзя гарантированно найти одного ученика.
  2. Класс также не уникален: в одном классе учатся разные люди.
  3. Номер ученика подходит, если каждому ученику присвоен свой неповторяющийся номер.

Ответ: первичным ключом может быть «Номер ученика», потому что его значение однозначно определяет запись и не зависит от совпадения фамилий, имён или классов.

Задача 3

Условие: спроектируйте таблицы «Ученики» и «Кружки», чтобы хранить сведения об учениках и посещаемых ими кружках. Нужно разделить объекты по типам и указать, какие поля обеспечат связь. Отдельная таблица для каждого типа уменьшит повторение данных.

  1. Создадим «Ученики» с полями «Номер ученика» и «Фамилия», выбрав номер ученика первичным ключом.
  2. Создадим «Кружки» с полями «Номер кружка» и «Название кружка», где номер кружка будет первичным ключом.
  3. Для посещений добавим таблицу «Посещения» с полями «Номер ученика» и «Номер кружка».
  4. В «Посещениях» номер ученика связывается с ключом таблицы «Ученики», а номер кружка — с ключом таблицы «Кружки». Пара этих значений может однозначно описывать факт посещения.

Ответ: таблицы связываются через общие ключевые значения, записанные в «Посещениях». Так можно узнать кружки конкретного ученика и учеников, посещающих конкретный кружок.

Типичные ошибки

Номер строки принимают за идентификатор. Его выбирают из-за внешнего сходства с номером записи, но сортировка или удаление строк меняет этот номер. Проверьте себя: сохранится ли значение при перестановке строк; если нет, нужен отдельный ключ.

Первичным ключом выбирают повторяющийся атрибут. Фамилия, название класса или город могут совпадать у разных записей, поэтому такой столбец не выделяет одну строку. Проверьте таблицу на дублирование значений и убедитесь, что для каждой строки находится только один объект.

Смешивают атрибут и запись. Атрибут — это столбец с одним свойством, а запись — строка с полным набором свойств объекта. Чтобы не ошибиться, спросите себя: речь идёт о вертикальном поле или о горизонтальной строке.

Хранят в одном атрибуте разные смыслы или типы. Например, в поле «Дата» помещают и даты, и комментарии, из-за чего сравнение и обработка становятся ненадёжными. Проверьте, можно ли дать столбцу одно точное название и задать для всех его значений один тип.

Связь с другими темами

До изучения реляционной модели нужно уметь представлять сведения в таблицах и различать строки и столбцы. Эти навыки помогают правильно определить атрибуты, записи и ключи.

Реляционная модель лежит в основе проектирования баз данных. Она также нужна при составлении запросов: по ключам и значениям атрибутов можно отбирать, соединять и упорядочивать данные.

Что запомнить

  • Реляционная модель представляет данные в виде отношений, обычно таблиц.
  • Столбец таблицы соответствует атрибуту, строка — записи.
  • Значения одного атрибута должны относиться к одному свойству и иметь согласованный тип.
  • Первичный ключ однозначно определяет запись.
  • Порядок строк не меняет смысл отношения.
  • Связанные таблицы можно соединять по общим ключевым значениям.

Частые вопросы по теме

Чем отношение отличается от обычной таблицы?

В реляционной модели отношение — это таблица, подчиняющаяся строгим правилам: строки не дублируются, каждый столбец имеет один смысл, а порядок строк и столбцов не важен. Обычная таблица может использоваться просто для оформления данных и не всегда удовлетворяет этим требованиям.

Может ли таблица иметь несколько первичных ключей?

У таблицы может быть только один первичный ключ. Однако он может состоять из нескольких атрибутов, а кроме него могут существовать другие уникальные наборы полей, называемые кандидатами в ключи.

Почему нельзя использовать номер строки как первичный ключ?

Порядок строк может измениться после сортировки, добавления или удаления записей. Поэтому номер строки не является постоянным свойством объекта и не подходит для его надёжной идентификации.

Обязательно ли в таблице хранить только один атрибут?

Нет, отношение обычно содержит несколько атрибутов, описывающих разные свойства объектов. Главное, чтобы каждый столбец имел один смысл, а каждая строка относилась к одному объекту.

Как связать между собой две таблицы?

В таблицах выделяют ключевые поля с согласованными значениями. Обычно первичный ключ одной таблицы записывают в другой как внешний ключ, после чего строки можно сопоставлять по совпадающим значениям.

Спросить по теме параграфа

§ 34. Реляционные модели

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика (базовый уровень)", Гейн А.Г., Юнерман Н.А.