|
|
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
Приветствую, Друзья! Есть следующая задачка: Один водитель может работать во многих автопарках и в каждом автопарке за ним может быть несколько авто.Один автомобиль может числится только в одном автопарке. Необходимо отобразить все машины которые закреплены за водителем, год выпуска которых старше 2014. Есть таблицы: - driver (id_driver, name, sex, phone) - auto (id_auto, model, color, year (год выпуска авто), fk_park, fk_driver) - park /Автопарк (id_park, title, address, fk_auto) Отношения в таблицах, как я понимаю: Auto : Park = 1:1 Driver : Park = 1:N Driver : Auto = 1:N Я вижу решение следующим образом: SELECT d.name, d.phone, a.model, a.year FROM driver d, auto a, park p WHERE d.id_driver = a.fk_driver AND p.fk_auto = a.id_auto AND a.year> 2014 ORDER BY d.name; Верно ли я мыслю касательно своей задачи. Можно ли это сделать объединением? Заранее благодарю за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 02:13 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
Отношения Auto : Park = N:1 Driver : Park - не нужно вообще (из следующего отношения выводится) Driver : Auto = 1:N Если конечно нет такого, что за авто несколько водителей закреплено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 09:07 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
basilxНеобходимо отобразить все машины которые закреплены за водителем, год выпуска которых старше 2014. Верно ли я мыслю касательно своей задачи. Задача: отобразить машины. Запрос: отображает водителей. Подумайте сами, верно ли Вы мыслите? Затем подумайте о том, что в этой задаче ни водители, ни парки Вам вообще не нужны. basilxМожно ли это сделать объединением? Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 09:55 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
А, ну и заодно я бы предложил подумать над тем, как внятно переводится на русский язык корявая формулировка "год выпуска старше 2014". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 09:58 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
basilx, SELECT driver.name, auto.model, auto.year FROM driver INNER JOIN (auto INNER JOIN driver_avto ON auto.id_auto = driver_avto.id_auto) ON driver.id_driver = driver_avto.id_driver WHERE (((auto.year)>2014)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 10:04 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
vmag, гениально. Вы не только повторили все ошибки автора, но и добавили к ним несуществующую таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 10:09 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
softwarerно и добавили к ним несуществующую таблицу. недостающую.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 10:14 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
vmagнедостающую.... Вы это скажите преподавателю. Который и так дал на две таблицы больше, чем нужно для этой задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 10:16 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
softwarerВы это скажите преподавателю. не все преподы идолы, на которых нужно молиться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 10:22 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
softwarer, Да, ещё раз перечитал условие, просто переписал с ошибками, нужно таки: "Выбрать всех водителей в заданном автопарке, к которому привязан хотя бы один автомобиль с годом выпуска позднее 2010". В итоге нарисовал схему отношений (Не разобрался как вставить картинку, во вложении) и переписал запрос: Код: sql 1. 2. 3. Но меня смущает фраза хотя бы один автомобиль, т.е. может быть ситуация когда за водителем не числится вообще автомобилей? Тогде нужно добавлять ещё одно условие. softwarer, А можно попродробнее по поводу двух лишних таблиц. Там где отношение 1:1 можно было сделать в одной таблице, я так думаю. А где ещё лишняя таблица? Хочется разобраться более детально и отдельное спасибо за наводящие вопросы. В данном случае не нужно вообще никаких объединений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 13:15 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
Naf, Спасибо, как - то сразу не понял, что отношение лишнее, а потом как начал создавать таблицы, то всё стало на свои места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 13:17 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
basilxДа, ещё раз перечитал условие, просто переписал с ошибками, нужно таки: "Выбрать всех водителей в заданном автопарке, к которому привязан хотя бы один автомобиль с годом выпуска позднее 2010". OK. Но снова посмотрите на свой запрос: русским языком сказано "выбрать всех водителей". А Ваш запрос возвращает автомобили. Кроме того, я так подозреваю, всё же имеется в виду "к которым". Потому что если "к которому", задание следует понимать как "выбрать всех водителей заданного автопарка, если к нему привязан хотя бы один автомобиль, выпущенный после 2010 года". basilxНо меня смущает фраза хотя бы один автомобиль, т.е. может быть ситуация когда за водителем не числится вообще автомобилей? Такая ситуация, безусловно, может быть, но Вам актуальнее другая ситуация: когда к водителю привязано несколько таких автомобилей. basilxА можно попродробнее по поводу двух лишних таблиц. В том виде, в котором было написано, задача решается запросом Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 13:31 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
basilx, только картинку свою преподу не показывайте, из неё вытекает что в каждом парке может быть только одна машина, ну или я уже ничего не понимаю.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 13:44 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
vmag, А почему одна машина? Просто отношение 1 : 1, т.е. одна машина числится за одним парком, всё пучком. А в автопарке их может быть много, но одна машина всегда закреплена только за одним автопарком, не вижу противоречий. Почему думаете это некорректно? Я создал таблицы и уже прогнал запрос, всё работает красиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 15:06 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
basilxvmag, А почему одна машина? Просто отношение 1 : 1, т.е. одна машина числится за одним парком, всё пучком. А в автопарке их может быть много, но одна машина всегда закреплена только за одним автопарком, не вижу противоречий. Это называется "1:N" - один автопарк, N машин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 15:29 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, Спасибо за исправление, как - то я невнимателен был, когда создавал даграмму. А так да, понятно что отношение 1 ко многим. Т.е. на диаграмме исправлю 1:1 на N:1. Спасибо ещё раз! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 15:43 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
basilxСпасибо за исправление, как - то я невнимателен был, когда создавал даграмму. ну и вникайте во все тонкости ответов вам : NafЕсли конечно нет такого, что за авто несколько водителей закреплено То есть, если по понедельникам на авто X ездит водитель А , а по вторникам водитель В , а по средам водитель С , то в таблице auto один и тот же автомобиль Х будет присутствовать не один, а три раза (согласно вашей схеме) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 18:33 |
|
||
|
Вопрос, по запросу и проектированию БД, автопарк
|
|||
|---|---|---|---|
|
#18+
vmag, Это было предположение, тогда требуется еще таблица, а может и не одна (если графики есть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 08:09 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39193208&tid=1540377]: |
0ms |
get settings: |
6ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 172ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...