Системное администрирование

Реляционная таблица (базы данных)

Помогите соединить таблицы, нифига не понимаю как это правильно делается.
Не знаю как вас учат, но имя таблицы или сущности в ед. числе: Договор, Автомобиль, Модель, Клиент
И для соединений надо бы внешние ключи прописывать. А для этого понять какая связь 1-1 1-М или М-М а это часто может зависеть от задачи. И схема самое сложная часть в проектировании, над ней можно долго думать и несколько раз переделывать... так что как будет, не знаю
Толя Прокопьев
Толя Прокопьев
53 673
Лучший ответ
Мухтар Шойбеков Существует международный стандарт, требующий задавать имя таблицы в единственном числе? Таблица - это множество значений, потому логичнее использовать именно множественное число.
Всего 3 связи один-ко-многим:

Модели -> Автомобили
Автомобили -> Договоры
Клиенты -> Договоры

В таблице Модели отсутствует поле ID
В таблице Автомобили отсутствуют поля ID и ID модели.
В таблице "договор на аренду" есть пункт ID клиента он соединяется с таблицей по клиенты по внешнему ключу, какое поле, думаю, догадаешься
Конечно странно, что в договоре на аренду есть ID авто, а в автомобилях нет поля ID, да и по хорошему модель тоже должна иметь ID и в таблице автомобили должен быть внешний ключ.
Тебе точно не надо добавлять колонок? Тогда я бы соединил поле модель у автомобиля и поле название модели у модели. Хотя соединять по строкам - плохая идея.
Hayrullo Dodjonov Согласен, строки такое себе. Стремно, но не критично - там не будет высокой кардинальности уникальных ключей, так что оно будет работать более менее. Хоть и памяти пожрет конечно прилично поболее чем с циферками да и скан будет не самый быстрый. Но работать будет )
Логически. Поля одинаковые стрелочками соедини меж таблицами. "ID клиента" из таблицы договоров и "ID" из таблицы клиентов. А ещё "модель" и "название модели" в таблицах авто и моделей. А ещё в табоице авто явно не хватает ID, надо добавить и связать с этим "ID авто" в договорах.
Артем Штепа
Артем Штепа
1 454
Ерик Омиржанов А что, можно добавлять свои колонки?
Артем Штепа А вообще нормализация реляционных бд прошлый век. Есть nosql для деревьев (монга), для кейвалью (аэроспайк), есть колоночные бд с таблицами в тыщу столбцов где ничего делить на таблицы не надо - все в одну пишут. В универах все так же учат невостребованной фигне пятилетней давности за которую норм зп потом не попросишь. Грустно это...