Ламерский вопрос по реляционным БД

Corrector

Допустим, есть таблица A (список машин) и таблица B (список водителей)
У каждой таблицы куча полей, в частности, в таблице B (водители) есть поле В.машины, в котором указываются все машины конкретного водителя из таблицы A. Какого типа должно быть это поле (у каждого водителя может быть любое число машин).

artimon

Если машина может принадлежать нескольким водителям (? то должна быть третья таблица связей между машинами и водителями.
Если машина может принадлежать только одному водителю, лучше сделать поле у машины A.водитель_этой_машины.
Зы. На истинность в последней инстанции не претендую.

Corrector

то есть без таблицы связи не обойтись никак?
зы: машина может принадлежать многим водителям, у одного водителя много машин (это просто пример).
зыы MySQL

artimon

Ну можно в текстовом поле хранить сериализованный список id, только ты потеряешь все преимущества sql и затрахаешся.

Boris1980

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

Lorin

Допустим, есть таблица A (список машин) и таблица B (список водителей)
У каждой таблицы куча полей, в частности, в таблице B (водители) есть поле В.машины, в котором указываются все машины конкретного водителя из таблицы A. Какого типа должно быть это поле (у каждого водителя может быть любое число машин).
куча полей, в частности, в таблице B (водители) есть поле В.машины
это бред - снести это поле обязательно
список машин - бесполезно и место жрёт, если "куча полей"
таблицу отношений по любому id_car, id_driver
Оставить комментарий
Имя или ник:
Комментарий: