|
|
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
У меня вот такая БД. Допустим есть таблица "Физ. лицо". Он может быть учредителем нескольких компаний, связь один ко многим с таблицей "Трудовая деятельность". Чтобы узнать всю информацию о каждой компании, таблица "Труд. деятельность" связана с таблицей "Компании" один к одному. В свою очередь у окмпании может быть несколько учредителей, тогда связываем таблицу "Компании" с таблицей "Учредители" один ко многим. А чтобы узнать всю инфу о каждом учредителе, таблицу "Учредители" связываем с табл. "Физ. лицо" один к одному. Можно ли так делать? Или получится полная ерунда? Имеет ли такая база 3-ю нормальную форму? Заранее спасибо. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:29 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
У меня вот такая БД. Допустим есть таблица "Физ. лицо". Он может быть учредителем нескольких компаний, связь один ко многим с таблицей "Трудовая деятельность". Чтобы узнать всю информацию о каждой компании, таблица "Труд. деятельность" связана с таблицей "Компании" один к одному. В свою очередь у окмпании может быть несколько учредителей, тогда связываем таблицу "Компании" с таблицей "Учредители" один ко многим. А чтобы узнать всю инфу о каждом учредителе, таблицу "Учредители" связываем с табл. "Физ. лицо" один к одному. Можно ли так делать? Или получится полная ерунда? Имеет ли такая база 3-ю нормальную форму? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:32 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Автор, приведите, пожалуйста, схему, иллюстрирующую то, что Вы на словах рассказали Извините, со слов трудно воспринимается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:13 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87Имеет ли такая база 3-ю нормальную форму?3НФ может иметь только таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:23 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
ChAdsm_87Имеет ли такая база 3-ю нормальную форму?3НФ может иметь только таблица. Однако, если все таблицы имеют 3НФ, то типа считается, что схема БД находится в 3НФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:35 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
вот схема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:47 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
vadiminfoChAdsm_87Имеет ли такая база 3-ю нормальную форму?3НФ может иметь только таблица. Однако, если все таблицы имеют 3НФ, то типа считается, что схема БД находится в 3НФ ."Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа." В определениях нормальных форм ничего про БД не говорится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:48 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Rin@tvadiminfoChAdsm_87Имеет ли такая база 3-ю нормальную форму?3НФ может иметь только таблица. Однако, если все таблицы имеют 3НФ, то типа считается, что схема БД находится в 3НФ ."Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа." В определениях нормальных форм ничего про БД не говорится. Ну, например, в теории БД у Мейера говорится, вроде, что схема БД находится в 3НФ, если схема каждого отношения находится в 3НФ. Да и вообще, зачем говорить, что все схемы всех отношений БД в 3НФ, када можно сказать схема БД в 3НФ? Этож вроде ну типа естественно, мне кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:54 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87Чтобы узнать всю информацию о каждой компании, таблица "Труд. деятельность" связана с таблицей "Компании" один к одномуСкажите, пожалуйста, из каких соображений это две разные таблицы, а не одна таблица "Компании" ? dsm_87А чтобы узнать всю инфу о каждом учредителе, таблицу "Учредители" связываем с табл. "Физ. лицо" один к одномуЗдесь у меня возник аналогичный вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 16:03 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
vadiminfo, определение чего либо должно носить точный характер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 16:06 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87 , То, что вы описали, вполне может быть в 3NF, а может и нет. Для того, чтобы это понять, нужна информация об остальных полях. То, что вы описали выглядит вполне нормальным. То, что база в 3NF упрощенно можно описать так: ни в одной из таблиц не должно быть полей, однозначно зависящих от других полей этой таблицы, которые не входят в первичный ключ. То есть все сущности должны сидеть каждая в своей таблице и связаны друг с другом ссылками. Если в одной таблице сидят характеристики нескольких сущностей, то она не нормализована. В вашем базе нужно знать примеры этих характеристик, чтобы это увидеть. У вас две сущности "Физ. лица" и "Компании", и две связи многие ко многим между ними: "учредители" и "трудовая деятельность". Выглядит вполне нормализованно. Если конечно у вас в таблице "трудовая деятельность" не дублируются какие-либо характеристики компаний, либо какой-то еще другой сущности и ее характеристик, например "должность". Тогда уже эта таблица и вся база будет ненормализованной и нужно будет выносить ее в отдельную таблицу, чтобы нормализовать. При дальнейшем усложнении модели этим процессом можно заниматься до бесконечности, другой вопрос, так ли уж это надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 16:18 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
О, пока писал, тут уже схему выложили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 16:19 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
а кстати ещё вопрос: когда создаём связи между таблицами, всегда желательно оставлять связь типа FOREIGN KEY? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 16:59 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87а кстати ещё вопросна мой последний вопрос ответьте, пожалуйста dsm_87когда создаём связи между таблицами, всегда желательно оставлять связь типа FOREIGN KEY?не понял FOREIGN KEY это ведь и есть связь между таблицами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 17:05 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87а кстати ещё вопрос: когда создаём связи между таблицами, всегда желательно оставлять связь типа FOREIGN KEY?На мой взгляд - предпочтительнее, чем логическая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 17:19 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Паганельdsm_87а кстати ещё вопросна мой последний вопрос ответьте, пожалуйста дело в том, что связь между таблицами "физ. лицо" и "компании" получается многие ко многим dsm_87когда создаём связи между таблицами, всегда желательно оставлять связь типа FOREIGN KEY?не понял FOREIGN KEY это ведь и есть связь между таблицами... ну если у нас связь один к одному, стоит ли выключать опцию FOREIGN KEY? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 17:21 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87дело в том, что связь между таблицами "физ. лицо" и "компании" получается многие ко многим Это и есть ответ на вопросПаганельdsm_87таблица "Труд. деятельность" связана с таблицей "Компании" один к одномуСкажите, пожалуйста, из каких соображений это две разные таблицы, а не одна таблица "Компании" ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 17:26 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Паганель, Ну допустим в одной компании работают 10 человек, инфа о которых есть в "Физ. лицо". Тогда получим в таблице "Компании" 10-кратное дублирование инфы об этой компании, так как они например на разных должностях, с разным стажем и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:01 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Паганельdsm_87таблица "Труд. деятельность" связана с таблицей "Компании" один к одномуСкажите, пожалуйста, из каких соображений это две разные таблицы, а не одна таблица "Компании" ?Где тут про "Физ. лицо" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:04 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Я сейчас немного изменил схему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:26 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Как вам эта? Вообще никуда не годится или лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:28 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
уже сказали OrtogonУ вас две сущности "Физ. лица" и "Компании", и две связи многие ко многим между ними: "учредители" и "трудовая деятельность". Выглядит вполне нормализованноя с этим согласен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:30 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
от себя я бы добавил, что совокупность полей ClientID/CompanyID можно сделать первичным ключом таблицы LaborActivity, а поле Id из нее выкинуть но решать Вам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:33 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
да, то же самое по связи "учредители" (которая я теперь не понимаю где на схеме... пропала куда-то...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:38 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Запутался сам и Вас запутал вот что я хотел сделать. при помощи табл. LaborActivity можно узнать, в каких компаниях человек работал либо является учредителем. а для компаний при помощи LaborActivity можно узнать инфу обо всех сотрудниках. если использовать последнюю схемку это реально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:47 |
|
||
|
Вопрос по связям между таблицами и 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 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
т.е. составной ключ использовать лучше лишь в LaborActivity как Вы мне посоветовали? или другими словами, там где есть связь многие ко многим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 18:19 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
нет, не так надо определить поля (или их комбинации), по которым можно однозначно идентифицировать запись (то есть однозначно отличить ее от других записей таблицы) это будут кандидаты на роль первичного ключа чаще всего кандидат один (если их больше одного, желательно перепроверить, может, мы неправильно определили сущности) далее, если кандидатов больше одного, следует выбрать кого-то из кандидатов (признаюсь честно, это для меня самого всегда тяжело) оставшиеся кандидаты будут альтернативным ключом(ами) то есть unique constraint(s) а уж составной ключ или не составной - для нормализации не так важно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 18:32 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
ну как я понял, в таблице компании использование составного ключа не рекомендуется, так как ID - счетчик. а если использовать ещё какое-то поле, то нарушаем вторую нормальную форму, так все атрибуты могут зависеть только от ID. верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 18:37 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 18:43 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
и ещё) при использовании такой вот схемы, не возникнут проблемы при поиске иформации о транзакциях, проводимых клиентом? просто у нас ClientID = ID из разных таблиц, т.е. может повторяться. в транзакциях у нас ID конечно тоже счетчик, но вот если при создании запроса показать информацию о транзакциях, может ли получиться такое: у физ. лица ID=12 и у компании ID=12, я хочу вывести информацию о физ. лице, а получаю о компании ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 18:49 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
Если между какими-то двумя таблицами нужна связь "многие-ко-многим" то для ее реализации создают "промежуточную" таблицу (да простят меня профессионалы проектирования за столь зверское название) У Вас таблица Transactions для этого создана? Если она "реализует" связь "многие-ко-многим", то между какими двумя таблицами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 18:58 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
дело в том, что каждый клиент может совершить сколь угодно транзакций. так я вот не знаю, создать 3 таблицы для физ. лица, компании и ип каждую или дону общую для всех. связи многие ко многим среди них нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 19:05 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
были понятия "труд. деятельность" и "учредитель" ху из "транзакция" ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 19:09 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
ну просто это части одной большой схемы) в данной ситуации между этими тремя таблицы связи многие ко многим быть не должно, так вот чтобы для каждого типа клиентов не создавать отдельно таблицы транзакций, можно ли создать одну общую для всех? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 19:14 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87чтобы для каждого типа клиентов не создавать отдельно таблицы транзакцийя думаю, бороться за количество таблиц как за самоцель так же бессмысленно, как бороться за количество полей, входящих в ПК поэтому причин, чтобы объединять транзакции разных типов клиентов в одну таблицу Transactions, я не вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 19:38 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
dsm_87, Глядя на Вашу диаграмму . Вы действительно уверены, что "юриков" надо разделить по двум таблицам? Разница-то всего в два поля. Занафига? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2010, 21:40 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
ChAНет у БД понятия НФ, Тем ни менее для схем реляционных БД понятием НФ пользуются нескока десятков лет. Вроде вреда нет. ChA оно есть только у таблиц и не надо фантазировать, выдумывая нелепые определения типа "схема БД находится в 3НФ относительно данных функциональных зависемостей". Кто решил, что оно есть только у таблиц и внес запрет на исползование, например, для схем? Тем более не все могут согласиться, что она у таблиц есть. Это мло типа не "точная характеристика" ради упрощения. А для семы БД вроде точная. Ечть для схемы отношения, есть и для схемы БД. Удобно. Буржуа придумал. Фамилия того кто запретил есть? Почему решили запретить через 30 лет? ChA Можно, конечно, группу блондинок называть группой-блондинкой, но она так и останется группой блондинок , так как сама группа не может быть блондинкой. Блондинка - это характеристика элемента множества, а не самого множества, так же, как и 3НФ. Ну пусть типа 3НФ - 3 нормальная форма ног. Женщина в 3НФ - женщина с достаточно хорошими ногами, группы женщин в 3НФ - все в группе ногастые. Если хоть у одной кривые, то группа не в 3НФ. Поди плохо? Это имеет значение и для синхронного плавания, например. Проблемы множеств, являющихся элементами самих себя, вроде, не возникают. Это чисто языковый аспект: многозночность индоевропейских языков. Так или иначе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2010, 01:02 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
vadiminfoМы говорим об определениях, применимых к конкретным видам объектов, а Вы пытаетесь натянуть их на всю Вселенную. Обсуждать определения типа "группа считается кривоногой, если каждый её участник кривоног" мне лично кажется абсурдным. Хотя бы потому, что у группы нет ног . Не знаю, что там было в первоисточнике, но в переводе у Мейера определения нормальных форм для баз данных выглядят откровенно надуманным, как определение ради определения. В лучшем случае, его можно было бы принять на уровне договорённости, но не более того. При этом отдавая себе отчёт, что НФ схемы БД не имеют ничего общего с НФ её отношений . А то так можно дойти до сервера в 3НФ, в котором все БД имеют 3НФ и т.д., и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2010, 03:22 |
|
||
|
Вопрос по связям между таблицами и 3НФ
|
|||
|---|---|---|---|
|
#18+
ChAМы говорим об определениях, применимых к конкретным видам объектов, а Вы пытаетесь натянуть их на всю Вселенную. Обсуждать определения типа "группа считается кривоногой, если каждый её участник кривоног" мне лично кажется абсурдным. Хотя бы потому, что у группы нет ног . Нет уж извинтите, это Вы натягиваете что-то на ровном месте: то про языковые, то теоретико-множественные моменты. Теперь про "конкретные" виды объектов, типа пытаетесь зайти со стороны логики, хотя ясно что это слишком натянутое за уши. В данном случае 3НФ можно заменить термином "удовлетворительная" (удовлитворительная дама, удовлитворительная группа дам), а "не кривоногая". Дама удовлитворительная, если у ея не кривые ноги. Например, для синхронного плавния (да и не только). Ну группа дам удовлитворительна, если у кажной не кривые ноги. Вот говроить что у таблицы ЕСТЬ 3НФ, это звучит более похоже на то, что у группы ЕСТЬ ноги. Но Вас это не смущает. А тут вдруг Вы обеспокоились. ChA Не знаю, что там было в первоисточнике, но в переводе у Мейера определения нормальных форм для баз данных выглядят откровенно надуманным, как определение ради определения. В лучшем случае, его можно было бы принять на уровне договорённости, но не более того. При этом отдавая себе отчёт, что НФ схемы БД не имеют ничего общего с НФ её отношений . А то так можно дойти до сервера в 3НФ, в котором все БД имеют 3НФ и т.д., и т.п. Ну это кому как. Думаю, что у Мейера, то как раз все на своем месте. И скорее всего, он не сам это все придумал, а кое-кто поумнее нас с Вам там поучаствовал. И кто это будет принимать на уровне договоренности? Кто такие, какого звания? Фамилии у них есть? С какой стати? Это должна быть какая-то международная коммисия? Так как мы последние кто к этим понятиям имеет правовое отношение: это все буржуа придумал пока мы тут социализм строили. А теперь их учить жизни про нормальные формы наши парни будут? Но если у них есть рациональное, то пусть выкладывают: жизнь покажет. И как же "НФ схемы БД не имеют ничего общего с НФ её отношений"? А функциональные зависмости? А атрибуты? Информация о том, что схема БД в 3НФ, означает, что каждая схема отношения в 3НФ. Что общее присущее им все же есть, скорее всего. Если дойдете до сервера в 3НФ, и от этого польза буит, то не пожалеете. Но боюсь, что до куда моно было дойти, дошли лет 30 назад. Все пенки сняты, моно не беспокоиться: поздняк метаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2010, 18:03 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1542596]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
4ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 370ms |

| 0 / 0 |
