как вставить дерево в базу данных, используя модель ER - PullRequest
3 голосов
/ 25 октября 2010

Привет, сегодня я был на собеседовании, где нам дали дерево с неизвестной структурой (не может быть двоичным), и меня попросили вставить его в базу данных в определенном порядке, где я мог бы превратить БД в дерево ипокажите, что я сделал это, используя модель ER, у каждого узла в дереве есть два элемента данных data1 и data2

Может кто-нибудь ответить или дать мне подсказку, как это делается?

РЕДАКТИРОВАТЬ: что янаписано, потому что у каждого ребенка есть отец, мы должны добавить отношение между узлами отец и сын, потому что у сына есть только один отец, у сына есть стрелка один к одному отцу, - я дал каждому из них указатель, и у каждого солнца был свойуказатель отца и какое отношение это имеет к модели ER 'Я тоже не знаю, вот почему я спросил об этом здесь.

Ответы [ 2 ]

0 голосов
/ 18 сентября 2011

Одна вещь, которую вы можете сделать, это пометить всю ветку индексом (скажем, 1,2,3 ..), и теперь вся ветка с определенным индексом может быть взята в качестве записи. Просмотрите все дерево и попытайтесь найти какую-то связь между данными и назначить имя некоторого атрибута каждому узлу на каждом уровне этого дерева. Теперь, когда вы сделали это, вы можете выделить, что это за атрибуты ... и создать объект, который может представлять эти атрибуты (или свойства). Теперь, когда вы решили, что ваша сущность вы можете создать сущность и атрибуты в ERD (Диаграмма отношений сущностей)

если вы прошли сетевую модель проектирования базы данных, вы могли бы получить еще один совет

начните думать с нижнего уровня, затем перейдите к решению,

Удачи

0 голосов
/ 25 октября 2010

На какую должность вы брали интервью?

Не существует такого технического термина, как «модель ER», это термин, описывающий непрофессионалов. Есть технические термины:

  • Модель данных
  • Реляционная модель (РМ)
  • Диаграмма отношений сущностей (ERD)
    Который является только сущностями и отношениями; Модель данных за вычетом столбцов и типов данных
    Вполне справедливо, что в некоторых частях света оно превратилось в «модель ER».

Если они на самом деле попросили вас предоставить «модель ER», они не на высоте. Но если бы они были на высоте, они бы спросили ЛИБО модель данных (маловероятно для интервью) ИЛИ диаграмму ER (вероятно).

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

Если бы вы говорили «указатель» и «индекс» на этапе ER Diagram в интервью со мной, я бы показал вам дверь. Thvia FK e сначала не демонстрирует понимания реляционной модели; во-вторых, слишком много деталей на этом высоком уровне моделирования. «Отец / сын» демонстрирует, что вы не понимаете B-деревья («у каждого члена есть два узла») и реляционный (ребенок все равно ссылается на родителя, вам не требуется дополнительная работа или «указатель»)

Когда вам дадут четкое уведомление о принятии / отклонении работы, на которой вы прошли собеседование, отправьте сообщение снова, я предоставлю ответ.

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