|
Народ, а приведите пример связи рел. таблиц вида "многие-ко-многим" | ☑ | ||
---|---|---|---|---|
0
Steel_Wheel
06.10.11
✎
18:09
|
Народ, а приведите, пожалуйста, пример связи таблиц реляционной БД вида "многие-ко-многим", желательно из реальной жизни
|
|||
1
proger2011
06.10.11
✎
18:11
|
Блин... Заказы - Покупатели
|
|||
2
PR
06.10.11
✎
18:12
|
Товары и склады
|
|||
3
proger2011
06.10.11
✎
18:12
|
Не... Преподаватели - Предметы
|
|||
4
ShoGUN
06.10.11
✎
18:12
|
(0) Один ко многим, вообще-то.
|
|||
5
mm_84
06.10.11
✎
18:13
|
(0) социальные сети)
|
|||
6
proger2011
06.10.11
✎
18:13
|
(4) Ты мне в 1 написал, да согласен ступил
|
|||
7
ShoGUN
06.10.11
✎
18:13
|
(4) на (1).
Студенты - предметы. |
|||
8
ShoGUN
06.10.11
✎
18:15
|
Товары - поставщики
|
|||
9
Господин ПЖ
06.10.11
✎
18:16
|
мужчины - женщины
|
|||
10
Steel_Wheel
06.10.11
✎
18:16
|
Т.е. это -- не связанные таблицы, которые надо нормализовать?
|
|||
11
Господин ПЖ
06.10.11
✎
18:16
|
(10) винигрет в голове...
|
|||
12
Steel_Wheel
06.10.11
✎
18:16
|
(9) Бгг
(8) Ну, я так и думал... но, что-то оказалось, что не совсем |
|||
13
Джинн
06.10.11
✎
18:17
|
Номенклатура - ОКЕИ
|
|||
14
PR
06.10.11
✎
18:17
|
(10) Как все запущено. Может Яндекс?
|
|||
15
Steel_Wheel
06.10.11
✎
18:18
|
(14) на работе, пока закрыт
|
|||
16
ShoGUN
06.10.11
✎
18:18
|
(15) Жестоко. Гугл тоже закрыт? А миста открыта?
|
|||
17
Steel_Wheel
06.10.11
✎
18:20
|
(16) Да, и партнерский.... типа 1С-сайты ))
(2) Спасибо, вспомнил |
|||
18
Господин ПЖ
06.10.11
✎
18:20
|
(10) это две таблицы, отношения между собой в которых устанавливается через третью таблицу
|
|||
19
Shurjk
06.10.11
✎
18:20
|
Да уж, а интересно многие бы из понтующихся здесь, без яндекса так же облажались...
|
|||
20
Shurjk
06.10.11
✎
18:21
|
(18) Насчет третьей таблицы это ты зря... не надо все так буквально понимать.
|
|||
21
PR
06.10.11
✎
18:21
|
Отношение, при котором многие записи в одной таблице связаны со многими в другой. Классический пример - это отношение между таблицами Товары и Заказы. Заказ может включать в себя множество товаров, и в то же время один вид товара может входить в разные заказы. Часто возникает необходимость в создании третьей таблицы, связующей, с которой две другие будут связаны в отношении "один ко многим". Например, если создать третью таблицу Сведения о заказах и использовать ее в качестве связующей, то таблица Заказы будет иметь с таблицей Сведения о заказах отношение "один ко многим", и таблица Сведения о заказах в свою очередь будет иметь с таблицей Продукты отношение "один ко многим".
|
|||
22
PR
06.10.11
✎
18:21
|
(19) LOL
|
|||
23
Господин ПЖ
06.10.11
✎
18:22
|
(20) в смысле "зря"?
|
|||
24
ShoGUN
06.10.11
✎
18:23
|
(19) Можно же и порассуждать немного... Я лично без определений сразу понял что такое 1 к 1, 1 ко многим и многие ко многим.
(20) 3-я таблица нужна, иначе будет как с расчетной ведомостью в ЗУПе. |
|||
25
PR
06.10.11
✎
18:24
|
(23) Да он просто видимо исходя из (19) о таком типе связи знает из яндекса. Уже минут пять :))
|
|||
26
Джинн
06.10.11
✎
18:24
|
(19) Нет Бога, кроме Кодда и Дейт пророк его :)
|
|||
27
Shurjk
06.10.11
✎
18:24
|
(23) Ты согласен с тем что в (21) Написано, а теперь попробуй сформулировать суть такой связи в свете этой третьей таблицы, это просто для примера кто то приплел третью таблицу с правилами, а вы ее тут же в определение запихали
|
|||
28
Shurjk
06.10.11
✎
18:25
|
(25) Конечно, и запросы я тоже пишу, не представляя того что у меня в результате получиться.
|
|||
29
PR
06.10.11
✎
18:25
|
(27) Без третьей таблицы мы имеем только две исходные не связанные между собой таблицы
|
|||
30
Steel_Wheel
06.10.11
✎
18:26
|
Просто на собеседовании спросили: "Какие есть виды связей в РБД", а потом: "Что такое связь "многие-ко-многим"?".
Я по памяти выдал "товары и поставщики". Меня спросили, какой таблицы не хватает... я крепко задумался. |
|||
31
Джинн
06.10.11
✎
18:26
|
(27) А суть проста - кортежи из одной таблицы можно связать с кортежами другой таблицы только через промежуточную таблицу.
|
|||
32
Shurjk
06.10.11
✎
18:26
|
(29) То есть связи между этими таблицами никакой не будет? Про умножение двух талиц не доводилось слышать?
|
|||
33
Джинн
06.10.11
✎
18:27
|
(30) Документов не хватает :)
|
|||
34
Господин ПЖ
06.10.11
✎
18:27
|
(27) а как еще в реляционной БД можно описать "многие ко многим"?
сама по себе такая связь не возможна и заменяется двумя "один ко многим", которые описываются в третьей таблице |
|||
35
Shurjk
06.10.11
✎
18:27
|
(31) Не только, и даже не через таблицу а через какие то условия связи, не обязательно что они будут в таблице.
|
|||
36
ShoGUN
06.10.11
✎
18:28
|
(32) Связь "каждый с каждым" чаще всего бессмысленна на практике.
(30) "Поставщики товаров", т.е. связи между двумя таблицами... |
|||
37
Господин ПЖ
06.10.11
✎
18:28
|
(32) и что это будет? декартово? а нахрена оно тут нужно?
|
|||
38
Джинн
06.10.11
✎
18:29
|
(35) Коллега, вы ошибаетесь. Речь идет о теории реляционных баз. А не о фантазиях.
|
|||
39
Господин ПЖ
06.10.11
✎
18:29
|
короче epic fail...
|
|||
40
Steel_Wheel
06.10.11
✎
18:29
|
>>сама по себе такая связь не возможна и заменяется двумя
>>"один ко многим", которые описываются в третьей таблице (34) А я думал, в чем же подвох... потом предложил нормализовать такие таблицы. |
|||
41
Steel_Wheel
06.10.11
✎
18:30
|
Думал, правильно или нет
|
|||
42
ShoGUN
06.10.11
✎
18:30
|
(40) Учи матчасть. :)
|
|||
43
PR
06.10.11
✎
18:32
|
(32) Гениально! Результат умножения и есть третья таблица :))
|
|||
44
ShoGUN
06.10.11
✎
18:33
|
Строго говоря (35) прав, но это занудство, потому что любое условие можно легко свести к таблице, а вот наоборот - можно мозг сломать.
|
|||
45
Asmody
06.10.11
✎
18:35
|
да, насчёт третьей таблицы вы, ребят, погорячились. тут и двух много. отношение М-2-М вполне можно реализовать в одной таблице.
|
|||
46
Asmody
06.10.11
✎
18:36
|
нормализация? кто сказал "нормализация"?
|
|||
47
Джинн
06.10.11
✎
18:36
|
(44) Теория реляционных баз данных не оперирует "условиями".
Единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения. |
|||
48
Джинн
06.10.11
✎
18:37
|
(45) Нет, нельзя. В такой таблице отношения будут не нормализованные.
|
|||
49
ShoGUN
06.10.11
✎
18:38
|
(47) Согласен.
|
|||
50
Господин ПЖ
06.10.11
✎
18:38
|
(43) это не таблица, это хрень... что мне дает декартово в этом случае, когда мне нужны "точные" связи одной сущности с другой.
|
|||
51
Господин ПЖ
06.10.11
✎
18:38
|
(45) что-то новое в природе...
|
|||
52
Asmody
06.10.11
✎
18:39
|
(48) специально, пост (46)
|
|||
53
Asmody
06.10.11
✎
18:40
|
(51) да нет, очень старое
|
|||
54
Господин ПЖ
06.10.11
✎
18:41
|
(53) ну так просвяти...
какое отношение нормализация имеет к связям? |
|||
55
Asmody
06.10.11
✎
18:42
|
(54) а откуда у тебя взялись связи?
|
|||
56
Господин ПЖ
06.10.11
✎
18:43
|
(55) волевым решением ввел PK в таблицы. Есть у меня в каждой набор полей, однозначно описывающие строку...
|
|||
57
ShoGUN
06.10.11
✎
18:43
|
(54) Самое прямое :) Можно все три таблицы объединить в одну и дублировать данные.
"Нормализация? Кто сказал нормализация?" |
|||
58
Asmody
06.10.11
✎
18:45
|
(56) что такое PK? какое отношение он имеет к описанию свойств объекта реального мира?
|
|||
59
Господин ПЖ
06.10.11
✎
18:46
|
(58) а какое отношение имеет объект реального мира с теории реляционных БД?
|
|||
60
ShoGUN
06.10.11
✎
18:50
|
(58)(59) Евреи что ли?
|
|||
61
Asmody
06.10.11
✎
18:52
|
(59) я не знаю, что такое "теория реляционных БД". Я в университете изучал модели данных и реляционную алгебру.
|
|||
62
Господин ПЖ
06.10.11
✎
18:54
|
(61) яндекс в помощь...
|
|||
63
Asmody
06.10.11
✎
19:00
|
(62) вот и воспользуйся им, чтобы узнать, что никаких PK (primary key если я тебя правильно понял), введённых «волевым решением» реляционная модель не предусматривает. Более того, строго говоря, их там и не может быть.
|
|||
64
Asmody
06.10.11
✎
19:02
|
это уже при физической реализации модели (которая может быть, в частности, в виде таблиц), вводят специальные поля-ключи, потому что так удобнее работать
|
|||
65
Asmody
06.10.11
✎
19:04
|
и, если уж на то пошло, таблица со специально внедрённым PK формально не соответствует даже 2НФ
|
|||
66
Господин ПЖ
06.10.11
✎
19:04
|
>«волевым решением» реляционная модель не предусматривает
почему? PK - один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию). Потенциальный ключ - подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и минимальности (несократимости). формально о нормализации ни слова. |
|||
67
Asmody
06.10.11
✎
19:06
|
(66) ну если в (56) речь о потенциальных ключах, тогда замечания снимаются. только их не вводят, их выбирают.
|
|||
68
Господин ПЖ
06.10.11
✎
19:07
|
короче предлагаю пойти домой...
|
|||
69
Asmody
06.10.11
✎
19:08
|
ну да. у ТС, похоже, мозг уже взорвался раза 3 как минимум
|
|||
70
PR
06.10.11
✎
19:15
|
(50) Декартово произведение двух таблиц - это частный случай отношения многие-ко-многим.
|
|||
71
Steel_Wheel
06.10.11
✎
20:12
|
(69) Не, я тут. Впитываю...
|
|||
72
proger2011
06.10.11
✎
20:43
|
Так я не понял... Многие ко многим не существует, это две один ко многим?
|
|||
73
zak555
06.10.11
✎
22:35
|
спр1 подчинён спр2,
а спр2 подчинён спр1 |
|||
74
Господин ПЖ
06.10.11
✎
22:37
|
йопт...
мдя... |
|||
75
proger2011
06.10.11
✎
22:38
|
(73) Это чё правильный ответ тех кто собеседовал чтоли?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |