|
|
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Доброго дня. Пытаюсь создать свою первую БД, столкнулся с примитивной задачей, не могу понять как связать 2 таблички. Итак, у меня есть первая табличка, назовёт её условно "Торговые точки", stores. В ней есть столбцы: ID (int, Primary Key); Address; Description... и др., простые и не имеющие значение сейчас столбцы. И есть вторая табличка - "Сотрудники" или employes с полями: ID (int, Primary Key); FirstName, SecondName, rank и др. К каждому магазину могут быть приписаны некоторые сотрудники, с другой стороны сотрудники могут в разные дни работать в разных магазинах (не во всех). Т.е. как я дальше понял это отношение "многие-ко-многим". Но дальше я не понимаю что получается. Это отношение создаёт ещё одну промежуточную табличку. А что делать дальше я не понимаю. А необходимо что бы в приложении отображались магазины с сотрудниками, которые могут там работать. Как это реализовать? Нужно доработать отношение табличек и/или какой запрос написать для вывода информации о магазине с списком привязанных продавцов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 12:00 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
ArvalonА необходимо что бы в приложении отображались магазины с сотрудниками, которые могут там работать. Как это реализовать? Нужно доработать отношение табличек и/или какой запрос написать для вывода информации о магазине с списком привязанных продавцов. Курс по РМД и СУБД проходят в институте. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 12:09 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Институт давно закончен, курс по БД сдан и забыл. Вы могли бы в общих чертах на 1-2 абзаца описать необходимые доработки, далее попытаюсь разобраться сам с помощью литературы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 12:11 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Arvalon, Нужна третья таблица, "Приписка сотрудников к магазинам", всего с двумя полями. Точка_ID Сотрудник_ID Только меня смущает оговорка "сотрудники могут в разные дни работать в разных магазинах". Это расписание по дням нужно хранить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 12:12 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherТолько меня смущает оговорка "сотрудники могут в разные дни работать в разных магазинах". Это расписание по дням нужно хранить? Нет, не нужно Cane Cat FisherArvalon, Нужна третья таблица, "Приписка сотрудников к магазинам", всего с двумя полями. Точка_ID Сотрудник_ID Да, я понял что будет что-то похожее на это, пример из статьи про отношения на Хабре: Допустим я получу такую табличку. А далее, допустим, в приложении у меня должна выводиться табличка из двух столбцов: Магазин Сотрудники Магазин 1 Иванов, Петров, Сидоров Магазин 2 Петров, Сидоров Магазин 3 Иванов .... ...... Как вообще это реализовывается? На ум сразу только приходит запрос по промежуточной табличке A_B с исключением дублей по полю Точка_ID и сбором всех Сотрудник_ID, в свою очередь тоже с удлением дублей... МОжет это как-то проще делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 12:24 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
ArvalonCane Cat FisherТолько меня смущает оговорка "сотрудники могут в разные дни работать в разных магазинах". Это расписание по дням нужно хранить? Нет, не нужно Cane Cat FisherArvalon, Нужна третья таблица, "Приписка сотрудников к магазинам", всего с двумя полями. Точка_ID Сотрудник_ID Да, я понял что будет что-то похожее на это, пример из статьи про отношения на Хабре: Допустим я получу такую табличку. А далее, допустим, в приложении у меня должна выводиться табличка из двух столбцов: Магазин Сотрудники Магазин 1 Иванов, Петров, Сидоров Магазин 2 Петров, Сидоров Магазин 3 Иванов .... ...... Как вообще это реализовывается? На ум сразу только приходит запрос по промежуточной табличке A_B с исключением дублей по полю Точка_ID и сбором всех Сотрудник_ID, в свою очередь тоже с удлением дублей... МОжет это как-то проще делается? resultset Точка сотрудникМагазин 1 ИвановМагазин 1 ПетровМагазин 1 Сидоров получается элементарно, а преобразовывать это в вид "Магазин 1 Иванов, Петров, Сидоров" - желательно на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 12:31 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Кот Матроскинresultset Точка сотрудникМагазин 1 ИвановМагазин 1 ПетровМагазин 1 Сидоров получается элементарно, Да, сортировку я осилю ) Кот Матроскина преобразовывать это в вид "Магазин 1 Иванов, Петров, Сидоров" - желательно на клиенте. Предполагается что клиент будет написан на ASP.NET. И в этом случае формировать финальный вид на клиенте, на web-сервере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 12:51 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Arvalon, Ну Вам виднее, что может, а чего не может Ваш клиент. Большинство промышленных серверов смогут при необходимости Вам сделать строку "Иванов, Петров, Сидоров", но по хорошему это не работа сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 14:23 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherArvalon, Нужна третья таблица, "Приписка сотрудников к магазинам", всего с двумя полями. судя по всему еще и с датой начала и датой конца. Раз сотрудники переходят туда-сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 11:03 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
ArvalonИнститут давно закончен, курс по БД сдан и забыл. Вы могли бы в общих чертах на 1-2 абзаца описать необходимые доработки, далее попытаюсь разобраться сам с помощью литературы. Я не пойму, это учебная лабораторка для заочников, или нет? Интересуюсь не просто так, от этого зависит "широкоохватность" ответов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 11:14 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherЯ не пойму, это учебная лабораторка для заочников, или нет? Интересуюсь не просто так, от этого зависит "широкоохватность" ответов. Не, вполне себе боевой проект, но не приоритетный. По сути справочник. Ivan Durakсудя по всему еще и с датой начала и датой конца. Раз сотрудники переходят туда-сюда Нет, у меня задание пока без времени реализовать. Что бы просто видеть кто где может работать/приписан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 11:24 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Arvalon, Ну в таком виде не рекомендую делать, там НФ и так далее. Почитайте про нормализацию. Магазин Сотрудники Магазин 1 Иванов, Петров, Сидоров Магазин 2 Петров, Сидоров Магазин 3 Иванов Можно выводить в таком виде, на сервере или на клиенте, то решать уже вам. Это выводиться довольно элементарно, джоин и вперед. Ну это вам уже и выше написали. Магазин Сотрудники Магазин 1 Иванов Магазин 1 Петров И странно, что вам поручили задачу такого уровня, хотя вы не разбираетесь в самых азах, но это уже не наши проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 12:52 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
wizliArvalon, Ну в таком виде не рекомендую делать, там НФ и так далее. Почитайте про нормализацию.Читал. wizliИ странно, что вам поручили задачу такого уровня, хотя вы не разбираетесь в самых азах, но это уже не наши проблемыДа вроде простая задача показалась. Базовые навыки в программировании на C# есть. Подумал что простую БД написать то смогу. Всего то 2 таблички получается. Они же есть готовые с тестовыми данными, записей пока не так много. Но что я в ступоре. Первая большая табличка с описанием магазинов, вторая с персоналом.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 13:41 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
ArvalonДа вроде простая задача показалась Она и есть простая, причем настолько простая, что совершенно не проясняет суть ситуации, и не позволяет дать адекватный совет. У вас уже есть база данных с магазинами и сотрудниками, и к ней нужно прилепить привязку? Или вы с нуля пишете? Тогда какие дальнейшие планы? Может оказаться так, что самым адекватным советом будет "откажитесь, бросайте все и бегите". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 14:56 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
ArvalonИ странно, что вам поручили задачу такого уровня, хотя вы не разбираетесь в самых азах, но это уже не наши проблемыДа вроде простая задача показалась. Базовые навыки в программировании на C# есть. Подумал что простую БД написать то смогу. Всего то 2 таблички получается. Они же есть готовые с тестовыми данными, записей пока не так много. Но что я в ступоре. Первая большая табличка с описанием магазинов, вторая с персоналом....[/quot] Она простая, но решение зависит от БД Например для PotstgreSQL: Код: sql 1. 2. 3. 4. 5. 6. 7. Для других БД конкатенация строк может быть другая... или не быть вовсе. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 15:44 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Arvalon, Да, вы правы, задача очень простая. Если есть конкретные вопросы, то спрашивайте. Пока, лично мне, не понятно, что вам именно непонятно в этом таске. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 15:56 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
После дополнительного поиска в интернете и повторного чтения литературы я понял что надо сделать. Надо сделать ещё одну табличку с 2 столбцами, как на картинке тут выше. Каждый столбец будет внешним ключём к первичным ключам таблиц Сотрудники и Магазины. А для соблюдения уникальности самой промежуточной таблицы у неё надо сделать свой собсвенный первичный составной ключ, состоящий из обоих столбцов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 11:35 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
ArvalonПосле дополнительного поиска в интернете и повторного чтения литературы я понял что надо сделать. Надо сделать ещё одну табличку с 2 столбцами, как на картинке тут выше. Каждый столбец будет внешним ключём к первичным ключам таблиц Сотрудники и Магазины. А для соблюдения уникальности самой промежуточной таблицы у неё надо сделать свой собсвенный первичный составной ключ, состоящий из обоих столбцов. а третьему комменту от Cane Cat Fisher не поверили сразу??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 12:11 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Ivan Durakа третьему комменту от Cane Cat Fisher не поверили сразу??? Там ни слова про ключи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 12:24 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
ArvalonIvan Durakа третьему комменту от Cane Cat Fisher не поверили сразу??? Там ни слова про ключи.а подумать немного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 14:12 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Nafа подумать немного? Это всё таки форум а не экзамен, затем и спрашиваю. Если что-то самостоятельно не удаётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 14:14 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
Arvalon, Просто для большинства читателей ответ на вопрос "как сделать ключи в связующей таблице?" настолько очевиден, что никто не стал про это упоминать. Вам стоило так и спросить "а как делать в этой таблице ключи?", если именно по этому поводу у Вас были сомнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 14:32 |
|
||
|
Помогите связать две таблички.
|
|||
|---|---|---|---|
|
#18+
ArvalonЭто всё таки форум а не экзамен, затем и спрашиваю. Если что-то самостоятельно не удаётся. Нет, я все-таки чего-то не понимаю в этой жизни. Я совершенно спокойно и деликатно отношусь к тому, что кто-то чего-то не знает в процессе обучения. Пропущу учебную машину, подскажу студенту, отвечу на вопросы в форуме. Но не понимаю, как, когда, в какой ситуации могут поручить работу человеку, совершенно не знающему азов. Сесть в такси, зная, что водитель никогда не ездил на машине. Пойти к врачу, и подсказывать ему, куда делать укол. Два дня копаться в литературе, чтобы сделать таблицу из двух полей. Я просто не понимаю, что советовать дальше. Просто для расширения нашего кругозора, расскажите, что происходит, и как это возможно? Это, наверное, гос.структура? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 18:22 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=17&tid=1540420]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 153ms |

| 0 / 0 |

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