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

3.1. Базы данных

"Информатика (базовый уровень)", Угринович Н.Д.

Объяснение темы В оглавлении: 3.1. Базы данных

Кратко о теме

База данных помогает хранить большой объём связанных сведений так, чтобы их можно было быстро находить, изменять и использовать вместе. В реляционной базе данные размещают в таблицах: столбцы описывают свойства объектов, а строки — отдельные объекты. Чтобы отличать записи и связывать таблицы, используют первичные ключи. Создавать базу и управлять её содержимым помогает СУБД — специальная программа.

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные элементы реляционной базы данных

ЭлементГде расположенЧто содержит или делаетПример
ПолеСтолбец таблицыОднотипные сведения о каждом объектеАвтор
ЗаписьСтрока таблицыНабор значений, описывающих один объектСведения об одной книге
Значение поляЯчейка на пересечении строки и столбцаКонкретное значение свойства объекта«А. П. Чехов» в поле «Автор»
Первичный ключОдно поле или несколько полей таблицыОднозначно определяет записьКод книги
ТаблицаВ составе реляционной базы данныхХранит записи об объектах одного вида«Книги»

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

Разбор задач

Задача 1

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

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

Ответ: поля — «Название», «Автор», «Год издания»; одна запись — сведения об одной книге.

Задача 2

В таблице «Ученики» есть поля «Фамилия», «Имя» и «Класс». Объясните, почему фамилия не всегда подходит на роль первичного ключа, и предложите подходящий вариант.

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

Ответ: фамилия не подходит из-за возможных повторов; лучше использовать отдельный уникальный код ученика.

Задача 3

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

  1. Разделяем данные по объектам: создаём таблицы «Книги» и «Читатели». В каждой задаём собственный первичный ключ — «Код книги» и «Код читателя».
  2. Чтобы записывать выдачи, создаём таблицу «Выдачи» с полями «Код книги» и «Код читателя». Эти значения указывают на соответствующие записи в двух основных таблицах.
  3. При необходимости добавляем в «Выдачи» дату выдачи и дату возврата. Сведения о названии книги или фамилии читателя повторно в каждой выдаче хранить не нужно: их можно найти по кодам.

Ответ: нужны таблицы «Книги» и «Читатели» с первичными ключами; их коды связывают записи в таблице «Выдачи».

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

Считать базу данных и СУБД одним и тем же — значит путать сведения и программу, которая ими управляет. Такую путаницу допускают, потому что оба понятия используют при описании одной системы. Проверьте себя вопросом: «Что хранит данные, а что позволяет ими управлять?»

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

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

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

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

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

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

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

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

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

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

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

Может ли база данных состоять из нескольких таблиц?

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

Зачем нужен первичный ключ, если в таблице уже есть фамилии?

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

Чем поле отличается от записи?

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

Обязательно ли для работы с базой данных использовать СУБД?

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

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

3.1. Базы данных

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

Учебник

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