
Системное администрирование
Реляционная таблица (базы данных)
Помогите соединить таблицы, нифига не понимаю как это правильно делается.


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