|
|
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
Есть 2 сущности: страна и город. На них есть 2 таблицы: Countries и Cities. И есть связующая таблица CountryID-CityID, т.е. имеем все города для данной страны. Вопрос: хорошо или плохо если в таблицу Cities положить столбец CountryID? чтобы не цеплять джойном лишнию таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 20:00 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
relief, связь между Countries и Cities - 1 : N. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 20:23 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
reliefЕсть 2 сущности: страна и город. На них есть 2 таблицы: Countries и Cities. И есть связующая таблица CountryID-CityID, т.е. имеем все города для данной страны. Вопрос: хорошо или плохо если в таблицу Cities положить столбец CountryID? чтобы не цеплять джойном лишнию таблицу.Конечно, хорошо. Если не нужно учитывать варианты, когда город входит в несколько стран. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 20:44 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
reliefЕсть 2 сущности: страна и город. На них есть 2 таблицы: Countries и Cities. И есть связующая таблица CountryID-CityID, т.е. имеем все города для данной страны. Вопрос: хорошо или плохо если в таблицу Cities положить столбец CountryID? чтобы не цеплять джойном лишнию таблицу. И то, и другое - очень плохо:) Нужно использовать связи между сущностями, а не "связующие таблицы" или "ключи". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 20:45 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
alexeyvgreliefЕсть 2 сущности: страна и город. На них есть 2 таблицы: Countries и Cities. И есть связующая таблица CountryID-CityID, т.е. имеем все города для данной страны. Вопрос: хорошо или плохо если в таблицу Cities положить столбец CountryID? чтобы не цеплять джойном лишнию таблицу.Конечно, хорошо. Если не нужно учитывать варианты, когда город входит в несколько стран. а почему хорошо? ведь, вроде как, с точки зрения нормализации это лишний столбец, то бишь избыточность; ведь у нас есть связующая табличка. город в нескольких странах не может быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 20:58 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
relief а почему хорошо? ведь, вроде как, с точки зрения нормализации это лишний столбец, то бишь избыточность; ведь у нас есть связующая табличка. Вам объясняют, что эта табличка не нужна. Достаточно внешнего ключа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 21:16 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
reliefа почему хорошо? ведь, вроде как, с точки зрения нормализации это лишний столбец, то бишь избыточность; ведь у нас есть связующая табличка.Ээээ. Любое поле, кроме ID получается "с точки зрения нормализации это лишний столбец, то бишь избыточность"??? Я наверное никудышный теоретик, но считал бы это ошибкой в модели данных и постарался бы исправить. reliefгород в нескольких странах не может бытьНикосия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 22:26 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
[quot alexeyvg Любое поле, кроме ID получается "с точки зрения нормализации это лишний столбец, то бишь избыточность"??? [/quot] ИДs + собственные свойства = (Лукап + НеЛукап) :) Лукапы могут быть унаследованы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 22:31 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
reliefгород в нескольких странах не может быть Брест, Берлин... и т.д Больше того, в одной стране возможны одинаковые названия населенных пунктов, отличающиеся только регионом(областью) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2011, 01:43 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
Теперь попробуем все это обобщить:) В первую очередь, идею alexeyvg. Итак, ничего, кроме идентификаторов. "Таблицы": Человек Фамилия Имя ... В них только идентификаторы, а именно: Человек: 1 2 3 4 5 ... Фамилия: Петров Иванов Сидоров ... (такие вот содержательные идентификаторы) Имя: Сергей Николай Петр ... И, вероятно, не обойтись без связей. Человек-Имеет-Фамилия: 1-Петров 2-Петров 3-Сидоров ... Человек-Имеет-Имя: 1-Николай 2-Сергей 3-Сергей ... Вероятно, можно считать, что мы решили задачу, поставленную alexeyvg?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2011, 21:14 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
БредятинаВероятно, можно считать, что мы решили задачу, поставленную alexeyvg?:)Нет, я такого бреда не предлагал. Это relief настаивает на таком решении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2011, 23:23 |
|
||
|
Связи в базе
|
|||
|---|---|---|---|
|
#18+
alexeyvgБредятинаВероятно, можно считать, что мы решили задачу, поставленную alexeyvg?:)Нет, я такого бреда не предлагал. Это relief настаивает на таком решении. relief не настаивал на том, что: Любое поле, кроме ID получается "с точки зрения нормализации это лишний столбец, то бишь избыточность". И никакого "бреда" в приведенном примере хранения "только ID" нет, конечно. Только интуитивно можно предположить снижение производительности:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2011, 15:47 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37118521&tid=1542312]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
414ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 738ms |

| 0 / 0 |
