Работаю над базовым домашним заданием по проектированию баз данных и рисованием ERD в Visio и не могу понять эту проблему.
United Helpers — некоммерческая организация, которая оказывает помощь людям после стихийных бедствий. Основываясь на следующем кратком описании операций, создайте соответствующий полностью помеченный ERD Crow’s Foot.
• Отдельные лица добровольно посвящают свое время выполнению задач организации. Имя, адрес и номер телефона каждого волонтера отслеживаются. Каждому волонтеру может быть поручено несколько задач в то время, когда он или она выполняет волонтерскую работу, а для некоторых задач требуется много добровольцев. Волонтер может находиться в системе, еще не получив задание. Возможны задачи, которые никому не ставились. Когда волонтер получает задание, система должна отслеживать время начала и окончания этого задания.
• Для каждой задачи есть код задачи, описание задачи, тип задачи и статус задачи. Например, может быть задача с кодом задачи «101», описанием «ответить на звонок», типом «повторяющаяся» и статусом «выполняется». Может быть еще одна задача с кодом «102», описанием «подготовить 5000 упаковок основных медикаментов», типом «упаковки» и статусом «открыто».
• Для всех задач типа «упаковка» существует упаковочный лист, в котором указывается содержимое пакетов. Существует много различных упаковочных листов для производства различных упаковок, таких как базовые медицинские пакеты, пакеты для ухода за детьми, пакеты для продуктов питания и т. д. Каждый упаковочный лист имеет идентификационный номер упаковочного листа, имя упаковочного листа и описание упаковочного листа, которое описывает элементы, которые идеально подходят для изготовления такого типа упаковки. Каждая задача упаковки связана только с одним списком упаковки. Упаковочный лист может не быть связан ни с одной задачей или может быть связан со многими задачами. Задачи, которые не являются задачами упаковки, не связаны ни с одним списком упаковки.
• Задачи упаковки приводят к созданию пакетов. Каждый отдельный пакет расходных материалов, который производится организацией, отслеживается. Каждой упаковке присваивается идентификационный номер. Записывается дата создания посылки и общий вес посылки. Данный пакет связан только с одной задачей. Некоторые задачи (например, "отвечать на звонки") не будут создавать ни одной посылки, в то время как другие задачи (например, "подготовить 5000 посылок с основными медикаментами") будут связаны со многими посылками.
• В упаковочном листе указано идеальное содержимое каждой упаковки, но не всегда возможно указать идеальное количество каждого предмета. Следовательно, необходимо отслеживать фактические элементы, включенные в каждый пакет. Пакет может содержать много разных элементов, и данный элемент может использоваться во многих разных пакетах.
• Для каждого предмета, предоставляемого организацией, в системе хранится идентификационный номер предмета, описание предмета, стоимость предмета и количество предмета в наличии. Наряду с отслеживанием фактических предметов, помещенных в каждый пакет, также необходимо отслеживать количество каждого предмета, помещенного в пакет. Например, в упаковочном листе может быть указано, что основные медицинские пакеты должны включать 100 бинтов, 4 флакона йода и 4 флакона перекиси водорода. Однако из-за ограниченного запаса предметов в данный пакет могут входить только 10 бинтов, 1 флакон йода и никакой перекиси водорода. Тот факт, что этот пакет включает в себя перевязочные материалы и йод, необходимо зафиксировать вместе с количеством каждого из них. Организация может пожертвовать предметы, которые еще не были включены ни в один пакет, но каждый пакет будет содержать как минимум один элемент.
Я думал, что сущность VOLUNTEER и TASK создают составную сущность ASSIGNMENT, которая может генерировать задачу PACKING. Эта задача использует PACKING LIST и ITEMS, которые создают PACKAGE.

Однако моя уверенность в этом решении равна нулю. Хотите знать, если это отдаленно правильно? Или я совершенно неправильно об этом говорю?
Спасибо
