ЯдроКодаподготовка к экзаменам
Учебная платформа

Загружаем материалы

Подготавливаем материалы и навигацию по разделу.

Базы данных простыми словами: таблицы, записи и запросы

Автор: · Обновлено

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

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

Таблица как список словарей

В Python простую таблицу можно представить списком словарей.

students = [
    {'name': 'Аня', 'grade': 9, 'score': 82},
    {'name': 'Илья', 'grade': 8, 'score': 75},
    {'name': 'Маша', 'grade': 9, 'score': 58},
]

for student in students:
    if student['grade'] == 9 and student['score'] >= 60:
        print(student['name'])

Такой код похож на запрос: выбрать учеников из 9 класса с баллом не меньше 60.

Что такое ключ

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

Простая группировка

Иногда нужно посчитать количество записей по признаку.

count_by_grade = {}

for student in students:
    grade = student['grade']
    count_by_grade[grade] = count_by_grade.get(grade, 0) + 1

print(count_by_grade)

Почему это полезно школьнику

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

Если школьник умеет представить данные как таблицу и записать условие отбора, ему проще решать задачи на файлы, электронные таблицы и программирование.

Практикум: модель школьной библиотеки

Разделите данные на таблицы books, readers и loans. Для каждой выберите первичный ключ, а в выдаче укажите ссылки на книгу и читателя, дату выдачи и дату возврата. Объясните, почему имя автора нельзя использовать как уникальный идентификатор книги. Сформулируйте запросы: все невозвращённые книги, выдачи конкретного читателя и число выдач по книгам. Добавьте две книги с одинаковым названием и убедитесь, что связи остаются однозначными. Отдельно решите, можно ли удалить читателя с активной выдачей.

Контрольная точка

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

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

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

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

Источники