2014-02-04 4 views
2

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

Будет «рабочий процесс».

Будет ли это работать следующим образом:

1 - Это приложение будет иметь несколько групп, и эти группы, несколько пользователей.

2 - Каждый запрос будет иметь поток, несколько запросов могут иметь один и тот же поток.

3 - «Администратор» может создавать несколько рабочих процессов, до 5 шагов между группами и отдельными лицами. Пример:

First aprover | second apover | third aprover 
user    group   user 

4 - Когда администратор выбирает группу, а не конкретного пользователя, кто бы извлечь из этой группы.

5 - Утверждения соответствуют порядку, то есть следующий может утверждать только в том случае, если предыдущий уже утвержден.

Я думаю это в основном это. На самом деле это так много неприятностей. У меня проблемы с мыслями.

Каковы таблицы, которые я должен создать, и они связаны?

+0

Каковы таблицы, которые я должен создать, и они связаны? –

+0

Что вы пробовали? После публикации того, что вы сделали, возможно, мы сможем помочь.Помните, что Stackoverflow не является местом, чтобы попросить людей сделать домашнее задание. –

+0

@GuillemoMansilla, я ничего не получил. = (Извините, Я не хочу, чтобы люди выполняли мою работу, мне просто нужен свет. Я знаю, как это сделать. Спасибо –

ответ

1

Вы должны таблицы управления:

  1. Группы, пользователи и членство пользователей в группах
  2. Определение последовательности действий, связанных с ней стадий и назначение этих шагов к либо групп или пользователей.
  3. Экземпляры рабочего процесса, связанные с ним этапы и назначение этих шагов для групп или пользователей.

Примечание: привязка к группам/пользователям заполняется при создании экземпляра шага при создании. Это позволяет обновлять определение без перезаписи назначений в существующих экземплярах рабочего процесса.

Ниже показано, как таблицы должны отслеживать то, что я изложил выше. Это отнюдь не полная модель, но ее должно быть достаточно, чтобы вы указали в правильном направлении.

Conceptual Model

+0

Я не понимаю четко отношения между 'StepInstance',' WorkflowInstance'. Можете ли вы объяснить PLS? –

0

Я думаю, что это нормально при создании любого приложения, чтобы пройти через эти вопросы. Сознание отношений с базой данных и то, что имеет смысл, может быть сложным. То, что я обычно делаю, - это построить основы и перейти оттуда. Обычно я использую http://www.cakeapp.com, чтобы дать мне головной убор при создании приложения CakePHP. Он позволяет вам создавать свои таблицы и связывать их друг с другом через ownTo, hasMany и hasAndBelongsToMany. После того, как вы закончите, вы можете загрузить свой файл SQL и загрузить его в свою БД.

Просто заметьте: не загружайте все приложение, так как версия Cake устарела. Просто загрузите файл SQL. Кроме того, постоянно сохраняйте свои изменения.

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