В моделировании данных мощность — это числовое соотношение между строками одной таблицы и строками в другой. Общие мощности включают «один к одному» , «один ко многим » и «многие ко многим» . Кардинальность можно использовать для определения моделей данных, а также для анализа сущностей в наборах данных.
Например, рассмотрим базу данных электронных медицинских записей . Такая база данных может содержать такие таблицы:
doctor
с информацией о врачах.patient
для медицинских лиц, проходящих лечение.appointment
с записью о каждом посещении больницы.Между этими сущностями существуют естественные отношения:
doctor
и записями в, patient
поскольку у врачей много пациентов, а пациенты могут посещать многих врачей.patient
и записями в, appointment
поскольку у пациентов может быть много посещений, и в каждом посещении участвует только один пациент. [1]При моделировании данных коллекции элементов данных группируются в «таблицы данных», которые содержат группы имен полей данных, называемые «атрибутами базы данных». Таблицы связаны «ключевыми полями». «Первичный ключ» присваивает поле своей «таблице специального заказа». Например, поле «Фамилия врача» может быть назначено в качестве первичного ключа таблицы «Доктор», где все люди с одинаковой фамилией будут упорядочены в алфавитном порядке по первым трем буквам их имени. Таблица также может иметь внешний ключ , который указывает, что поле связано с первичным ключом другой таблицы. [2]
Сложная модель данных может включать сотни связанных таблиц. Ученый-компьютерщик Эдгар Ф. Кодд создал систематический метод декомпозиции и организации реляционных баз данных . [3] Шаги Кодда по организации таблиц базы данных и их ключей называются нормализацией базы данных , что позволяет избежать определенных скрытых ошибок проектирования базы данных ( удаление аномалий или обновление аномалий ). В реальной жизни процесс нормализации базы данных заканчивается разбиением таблиц на большее количество меньших таблиц. [3]
В реальном мире моделирование данных имеет решающее значение, поскольку по мере увеличения объема данных необходимо использовать таблицы, связанные ключами, для ускорения программного извлечения данных. Если модель данных разработана плохо, даже система компьютерных приложений, содержащая всего миллион записей, приведет к неприемлемым задержкам времени ответа для конечных пользователей. По этой причине моделирование данных является краеугольным камнем навыков, необходимых современному разработчику программного обеспечения. [ нужна цитата ]
Модель «сущность-связь» предлагает метод, создающий диаграммы «сущность-связь» (ERD), которые можно использовать для сбора информации о типах сущностей модели данных, связях и мощности. «Гусиная лапка» показывает связь «один ко многим» . Альтернативно, одна линия представляет отношение «один к одному». [4]
В парадигме объектно-ориентированного прикладного программирования, которая связана с проектированием структуры базы данных, диаграммы классов UML могут использоваться для моделирования объектов . В этом случае отношения объектов моделируются с использованием ассоциаций UML, и в этих ассоциациях используется множественность для обозначения мощности . Вот несколько примеров: [5]