Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / БД автомобилей (бренд, модель, модификация) / 18 сообщений из 18, страница 1 из 1
03.12.2007, 00:41
    #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
03.12.2007, 09:17
    #34981168
Kirill Razuvaev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД автомобилей (бренд, модель, модификация)
>> С точки срения логики такая структура проста и понятна. А вот с точки
>> зрения производительности? Или лучше обойтись одной табличкой?
Точка зрения на производительность может быть только тогда, когда понятен
объем БД и основные используемые запросы. Они же, собственно, влияют и на
структуру БД.
Можно, конечно, обойтись и одной таблицей, только надо ли это, если Вы
знаете, что такое нормализация... ;)

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


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

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

з.ы. БД - MySQL 5.1

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


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


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


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
03.12.2007, 12:29
    #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
03.12.2007, 12:31
    #34981793
Новичек2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД автомобилей (бренд, модель, модификация)
Кирилл, БД будет заполняться администратором.
...
Рейтинг: 0 / 0
03.12.2007, 12:49
    #34981874
BULK INSERT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД автомобилей (бренд, модель, модификация)
Kirill Razuvaevто запросто пользователь может ввести одну и ту же марку для разных
моделей по-разному.


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


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

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


нет

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

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

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


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


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

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

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

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

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

а вообще - как вы считаете как много можно содержательного сказать о трех (SIC!) несчастных бесполезных и бессмысленных таблицах ?
...
Рейтинг: 0 / 0
03.12.2007, 15:05
    #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]