powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / таблицы users и employees
50 сообщений из 50, показаны все 2 страниц
таблицы users и employees
    #38884517
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
проектирую складскую БД. В базе есть таблицы Empl, Users, Groups, Users_Groups с полями:

Empl - сотрудники
ID_Empl
ID_Contrag- связь с таблицей контрагенты
ID_Depart- связь с таблицей департаменты
ID_Posts- Должности
ID_Contract
FirstName
LastName
Phones
Resident
Salary
IncomeTax- Ндс
HomeAddr
PostStart

Users - пользователи БД
ID_User
ID_Group
name
Login
Passw
Comment

Groups - группы пользователей БД
ID_Group
Name

Users_Groups - для связи многие-ко-многим
ID
ID_User
ID_Group

Думаю перенести поля таблицы Empl(сотрудники) в Users.
Есть по какими-нибудь причинами необходимость в отдельных таблицах для сотрудников и пользователей БД?

покритикуйте, посоветуйте, плз
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884521
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в словаре БД разве нет инфы про пользователей, ролей, групп и т.д.
Зачем изобретать велосипед?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884526
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257А в словаре БД разве нет инфы про пользователей, ролей, групп и т.д.
Зачем изобретать велосипед?
Вы говорите о security2.fdb?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884527
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или о системных таблицах самой БД?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884536
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159 Вы говорите о security2.fdb? Не знаю что это такое
Delphi159 или о системных таблицах самой БД? Да. Кроме русского наименования (фио у пользователя) не вижу ничего нового. Зачем?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884545
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257Delphi159 или о системных таблицах самой БД? Да. Кроме русского наименования (фио у пользователя) не вижу ничего нового. Зачем?
Не понял о чём вы говорите! Чтобы использовать системные таблицы?
Delphi159 Думаю перенести поля таблицы Empl(сотрудники) в Users.
Есть по какими-нибудь причинами необходимость в отдельных таблицах для сотрудников и пользователей БД?
Я говорю о том, чтобы убрать таблицу empl и её поля перенести в Users. Зачем в БД таблица сотрудников, если там заходят только сотрудники, которые можно найти в Users? Залогиняются сотрудники, которые для БД являются пользователями.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884645
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159Есть по какими-нибудь причинами необходимость в отдельных таблицах для сотрудников и пользователей БД?

покритикуйте, посоветуйте, плз

Могут быть сотрудники, которые не являются пользователями (например, уборщица), и пользователи, которые не являются сотрудниками (например, внешние аудиторы).
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884703
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинDelphi159Есть по какими-нибудь причинами необходимость в отдельных таблицах для сотрудников и пользователей БД?

покритикуйте, посоветуйте, плз

Могут быть сотрудники, которые не являются пользователями (например, уборщица), и пользователи, которые не являются сотрудниками (например, внешние аудиторы).+1
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884705
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по сабжу: тоже задавался таким вопросом.

В принципе можно сделать одну таблицу, где будет признак "Это Юзер". Тогда не будет проблем с уборщицами или внеш.аудиторами.
Но с другой стороны в КИС "юзеры" зачастую зачитываются гораздо чаще не_юзеров и вопрос производительности может стать актуальным. Тем более, что отдельная таблица юзеров будет узкой и короткой. В то время как общая таблица будет широкой и во много раз длиннее (например на заводе).

Думаю не существует единого рецепта.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884832
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVпо сабжу: тоже задавался таким вопросом.

В принципе можно сделать одну таблицу, где будет признак "Это Юзер". Тогда не будет проблем с уборщицами или внеш.аудиторами.
Но с другой стороны в КИС "юзеры" зачастую зачитываются гораздо чаще не_юзеров и вопрос производительности может стать актуальным. Тем более, что отдельная таблица юзеров будет узкой и короткой. В то время как общая таблица будет широкой и во много раз длиннее (например на заводе).

Думаю не существует единого рецепта.

Плохое решение.
Т.к. могут быть пользователи не сотрудники, например, "гость".

А так обычно решается добавлением новой абстракции.
Приблизительно так
1) Person - конкретный человек, все его данные (ФИО, пол, год рождения, паспорт)
2) Employee - Сотрудник, имеет ссылку на Person и должность (свзяь Employee_Должность, т.к. сотрудник может совмещать должности)
3) User - пользователь, может имеет ссылку на Person (связь ч/з User_Person) и роли (связт ч/з User_Groups)

