powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по структуре связей таблиц
25 сообщений из 34, страница 1 из 2
Вопрос по структуре связей таблиц
    #38299529
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Подскажите пожалуйста.

Есть таблица сущностей, например, сотрудники.
У сущностей есть характеристики, например, дипломы об образовании.

Количество дипломов, по каждому сотруднику, за ранее не известно.
Т.е у одного может быть один диплом, у другого пять.

Вопрос:
в такой ситуации лучше создать отдельную таблицу характеристик с внешним ключом к таблице "сотрудник" ?

спасибо.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299532
Фотография Сергей Викт.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63Здравствуйте!

Подскажите пожалуйста.

Есть таблица сущностей, например, сотрудники.
У сущностей есть характеристики, например, дипломы об образовании.

Количество дипломов, по каждому сотруднику, за ранее не известно.
Т.е у одного может быть один диплом, у другого пять.

Вопрос:
в такой ситуации лучше создать отдельную таблицу характеристик с внешним ключом к таблице "сотрудник" ?

спасибо.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
Конечно.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299544
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Викт.vladka63Здравствуйте!

Подскажите пожалуйста.

Есть таблица сущностей, например, сотрудники.
У сущностей есть характеристики, например, дипломы об образовании.

Количество дипломов, по каждому сотруднику, за ранее не известно.
Т.е у одного может быть один диплом, у другого пять.

Вопрос:
в такой ситуации лучше создать отдельную таблицу характеристик с внешним ключом к таблице "сотрудник" ?

спасибо.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
Конечно.

спасибо )
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299575
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще возник вопрос:

сущности, сотруднику, может быть назначена одна характеристика из нескольких.

Например: пол сотрудника.

Т.е есть таблица сотрудников и есть таблица полов (две строки: М и Ж).

Вопрос:
в этом случае Id пола правильнее записать в таблицу сотрудника или сделать третью таблицу между ними, где будет два Id: сотрудника и пола?

Как правильнее?


Спасибо.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299592
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63,

А что, у одного сотрудника может быть несколько полов одновременно?
(Дополнительная таблица реализует связь "многие ко многим.)
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299602
Фотография Сергей Викт.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63Еще возник вопрос:

сущности, сотруднику, может быть назначена одна характеристика из нескольких.

Например: пол сотрудника.

Т.е есть таблица сотрудников и есть таблица полов (две строки: М и Ж).

Вопрос:
в этом случае Id пола правильнее записать в таблицу сотрудника или сделать третью таблицу между ними, где будет два Id: сотрудника и пола?

Как правильнее?


Спасибо.
Отдельную таблицу делать не надо. В таблице сотрудников можно указать пол, т.к. в этом случае связь будет один к одному и повторения значений в двух столбцах не произойдёт. Что не противоречит нормальной форме организации данных (второй или третей).
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299607
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baracsvladka63,

А что, у одного сотрудника может быть несколько полов одновременно?
(Дополнительная таблица реализует связь "многие ко многим.)

ну, мало ли.. )))

т.е это нормально, записать, например, id пола в таблицу сотрудника?
правильно понимаю?
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299625
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63baracsvladka63,

А что, у одного сотрудника может быть несколько полов одновременно?
(Дополнительная таблица реализует связь "многие ко многим.)

ну, мало ли.. )))

т.е это нормально, записать, например, id пола в таблицу сотрудника?
правильно понимаю? Да.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299699
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baracsvladka63пропущено...


ну, мало ли.. )))

т.е это нормально, записать, например, id пола в таблицу сотрудника?
правильно понимаю? Да.

а когда создаю поле в таблице сотрудника, для записи пола, поле я могу назвать как угодно и в него записать Id пола или это должен быть внешний ключ на таблицу полов?
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299705
Фотография Сергей Викт.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63baracsпропущено...
Да.

а когда создаю поле в таблице сотрудника, для записи пола, поле я могу назвать как угодно и в него записать Id пола или это должен быть внешний ключ на таблицу полов?
он необязательно должен быть внешним ключом. Вы можете туда хоть абра-катабру записать. Просто если ID пола не будет найдено при выборке из таблицы полов, то в тектовое значение пола будет записано NULL
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299712
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63...и в него записать Id пола или это должен быть внешний ключ на таблицу полов? Ниасилил.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299743
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Викт.vladka63пропущено...


а когда создаю поле в таблице сотрудника, для записи пола, поле я могу назвать как угодно и в него записать Id пола или это должен быть внешний ключ на таблицу полов?
он необязательно должен быть внешним ключом. Вы можете туда хоть абра-катабру записать. Просто если ID пола не будет найдено при выборке из таблицы полов, то в тектовое значение пола будет записано NULL

все понял, спасибо большое!
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299744
проще надо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vladka63, зачем вообще нужны id полов? пиши просто "эм" и "жо". Так понятнее всем будет
А то думай потом чё это за пол №1 или пол №2. Для того, чтобы понять и разобраться, придётся в каждом запросе таблицу полов джойнить.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299747
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63baracsпропущено...
Да.

а когда создаю поле в таблице сотрудника, для записи пола, поле я могу назвать как угодно и в него записать Id пола или это должен быть внешний ключ на таблицу полов?

