Re: Нормализация
От: Qulac Россия  
Дата: 19.01.25 08:01
Оценка:
Здравствуйте, VladiCh, Вы писали:

VC>Как с теоретической точки зрения правильно нормализовать очень простую схему из 2х отношений:


VC>1. user

VC>--------
VC>userId
VC>groupId
VC>region

VC>2. group

VC>--------
VC>groupId
VC>region

VC>Пользователь всегда принадлежит к какому-то региону но не всегда к группе.

VC>Когда он принадлежит к группе, его регион совпадает с регионом группы (берется из него)
VC>То есть по идее groupId + region должны быть PK в group,
VC>Но в таком случае когда пользователь не принадлежит к группе, то у него теряется region.
VC>или столбцов region должно быть 2, что также не является нормализованным вариантом.
VC>Если же PK будет только groupId, то возможна ситуация когда у группы назначен один регион а у пользователя другой — тоже (не)нормально.

Так на пальцах: таблица Регион и таблица Группа имеют связь 1 к 1 к базовой таблице(назвать можно по разному), эта таблица имеет связь 1 ко многим с таблицей Пользователь, таблица Регион имеет связь 1 ко многим с таблицей Группа. Получается, что пользователь может быть ассоциирован либо с регионом, либо с группой у которой уже есть регион.
Программа – это мысли спрессованные в код
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.