Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема в разнесении сущностей / 11 сообщений из 11, страница 1 из 1
22.03.2005, 18:36
    #32974545
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
Проблема проектирования: есть сотрудники, некоторые из них могут быть юзерами, а также существуют юзеры ряда программ, которые не являются сотрудниками нашей конторы.
Как развести сущности?
Ведь о юзере мне необходимо иметь доп. информацию (ФИО и др.), но эта же инфа есть в записи Сотрудник, но как быть не с нашим сотрудником?

Помогите пожалуста
...
Рейтинг: 0 / 0
22.03.2005, 18:49
    #32974581
McMurfy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
Создать таблицу "Физ. лица", ссылаться на нее из таблиц "Сотрудники" и "Юзеры". Соответственно разнести все необходимые атрибуты по этим трем таблицам.
...
Рейтинг: 0 / 0
22.03.2005, 18:54
    #32974600
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
Как вариант.
Одна таблица с кодом-признаком.
1-Сотрудник
2-Сотрудник+Юзер
3-Юзер (но не сотрудник)
Или вроде того.
...
Рейтинг: 0 / 0
22.03.2005, 19:00
    #32974612
McMurfy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
Серега
Как вариант.
Одна таблица с кодом-признаком.
1-Сотрудник
2-Сотрудник+Юзер
3-Юзер (но не сотрудник)

ИМХО, слишком "широкая" таблица получится. И с множеством пустых полей в большинстве записей.
...
Рейтинг: 0 / 0
23.03.2005, 09:21
    #32975223
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
McMurfyИМХО, слишком "широкая" таблица получится. И с множеством пустых полей в большинстве записей.
Как это добавление одного маленького поля (например сойдет и CHAR(1)) слишком расширит таблицу?
...
Рейтинг: 0 / 0
23.03.2005, 09:26
    #32975230
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
У меня сделана отдельная таблица пользователей, есть таблицы субъектов. Эти таблицы связаны между собой третьей таблицей. Просто и без извращений: классическое m:n.
...
Рейтинг: 0 / 0
23.03.2005, 11:53
    #32975732
McMurfy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
Серега
Как это добавление одного маленького поля (например сойдет и CHAR(1)) слишком расширит таблицу?

Расширит ее не добавление одного маленького поля, а необходимость хранить все атрибуты пользователей и сотрудников в одной таблице, при том что набор атрибутов наверняка существенно различается.
...
Рейтинг: 0 / 0
23.03.2005, 16:38
    #32976849
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
McMurfyРасширит ее не добавление одного маленького поля, а необходимость хранить все атрибуты пользователей и сотрудников в одной таблице, при том что набор атрибутов наверняка существенно различается.
Авторо юзере мне необходимо иметь доп. информацию (ФИО и др.), но эта же инфа есть в записи Сотрудник
Может я чего не понял? Но я не настаиваю. Я давал вариант .
...
Рейтинг: 0 / 0
25.03.2005, 12:33
    #32980548
Veldis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
Здравствуйте!

У меня возникла похожая проблема. Я ее решил способом который предложил McMurfy. А вопрос, в том, как это сделать правильно, сколько внешних ключей должно быть в таблице Физ.Лица. два? по одному от Сотрудников и Юзеров. Или можно назначать сотрудникам и пользователям разные уникальные ключи, например сотрудникам нечетные а пользователям четные а дальше в таблице Физ. лица. иметь только одно поле для внешнего ключа? И как в этом случае быть с ограничениями на целостность связей?
...
Рейтинг: 0 / 0
25.03.2005, 12:42
    #32980577
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
VeldisИли можно назначать сотрудникам и пользователям разные уникальные ключи, например сотрудникам нечетные а пользователям четные а дальше в таблице Физ. лица. иметь только одно поле для внешнего ключа?
Можно - в смысле, БД не запретит Вам это сделать. Но если говорить о "нужно" - нужно скорее избавляться от привычки к подобным "оптимизациям". А лучше приобретать правильную - думать об оптимизации, четко понимая, что и насколько неоптимально и каковы будут последствия улучшений.

Нет, таким образом Вы сэкономите примерно один бит. А главное - будет чем заняться, когда, не останавливая ни на минуту работу production системы, надо будет внести третий тип "человеков".

VeldisИ как в этом случае быть с ограничениями на целостность связей?
Пойдут лесом. Причем в хорошей компании.
...
Рейтинг: 0 / 0
26.03.2005, 11:42
    #32982169
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема в разнесении сущностей
VeldisЗдравствуйте!
сколько внешних ключей должно быть в таблице Физ.Лица. два? Ни одного. Внешние ключи будут в таблицах Сотрудники и Юзеры.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема в разнесении сущностей / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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