제이의 블로그

Концептуальное моделирование данных

  • Язык написания: Корейский
  • Страна: Все страныcountry-flag
  • ИТ

Создано: 2024-04-08

Создано: 2024-04-08 04:00

Концептуальное моделирование данных — это процесс разделения связанной информации на единицы сущностей и представления отношений между сущностями с помощью ERD.

Разделение сущностей и определение атрибутов

Сущность — это нечто реально существующее, независимое и способное хранить данные.

Атрибут — это данные, которыми обладает сущность.

Например, учителя и ученики в школе удовлетворяют вышеуказанным условиям.

Здесь учитель — это сущность, содержащая данные, такие как имя, возраст, предмет, а ученик — это также сущность, содержащая данные, такие как имя, класс, возраст, номер ученика.

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

Идентификатор и ключ

В России используется система регистрации населения, позволяющая уникально идентифицировать каждого гражданина.

В этом случае номер регистрации гражданина является идентификатором, позволяющим определить, кто этот человек.

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

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

Назначенный здесь идентификатор на этапе логического моделирования данных становится первичным ключом (Primary Key).


Если естественный уникальный атрибут, который можно назначить в качестве идентификатора, отсутствует, используется искусственный ключ (Artificial Key).

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


Все атрибуты сущности, которые могут использоваться в качестве идентификаторов, называются кандидатными ключами (Candidate Key).

Атрибуты, которые могут использоваться в качестве идентификаторов, помимо первичного ключа, называются альтернативными ключами (Alternate Key).

Эти альтернативные ключи хорошо подходят для создания индексов для повышения производительности.


В сущности, описывающей принадлежность сотрудника к отделу, иногда используются номер отдела и номер сотрудника в качестве ключа. Это называется составным ключом (Composite Key).

Определение отношений

Отношение — это взаимодействие между сущностями. Отношения подразделяются на отношения, основанные на существовании, и отношения, основанные на действиях.

  • Отношения, основанные на существовании

Например, в компании сотрудник не может существовать без отдела, поэтому это отношение, основанное на существовании.

  • Отношения, основанные на действиях

Сотрудник может перевестись в другой отдел, подав заявку. В этом случае это отношение, основанное на действии.


Эти отношения на этапе логического моделирования данных выражаются с помощью внешнего ключа (Foreign Key), соединения (Join) и т.д.

Кардинальность (Cardinality)

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

Это выражается как отношение 1:1 (один к одному), 1:N (один ко многим), N:M (многие ко многим) между каждой сущностью.

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

Опциональность (Optionality)

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

В этом случае между автором (обязательно) и комментарием (необязательно) существует отношение.

Обязательное значение называется Mandatory, а необязательное — Optional.


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




Комментарии0

[Объекты] Глава 1. Объекты, проектированиеВ данной статье мы рассмотрим важность и концепции объектно-ориентированного проектирования в разработке программного обеспечения, а также подчеркнем необходимость объектно-ориентированного проектирования на примере приложения для продажи билетов.
제이온
제이온
제이온
제이온

April 28, 2024

[Объекты] Глава 2. Объектно-ориентированное программированиеПонятия объектно-ориентированного программирования и реализация системы бронирования билетов на кинофильмы, с помощью которой объясняются объекты, классы, сотрудничество, наследование и полиморфизм.
제이온
제이온
제이온
제이온

April 28, 2024

Что такое маркировка данных? Типы, преимущества и недостаткиМаркировка данных — это процесс присвоения тегов данным, чтобы искусственный интеллект мог их понять. Он используется в различных областях, например, для различения собак и кошек, и помогает повысить производительность моделей.
세상 모든 정보
세상 모든 정보
세상 모든 정보
세상 모든 정보

March 29, 2024

История разработки проекта LegiNote 3 - Запросы в GoВ этой статье описывается процесс разработки проекта LegiNote, в котором используется язык Go для получения информации о законодательстве из открытого API Национального собрания. Рассматриваются вопросы HTTP-запросов и определения структуры данных.
statpan
statpan
statpan
statpan

August 26, 2024

[Экохун] MBTI: правильное понимание и использованиеРецензия на книгу профессора Университета Кёнхи, эксперта по MBTI, "Формула общения с помощью MBTI". В ней подчеркивается важность уважения и способов общения в зависимости от типа MBTI, а также выражается обеспокоенность по поводу неправильного использо
sanghun495
sanghun495
sanghun495
sanghun495

April 14, 2025