Вопрос задан 10.07.2026 в 06:25. Предмет Информатика. Спрашивает Семеновых Елизавета.

Приведите примеры моделей данных для разных предметных областей.

Перейти к ответам

Ответы на вопрос

Отвечает Ларченко Игорёк.

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

1. Библиотека

Основные сущности

  • Книга: идентификатор, название, год издания, ISBN, количество страниц.

  • Автор: идентификатор, фамилия, имя, дата рождения.

  • Экземпляр книги: инвентарный номер, состояние, дата поступления.

  • Читатель: номер читательского билета, ФИО, телефон, адрес.

  • Выдача: дата выдачи, срок возврата, фактическая дата возврата.

Связи

  • Один автор может написать много книг.

  • У одной книги может быть несколько авторов.

  • Одна книга может иметь несколько физических экземпляров.

  • Читатель может брать много экземпляров книг.

  • Один экземпляр в конкретный момент может быть выдан только одному читателю.

Реляционная схема

Автор(
author_id,
фамилия,
имя,
дата_рождения
)

Книга(
book_id,
название,
isbn,
год_издания,
страниц
)

КнигаАвтор(
book_id,
author_id
)

ЭкземплярКниги(
copy_id,
book_id,
инвентарный_номер,
состояние,
дата_поступления
)

Читатель(
reader_id,
фио,
телефон,
адрес
)

Выдача(
loan_id,
copy_id,
reader_id,
дата_выдачи,
срок_возврата,
дата_возврата
)

Связь между книгами и авторами имеет тип «многие ко многим», поэтому для нее используется отдельная таблица КнигаАвтор.


2. Интернет-магазин

Основные сущности

  • Товар: артикул, название, цена, описание, остаток.

  • Категория: название, родительская категория.

  • Покупатель: имя, электронная почта, телефон.

  • Заказ: дата, статус, сумма.

  • Позиция заказа: товар, количество, цена на момент покупки.

  • Оплата: способ оплаты, сумма, дата, статус.

  • Доставка: адрес, служба доставки, трек-номер.

Реляционная схема

Категория(
category_id,
название,
parent_category_id
)

Товар(
product_id,
category_id,
артикул,
название,
цена,
описание,
остаток
)

Покупатель(
customer_id,
имя,
email,
телефон
)

Заказ(
order_id,
customer_id,
дата_создания,
статус,
общая_сумма
)

ПозицияЗаказа(
order_item_id,
order_id,
product_id,
количество,
цена_на_момент_заказа
)

Оплата(
payment_id,
order_id,
способ,
сумма,
дата_оплаты,
статус
)

Доставка(
delivery_id,
order_id,
адрес,
перевозчик,
трек_номер,
статус
)

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


3. Медицинская клиника

Основные сущности

  • Пациент: ФИО, дата рождения, полис, контакты.

  • Врач: ФИО, специальность, кабинет.

  • Прием: дата и время, жалобы, диагноз, рекомендации.

  • Медицинская услуга: название, стоимость.

  • Назначение: лекарство, дозировка, период приема.

  • Анализ: вид исследования, дата, результат.

  • Медицинская карта: история заболеваний и обращений пациента.

Реляционная схема

Пациент(
patient_id,
фио,
дата_рождения,
телефон,
номер_полиса
)

Врач(
doctor_id,
фио,
специальность,
кабинет
)

Прием(
appointment_id,
patient_id,
doctor_id,
дата_время,
жалобы,
диагноз,
рекомендации,
статус
)

Услуга(
service_id,
название,
стоимость
)

ПриемУслуга(
appointment_id,
service_id,
количество,
стоимость_на_дату
)

Назначение(
prescription_id,
appointment_id,
препарат,
дозировка,
частота_приема,
дата_начала,
дата_окончания
)

Анализ(
test_id,
patient_id,
appointment_id,
вид_анализа,
дата_сдачи,
результат
)

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


4. Университет или колледж