Опять же объединять Person и Employee так же плохо, т.к. могут быть конкретные лица которые не являются сотрудниками, но могут иметь доступ к данным.

Где-то так.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884856
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Users - сотрудники/пользователи
Memberships - логины

В Users делаете ссылку на MembershipID. Он может быть пустым. Тогда если у сотруднка нет логина (доступа в базу) то это простой сотрудник, если есть, то это пользователь.

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

Во всех документах ссылаетесь на Users (создатели там всякие и т.п.).
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884886
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плохое решение.
Т.к. могут быть пользователи не сотрудники, например, "гость".Какую проблему составляет сделать в таблице признак "Сотрудник" ???

Иметь признаки "Пользователь", "Сотрудник", "Гость" (опционально).
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884938
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVПлохое решение.
Т.к. могут быть пользователи не сотрудники, например, "гость".Какую проблему составляет сделать в таблице признак "Сотрудник" ???

Иметь признаки "Пользователь", "Сотрудник", "Гость" (опционально).

А зачем плодить сущности без необходимости?
А зачем нужен признак "гость", когда он там не нужен.
Для ТС, на сколько я понял, главное что есть сотрудники и все остальные, плюс пользователи и все остальные.
Т.е. множества А (сотрудники) и Б (пользователи), они могут пересекаться частично, хотя для ТС нужно хранить их объединение. Остальные интересны постольку поскольку, они могут оказаться либо в А но не в Б, либо в Б но не в А. Те что не в А и не в Б ТС не волнуют. Почему нужна отдельная сущность Person я пояснил в посте выше.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38884968
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по сабжу: это тот случай когда оптимальное решение зависит от задачи.

В каких-то случаях надо делать, как указал mad_nazgul, в других (обычно простых) можно обойтись одной таблицей.
Нет идеальных решений.

Подобные проблемы (усложнение ради правильности) можно найти в любом, даже элементарном модуле.
Пример ? Фамилию следует хранить в отдельной таблице, т.к. она м.б. непостоянной и фигурировать в офиц. документах, н-р доверенностях. :)
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885239
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad_nazgul
Плохое решение.
Т.к. могут быть пользователи не сотрудники, например, "гость".

А так обычно решается добавлением новой абстракции.
Приблизительно так
1) Person - конкретный человек, все его данные (ФИО, пол, год рождения, паспорт)
2) Employee - Сотрудник, имеет ссылку на Person и должность (свзяь Employee_Должность, т.к. сотрудник может совмещать должности)
3) User - пользователь, может имеет ссылку на Person (связь ч/з User_Person) и роли (связт ч/з User_Groups)

Опять же объединять Person и Employee так же плохо, т.к. могут быть конкретные лица которые не являются сотрудниками, но могут иметь доступ к данным.

Где-то так.
Мне понравился это решение, но хочу уточнить 2 момента:
1) Как я вас понял, в таблице Person включаем только тех людей, кто не сотрудник ?
например,
1."гость"-осматривает мою программу,собирается купить
2. "будущий оператор программы"-пока не принимали на работу и изучает программу
3. Аудит?

Тогда в таблице Person зачем для них сделать запись(ФИО, пол, год рождения, паспорт)- это же будет бесполезная, никому ненужная информация? Или ничего не добавить в Person и для их всех в Users создать один запись- guest(гость) и давать им доступ к БД по роли guest?

2) Если я правильно рассуждаю в первом вопросе, тогда таблица Person теряет значение- не так ли?

dma_caviar Users - сотрудники/пользователи
Отдельные таблицы persons и users или признаки "Пользователь", "Сотрудник" как LSV предлагает?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885245
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159,

Таблица одна. Если у сотрудника есть ссылка на логин, значит это сотрудник-пользователь, если нет значит просто сотрудник.
А вам зачем кстати отличать сотрудников от пользователей?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885279
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dma_caviarDelphi159,

