|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.04.2015, 02:17 | #1 |
Новичок
Джуниор
Регистрация: 02.04.2015
Сообщений: 1
|
"Продажа автомобилей" нужна помощь с сущностями и связями
Здравствуйте!
Так как с бд и СУБД Access давно не возился и растерял знания, возникла следующая проблема. Запутался в сущностях и связях, а преподавателя уже не выловить. Задача явно типовая и возможно кто-то уже сталкивался? Дано следующее задание. "Разработать информационную систему ПРОДАЖА АВТОМОБИЛЕЙ. Система должна обеспечивать ведение базы новых и подержанных автомобилей (марка, страна, год выпуска, технические характеристики, особенности исполнения, техническое состояние, запрашиваемая цена), ведение базы покупателей (контактные координаты, требования к марке, техническим характеристикам и техническому состоянию, допустимая цена автомобиля), автоматизированный подбор вариантов для покупателя, формирование заявок для поставщиков и перегонщиков автомобилей. Разработать: меню приложения и средства диалога, формы ввода и изменения данных, запросы (если они нужны), отчеты для вывода на печать." На данный момент база имеет следующую структуру (не вышло спрятать под спойлер) Таблицы "менеджер" и "поставщик" добавил для заказа авто, но не знаю как сделать связь между ними и остальными таблицами, и нужна ли она вообще? Подскажите, если можно. Значение "техническое состояние" я разбил на более мелкие таблицы с атрибутами и связал их с таблицей "автомобиль" для того, что бы не плодить одни и те же данные в записях и хоть как-то организовать "автоматизированный подбор вариантов для покупателя". Для этой же цели соединил эти таблицы-атрибуты с таблицей "покупатель". Что бы организовать поиск. Это слишком коряво? Возможно организовать как-то иначе? Или такой вариант тоже имеет маленький шанс на жизнь? Не знаю как сделать в аксессе, что бы при вводе новой записи, хоть как-то сам упростить процесс (не вводить код который ей соответствуеют), по этому сделал выпадающий список и связи между таблицами-атрибутами и таблицами автомобиль/клиент с помощью мастера подстановок. И так почти для каждого атрибута "технического состояния". Имеет ли место быть такая схема данных, или стоит что-то пересмотреть? Через формы можно добавлять и удалять авто, через форму пользователя можно подобрать для него автомобиль, выполнив запрос на выборку. (пока подбирается только если все выбранные значения совпадают с записью в таблице) Пожалуйста, илии ткните куда нужно, или подскажите по самой базе. Прилагаю базу в mdb. Последний раз редактировалось Anr34; 02.04.2015 в 02:25. |
17.04.2015, 01:36 | #2 |
Форумчанин
Регистрация: 10.02.2012
Сообщений: 109
|
Доброе время суток
На мой не искушённый взгляд, у вас есть неточности в структуре. 1. Насколько я понимаю Поставщик - это то кто/что поставляет автомобили. Соответственно, исходя из этой логики таблица поставщик должна быть связана с таблицей автомобили. Нужно знать - кто поставил данный механизм. Тогда в таблице Автомобили добавляется внешний ключ - КодПоставщика к таблице Поставщик. 2. Насколько я понял, вам нужно хранить данные о подборах автомобилей для статистики: сколько машин клиенты просматривают перед заказом. Тогда имеем Таблица Подбор(ПК_КодПодбора,ДатаПодбора,Ко дКлиента,КодМенеджера) и связанную таблицу ПодробностиПодбора(ПК_КодПодробност и,КодАвтомобиля,ОценкаКлиента,ВК_Ко дПодбора,Статус[По-умолчанию-просмотр;Резервирование;Заказ;]) Таблица Заказы(ПК_КодЗаказа,ДатаЗаказа,Цена ,ВК_КодПодробности) Думаю, вы понимаете, что клиенту при Подборе нельзя показывать автомобили которые находятся в состоянии Резервирование или Заказ. Нужно будет предусмотреть сброс, в случае отмены резервирования или заказа в состояние просмотр. Либо для улучшения производительности для автомобиля ввести Поле Статус с данными [свободен для просмотра; зарезервирован;в заказе; продан] В любом случае, нужно больше деталей по предполагаемой бизнес-логике. Того что вы привели в начале - несколько маловато Последний раз редактировалось AndVGri; 17.04.2015 в 01:43. |
21.04.2015, 14:44 | #3 |
Пользователь
Регистрация: 07.02.2010
Сообщений: 21
|
база авто
По базе
Сделал три формы Клиент - пока в форме таблицы, логичнее сделать форму с подчиненной формой заказов по клиенту Поставщик - форма поставщика с подчиненной формой автомобилей этого поставщика Менеджер - форма менеджера с подчиненной формой заказов по менеджеру задумка какая В подч.форме Поставщика все машины имеют статус Свободен - готов к продаже В форме Менеджер прикреплена форма просмотра свободных авто, фильтр - поле Состояние, потом можно фильтровать по каждому полю. Клиент выбирает автомобиль, в заказе в поле Автомобиль выбирается авто - Модель и код Авто и выбирается статус заказа. Одна заковыка, нужна помощь зала, после выбора в заказе авто и изменения его статуса логично изменить статус этого авто в таблице Автомобиль, что бы он не был свободным, а уже находился в резерве или был продан. Как сделать процесс автоматически, что то не получается Не могу приточить файл, ссылка http://my-files.ru/zyqz52 |
28.04.2015, 13:00 | #4 |
Пользователь
Регистрация: 13.04.2015
Сообщений: 15
|
Не так случаем?
Я тут немного внес корректив. Если я правильно понял мысль автора ) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
EF6 создает к связями многие-ко-многим не нужные столбцы "discrimination" | ogamilait | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 5 | 20.03.2015 23:11 |
Создаю "тестирующую систему" для проверки задач. Программисты, нужна ваша помощь! | alexfmf | Помощь студентам | 12 | 30.04.2009 20:19 |
нужна помощь как мне сказали: "простейщей задачкой" =) | xScorp1oNx | Общие вопросы C/C++ | 3 | 03.02.2009 02:13 |
Нужна помощь в решении задачек, тема "Циклы с переменным количеством шагов" | DJ Kost | Помощь студентам | 3 | 16.01.2009 13:26 |