Кардинальное из присоединиться между двумя таблицами является численным соотношением между рядами одной таблицы и строками в других. Общие мощности включают один к одному , один ко многим и многие ко многим .
Например, рассмотрим базу данных электронных медицинских карт . Такая база данных может содержать следующие таблицы:
doctor
Таблица с информацией о врачах.patient
Стол для медицинской тематики , проходящих курс лечения.encounter
Таблица с записью для каждого посещения больницы.
Между этими сущностями существуют естественные отношения, например встреча с участием многих врачей. Существует многое-ко-многим отношение между записями в doctor
и записях в patient
потому , что врачи имеют много пациентов и пациентов могут видеть много врачей. Существует один-ко-многим отношения между записями в patient
и записей в encounter
потому , что пациенты могут иметь много встреч , и каждая встреча включает в себя только один пациент.
Отношения «один-к-одному» в основном используются для разделения таблицы на две части, чтобы предоставить информацию кратко и сделать ее более понятной. В примере с больницей такую взаимосвязь можно использовать, чтобы отделить уникальную профессиональную информацию врачей от административных деталей.
При моделировании данных коллекции элементов данных группируются в «таблицы данных», которые содержат группы имен полей данных, называемые «атрибутами базы данных». Таблицы связаны «ключевыми полями». «Первичный ключ» присваивает поле своей «таблице специального заказа». Например, поле «Фамилия врача» может быть назначено в качестве первичного ключа таблицы «Доктор», где все люди имеют одинаковую фамилию, организованную в алфавитном порядке по первым трем буквам их имени. Таблица также может иметь внешний ключ, который указывает, что поле связано с первичным ключом другой таблицы.
Сложная модель данных может включать сотни связанных таблиц. Ученый-компьютерщик Эдгар Ф. Кодд создал систематический метод декомпозиции и организации реляционных баз данных . Действия Кодда по организации таблиц базы данных и их ключей называются нормализацией базы данных , которая позволяет избежать некоторых скрытых ошибок проектирования базы данных ( удаление аномалий или обновление аномалий ). В реальной жизни процесс нормализации базы данных заканчивается разбиением таблиц на большее количество меньших таблиц.
В реальном мире моделирование данных имеет решающее значение, поскольку по мере роста объема данных таблицы, связанные ключами, должны использоваться для ускорения запрограммированного извлечения данных. Если модель данных плохо спроектирована, даже система компьютерных приложений, содержащая всего миллион записей, приведет к неприемлемым задержкам отклика конечным пользователям. По этой причине моделирование данных является краеугольным камнем навыков, необходимых современному разработчику программного обеспечения.
Методы моделирования базы данных
Модель сущность-связь предлагает метод, который создает диаграммы сущность-взаимосвязь (ERD), которые можно использовать для сбора информации о типах сущностей модели данных, взаимосвязях и мощности. А ворона ножные Платья показывает один-ко-многим отношения. В качестве альтернативы одна линия представляет собой взаимно однозначное отношение.
Подходы к моделированию прикладных программ
В парадигме объектно-ориентированного программирования приложений, которая связана с проектированием структуры базы данных, диаграммы классов UML могут использоваться для моделирования объектов . В этом случае объектные отношения моделируются с помощью ассоциаций UML, и в этих ассоциациях используется множественность для обозначения количества элементов . Вот некоторые примеры:
Отношение | Пример | Оставил | Верно | Повествование |
---|---|---|---|---|
Один к одному | человек ← → свидетельство о рождении | 1 | 1 | У человека должно быть собственное свидетельство о рождении |
Один к одному (необязательно с одной стороны) | человек ← → водительские права | 1 | 0..1 или ? | У человека могут быть водительские права. |
Многие к одному | человек ← → место рождения | 1 .. * или + | 1 | Многие люди могут родиться в одном месте |
Многие-ко-многим (необязательно с обеих сторон) | человек ← → книга | 0 .. * или * | 0 .. * или * | Человек может владеть книгами |
Один ко многим | заказ ← → позиция | 1 | 1 .. * или + | В заказе есть хотя бы один товар |
Многие-ко-многим | курс ← → студент | 1 .. * или + | 1 .. * или + | Студенты проходят различные курсы |