Таблица одна. Если у сотрудника есть ссылка на логин, значит это сотрудник-пользователь, если нет значит просто сотрудник.
А вам зачем кстати отличать сотрудников от пользователей?
Не зачем. Сейчас у меня отдельные таблицы для сотрудников и для пользователей БД и просто думаю на счет их объединения в одну. Но таблицы users, usergroups, roles- это одна группа таблиц, ответственные за безопасность БД и права доступа, а в этой цепи запихнуть persons вместо таблицы Users, пока не могу решать, взвешиваю всё за и против.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885293
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159Не зачем. Сейчас у меня отдельные таблицы для сотрудников и для пользователей БД и просто думаю на счет их объединения в одну. Но таблицы users, usergroups, roles- это одна группа таблиц, ответственные за безопасность БД и права доступа, а в этой цепи запихнуть persons вместо таблицы Users, пока не могу решать, взвешиваю всё за и против.

А где Вы видите хоть одно "за" объединения?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885315
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинDelphi159Не зачем. Сейчас у меня отдельные таблицы для сотрудников и для пользователей БД и просто думаю на счет их объединения в одну. Но таблицы users, usergroups, roles- это одна группа таблиц, ответственные за безопасность БД и права доступа, а в этой цепи запихнуть persons вместо таблицы Users, пока не могу решать, взвешиваю всё за и против.

А где Вы видите хоть одно "за" объединения?
LSV 17292394 17291265 .
Хотя я тоже уже больше сомневаюсь. Ищу оптимальное решение и не хочу быть белой вороной среды черных.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885320
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не могу понять, почему вы различаете эти понятия. Это все люди, работающие в организации. Просто у кого-то есть доступ в базу, у кого-то нет. А справочник один. Зачем мозг админам выносить.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885321
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885340
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dma_caviarDelphi159,

Если у сотрудника есть ссылка на логин, значит это сотрудник-пользователь, если нет значит просто сотрудник.

если нет ссылки на логин- это не значит что просто сотрудник, это значит что или просто сотрудник или "гость"(аудит, пока не назначен на должность и т.д.). По этому признаку нельзя их различать. А как вы их различаете? Как узнать что гость а не "просто сотрудник"?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885350
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159если нет ссылки на логин- это не значит что просто сотрудник, это значит что или просто сотрудник или "гость"(аудит, пока не назначен на должность и т.д.). По этому признаку нельзя их различать. А как вы их различаете? Как узнать что гость а не "просто сотрудник"?
А что означает Гость, какие-то особенности в доступе? Не роль ли это?)
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885358
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
галочка "работает" очень сомнительна, вчера уволился, а сегодня принят заново, где история?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885367
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nafгалочка "работает" очень сомнительна, вчера уволился, а сегодня принят заново, где история?
Это я вам на коленке набросал)) Вот вам история.
А вообще в каждом проекте свои требования. Лишние галочки и поля не навязываем. Нам быстрее с нуля все сделать, чтобы было только то что нужно.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885376
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dma_caviarА что означает Гость, какие-то особенности в доступе? Не роль ли это?)
Конечно роль, я не об этом. Сначала как их дифференцируйте? По той причине что не нашли в memberships логина мы не можем говорит что он "просто сотрудник",а не гость. Как узнать что он гость?

Я так представляю:
1.подсоединяюсь к БД,
2.запросом в DBLookupCombobox выбираю сотрудника и в таблице memberships ищу его роли
3.если у него роли несколько выбираю нужный роль
4. отсоединяюсь от бд и подсоединяюсь с этой ролью

А если гость, тогда включить на форме checkbox и прямо с ролью guest подключиться к бд, минуя вышесказанные этапы 1-4?
Вы как поступаете в случае guest?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885384
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159dma_caviarА что означает Гость, какие-то особенности в доступе? Не роль ли это?)
Конечно роль, я не об этом. Сначала как их дифференцируйте? По той причине что не нашли в memberships логина мы не можем говорит что он "просто сотрудник",а не гость. Как узнать что он гость?

Я так представляю:
1.подсоединяюсь к БД,
2.запросом в DBLookupCombobox выбираю сотрудника и в таблице memberships ищу его роли
3.если у него роли несколько выбираю нужный роль
4. отсоединяюсь от бд и подсоединяюсь с этой ролью

