Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2015, 02:17   #1
Anr34
Новичок
Джуниор
 
Регистрация: 02.04.2015
Сообщений: 1
По умолчанию "Продажа автомобилей" нужна помощь с сущностями и связями

Здравствуйте!
Так как с бд и СУБД Access давно не возился и растерял знания, возникла следующая проблема.
Запутался в сущностях и связях, а преподавателя уже не выловить.

Задача явно типовая и возможно кто-то уже сталкивался?

Дано следующее задание.

"Разработать информационную систему ПРОДАЖА АВТОМОБИЛЕЙ. Система должна обеспечивать ведение базы новых и подержанных автомобилей (марка, страна, год выпуска, технические характеристики, особенности исполнения, техническое состояние, запрашиваемая цена), ведение базы покупателей (контактные координаты, требования к марке, техническим характеристикам и техническому состоянию, допустимая цена автомобиля), автоматизированный подбор вариантов для покупателя, формирование заявок для поставщиков и перегонщиков автомобилей. Разработать: меню приложения и средства диалога, формы ввода и изменения данных, запросы (если они нужны), отчеты для вывода на печать."


На данный момент база имеет следующую структуру
(не вышло спрятать под спойлер)






Таблицы "менеджер" и "поставщик" добавил для заказа авто, но не знаю как сделать связь между ними и остальными таблицами, и нужна ли она вообще? Подскажите, если можно.

Значение "техническое состояние" я разбил на более мелкие таблицы с атрибутами и связал их с таблицей "автомобиль" для того, что бы не плодить одни и те же данные в записях и хоть как-то организовать "автоматизированный подбор вариантов для покупателя".
Для этой же цели соединил эти таблицы-атрибуты с таблицей "покупатель". Что бы организовать поиск.

Это слишком коряво? Возможно организовать как-то иначе? Или такой вариант тоже имеет маленький шанс на жизнь?

Не знаю как сделать в аксессе, что бы при вводе новой записи, хоть как-то сам упростить процесс (не вводить код который ей соответствуеют), по этому сделал выпадающий список и связи между таблицами-атрибутами и таблицами автомобиль/клиент с помощью мастера подстановок.

И так почти для каждого атрибута "технического состояния".

Имеет ли место быть такая схема данных, или стоит что-то пересмотреть?

Через формы можно добавлять и удалять авто, через форму пользователя можно подобрать для него автомобиль, выполнив запрос на выборку. (пока подбирается только если все выбранные значения совпадают с записью в таблице)


Пожалуйста, илии ткните куда нужно, или подскажите по самой базе.

Прилагаю базу в mdb.
Вложения
Тип файла: zip Автомобиль1.zip (74.2 Кб, 34 просмотров)

Последний раз редактировалось Anr34; 02.04.2015 в 02:25.
Anr34 вне форума Ответить с цитированием
Старый 17.04.2015, 01:36   #2
AndVGri
Форумчанин
 
Регистрация: 10.02.2012
Сообщений: 109
По умолчанию

Доброе время суток
На мой не искушённый взгляд, у вас есть неточности в структуре.
1. Насколько я понимаю Поставщик - это то кто/что поставляет автомобили. Соответственно, исходя из этой логики таблица поставщик должна быть связана с таблицей автомобили. Нужно знать - кто поставил данный механизм. Тогда в таблице Автомобили добавляется внешний ключ - КодПоставщика к таблице Поставщик.
2. Насколько я понял, вам нужно хранить данные о подборах автомобилей для статистики: сколько машин клиенты просматривают перед заказом.
Тогда имеем
Таблица Подбор(ПК_КодПодбора,ДатаПодбора,Ко дКлиента,КодМенеджера) и связанную таблицу
ПодробностиПодбора(ПК_КодПодробност и,КодАвтомобиля,ОценкаКлиента,ВК_Ко дПодбора,Статус[По-умолчанию-просмотр;Резервирование;Заказ;])
Таблица Заказы(ПК_КодЗаказа,ДатаЗаказа,Цена ,ВК_КодПодробности)
Думаю, вы понимаете, что клиенту при Подборе нельзя показывать автомобили которые находятся в состоянии Резервирование или Заказ. Нужно будет предусмотреть сброс, в случае отмены резервирования или заказа в состояние просмотр. Либо для улучшения производительности для автомобиля ввести Поле Статус с данными [свободен для просмотра; зарезервирован;в заказе; продан]

В любом случае, нужно больше деталей по предполагаемой бизнес-логике. Того что вы привели в начале - несколько маловато

Последний раз редактировалось AndVGri; 17.04.2015 в 01:43.
AndVGri вне форума Ответить с цитированием
Старый 21.04.2015, 14:44   #3
Ol_Bak
Пользователь
 
Регистрация: 07.02.2010
Сообщений: 21
По умолчанию база авто

По базе
Сделал три формы
Клиент - пока в форме таблицы, логичнее сделать форму с подчиненной формой заказов по клиенту
Поставщик - форма поставщика с подчиненной формой автомобилей этого поставщика
Менеджер - форма менеджера с подчиненной формой заказов по менеджеру

задумка какая
В подч.форме Поставщика все машины имеют статус Свободен - готов к продаже

В форме Менеджер прикреплена форма просмотра свободных авто, фильтр - поле Состояние, потом можно фильтровать по каждому полю.

Клиент выбирает автомобиль, в заказе в поле Автомобиль выбирается авто - Модель и код Авто и выбирается статус заказа.

Одна заковыка, нужна помощь зала, после выбора в заказе авто и изменения его статуса логично изменить статус этого авто в таблице Автомобиль, что бы он не был свободным, а уже находился в резерве или был продан.
Как сделать процесс автоматически, что то не получается

Не могу приточить файл, ссылка http://my-files.ru/zyqz52
Ol_Bak вне форума Ответить с цитированием
Старый 28.04.2015, 13:00   #4
foxter1989
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 15
По умолчанию

Не так случаем?
Я тут немного внес корректив. Если я правильно понял мысль автора )
Вложения
Тип файла: zip АТ.zip (73.4 Кб, 33 просмотров)
foxter1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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