powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужен совет по проектировке БД "Аукцион автомобилей"
22 сообщений из 22, страница 1 из 1
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38973821
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, есть БД: аукцион автомобилей. Содержит 3 таблицы :
1) dealer - информация о дилерах, могут содержать любое количество автомобилей
2) car - информация о автомобилях, которые выставлены дилерами на аукцион, авто может повторяться
3) auction - информация о проведенном аукционе(всего три поля в ней, т.к. пример для разрешения ситуации)
Такой вопрос: почему при добавлении строк в таблицу auction, значения полей не соответствуют друг другу, т.е. если дилер с id = 1 торгует на аукционе авто с id = 1 и id = 2, то и в таблице auction дилеру с id = 1 должны соответствовать вышеприведенные авто, а на самом же деле - весь перечень авто из таблицы car.
Заранее спасибо. Приложил файл БД и схему.
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38973822
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38973901
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeebraТакой вопрос: почему при добавлении строк в таблицу auction, значения полей не соответствуют друг другу, т.е. если дилер с id = 1 торгует на аукционе авто с id = 1 и id = 2, то и в таблице auction дилеру с id = 1 должны соответствовать вышеприведенные авто, а на самом же деле - весь перечень авто из таблицы car.Два контрвопроса:
1)как вы добавляете данные?
2)как вы определяете, что "соответствует" тому или иному дилеру?
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38973956
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Схема противоречива. Она позволяет выставить лотом аукциона автомобиль, который торгуется другим дилером, без нарушения ограничения целостности.

Выбросить всё и начать заново.
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974039
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir1)как вы добавляете данные?
2)как вы определяете, что "соответствует" тому или иному дилеру?
1)
Дабавление данных
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
INSERT INTO `dealer` (`id_dealer`, `soname_dealer`, `address`, `phone`) VALUES
(1, 'Егоров', 'ул. Пушкина 3', '89191234567'),
(2, 'Васильев', 'ул. Лермонтова 10', '89191234567');

INSERT INTO `car` (`id_car`, `title_car`, `condition`, `kolvo`, `dealer_price`, `id_dealer`) VALUES
(1, 'Audi A8', 'идеальное', 10, 1500000, 1),
(2, 'BMW X5', 'хорошее', 20, 1300000, 1),
(3, 'Audi A8', 'хорошее', 30, 1580000, 2),
(4, 'BMW X5', 'плохое', 50, 1200000, 2),
(5, 'Ford Fusion', 'идеальное', 15, 500000, 1);

INSERT INTO `auction` (`id_auction`, `id_dealer`, `id_car`) VALUES
(1, 2, 5);


2) таблицы car и dealer связаны между собой, смотрю по полю id_dealer в таблице car . В данном примере(под спойлером), дилер с id = 2 выставил автомобили с id = 3 и 4

AkinaСхема противоречива. Она позволяет выставить лотом аукциона автомобиль, который торгуется другим дилером, без нарушения ограничения целостности.
Прочитал про это, согласен, но в задании так сказано:
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974048
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeebraв задании так сказано:
Задание не отменяет необходимости пользоваться мозгом.
Какого хрена надо было запихивать в структуру таблицы аукционов сто лет там не нужную информацию о дилере? которая распрекрасно может быть получена через таблицу автомобилей, причём без каких-либо конфликтов и противоречий.
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974050
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeebraПрочитал про это, согласен, но в задании так сказано:А я не согласен. Акина (как и я) считал, что car - таблица конкретных автомобилей, а по заданию выходит, что это таблица марок/классов автомобилей. Судьбу конкретно взятого авто проследить в этой схеме невозможно просто потому, что в ней нет понятия "конкретно взятое авто".
Zeebra2) таблицы car и dealer связаны между собой, смотрю по полю id_dealer в таблице car . В данном примере(под спойлером), дилер с id = 2 выставил автомобили с id = 3 и 4при этом продал он 15 авто с ид=5... ни на какие мысли не наводит?
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974051
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirпо заданию*по вашей реализации задания
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974084
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirпо заданию выходит, что это таблица марок/классов автомобилей.
Даже после второго просмотра задания не увидел этого явно. Разве как альтернативу...

Но, представляя себе предметную область, не верю, что, если один дилер начал выставлять АМТ некоей модели, то другие с такой же моделью на аукцион допущены не будут. Так что не соглашусь.
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974085
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Другой вопрос, что дилеры налево, модели направо, а машины посерёдке - и у каждой своя моделя и свой дилер.

Но это после того, как ТС хоть чёнить почитает по основам...
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974316
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaКакого хрена надо было запихивать в структуру таблицы аукционов сто лет там не нужную информацию о дилере? которая распрекрасно может быть получена через таблицу автомобилей, причём без каких-либо конфликтов и противоречий.
Хорошо, смысл понял, а если количество проданных единиц в таблице auction будет превышать количество заявленных авто в таблице car, как здесь быть? тоже убирать это поле из таблицы auction?
В таблице car авто могут пересекаться, лишь бы дилер разный был, akina, а что именно читать, если я не понимаю, по-вашему
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974326
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeebraчто именно читать
Анализ предметной области (концептуальное проектирование, построение ER-моделей).
Логическое проектирование.
Физическое проектирование. Нормальные формы.
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974406
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переделал структуру, как мне кажется, все работает, кроме количества авто и цен. Как для них сделать соответствие?
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974408
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974409
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974447
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обратите внимание - в задании присутствует характеристика "состояние авто". Это говорит о том, что на аукцион выставляются вторичные (возможно, ремонтные) автомобили, т.е. каждый из них по отдельности является самостоятельным лотом. Следовательно, никакого количества авто в заявке не может быть даже теоретически, ибо оно всегда равно единице.

Вот всю такую хрень Вы должны выявить задолго до того, как сядете за клавиатуру. Так что сотрите свою очередную "базу" и выполните таки анализ как положено. Ну просто чтобы ещё десять раз не переделывать...
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974453
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
я думал, что имеется ввиду партия автомобилей(одной марки и состояния), столбец "количество единиц" только подстегнул к такому решению
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974456
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeebra , состояние может быть одинаковым только в двух случаях:
1) муха не сидела;
2) под пресс.
Во всех остальных случаях состояние авто - уникально.
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974472
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
убедительно, будет, значит, в car по одной машине, а как быть с ценой? В таблице auction запросто можно поставить цену, ниже заявленной дилером
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974482
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeebraкак быть с ценой? В таблице auction запросто можно поставить цену, ниже заявленной дилеромВы убеждены, что это ПРОГРАММНАЯ проблема???
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974496
Zeebra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
нет, необходимо организовать правильно, вот только как, что-то в голову не приходит
...
Рейтинг: 0 / 0
Нужен совет по проектировке БД "Аукцион автомобилей"
    #38974500
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это потому, что не проведён анализ и не выявлены все бизнес-процессы.Вот и всплывают всякоразные вопросы...
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужен совет по проектировке БД "Аукцион автомобилей"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]