А если гость, тогда включить на форме checkbox и прямо с ролью guest подключиться к бд, минуя вышесказанные этапы 1-4?
Вы как поступаете в случае guest?
Что-то тут перемудрено.
Если чел гость, то назначаю ему роль Гость.
Или Вы имеете ввиду если он сам себя регистрирует? Можно тогда по умолчанию эту роль назначать. Или если вообще без ролей значит не будет иметь доступ туда куда не надо - т.е. это и есть "гость".
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885388
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159в таблице memberships ищу его роли
Если вы про ту схему которую я предложил, то memberships это не роли юзера. Это доступ (ID, логин, пароль, соль, всякие флаги, типа неудачные попытки и т.п.). А роли юзера и всякие заморочки доступа связаны именно с этим ID.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885404
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dma_caviarЕсли чел гость, то назначаю ему роль Гость.
Или Вы имеете ввиду если он сам себя регистрирует? Можно тогда по умолчанию эту роль назначать. Или если вообще без ролей значит не будет иметь доступ туда куда не надо - т.е. это и есть "гость".

говорите "Если чел гость, то назначаю ему роль Гость." - Кааааааааааак узнаете что он гость по вашей схеме, который предложили? Вы сами как делаете?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885410
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dma_caviarDelphi159в таблице memberships ищу его роли
Если вы про ту схему которую я предложил, то memberships это не роли юзера. Это доступ (ID, логин, пароль, соль, всякие флаги, типа неудачные попытки и т.п.). А роли юзера и всякие заморочки доступа связаны именно с этим ID.
Неправильно высказался, в memberships- login и пароль найду, а роли- в таблице roles или в системной таблице(пока не решил создать или нет таблицу roles).
...
Рейтинг: 0 / 0
таблицы users и employees
    #38885414
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159dma_caviarЕсли чел гость, то назначаю ему роль Гость.
Или Вы имеете ввиду если он сам себя регистрирует? Можно тогда по умолчанию эту роль назначать. Или если вообще без ролей значит не будет иметь доступ туда куда не надо - т.е. это и есть "гость".

говорите "Если чел гость, то назначаю ему роль Гость." - Кааааааааааак узнаете что он гость по вашей схеме, который предложили? Вы сами как делаете?
Еклмн, по служебной записке)) "Выдать энтому перцу доступ, чтобы смотреть мог, а делать ни ни."
Только это не я определять буду, а кадровик, или кто там, юзеров регистрирует.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38886502
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Пользователь" - это некий внешний по отношению к системе субъект.

Субъект, с которым ваша система собираетесь взаимодействовать и:
- вести журнал действий этого полдьзователя;
- ограничивать этого пользователя в правах.

Сегодня у вас пользователь Сотрудник Вася Пупкин (пользуется UI вашей системы), а завтра - используемая на предпрятии ERP (пользуется API вашей системы).

Нет тут никакого "дублирования" и "пложения" сущностей. Есть нормальное выделение сущностей в процессе проектирования.
До признания какой-нить АСУ предприятия полноценным сотрудником ещё далеко :).
...
Рейтинг: 0 / 0
таблицы users и employees
    #38886504
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой,

прально
"сотрудника" воще может не быть как такового
...
Рейтинг: 0 / 0
таблицы users и employees
    #38886552
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRosАнатоЛой,

прально
"сотрудника" воще может не быть как такового
Что значит не быть? Допустим некий сотрудник имеет логин "asdr14" или "User147". Они кому-нибудь говорят кто выписал накладной? Никому и ничего. А если если между этими таблицами(users,persons) будет связь, уже можно узнать кто залогинился и выписал накладной или сделал приход- Вася Пупкин или Иван Иванич. Со всеми таблицами связи будут идти от users, а не от сотрудник.

АнатоЛойСегодня у вас пользователь Сотрудник Вася Пупкин (пользуется UI вашей системы), а завтра - используемая на предпрятии ERP (пользуется API вашей системы).
Вы имеете ввиду создать пользователи не в БД, а в security2.fdb?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38886560
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В реальной жизни я ещё ни разу не встречал 1:1 отношения между сотрудниками и пользователями системы. Постоянно встречаются различные аномалии:
а) технологические пользователи, не привязанные к сотрудникам
б) сотрудники, не работающие в системе, но имеющие отношение к данным в ней
в) несколько учетных записей у одного сотрудника
г) несколько пользователей, работающих под одной учеткой
и т.п.
Если ко всему этому добавить ещё и разное отношение к историчности данных, то становится совсем плохо, то бишь объединять стоит только хорошенько подумав перед этим.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38886562
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159, я отвечал на вопрос в стартовой теме: нужно ли разделять "Пользователя" и "Сотрудника".

Ответ: да, нужно.
"Пользователь" = некто (персона)/нечто (система), пользующееся интерфейсами (UI, API) нашей системы .
"Сотрудник" - некто (персона), имеющий отношения с нашей организацией .

Тот факт, что одна и та же персона :
- может выступать или не выступать в роли сотрудника компании
- может выступать или не выступать в роли пользователя системы,
не самый лучший способ совместить "Пользователей" и "Сотрудников" в одной таблице.

"Пользователи" - подмножество объединения "Персон" и "Систем".
"Сотрудники" - подмножество "Персон".

Пересечение "Пользователей" и "Сотрудников" в общем случае меньше и чем "Пользователи", и чем "Сотрудники".

Атрибуты "Пользователей" не пересекаются с атрибутами "Сотрудников".

У "Пользователя" есть НЕОБЯЗАТЕЛЬНАЯ ссылка на "Сотрудника" или на "Персону".
У "Сотрудника" есть НЕОБЯЗАТЕЛЬНАЯ ссылка на "Пользователя".
...
Рейтинг: 0 / 0
таблицы users и employees
    #38886587
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойDelphi159, я отвечал на вопрос в стартовой теме: нужно ли разделять "Пользователя" и "Сотрудника".

Ответ: да, нужно.
"Пользователь" = некто (персона)/нечто (система), пользующееся интерфейсами (UI, API) нашей системы .
"Сотрудник" - некто (персона), имеющий отношения с нашей организацией .

Тот факт, что одна и та же персона :
- может выступать или не выступать в роли сотрудника компании
- может выступать или не выступать в роли пользователя системы,
не самый лучший способ совместить "Пользователей" и "Сотрудников" в одной таблице.

"Пользователи" - подмножество объединения "Персон" и "Систем".
"Сотрудники" - подмножество "Персон".

Пересечение "Пользователей" и "Сотрудников" в общем случае меньше и чем "Пользователи", и чем "Сотрудники".

Атрибуты "Пользователей" не пересекаются с атрибутами "Сотрудников".

У "Пользователя" есть НЕОБЯЗАТЕЛЬНАЯ ссылка на "Сотрудника" или на "Персону".
У "Сотрудника" есть НЕОБЯЗАТЕЛЬНАЯ ссылка на "Пользователя".

Мдааа, самый исчерпывающий ответ! Вопросов почти не остался, кроме:

1) Уже не сомневаюсь в необходимости отдельной таблицы Emplyees, но не могу понять в чём необходимость таблицы Persons? . В таблице Persons включаем тех людей, кто не сотрудник, например:
а."гость"-осматривает мою программу,собирается в будущем её купить
б. "будущий оператор программы"-пока не принимали на работу и изучает программу
в. Аудит...
Зачем для них сделать запись в persons (ФИО, паспорт...)- это же будет лишняя, никому ненужная информация? Они все временные гости в системе, имея привилегию только на select, мы можем всем им давать доступ к БД с одной ролью Guests. Зачем несотрудников конкретизировать?

2) Как гостям давать права на доступ к БД? Имею в виду каким может быть алгоритм:
а. Ели не ввёл логин и пароль- тогда он гость и пусть заидёт с ролью Guests.
б. иметь на форме чекбокс "гости". Если включен, disable 2 edits:login, passwoed и заходить как гость.
в. создать заранее один user "гость". Но где его запихнуть? только для этого создать вышесказанную таблицу persons?
у кого как реализован?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38886764
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159Мдааа, самый исчерпывающий ответ! Вопросов почти не остался, кроме:

1) Уже не сомневаюсь в необходимости отдельной таблицы Emplyees, но не могу понять в чём необходимость таблицы Persons? .


Ну Person - это конкретный человек.
Т.е. он может быть как сотрудником, так и пользователем, так и ни тем и не другим.
Т.к. пользователь может быть и не сотрудником (человек с другой конторы), но, например, данные а ФИО хранить надо, то его заводят в Person, там же хранятся данные ФИО по сотрудникам.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38887062
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi1591) ... не могу понять в чём необходимость таблицы Persons? .
В таблице Persons включаем тех людей, кто не сотрудник, например:
а."гость"-осматривает мою программу,собирается в будущем её купить
б. "будущий оператор программы"-пока не принимали на работу и изучает программу
в. Аудит...
Зачем для них сделать запись в persons (ФИО, паспорт...)- это же будет лишняя, никому ненужная информация? Они все временные гости в системе, имея привилегию только на select, мы можем всем им давать доступ к БД с одной ролью Guests. Зачем несотрудников конкретизировать?

