"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.
База данных — это организованное хранилище взаимосвязанных сведений, с которыми можно работать: находить нужные записи, изменять их и добавлять новые. Она нужна, когда информации становится много и обычных файлов уже недостаточно для быстрого поиска и согласованного обновления. Данные обычно размещают в таблицах: столбцы описывают свойства объектов, строки — сами объекты. Управляет такой базой специальная программа — СУБД, а первичный ключ помогает отличить одну запись от всех остальных.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
База данных — организованная совокупность взаимосвязанных данных. Это не просто папка с отдельными файлами: сведения в базе подчинены общей структуре, поэтому их можно целенаправленно находить и связывать между собой. Такая организация помогает работать с большим объёмом информации.
Система управления базами данных (СУБД) — программа для создания, хранения, изменения и поиска данных в базе. Она предоставляет пользователю инструменты для работы с информацией, а не требует самостоятельно управлять файлами и внутренним устройством хранилища. Примеры таких действий — добавить новую запись или найти ученика по фамилии.
Таблица — способ представления данных об объектах одного типа в строках и столбцах. Например, таблица учеников описывает учеников, а таблица книг — книги. Единая форма таблицы позволяет сравнивать сведения и обрабатывать их по одинаковым правилам.
Поле хранит значение одного свойства объекта, а запись объединяет значения полей для одного объекта. В таблице поле занимает столбец, а запись — строку. Такое разделение помогает не смешивать свойства объекта и сами объекты.
Потребность в базе данных возникает, когда сведений становится много: в наборе файлов искать нужное приходится вручную, а исправления нужно повторять в разных местах. Организованная структура позволяет находить информацию по заданным условиям и обновлять её удобнее. Кроме того, единые правила хранения уменьшают риск того, что одинаковые сведения будут записаны по-разному.
В таблице столбцы соответствуют свойствам объектов, а строки — отдельным объектам. Поэтому все записи имеют одинаковый набор полей: у каждого ученика, например, можно хранить фамилию, дату рождения и класс. Если для одного объекта нет значения, это не означает, что строку или поле можно произвольно заменить другим свойством: структура должна оставаться понятной для всей таблицы.
Тип и формат поля задают, какие значения в нём допустимы. Для даты рождения нужен тип даты, а для фамилии — текстовый: тогда система сможет отличать дату от произвольной строки и применять подходящие операции. Ограничения на формат помогают обнаружить ошибку при вводе и поддерживать согласованность данных.
Первичный ключ — поле или набор полей, который однозначно отличает одну запись от другой. Если значения ключа повторяются, по нему нельзя понять, какую из нескольких одинаково обозначенных записей нужно найти, изменить или удалить. Поэтому ключ выбирают так, чтобы его значение было уникальным и, по возможности, не менялось, например используют отдельный номер ученика.
СУБД предоставляет средства для добавления, поиска, сортировки и изменения данных. Пользователь задаёт нужное действие, а программа выполняет его, не заставляя вручную управлять тем, как именно сведения расположены в хранилище. Это отделение упрощает работу с базой и позволяет пользоваться одними и теми же данными разными способами.
| Элемент | Что обозначает | Пример для таблицы «Ученики» |
|---|---|---|
| Таблица | Данные об объектах одного типа | Таблица «Ученики» со сведениями об учениках |
| Поле | Одно свойство объекта; столбец таблицы | «Фамилия» или «Класс» |
| Запись | Значения полей для одного объекта; строка таблицы | Строка со сведениями об одном ученике |
| Тип данных | Допустимый вид значения поля | Текст для фамилии, целое число для номера класса |
| Первичный ключ | Поле, однозначно определяющее запись | Уникальный «Номер ученика» |
Чтобы прочитать таблицу, сначала определите, какой объект описывает каждая строка, а затем посмотрите на названия столбцов. Сравнивайте значения только в соответствующих полях: так проще заметить, какие свойства у объектов совпадают, а какие различаются. Тип поля подсказывает, какие значения в ячейках допустимы.
Задача 1. Для списка книг определить, что будет таблицей, полями и записями. Пусть требуется учитывать название книги, автора и год издания. Нужно сначала отделить объекты от их свойств, а затем представить сведения в виде строк и столбцов.
Ответ: таблица — «Книги», поля — «Название», «Автор», «Год издания», запись — строка со сведениями об одной книге. У всех записей будут одинаковые поля, хотя значения в них различаются.
Задача 2. Выбрать поля и типы данных для таблицы «Ученики». Требуется хранить фамилию, имя, дату рождения, класс и иметь возможность однозначно находить каждого ученика. Тип выбирают по смыслу значения, а ключ — по требованию уникальности.
Ответ: таблица может содержать поля «Номер ученика», «Фамилия», «Имя», «Дата рождения» и «Класс» с указанными типами. Номер ученика служит ключом, потому что не зависит от совпадения имён или фамилий.
Задача 3. Найти недостатки таблицы с повторяющимися данными и предложить способ их устранить. Допустим, в каждой строке заказа повторяются адрес и телефон одного и того же покупателя. Если телефон изменится, его придётся исправить во всех строках, иначе в таблице останутся противоречивые сведения.
Ответ: дублирование можно уменьшить, разделив данные по смыслу и связав таблицы ключом. Тогда изменение телефона выполняется в одном месте, что снижает вероятность несогласованных значений.
Считать базой данных любую папку с файлами. Папка может содержать документы, но сама по себе не задаёт общих правил и способов целенаправленной работы с информацией. Такое заблуждение возникает потому, что и папка, и база хранят данные. Проверьте себя: можно ли в этой структуре согласованно искать и обновлять сведения, а не просто открывать файлы по одному?
Путать поле и запись. Поле описывает свойство, а запись содержит значения свойств одного объекта. Их легко перепутать, если не соотносить таблицу со столбцами и строками. Проверка простая: фамилия — поле, а строка со сведениями об одном ученике — запись.
Выбирать первичным ключом поле, значения которого могут повторяться или изменяться. Имя или фамилия могут совпасть у разных людей, а изменившееся значение затруднит поиск записи. Такая ошибка появляется, когда выбирают самое понятное поле, не проверяя его надёжность. Спросите себя, сможет ли значение отличить каждую запись и останется ли оно устойчивым.
Считать, что СУБД — это сама база данных. База — организованные сведения, а СУБД — программа, которая позволяет ими управлять. Путаница возникает потому, что эти понятия постоянно используются вместе. Для проверки определите, что именно хранится, а что выполняет команды пользователя.
Для понимания баз данных нужно знать, как информация представляется и хранится в компьютере, а также уметь читать таблицу. Эти знания помогают понять, почему значения разделяют по полям и почему важно задавать им подходящий тип. Дальше понятия таблицы, записи и ключа понадобятся при изучении реляционных баз данных, где данные распределены по связанным таблицам. На этой основе строят запросы, сортируют сведения и отбирают записи по условиям.
Чем база данных отличается от обычного списка файлов?
Файлы сами по себе могут хранить сведения, но не обязательно связаны общей структурой и правилами. В базе данных информация организована так, чтобы её можно было целенаправленно искать, изменять и согласованно использовать.
Чем поле отличается от записи?
Поле описывает одно свойство объекта, например фамилию или год рождения, и обычно соответствует столбцу. Запись содержит значения всех полей для одного объекта и соответствует строке.
Зачем базе данных нужна СУБД?
СУБД позволяет создавать базу, добавлять и изменять сведения, а также находить нужные данные. Она выполняет операции с данными, поэтому пользователю не нужно самому разбираться в способе их хранения.
Почему первичный ключ должен быть уникальным?
Ключ нужен, чтобы однозначно найти конкретную запись. Если одинаковый ключ будет у нескольких записей, нельзя будет определить, какую именно из них нужно изменить или удалить.
Как выбрать тип данных для поля?
Нужно определить, какие значения описывает поле и какие действия с ними понадобятся. Для фамилии подходит текстовый тип, для даты рождения — тип даты, для количества книг — целый числовой тип.
§ 75. Основные понятия