powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связи в базе
12 сообщений из 12, страница 1 из 1
Связи в базе
    #37118099
relief
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть 2 сущности:

страна и город. На них есть 2 таблицы: Countries и Cities.
И есть связующая таблица CountryID-CityID, т.е. имеем все города для данной страны.
Вопрос: хорошо или плохо если в таблицу Cities положить столбец CountryID? чтобы не цеплять джойном лишнию таблицу.
...
Рейтинг: 0 / 0
Связи в базе
    #37118152
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
relief,

связь между Countries и Cities - 1 : N.
...
Рейтинг: 0 / 0
Связи в базе
    #37118192
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reliefЕсть 2 сущности:

страна и город. На них есть 2 таблицы: Countries и Cities.
И есть связующая таблица CountryID-CityID, т.е. имеем все города для данной страны.
Вопрос: хорошо или плохо если в таблицу Cities положить столбец CountryID? чтобы не цеплять джойном лишнию таблицу.Конечно, хорошо.

Если не нужно учитывать варианты, когда город входит в несколько стран.
...
Рейтинг: 0 / 0
Связи в базе
    #37118194
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reliefЕсть 2 сущности:

страна и город. На них есть 2 таблицы: Countries и Cities.
И есть связующая таблица CountryID-CityID, т.е. имеем все города для данной страны.
Вопрос: хорошо или плохо если в таблицу Cities положить столбец CountryID? чтобы не цеплять джойном лишнию таблицу.
И то, и другое - очень плохо:) Нужно использовать связи между сущностями, а не "связующие таблицы" или "ключи".
...
Рейтинг: 0 / 0
Связи в базе
    #37118210
relief
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgreliefЕсть 2 сущности:

страна и город. На них есть 2 таблицы: Countries и Cities.
И есть связующая таблица CountryID-CityID, т.е. имеем все города для данной страны.
Вопрос: хорошо или плохо если в таблицу Cities положить столбец CountryID? чтобы не цеплять джойном лишнию таблицу.Конечно, хорошо.

Если не нужно учитывать варианты, когда город входит в несколько стран.

а почему хорошо? ведь, вроде как, с точки зрения нормализации это лишний столбец, то бишь избыточность; ведь у нас есть связующая табличка.

город в нескольких странах не может быть
...
Рейтинг: 0 / 0
Связи в базе
    #37118231
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
relief а почему хорошо? ведь, вроде как, с точки зрения нормализации это лишний столбец, то бишь избыточность; ведь у нас есть связующая табличка.
Вам объясняют, что эта табличка не нужна. Достаточно внешнего ключа.
...
Рейтинг: 0 / 0
Связи в базе
    #37118341
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reliefа почему хорошо? ведь, вроде как, с точки зрения нормализации это лишний столбец, то бишь избыточность; ведь у нас есть связующая табличка.Ээээ. Любое поле, кроме ID получается "с точки зрения нормализации это лишний столбец, то бишь избыточность"???

Я наверное никудышный теоретик, но считал бы это ошибкой в модели данных и постарался бы исправить.
reliefгород в нескольких странах не может бытьНикосия
...
Рейтинг: 0 / 0
Связи в базе
    #37118349
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot alexeyvg Любое поле, кроме ID получается "с точки зрения нормализации это лишний столбец, то бишь избыточность"???
[/quot]

ИДs + собственные свойства = (Лукап + НеЛукап) :)
Лукапы могут быть унаследованы
...
Рейтинг: 0 / 0
Связи в базе
    #37118521
YuriyV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reliefгород в нескольких странах не может быть

Брест, Берлин... и т.д
Больше того, в одной стране возможны одинаковые названия населенных пунктов, отличающиеся только регионом(областью)
...
Рейтинг: 0 / 0
Связи в базе
    #37121132
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь попробуем все это обобщить:) В первую очередь, идею alexeyvg.

Итак, ничего, кроме идентификаторов.
"Таблицы":
Человек
Фамилия
Имя
...
В них только идентификаторы, а именно:
Человек:
1
2
3
4
5
...
Фамилия:
Петров
Иванов
Сидоров
... (такие вот содержательные идентификаторы)
Имя:
Сергей
Николай
Петр
...

И, вероятно, не обойтись без связей.
Человек-Имеет-Фамилия:
1-Петров
2-Петров
3-Сидоров
...
Человек-Имеет-Имя:
1-Николай
2-Сергей
3-Сергей
...

Вероятно, можно считать, что мы решили задачу, поставленную alexeyvg?:)
...
Рейтинг: 0 / 0
Связи в базе
    #37121269
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаВероятно, можно считать, что мы решили задачу, поставленную alexeyvg?:)Нет, я такого бреда не предлагал.

Это relief настаивает на таком решении.
...
Рейтинг: 0 / 0
Связи в базе
    #37122720
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgБредятинаВероятно, можно считать, что мы решили задачу, поставленную alexeyvg?:)Нет, я такого бреда не предлагал.
Это relief настаивает на таком решении.
relief не настаивал на том, что:
Любое поле, кроме ID получается "с точки зрения нормализации это лишний столбец, то бишь избыточность".
И никакого "бреда" в приведенном примере хранения "только ID" нет, конечно. Только интуитивно можно предположить снижение производительности:)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связи в базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]