Основные сущности

  • Студент: номер зачетной книжки, ФИО, группа, дата поступления.

  • Преподаватель: ФИО, кафедра, должность.

  • Дисциплина: название, количество часов, форма контроля.

  • Учебная группа: код группы, курс, направление подготовки.

  • Семестр: учебный год, номер семестра.

  • Запись на дисциплину: студент, дисциплина, семестр.

  • Оценка: балл, дата, вид аттестации.

Реляционная схема

Группа(
group_id,
код,
курс,
направление
)

Студент(
student_id,
group_id,
фио,
дата_рождения,
дата_поступления
)

Преподаватель(
teacher_id,
фио,
кафедра,
должность
)

Дисциплина(
course_id,
название,
часы,
форма_контроля
)

Семестр(
semester_id,
учебный_год,
номер
)

ПроведениеДисциплины(
teaching_id,
course_id,
teacher_id,
semester_id,
group_id
)

ЗаписьНаДисциплину(
enrollment_id,
student_id,
teaching_id
)

Оценка(
grade_id,
enrollment_id,
вид_контроля,
балл,
дата
)

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


5. Банковская система

Основные сущности

  • Клиент: физическое или юридическое лицо, паспортные или регистрационные данные.

  • Счет: номер, валюта, дата открытия, баланс.

  • Карта: номер, срок действия, статус.

  • Транзакция: дата, сумма, тип операции, назначение платежа.

  • Кредит: сумма, процентная ставка, срок, статус.

  • Платеж по кредиту: дата, сумма основного долга, проценты.

Реляционная схема

Клиент(
customer_id,
тип_клиента,
фио_или_наименование,
идентификационный_документ,
телефон
)

Счет(
account_id,
customer_id,
номер_счета,
валюта,
дата_открытия,
баланс,
статус
)

Карта(
card_id,
account_id,
маскированный_номер,
дата_окончания,
статус
)

Транзакция(
transaction_id,
счет_отправителя_id,
счет_получателя_id,
дата_время,
сумма,
валюта,
тип,
назначение,
статус
)

Кредит(
loan_id,
customer_id,
сумма,
процентная_ставка,
дата_выдачи,
дата_окончания,
статус
)

ПлатежПоКредиту(
payment_id,
loan_id,
дата,
сумма,
погашение_основного_долга,
погашение_процентов
)

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


6. Склад и логистика

Основные сущности

  • Товар: артикул, название, единица измерения.

  • Склад: адрес, тип, ответственный сотрудник.

  • Ячейка хранения: номер, вместимость, зона склада.

  • Остаток: товар, ячейка, количество.

  • Поставка: поставщик, дата, статус.

  • Отгрузка: получатель, дата, маршрут, статус.

  • Перемещение: откуда, куда, какой товар, количество.

Реляционная схема

Товар(
product_id,
артикул,
название,
единица_измерения
)

Склад(
warehouse_id,
название,
адрес
)

Ячейка(
location_id,
warehouse_id,
код_ячейки,
зона,
вместимость
)

Остаток(
stock_id,
product_id,
location_id,
количество,
дата_обновления
)

Поставка(
receipt_id,
поставщик,
warehouse_id,
дата,
статус
)

СтрокаПоставки(
receipt_item_id,
receipt_id,
product_id,
количество,
цена
)

Отгрузка(
shipment_id,
получатель,
warehouse_id,
дата,
статус
)

СтрокаОтгрузки(
shipment_item_id,
shipment_id,
product_id,
количество
)

Перемещение(
movement_id,
product_id,
откуда_location_id,
куда_location_id,
количество,
дата_время
)

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


7. Социальная сеть

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

Узлы графа

  • Пользователь.

  • Публикация.

  • Сообщество.

  • Комментарий.

  • Изображение или видео.

