powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по связям между таблицами и 3НФ
25 сообщений из 64, страница 2 из 3
Вопрос по связям между таблицами и 3НФ
    #36778075
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rin@tvadiminfo, определение чего либо должно носить точный характер.
Уточняю характер:
Схема БД находится в 3НФ относительно данных функциональных зависемостей, если каждая схема отношения из данной схемы БД находится в 3НФ относительно этих функциональных зависемостей.
Впрочем, что Вы понимаете по "точным характером" возможно тоже нуждается в определении "точно характера".
Не ясно тока какой смысл Вам отрицать очевидные старые понятия? В чем идея то? Какая выгода? Чтобы называть это же другими словами и более длинно?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778080
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87при помощи табл. LaborActivity можно узнать, в каких компаниях человек работал либо является учредителемИ как отличить, на кого заведена запись в таблице LaborActivity - на сотрудника или на учредителя?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778099
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, я забыл добавить поле ActivityStatus. ну допустим я добавлю ещё поля, в которых будет указываться вся инфа о трудовой дейтельности. мне вот интересно, будет ли вообще эта схема работать.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778108
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87Сорри, я забыл добавить поле ActivityStatusИ кучу проверок "если ActivityStatus означает учредителя, то поле Job должно быть NULL иначе поле Job должно быть NOT NULL" и т.д.
может, на надо так все усложнять, может, просто вернуть таблицу CompanyColleague ?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778138
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок. но вот тогда если связь между "CompanyColleague" и "ClientProfileNaturalPerson" ставить один к одному, то получается зачастую конфликт ключей
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778149
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я ж на это Ваше внимание еще три часа назад обратил:ПаганельСкажите, пожалуйста, из каких соображений это две разные таблицы, а не одна таблица "Компании" ?
dsm_87А чтобы узнать всю инфу о каждом учредителе, таблицу "Учредители" связываем с табл. "Физ. лицо" один к одномуЗдесь у меня возник аналогичный вопрос
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778151
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ясно. тогда я не могу въехать, как их лучше связать?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778159
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В той модели, с которой все началось,
замените обе связи "один к одному" на связи "один ко многим"

Потому чтоOrtogonУ вас две сущности "Физ. лица" и "Компании", и две связи многие ко многим между ними: "учредители" и "трудовая деятельность"А связь "многие ко многим" это как раз и есть "промежуточная" таблица
Две связи "многие ко многим" - две "промежуточные" таблицы
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778181
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
связи таким образом создавать?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778207
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ещё, если один "физ. лицо" может являться учредителем нескольких компаний или просто работал на нескольких организациях, а у компании в свою очередь может быть несколько учредителей. разве это не одна связь многие ко многим?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778377
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoRin@tvadiminfo, определение чего либо должно носить точный характер.Схема БД находится в 3НФ относительно данных функциональных зависемостей, если каждая схема отношения из данной схемы БД находится в 3НФ относительно этих функциональных зависемостей.Нет у БД понятия НФ, оно есть только у таблиц и не надо фантазировать, выдумывая нелепые определения типа "схема БД находится в 3НФ относительно данных функциональных зависемостей". Можно, конечно, группу блондинок называть группой-блондинкой, но она так и останется группой блондинок , так как сама группа не может быть блондинкой. Блондинка - это характеристика элемента множества, а не самого множества, так же, как и 3НФ.
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778643
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87связи таким образом создавать?На Вашей последней схеме на связи между ClientsProfileNaturalPerson и CompanyColleague ключик не с той стороны
Другими словами, у Вас один учредитель может быть несколькими физ.лицами
А надо наоборот - одно физ.лицо может быть учредителем несколько раз (т.е. для нескольких компаний)
--------------------------------------------------------------------------------------
На связи между таблицами Company и LaborActivity ключик тоже не с той стороны
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36778645
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87и ещё, если один "физ. лицо" может являться учредителем нескольких компаний или просто работал на нескольких организациях,
а у компании в свою очередь может быть несколько учредителей.
разве это не одна связь многие ко многим?OrtogonУ вас две сущности "Физ. лица" и "Компании", и две связи многие ко многим между ними: "учредители" и "трудовая деятельность" ПаганельДве связи "многие ко многим" - две "промежуточные" таблицы
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779568
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приветствуется ли использование двух и более полей в качестве первичного ключа?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779580
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с точки зрения проектирования какие-либо ограничения на количество полей ключа мне неизвестны

но MS SQL, насколько я помню, ограничивает количество ключевых полей любого индекса числом 16
возможно, Ваша СУБД тоже ограничивает
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779602
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но вообще если я буду использовать в некоторых таблицах первичный ключ состоящиё из двух полей, то что-нибудь изменится в лучшую или худшую сторону?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779627
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использование правильного ключа вместо неправильного всегда меняет ситуацию в лучшую сторону
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779754
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если у нас есть три таблицы, две из них связаны с третьей один ко многим, то лучше всё-таки в этих двух первых таблицах использовать ключ из двух полей, чтобы избежать проблем?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779806
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsm_87если у нас есть три таблицы, две из них связаны с третьей один ко многим,
то лучше всё-таки в этих двух первых таблицах использовать ключ из двух полей, чтобы избежать проблем?Паганельсовокупность полей ClientID/CompanyID можно сделать первичным ключом таблицы LaborActivity,
а поле Id из нее выкинуть

но решать Вам
Третья нормальная форма
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779897
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну допустим. но при этом каждая строка таблицы LaborActivity не полтеряет свою уникальность?
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779899
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще раз - решать Вам
если в Вашей задаче одно лицо не может быть сотрудником одной и той же компании дважды
то пара ClientID/CompanyID однозначно идентифицирует запись таблицы LaborActivity
то есть является претендентом на звание ключа
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779953
dsm_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё проблемка такая, будет ли таблица Transactions иметь 3-ю нормальную форму. просто мне кажется или поле RegistryNumber например зависит от неключевого поля ClientID
...
Рейтинг: 0 / 0
Вопрос по связям между таблицами и 3НФ
    #36779970
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погодите-погодите
Как это у Вас в таблице Company поле RegistryNumber попало в первичный ключ?
Я этого точно не советовал!

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


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