powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / БД автомобилей (бренд, модель, модификация)
18 сообщений из 18, страница 1 из 1
БД автомобилей (бренд, модель, модификация)
    #34980959
Новичек2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!

Может кто уже занимался проектированием БД автомобилей (бренд, модель, модификация)?

Посмотрел такие сайты как cars.auto.ru / avtomarket.ru

в голову пришла такая структура:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CREATE TABLE `brands` (
`id`	INT( 10 )		NOT NULL	PRIMARY	AUTO_INCREMENT,
`value`	VARCHAR( 50 )	NOT NULL
);

CREATE TABLE `models` (
`id`		INT( 10 )		NOT NULL	PRIMARY	AUTO_INCREMENT,
`brand_id`	INT( 10 )	NOT NULL,
`value`		VARCHAR( 50 )	NOT NULL
);

CREATE TABLE `modifications` (
`id`		INT( 10 )		NOT NULL	PRIMARY	AUTO_INCREMENT,
`model_id`	INT( 10 )		NOT NULL,
`value`		VARCHAR( 50 )	NOT NULL
INDEX(`model_id`)
);

CREATE TABLE `cars` (
`id`			INT( 10 )		NOT NULL	PRIMARY	AUTO_INCREMENT,
`modification_id`	INT( 10 )		NOT NULL,
INDEX(`modification_id`)
);

Соответственно выборка происходит с участием left join

С точки срения логики такая структура проста и понятна. А вот с точки зрения производительности? Или лучше обойтись одной табличкой?
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981168
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> С точки срения логики такая структура проста и понятна. А вот с точки
>> зрения производительности? Или лучше обойтись одной табличкой?
Точка зрения на производительность может быть только тогда, когда понятен
объем БД и основные используемые запросы. Они же, собственно, влияют и на
структуру БД.
Можно, конечно, обойтись и одной таблицей, только надо ли это, если Вы
знаете, что такое нормализация... ;)

С уважением,
Кирилл Разуваев


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981352
Новичек2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kirill RazuvaevТочка зрения на производительность может быть только тогда, когда понятен
объем БД и основные используемые запросы. Они же, собственно, влияют и на
структуру БД.
Можно, конечно, обойтись и одной таблицей, только надо ли это, если Вы
знаете, что такое нормализация... ;)
Объём достаточно маленький -- это основные бренды иномарок и последние модели оных.

з.ы. БД - MySQL 5.1
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981582
Чендлер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новичек2 Kirill RazuvaevТочка зрения на производительность может быть только тогда, когда понятен
объем БД и основные используемые запросы. Они же, собственно, влияют и на
структуру БД.
Можно, конечно, обойтись и одной таблицей, только надо ли это, если Вы
знаете, что такое нормализация... ;)
Объём достаточно маленький -- это основные бренды иномарок и последние модели оных.

з.ы. БД - MySQL 5.1

я бы обошелся одной табличкой :) еслиф хочется
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981649
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>я бы обошелся одной табличкой :) еслиф хочется
Чтобы потом получить две разные марки "Mercedes-Benz" и "Mrecedes Benz"?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981663
Чендлер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kirill Razuvaev
>>я бы обошелся одной табличкой :) еслиф хочется
Чтобы потом получить две разные марки "Mercedes-Benz" и "Mrecedes Benz"?


Posted via ActualForum NNTP Server 1.4
как из моих слов можно сделать такой вывод?
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981773
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Чтобы потом получить две разные марки "Mercedes-Benz" и "Mrecedes Benz"?
>> как из моих слов можно сделать такой вывод?
Я имел ввиду, что если все класть в одну таблицу (отсутствует справочник
марок), то запросто пользователь может ввести одну и ту же марку для разных
моделей по-разному. Это и опечатки, и лишние пробелы...


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981790
Новичек2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имеется ввиду одна табличка такого вида
Код: plaintext
1.
2.
3.
4.
5.
brand_name	model_name	mod_name
BMW		 1  серия		116i
BMW		 1  серия		118i
BMW		 3  серия		318i
BMW		 3  серия		320i
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981793
Новичек2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кирилл, БД будет заполняться администратором.
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981874
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaevто запросто пользователь может ввести одну и ту же марку для разных
моделей по-разному.


вообще-то большее количесвто таблиц не гарантирует отсутствия ошибок ввода


пользователь точно так же может и в справочники наколбасить как в общую таблицу...
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981943
Колбасил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Верно говоришь брат "большой змей". :-))
Было как-то одинаковых три района, Два отличались количеством пробелов, а один был со старым названием.

Вообще ведение корректных справочников это еще и административная функция(я имею ввиду как план счетов в бухгалтерии, хотя и не так жестко), а не только сервера БД.
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34981986
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тынц
- 71 логотип производителей автомобилей


нет

плимут
пежо
паккард
рено
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34982123
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Колбасилэто еще и административная функция.

вопрос баланса

стоимости владения (администрирования, контроля)
стоимости ошибки (очепятки ввода неточности и проч.)
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34982153
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Кирилл, БД будет заполняться администратором.
1. Администратор - тоже человек, имеет право на ошибку. Думаю, при вводе в
таблицу 200 записей, минимум две ошибки будет в названиях. При выборе из
справочника, по-моему, шансов ошибку сделать меньше... причем на порядки...
2. Если хотим научиться проектировать базы "по науке", то не стоит
пренебрегать нормальными формами.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34982177
Новичек2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kirill Razuvaev
>> Кирилл, БД будет заполняться администратором.
1. Администратор - тоже человек, имеет право на ошибку. Думаю, при вводе в
таблицу 200 записей, минимум две ошибки будет в названиях. При выборе из
справочника, по-моему, шансов ошибку сделать меньше... причем на порядки...
2. Если хотим научиться проектировать базы "по науке", то не стоит
пренебрегать нормальными формами.


Posted via ActualForum NNTP Server 1.4
1. Да хоспади, мы же сейчас не разбираем вероятность ошибки/опечатки администратором. Это возможно везде. Пресловутый человеческий фактор ещё никто не отменял.

2. Дык ещё никто не ответил, "по науке" ли приведённая в первом сообщении структура.
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34982215
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица Modifications лишняя. Все ее атрибуты, кроме id естественно, перенеси в Сars.
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34982251
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичек22. Дык ещё никто не ответил, "по науке" ли приведённая в первом сообщении структура.

"по науке" это сферический конь в вакууме - все завист от того, для каких целей предназначена ваша прилада...

если нужны техническая оценка-экспертиза-описание автомобиля то ваш вариант вообще ничего не стоит... тот же самый форд могут собирать и во всеволожске и в казахстане и в германии - ну и какой вы припишете бренд?

бренд вообще мало что значит - это элемент маркетинга - если база техническая, то нужен, например, Manufacturer и Plant...

а вообще - как вы считаете как много можно содержательного сказать о трех (SIC!) несчастных бесполезных и бессмысленных таблицах ?
...
Рейтинг: 0 / 0
БД автомобилей (бренд, модель, модификация)
    #34982471
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> 1. Да хоспади, мы же сейчас не разбираем вероятность ошибки/опечатки
>> администратором.
>> Это возможно везде. Пресловутый человеческий фактор ещё никто не
>> отменял.
>> 2. Дык ещё никто не ответил, "по науке" ли приведённая в первом
>> сообщении структура.

О том и речь, что базу нужно проектировать с учетом ее использования, см.
сообщение proposed amendment


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / БД автомобилей (бренд, модель, модификация)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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