Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как задокументировать эффективное датированное соединение

Автор вопроса: tp9Ответов: 2

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

Примером соединения может быть:

Table_A
Key_ID - Primary Key
Employee_ID
Position_ID
Effective_DT
Unique Key -> Employee_ID, Position_ID, Effective_DT

Table_B
Employee_ID
Position_ID
Effective_DT
Table_A_Key_ID
Unique Key -> Employee_ID, Position_ID, Effective_DT

Table_A_Key_ID является внешним ключом из Table_A и не может быть нулевым. Другими словами, каждая запись в Table_B требует соответствующей записи в Table_A, но обратное неверно. Чтобы определить запись в Table_B, которая относится к записи в Table_A, у которой нет соответствующей записи, вам нужно получить запись с самой высокой эффективной датой меньше, чем Table_A.Effective_DT.

  • Инструменты диаграмм документируют не соединения, а таблицы (сущности) и отношения между ними. Для вашего примера просто создайте представление - это инкапсулирует ваше соединение в объект БД. Алос взгляните на stackoverflow.com/questions/10521401/ Damir Sudarevic 10.05.2012
  • Спасибо за исправление. Уточню мою основную цель с документацией - ускорить мой переход от одной части системы к другой. Например, я могу работать с таблицами сотрудников в течение нескольких месяцев и вдруг получить запрос на квалификационную часть базы данных, настроенную совсем по-другому. До сих пор мне требовалось как минимум полдня или около того, чтобы просто переключать передачи в зависимости от того, насколько хорошо были написаны спецификации. Как вы документируете свои присоединения? Кстати, как вы создали эту диаграмму для плана выполнения в другом посте? tp9 10.05.2012
  • Диаграммы представляют собой ERD, диаграммы отношений сущностей, как я упоминаю ниже. Они сделаны с использованием инструментов, как я упомянул ниже. Эти инструменты также позволяют вам документировать, как таблицы соединяются (то есть отношения между таблицами). Они показывают кардинальность и то, какие таблицы являются родительскими, а какие имеют внешние ключи и т. д. Другие диаграммы выглядят так, как некоторые базы данных предоставляют, когда они показывают "планы объяснения". Итак, если под объединением документов вы понимаете, как связаны таблицы, инструменты для диаграмм ERD, которые. Bill Rosmus 11.05.2012
  • @BillR Спасибо за разъяснение. У меня есть бесплатная версия Toad, так что я посмотрю. tp9 11.05.2012
  • @BillR На основе документа, который я просмотрел о Toad, диаграммы ER, которые он создает, основаны на ограничениях внешнего ключа в базе данных. Соединение, о котором я упоминал в своем OP, не основано на формальном ограничении таблицы. При использовании Toad мне придется вручную вводить информацию в поле комментариев таблицы? tp9 11.05.2012
  • @tp9; Графический интерфейс БД делает это. Гугл oracle graphical explain plan. Damir Sudarevic 11.05.2012

databasejoindatabase-designoracle11g

Ответы

Ответ 1 · Branko Dimitrijevic

инструмент моделирования ER будет документировать ссылочную целостность, но сам по себе не поможет вам документировать все JOIN, которые вы делаете в своем клиентском коде (не все они могут "лежать" поверх FK).

Либо всегда выполняйте JOINing через представления (какой инструмент ER должен помочь вам документировать), либо вам потребуется отдельная документация только для JOIN. Это может быть отдельный документ или встроенный в документацию на уровне исходного кода (рядом с кодом, который фактически инициирует JOIN). Предпочтите второй вариант, так как люди, поддерживающие код, с большей вероятностью будут обновлять документацию по мере обновления кода и внесения изменений в JOIN.

Ответ 2 · Bill Rosmus

  • жаба модельер данных
  • erWin
  • Эмбаркадеро

Если вы работаете на предприятии, и они готовы раскошелиться на некоторые настоящие инструменты. В противном случае используйте комбинацию Visio для диаграммы ER и MS Word для словаря данных. И во всех случаях здоровое количество жира локтя.

Картинки стоят тысячи слов... но вам нужно научиться рисовать правильные картинки.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы