powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по связям между таблицами и 3НФ
25 сообщений из 64, страница 1 из 3
Вопрос по связям между таблицами и 3НФ
    #36777256
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня вот такая БД. Допустим есть таблица "Физ. лицо". Он может быть учредителем нескольких компаний, связь один ко многим с таблицей "Трудовая деятельность". Чтобы узнать всю информацию о каждой компании, таблица "Труд. деятельность" связана с таблицей "Компании" один к одному. В свою очередь у окмпании может быть несколько учредителей, тогда связываем таблицу "Компании" с таблицей "Учредители" один ко многим. А чтобы узнать всю инфу о каждом учредителе, таблицу "Учредители" связываем с табл. "Физ. лицо" один к одному.
Можно ли так делать? Или получится полная ерунда? Имеет ли такая база 3-ю нормальную форму?
Заранее спасибо.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777268
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня вот такая БД. Допустим есть таблица "Физ. лицо". Он может быть учредителем нескольких компаний, связь один ко многим с таблицей "Трудовая деятельность". Чтобы узнать всю информацию о каждой компании, таблица "Труд. деятельность" связана с таблицей "Компании" один к одному. В свою очередь у окмпании может быть несколько учредителей, тогда связываем таблицу "Компании" с таблицей "Учредители" один ко многим. А чтобы узнать всю инфу о каждом учредителе, таблицу "Учредители" связываем с табл. "Физ. лицо" один к одному.
Можно ли так делать? Или получится полная ерунда? Имеет ли такая база 3-ю нормальную форму?
Заранее спасибо.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777409
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор, приведите, пожалуйста, схему, иллюстрирующую то, что Вы на словах рассказали
Извините, со слов трудно воспринимается
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777447
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87Имеет ли такая база 3-ю нормальную форму?3НФ может иметь только таблица.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777501
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChAdsm_87Имеет ли такая база 3-ю нормальную форму?3НФ может иметь только таблица.
Однако, если все таблицы имеют 3НФ, то типа считается, что схема БД находится в 3НФ.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777540
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот схема
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777547
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoChAdsm_87Имеет ли такая база 3-ю нормальную форму?3НФ может иметь только таблица.
Однако, если все таблицы имеют 3НФ, то типа считается, что схема БД находится в 3НФ ."Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа."
В определениях нормальных форм ничего про БД не говорится.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777568
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rin@tvadiminfoChAdsm_87Имеет ли такая база 3-ю нормальную форму?3НФ может иметь только таблица.
Однако, если все таблицы имеют 3НФ, то типа считается, что схема БД находится в 3НФ ."Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа."
В определениях нормальных форм ничего про БД не говорится.
Ну, например, в теории БД у Мейера говорится, вроде, что схема БД находится в 3НФ, если схема каждого отношения находится в 3НФ. Да и вообще, зачем говорить, что все схемы всех отношений БД в 3НФ, када можно сказать схема БД в 3НФ? Этож вроде ну типа естественно, мне кажется.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777608
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87Чтобы узнать всю информацию о каждой компании, таблица "Труд. деятельность" связана с таблицей "Компании" один к одномуСкажите, пожалуйста, из каких соображений это две разные таблицы, а не одна таблица "Компании" ?


dsm_87А чтобы узнать всю инфу о каждом учредителе, таблицу "Учредители" связываем с табл. "Физ. лицо" один к одномуЗдесь у меня возник аналогичный вопрос
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777625
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo, определение чего либо должно носить точный характер.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777684
Ortogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87 ,

То, что вы описали, вполне может быть в 3NF, а может и нет. Для того, чтобы это понять, нужна информация об остальных полях. То, что вы описали выглядит вполне нормальным. То, что база в 3NF упрощенно можно описать так: ни в одной из таблиц не должно быть полей, однозначно зависящих от других полей этой таблицы, которые не входят в первичный ключ. То есть все сущности должны сидеть каждая в своей таблице и связаны друг с другом ссылками. Если в одной таблице сидят характеристики нескольких сущностей, то она не нормализована. В вашем базе нужно знать примеры этих характеристик, чтобы это увидеть. У вас две сущности "Физ. лица" и "Компании", и две связи многие ко многим между ними: "учредители" и "трудовая деятельность". Выглядит вполне нормализованно. Если конечно у вас в таблице "трудовая деятельность" не дублируются какие-либо характеристики компаний, либо какой-то еще другой сущности и ее характеристик, например "должность". Тогда уже эта таблица и вся база будет ненормализованной и нужно будет выносить ее в отдельную таблицу, чтобы нормализовать.

При дальнейшем усложнении модели этим процессом можно заниматься до бесконечности, другой вопрос, так ли уж это надо.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777690
Ortogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, пока писал, тут уже схему выложили.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777804
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а кстати ещё вопрос: когда создаём связи между таблицами, всегда желательно оставлять связь типа FOREIGN KEY?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777818
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87а кстати ещё вопросна мой последний вопрос ответьте, пожалуйста

dsm_87когда создаём связи между таблицами, всегда желательно оставлять связь типа FOREIGN KEY?не понял
FOREIGN KEY это ведь и есть связь между таблицами...
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777842
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87а кстати ещё вопрос: когда создаём связи между таблицами, всегда желательно оставлять связь типа FOREIGN KEY?На мой взгляд - предпочтительнее, чем логическая.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777846
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганельdsm_87а кстати ещё вопросна мой последний вопрос ответьте, пожалуйста

дело в том, что связь между таблицами "физ. лицо" и "компании" получается многие ко многим

dsm_87когда создаём связи между таблицами, всегда желательно оставлять связь типа FOREIGN KEY?не понял
FOREIGN KEY это ведь и есть связь между таблицами...

ну если у нас связь один к одному, стоит ли выключать опцию FOREIGN KEY?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777863
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87дело в том, что связь между таблицами "физ. лицо" и "компании" получается многие ко многим
Это и есть ответ на вопросПаганельdsm_87таблица "Труд. деятельность" связана с таблицей "Компании" один к одномуСкажите, пожалуйста, из каких соображений это две разные таблицы, а не одна таблица "Компании" ??
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777965
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель,

Ну допустим в одной компании работают 10 человек, инфа о которых есть в "Физ. лицо". Тогда получим в таблице "Компании" 10-кратное дублирование инфы об этой компании, так как они например на разных должностях, с разным стажем и т.д.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36777973
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганельdsm_87таблица "Труд. деятельность" связана с таблицей "Компании" один к одномуСкажите, пожалуйста, из каких соображений это две разные таблицы, а не одна таблица "Компании" ?Где тут про "Физ. лицо" ?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778008
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сейчас немного изменил схему
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778012
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вам эта? Вообще никуда не годится или лучше?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778019
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уже сказали
OrtogonУ вас две сущности "Физ. лица" и "Компании", и две связи многие ко многим между ними: "учредители" и "трудовая деятельность".
Выглядит вполне нормализованноя с этим согласен
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778030
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
от себя я бы добавил,
что совокупность полей ClientID/CompanyID можно сделать первичным ключом таблицы LaborActivity,
а поле Id из нее выкинуть

но решать Вам
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778042
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, то же самое по связи "учредители"
(которая я теперь не понимаю где на схеме... пропала куда-то...)
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778072
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запутался сам и Вас запутал
вот что я хотел сделать. при помощи табл. LaborActivity можно узнать, в каких компаниях человек работал либо является учредителем. а для компаний при помощи LaborActivity можно узнать инфу обо всех сотрудниках. если использовать последнюю схемку это реально?
...
Рейтинг: 0 / 0
25 сообщений из 64, страница 1 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по связям между таблицами и 3НФ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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