0

Сначала я опишу свое приложение и что вы можете с ним сделать, тогда я покажу вам, что технические отношения между моими сущностями в конце возникают, конечно.ER: диаграмма отношений сущности

Моих приложений рабочий процесс:

1.) пользователь может создать «ReleaseVersion» объект и дать ему имя, как «MyApp_v7.5.0.132». 2.) Для этого ReleaseVersion он создаст шаблон с именем типа «BookingTest», который состоит из множества объектов OrganisationUnit (иерархическая структура), где каждый элемент OrganisationUnit может иметь много объектов TemplateTeststep.

3.) Объект TemplateTeststep состоит из следующих полей:

a) PreCondition 
b) Teststep 
c) ExpectedResult 

4.) После того, как он был создан объект шаблона, он создает объект Testplan основываясь на прежнем созданного шаблона. 5.) Testplan ДОЛЖЕН дисплея в пользовательского интерфейса тех же OrganisationUnits, но вместо объектов TempalteTeststep мне нужно, чтобы отобразить дополнительные поля, которые относятся только к Testplan имени:

d) Error/Exception 
e) TestStatus 

Таким образом, в Testplan есть OrganisationUnit TreeView и DataGrid с 5 полями a, b, c, d, e.

5.) Когда я нажимаю кнопку Save Testplan, поля a, b, c обновляются с полями, принадлежащими шаблону. Когда я нажимаю кнопку Save Testplan, поля d и e обновляются полями, принадлежащими XXX.

Неизвестный компонент XXX. Я уже думал о таблице с названием «TestplanTeststep» с двумя полями.

Но к какой другой таблице следует относиться?

Прежде всего я должен быть очень осторожным, что TemplateTeststep и TestplanTeststep имеет тот же идентификатор, когда я сохранить их в базу данных и восстановить их в следующий раз еще я мог перепутать данные.

То будет отношение сущностей "Описание" до сих пор:

1 ReleaseVersion имеет N Testplan (что кажется мне правильным, потому что Testplan действительна только для определенного ReleaseVersion)

N Testplan имеет M Unit (здесь что-то не так)

1 Аппарат имеет N TestplanTeststep (здесь что-то не так)

1 Шаблон имеет N Testplan (что кажется мне правильным, потому что Testplan не может принадлежать другой шаблон, после его создания его использовали ни в каком другом контексте, просто откройте его)

1 Шаблон имеет N Unit (что кажется мне правильным, потому что определенная UnitID неможет быть использована в другом шаблоне нет необходимости в этом, каждом шаблоне имеет свой собственные данные дерева/OrganisationUnit)

1 единица N TemplateTeststep (что кажется правильным меня, потому что эти 3 поля a, b, c принадлежат определенному UnitId, а в TreeView - только загруженные элементы OrganisationUnits r приподнятый к Шаблону в Testplan)

Заключительный вопрос:

Что должно быть сделано в моих отношениях сущностей, что все имеет смысл?

Глупые вещи - это разделение TemplateTeststep и TestplanTeststep, потому что они могут быть фактически ОДНЫМ объектом или ОДНОЙ таблицей. Но тогда я бы сэкономил много дубликатов данных с полями a, b, c, которые одинаковы для каждого шаблона, поэтому для каждого Testplan тоже.

+0

Вы можете получить более качественные ответы, если вы можете распутать это немного больше, чтобы помочь нам разобраться в сути вопроса ... Я все же попытался. – grossvogel

+0

Кроме того, как видно из вашего названия, может быть полезно связать диаграмму. – grossvogel

ответ

0

Главный вопрос, который я вижу здесь: Если каждый шаблон имеет TemplateTeststeps, но каждый из них также может быть частью TestPlan, как мы отслеживаем результаты? Похоже, вы подумываете о том, чтобы каждый TestPlan держал копию этих TestSteps, с дополнительными полями результатов, но это не путь.

Способ, которым я бы справился с этим, - это таблица со многими для многих (внешние ключи к TestPlan и TemplateTeststep), которые также содержат эти дополнительные поля результатов (Error and TestStatus). Таким образом, вы не дублируете информацию об тестовом шаге (поля a-c), но у вас есть возможность поместить каждый из этих шагов во многие TestPlans и записать их результаты.

+0

Вы имеете в виду так? => http://i42.tinypic.com/2f06tkk.png, а основным ключом таблицы результатов будут оба внешних ключа. – Pascal

+0

@ Паскаль: Да. Это то, как многие-ко-многим обычно реализуются, и в этом случае отношения также содержат немного дополнительных данных. – grossvogel

+0

на моем скриншоте вы видите, что TestplanId (FK) имеет два раза Id == 1 Я предполагаю, что это должно быть невозможно? – Pascal

Смежные вопросы