2) ...
в. создать заранее один user "гость". Но где его запихнуть? только для этого создать вышесказанную таблицу persons?
у кого как реализован?

Не надо создавать таблицу "Персон" для реализации конкреитно функционала "Гость"

Регистрировать или не регистрировать гостей - ваше решение требование.
Оно либо есть, либо нет.
Соответственно: вы либо записываете гостей поимённо, либо нет...

Проверка требования: кто, когда, для чего будет просматривать информацию о персонах-гостях.
Заказчик должен либо ответить на этот вопрос, либо принять волевое решение "Хочу, чтобы регистрировались поимённо (буду иногда смотреть и ржать какую ахинею они там написали)" :).
...
Рейтинг: 0 / 0
таблицы users и employees
    #38887913
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
посмотрите что получилось, покритикуйте кто чем может....
зелёные таблицы- связывающие(многие ко многим).
...
Рейтинг: 0 / 0
таблицы users и employees
    #38888122
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159, ну разве что для связки полей id_roles-id_users использовать отдельную табличку, а в таблице roles оставить id_roles и name. Также предусмотреть, возможность привязки роли к группе пользователей.

да ещё в таблице users_groups поле id_users_groups лишнее, ибо везде всё равно будет привязки или к группе или к пользователю.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38888796
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr.FontaineDelphi159, ну разве что для связки полей id_roles-id_users использовать отдельную табличку, а в таблице roles оставить id_roles и name. Также предусмотреть, возможность привязки роли к группе пользователей.

да ещё в таблице users_groups поле id_users_groups лишнее, ибо везде всё равно будет привязки или к группе или к пользователю.

смотрите исправленную диаграмму
В связывающих таблицах создал составные первичные ключи, составленный из двух внешних ключей.

...
Рейтинг: 0 / 0
таблицы users и employees
    #38889114
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нормально
...
Рейтинг: 0 / 0
таблицы users и employees
    #38889683
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr.Fontaineнормально
Вы только об отношении таблиц users, empl(выходя из заголовка топика) или о диаграмме в целом? Я прощу всех покритиковать целую диаграмму, связи контрагента с другими таблицами, поля таблиц(что не хватает, лишние, не в том таблице и т.д.).
...
Рейтинг: 0 / 0
таблицы users и employees
    #38889700
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159,

очень странная таблица legalEntities, с кучей мигрировавших полей.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38889836
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин
... мигрировавших полей.

В смысле?
...
Рейтинг: 0 / 0
таблицы users и employees
    #38892939
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159,

Ну в смысле - у Вас у таблиц юридических лиц и контрагентов отношение 1:1, верно?
И в одной и в другой есть поле "юридический адрес". В чем смысл? У этих полей одно и то же значение? Тогда это ФЗ.
...
Рейтинг: 0 / 0
таблицы users и employees
    #38892953
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинDelphi159,

Ну в смысле - у Вас у таблиц юридических лиц и контрагентов отношение 1:1, верно?
И в одной и в другой есть поле "юридический адрес". В чем смысл? У этих полей одно и то же значение? Тогда это ФЗ.

Согласен, кроме этого manager и identcode тоже должны быть только у юриков. Спасибо!
...
Рейтинг: 0 / 0
таблицы users и employees
    #38892958
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159,

Да в том-то и дело, что по Вашей диаграмме все поля этой таблицы повторяют соответствующие поля контрагента - и упомянутые Вами, и Name, и ChiefAccount
...
Рейтинг: 0 / 0
таблицы users и employees
    #38892984
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинDelphi159,

Да в том-то и дело, что по Вашей диаграмме все поля этой таблицы повторяют соответствующие поля контрагента - и упомянутые Вами, и Name, и ChiefAccount
Согласен, доработаю эту часть,это легко исправить.Просто потом добавил таблицу legalentities и и там и там остались. Спасибо!
Больше критических замечании у кого-нибудь есть?
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / таблицы users и employees
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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