Да, получается что при удалении основного заказа должна удалятся и сверхурочная работа по нему, а так же заказ должен знать что по нем есть сверхурочная работа.
Как интересно узнать Ваше мнение. Приложение с низкой нагрузкой, пользователей с десяток. C#, соответственно windows, реляционная MS SQL, пользователи распределены в пределах Москвы. В сабже перечислены три нужные функции:
1) Вести учет заказов. Заказы вносятся и редактируются разными пользователями в таблицу в клиенте. Кроме информации о заказе, по мере его выполнения указываются исполнители, и что они сделали. Назначение исполнителей к заказу, редактирование и удаление наверное одно из основных действий, кроме внесения обычной информации заказа.
2)Создание счетов. Счета содержат в себе заказы без информации, которая ассоциирована с исполнителями. Т.е. в счета попадает только конкретная информация о заказах.
3)Создание специальных чеков для исполнителей. В них входят как раз данные о работах исполнителей и некоторая информация из заказа, например дата заказа или имя файла.
Классы приложения. Я начитался, что проектирование базы данных - вопрос не первостепенной важности, потому что способ хранения информации может быть любым, может меняться. Мне сейчас интересна логика модели программы, я стараюсь понять, как ее лучше организовать.