Ребра графа

  • ПОДПИСАН_НА — пользователь подписан на пользователя.

  • СОСТОИТ_В — пользователь состоит в сообществе.

  • ОПУБЛИКОВАЛ — пользователь создал публикацию.

  • ЛАЙКНУЛ — пользователь отметил публикацию.

  • ПРОКОММЕНТИРОВАЛ — пользователь оставил комментарий.

  • УПОМЯНУЛ — публикация содержит упоминание пользователя.

Пример

(Пользователь: Анна)-[:ПОДПИСАН_НА]->(Пользователь: Сергей)

(Пользователь: Анна)-[:ОПУБЛИКОВАЛ]->(Публикация: Пост_1)

(Пользователь: Сергей)-[:ЛАЙКНУЛ]->(Публикация: Пост_1)

(Пользователь: Сергей)-[:ПРОКОММЕНТИРОВАЛ]->(Комментарий: Комментарий_1)

(Комментарий: Комментарий_1)-[:К_ПУБЛИКАЦИИ]->(Публикация: Пост_1)

Графовая модель удобна для поиска общих друзей, построения рекомендаций, анализа связей и определения наиболее популярных пользователей.


8. Производственное предприятие

Основные сущности

  • Изделие: код, название, версия, себестоимость.

  • Компонент: материал или деталь, необходимая для производства.

  • Спецификация изделия: перечень компонентов и их количества.

  • Производственный заказ: изделие, плановое количество, срок исполнения.

  • Операция: резка, сборка, покраска, контроль качества.

  • Оборудование: тип, состояние, производительность.

  • Сотрудник: профессия, квалификация.

  • Контроль качества: результат проверки, выявленные дефекты.

Реляционная схема

Изделие(
product_id,
код,
название,
версия,
себестоимость
)

Компонент(
component_id,
код,
название,
единица_измерения
)

Спецификация(
specification_id,
product_id,
component_id,
количество
)

ПроизводственныйЗаказ(
work_order_id,
product_id,
плановое_количество,
дата_начала,
дата_окончания,
статус
)

Операция(
operation_id,
название,
нормативное_время
)

МаршрутПроизводства(
route_id,
product_id,
operation_id,
порядковый_номер
)

Оборудование(
machine_id,
название,
тип,
состояние
)

ВыполнениеОперации(
execution_id,
work_order_id,
operation_id,
machine_id,
дата_время,
фактическое_количество,
результат
)

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


9. Система бронирования гостиницы

Основные сущности

  • Гость: ФИО, документ, телефон, электронная почта.

  • Номер: тип, вместимость, стоимость, статус.

  • Бронирование: даты заезда и выезда, статус, количество гостей.

  • Услуга: завтрак, трансфер, парковка, прачечная.

  • Оплата: сумма, дата, метод оплаты.

  • Проживание: фактический заезд и выезд.

Реляционная схема

Гость(
guest_id,
фио,
документ,
телефон,
email
)

Номер(
room_id,
номер,
тип,
вместимость,
стоимость_в_сутки,
статус
)

Бронирование(
reservation_id,
guest_id,
room_id,
дата_заезда,
дата_выезда,
количество_гостей,
статус
)

Услуга(
service_id,
название,
стоимость
)

БронированиеУслуга(
reservation_id,
service_id,
количество,
стоимость_на_дату
)

Оплата(
payment_id,
reservation_id,
дата,
сумма,
способ,
статус
)

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


10. Аналитика продаж: многомерная модель

Для отчетов и бизнес-аналитики часто применяют не обычную операционную модель, а многомерную модель типа «звезда».

Таблица фактов

ФактПродаж(
дата_id,
товар_id,
покупатель_id,
магазин_id,
количество,
выручка,
скидка,
себестоимость
)

Таблицы измерений

Дата(
дата_id,
день,
месяц,
квартал,
год,
день_недели
)

Товар(
товар_id,
название,
категория,
бренд
)

Покупатель(
покупатель_id,
пол,
возрастная_группа,
город
)

Магазин(
магазин_id,
название,
город,
регион,
формат
)

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


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

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос