Добрый день.
Возникла проблема с разработкой структуры БД.
Задача исходит от организации сервиса обслуживания (дальнейшее написание ПО под мобильные платформы, десктопное приложение)
Ну то есть БД делаю одну для всего сразу.
Есть такие таблицы:
-Завка (id_заявки, адрес, описание, стоимость, дата, статус открытая, статус выполняемая, статус закрытая)
-Сотрудник (id_сотрудника, ФИО)
-Клиент (Имя, контакт)
Подскажите, пожалуйста, как на фоне таких простых таблиц организовать взаимосвязь, что сотрудник взял заявку и она за ним числится? Он ее выполнил - она к нему в статус как закрытая попала.
Может, я неправильно структуру продумал.
Первый раз взялся за проектирование БД. Как тут лучше сделать?
4
Как разработать структуру базы данных?
-
1В простейшем виде так:
Заявка: id, id_сотрудника, id_клиента, адрес, описание, стоимость, дата_размещения
История_статуса_заявки: id, id_заявки, id_статуса, дата_установления
Статус_заявки: id, название
Сотрудник: как есть
Клиент: id, имя, контакт23.03, в 13:22penzuА вот в таблице Статсу_заявки: id является внешним ключем таблицы Заявка: id ???23.03, в 13:26portfelioНет. В Статусе_заявки должны храниться только статусы: "Новая", "В обработке", "Завершена", "Отменена" и т.д. Текущий статус заявки вам нужно узнавать из таблицы История_статуса_заявки выбирая последнее значение статуса для определенной заявки.23.03, в 13:28portfelioЕсли уж говорить о какой-то связанности, то поле История_статуса_заявки.id_статуса должно быть связано с полем Статус_заявки.id что логично ;)23.03, в 14:53Doomsday_nxtА зачем таблица "Статус_заявки", если можно брать последний статус из таблицы "История_статуса"?23.03, в 15:05portfelioЕще раз: в таблице Статус_заявки хранятся НАЗВАНИЯ статусов. В таблице История_статуса хранится ИСТОРИЯ ИЗМЕНЕНИЙ статусов. Ну допустим, было у вас при запуске проекта всего два статуса для задач "Новая" и "Выполнено", а потом понадобилось добавить еще с десяток - вот вам и первая причина хранить названия статусов отдельно. Далее, если вы будете в таблице История_статусов хранить вместо айдишника статуса его название, то это будет приводить к неоправданному росту занимаемого места таблицей, а это вовсе ни к чему. -
я не специалист) в таблице Содрудник добавить поле id_заявки которое береться из таблицы Заявка)23.03, в 13:04Пожаловаться
Написать ответ
Войдите, чтобы написать ответ
Войти через TM IDПохожие вопросы