|
|
|
Вопрос по связям между таблицами и 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 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36777568&tid=1542596]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 431ms |

| 0 / 0 |
