|
|
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Rin@tvadiminfo, определение чего либо должно носить точный характер. Уточняю характер: Схема БД находится в 3НФ относительно данных функциональных зависемостей, если каждая схема отношения из данной схемы БД находится в 3НФ относительно этих функциональных зависемостей. Впрочем, что Вы понимаете по "точным характером" возможно тоже нуждается в определении "точно характера". Не ясно тока какой смысл Вам отрицать очевидные старые понятия? В чем идея то? Какая выгода? Чтобы называть это же другими словами и более длинно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:47 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87при помощи табл. LaborActivity можно узнать, в каких компаниях человек работал либо является учредителемИ как отличить, на кого заведена запись в таблице LaborActivity - на сотрудника или на учредителя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:49 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Сорри, я забыл добавить поле ActivityStatus. ну допустим я добавлю ещё поля, в которых будет указываться вся инфа о трудовой дейтельности. мне вот интересно, будет ли вообще эта схема работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:55 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87Сорри, я забыл добавить поле ActivityStatusИ кучу проверок "если ActivityStatus означает учредителя, то поле Job должно быть NULL иначе поле Job должно быть NOT NULL" и т.д. может, на надо так все усложнять, может, просто вернуть таблицу CompanyColleague ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 19:00 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
ок. но вот тогда если связь между "CompanyColleague" и "ClientProfileNaturalPerson" ставить один к одному, то получается зачастую конфликт ключей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 19:13 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Так я ж на это Ваше внимание еще три часа назад обратил:ПаганельСкажите, пожалуйста, из каких соображений это две разные таблицы, а не одна таблица "Компании" ? dsm_87А чтобы узнать всю инфу о каждом учредителе, таблицу "Учредители" связываем с табл. "Физ. лицо" один к одномуЗдесь у меня возник аналогичный вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 19:18 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
ясно. тогда я не могу въехать, как их лучше связать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 19:20 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
В той модели, с которой все началось, замените обе связи "один к одному" на связи "один ко многим" Потому чтоOrtogonУ вас две сущности "Физ. лица" и "Компании", и две связи многие ко многим между ними: "учредители" и "трудовая деятельность"А связь "многие ко многим" это как раз и есть "промежуточная" таблица Две связи "многие ко многим" - две "промежуточные" таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 19:23 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
связи таким образом создавать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 19:41 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
и ещё, если один "физ. лицо" может являться учредителем нескольких компаний или просто работал на нескольких организациях, а у компании в свою очередь может быть несколько учредителей. разве это не одна связь многие ко многим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 20:06 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
vadiminfoRin@tvadiminfo, определение чего либо должно носить точный характер.Схема БД находится в 3НФ относительно данных функциональных зависемостей, если каждая схема отношения из данной схемы БД находится в 3НФ относительно этих функциональных зависемостей.Нет у БД понятия НФ, оно есть только у таблиц и не надо фантазировать, выдумывая нелепые определения типа "схема БД находится в 3НФ относительно данных функциональных зависемостей". Можно, конечно, группу блондинок называть группой-блондинкой, но она так и останется группой блондинок , так как сама группа не может быть блондинкой. Блондинка - это характеристика элемента множества, а не самого множества, так же, как и 3НФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 23:06 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87связи таким образом создавать?На Вашей последней схеме на связи между ClientsProfileNaturalPerson и CompanyColleague ключик не с той стороны Другими словами, у Вас один учредитель может быть несколькими физ.лицами А надо наоборот - одно физ.лицо может быть учредителем несколько раз (т.е. для нескольких компаний) -------------------------------------------------------------------------------------- На связи между таблицами Company и LaborActivity ключик тоже не с той стороны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 09:03 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87и ещё, если один "физ. лицо" может являться учредителем нескольких компаний или просто работал на нескольких организациях, а у компании в свою очередь может быть несколько учредителей. разве это не одна связь многие ко многим?OrtogonУ вас две сущности "Физ. лица" и "Компании", и две связи многие ко многим между ними: "учредители" и "трудовая деятельность" ПаганельДве связи "многие ко многим" - две "промежуточные" таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 09:07 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
приветствуется ли использование двух и более полей в качестве первичного ключа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 15:24 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
с точки зрения проектирования какие-либо ограничения на количество полей ключа мне неизвестны но MS SQL, насколько я помню, ограничивает количество ключевых полей любого индекса числом 16 возможно, Ваша СУБД тоже ограничивает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 15:28 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
но вообще если я буду использовать в некоторых таблицах первичный ключ состоящиё из двух полей, то что-нибудь изменится в лучшую или худшую сторону? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 15:34 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
использование правильного ключа вместо неправильного всегда меняет ситуацию в лучшую сторону ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 15:39 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
если у нас есть три таблицы, две из них связаны с третьей один ко многим, то лучше всё-таки в этих двух первых таблицах использовать ключ из двух полей, чтобы избежать проблем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 16:20 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87если у нас есть три таблицы, две из них связаны с третьей один ко многим, то лучше всё-таки в этих двух первых таблицах использовать ключ из двух полей, чтобы избежать проблем?Паганельсовокупность полей ClientID/CompanyID можно сделать первичным ключом таблицы LaborActivity, а поле Id из нее выкинуть но решать Вам Третья нормальная форма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 16:39 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
ну допустим. но при этом каждая строка таблицы LaborActivity не полтеряет свою уникальность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 17:13 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
еще раз - решать Вам если в Вашей задаче одно лицо не может быть сотрудником одной и той же компании дважды то пара ClientID/CompanyID однозначно идентифицирует запись таблицы LaborActivity то есть является претендентом на звание ключа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 17:16 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
ещё проблемка такая, будет ли таблица Transactions иметь 3-ю нормальную форму. просто мне кажется или поле RegistryNumber например зависит от неключевого поля ClientID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 17:47 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Погодите-погодите Как это у Вас в таблице Company поле RegistryNumber попало в первичный ключ? Я этого точно не советовал! Вы понимаете, что теперь у Вас может быть две компании с одинаковыми ID ? (если RegistryNumber разные) Вы уверены, что хотите именно этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 17:57 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
но ведь ID - счетчик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 18:03 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Ага, т.е. по ID все равно можно однозначно идентифицировать запись, но в ПК входит еще что-то? Вторая нормальная форма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 18:11 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36778151&tid=1542596]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 503ms |

| 0 / 0 |