Это должен быть внешний ключ на таблицу полов, конечно - но при этом Вы можете назвать его как угодно :)
То что поле-внешний ключ должно называться так же, как поле-первичный ключ мастер-таблицы - это не правило, а всего лишь рекомендация (причем не всегда применимая)
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299749
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проще надоvladka63, зачем вообще нужны id полов? пиши просто "эм" и "жо". Так понятнее всем будет
А то думай потом чё это за пол №1 или пол №2. Для того, чтобы понять и разобраться, придётся в каждом запросе таблицу полов джойнить.

я думал, просто текстовые поля поставить и пусть пишут, как захотят.
но предполагается, что возможен отчет по параметру.
покажите только Жо или только ЭМ..
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299791
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63
Вопрос:
в такой ситуации лучше создать отдельную таблицу характеристик с внешним ключом к таблице "сотрудник" ?



Не лучше, а единственно правильно.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299792
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскинvladka63пропущено...


а когда создаю поле в таблице сотрудника, для записи пола, поле я могу назвать как угодно и в него записать Id пола или это должен быть внешний ключ на таблицу полов?

Это должен быть внешний ключ на таблицу полов, конечно - но при этом Вы можете назвать его как угодно :)
То что поле-внешний ключ должно называться так же, как поле-первичный ключ мастер-таблицы - это не правило, а всего лишь рекомендация (причем не всегда применимая)

так я не особо понял: это все таки должен быть обязательно внешний ключ или не обязательно..

выше Виктор Сергеевич пишет: "он необязательно должен быть внешним ключом"
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299797
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63Еще возник вопрос:

сущности, сотруднику, может быть назначена одна характеристика из нескольких.

Например: пол сотрудника.

Т.е есть таблица сотрудников и есть таблица полов (две строки: М и Ж).

Вопрос:
в этом случае Id пола правильнее записать в таблицу сотрудника или сделать третью таблицу между ними, где будет два Id: сотрудника и пола?

Как правильнее?


Спасибо.


В таком случае ид пола должен быть атрибутом (полем) таблицы сотрудника.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299809
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63baracsпропущено...
Да.

а когда создаю поле в таблице сотрудника, для записи пола, поле я могу назвать как угодно и в него записать Id пола или это должен быть внешний ключ на таблицу полов?

Да, внешний ключь.
Но называться поле может как угодно, единственно, что переименовывать его в данном случае нецелесообразно.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299812
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivvladka63пропущено...


а когда создаю поле в таблице сотрудника, для записи пола, поле я могу назвать как угодно и в него записать Id пола или это должен быть внешний ключ на таблицу полов?

Да, внешний ключь.
Но называться поле может как угодно, единственно, что переименовывать его в данном случае нецелесообразно.

вот теперь все понятно.

называем поле, как в таблице полов и делаем внешний ключ..
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299815
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскинvladka63пропущено...


а когда создаю поле в таблице сотрудника, для записи пола, поле я могу назвать как угодно и в него записать Id пола или это должен быть внешний ключ на таблицу полов?

Это должен быть внешний ключ на таблицу полов, конечно - но при этом Вы можете назвать его как угодно :)
То что поле-внешний ключ должно называться так же, как поле-первичный ключ мастер-таблицы - это не правило, а всего лишь рекомендация (причем не всегда применимая)


Не рекомендация, а просто разумное бездействие.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299834
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladka63,

Как бы в данном конкретном случае можно и не делать отдельный справочник полов, если быть уверенным на 100%, что он никогда не будет расширяться.

Но это вопрос очень спорный, и я бы всё равно 200 раз бы подумал на этот счет.

В общем это один из классических вопросов проектирования бд, как реализовать домен из предметной области — через справочник или через пользовательский домен с констрейнтом на допустимые значения.

Через справочник всегда гибче, но немного больше затраты на реализацию.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299836
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, ещё — это один из редких случаев, когда применение естественного ключа оправдано. Так что рекомендую использовать не id, а классические буквы эМ и Жо, ну, конечно их английский вариант: M F.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299840
vladka63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivvladka63,

Как бы в данном конкретном случае можно и не делать отдельный справочник полов, если быть уверенным на 100%, что он никогда не будет расширяться.

Но это вопрос очень спорный, и я бы всё равно 200 раз бы подумал на этот счет.

В общем это один из классических вопросов проектирования бд, как реализовать домен из предметной области — через справочник или через пользовательский домен с констрейнтом на допустимые значения.

Через справочник всегда гибче, но немного больше затраты на реализацию.

затраты тут не учитываются.
я параллельно еще "отрабатываю" единообразие модели таблиц.
дабы не изобретать каждый раз "велосипед" с запросами и т.д.
...
Рейтинг: 0 / 0
Вопрос по структуре связей таблиц
    #38299918
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видите ли, vladka63, есть как минимум три контекста для регистрации пола человека. Если вы говорите о биологическом виде, то не сможете обойтись двумя значениями. Если вы говорите об удостоверяющих личность документах, то имеете зависимость от государственной принадлежности службы, удостоверяющей личность. Вам также может быть интересно, как человек себя идентифицирует. В зависимости от назначения базы данных могут быть использованы все три контекста. Ваша задача - четко понимать, что вы регистрируете и для какой цели. Совершенно очевидно, что вам потребуется справочник, но его реализация может быть разной.

> один из классических вопросов проектирования

Это классический пример доминирования реализации, придуманной дебилами. Хуже всего то, что дебилы продолжают его активно продвигать.
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по структуре связей таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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