Какая область (ы) является частью?
-
16-10-2019 - |
Вопрос
Я понимаю, когда говорю о структурах, очевидно, если вы говорите "Post Hasmany Commonds" Есть много записей о Комментарии относится к каждому почта.
Чего я не понимаю, так это то, в каком контексте используются такие термины. Я думаю, в основном только в DBAL или рассказывании о дизайне. В любом случае, когда одна вещь "имеет много"Другое как и где это появляется?
Решение
В любом случае, когда одна вещь Has Many Of Area, как/где он отображается в приложении и логике базы данных?
Единственный способ подумать, чтобы ответить на этот вопрос, - это другой пример Хасмани, который может ответить или не ответить на ваш вопрос.
Эээ, за исключением того, что я должен был назвать таблицу «комментарий», но я думаю, что смысл стоит.
Я не знаю, что это В самом деле Помогает вам понять больше, чем то, что у вас уже было.
Так что я также поделюсь запросом, который может продемонстрировать, как это работает:
declare @var char(5)
set @var = 'query'
select
c.id
,c.text
,c.author
from comment c
inner join post p
on p.id = c.parentid
Который мы ожидаем вернуть много рядов, потому что в одном сообщении обычно много комментариев (теоретически, конечно, не все сообщения будут иметь комментарии)
Обновлять:
Итак, вот что касается отношений: их легко моделировать с помощью диаграммы (см. Самый первый инструмент, который я вытащил, чтобы ответить на этот вопрос), но их трудно диаграммы с помощью текста. Поэтому вместо того, чтобы пытаться определить, имеем ли мы в виду 1: M или 0: N, мы просто пишем это на «Рядом с английским» и говорим, что мы собираемся. Вот некоторые альтернативы:
one to one hasOne post hasOne author (not true for CW ;])
one to many hasMany The one in question
many to one belongsTo parent child, comments belongTo post
many to many hasAndBelongsToMany This describes a complex relationship
many to many to many hasManyAndBelongsToMany
Как вы видите, они могут стать довольно сложными. Это ... еще раз! ... Укажите необходимость рефакторировать вашу бизнес -логику в более простые и меньшие куски.
Они также могут быть названы «типами ассоциаций» и могут быть обозначены Vergure, как «написано» (от многих к одному) или «Isownedby» (один к одному? - контекст - это ключ)
Прежде чем я ухожу от концепции «Хасмани» в последний раз (ну, это является Обновление, вероятно, будет написано больше), я хочу упомянуть, что, хотя оно полезно для «простых английских описаний», оно также используется в установках Activerecord Styleded. Взять, к примеру, Руби. http://api.rubyonrails.org/classes/activerecord/associations/classmethods.html Остальная часть этого поста (до сих пор) взята с этой страницы:
class Project < ActiveRecord::Base
belongs_to :portfolio
has_one :project_manager
has_many :milestones
has_and_belongs_to_many :categories
end
Это позволяет Activerecord ORM создавать модель данных и поддерживать отношения, указанные в бизнес -логике в рамках программы. Но я не пишу Ruby или Rails, так что, насколько я могу вам сказать, я просто знаю, что он существует там.