|
|
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! проектирую складскую БД. В базе есть таблицы 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. Есть по какими-нибудь причинами необходимость в отдельных таблицах для сотрудников и пользователей БД? покритикуйте, посоветуйте, плз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 23:36 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
А в словаре БД разве нет инфы про пользователей, ролей, групп и т.д. Зачем изобретать велосипед? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 23:43 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
SERG1257А в словаре БД разве нет инфы про пользователей, ролей, групп и т.д. Зачем изобретать велосипед? Вы говорите о security2.fdb? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 23:49 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
или о системных таблицах самой БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 23:51 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159 Вы говорите о security2.fdb? Не знаю что это такое Delphi159 или о системных таблицах самой БД? Да. Кроме русского наименования (фио у пользователя) не вижу ничего нового. Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 00:17 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
SERG1257Delphi159 или о системных таблицах самой БД? Да. Кроме русского наименования (фио у пользователя) не вижу ничего нового. Зачем? Не понял о чём вы говорите! Чтобы использовать системные таблицы? Delphi159 Думаю перенести поля таблицы Empl(сотрудники) в Users. Есть по какими-нибудь причинами необходимость в отдельных таблицах для сотрудников и пользователей БД? Я говорю о том, чтобы убрать таблицу empl и её поля перенести в Users. Зачем в БД таблица сотрудников, если там заходят только сотрудники, которые можно найти в Users? Залогиняются сотрудники, которые для БД являются пользователями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 00:44 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159Есть по какими-нибудь причинами необходимость в отдельных таблицах для сотрудников и пользователей БД? покритикуйте, посоветуйте, плз Могут быть сотрудники, которые не являются пользователями (например, уборщица), и пользователи, которые не являются сотрудниками (например, внешние аудиторы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 09:09 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинDelphi159Есть по какими-нибудь причинами необходимость в отдельных таблицах для сотрудников и пользователей БД? покритикуйте, посоветуйте, плз Могут быть сотрудники, которые не являются пользователями (например, уборщица), и пользователи, которые не являются сотрудниками (например, внешние аудиторы).+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 10:09 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
по сабжу: тоже задавался таким вопросом. В принципе можно сделать одну таблицу, где будет признак "Это Юзер". Тогда не будет проблем с уборщицами или внеш.аудиторами. Но с другой стороны в КИС "юзеры" зачастую зачитываются гораздо чаще не_юзеров и вопрос производительности может стать актуальным. Тем более, что отдельная таблица юзеров будет узкой и короткой. В то время как общая таблица будет широкой и во много раз длиннее (например на заводе). Думаю не существует единого рецепта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 10:10 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
LSVпо сабжу: тоже задавался таким вопросом. В принципе можно сделать одну таблицу, где будет признак "Это Юзер". Тогда не будет проблем с уборщицами или внеш.аудиторами. Но с другой стороны в КИС "юзеры" зачастую зачитываются гораздо чаще не_юзеров и вопрос производительности может стать актуальным. Тем более, что отдельная таблица юзеров будет узкой и короткой. В то время как общая таблица будет широкой и во много раз длиннее (например на заводе). Думаю не существует единого рецепта. Плохое решение. Т.к. могут быть пользователи не сотрудники, например, "гость". А так обычно решается добавлением новой абстракции. Приблизительно так 1) Person - конкретный человек, все его данные (ФИО, пол, год рождения, паспорт) 2) Employee - Сотрудник, имеет ссылку на Person и должность (свзяь Employee_Должность, т.к. сотрудник может совмещать должности) 3) User - пользователь, может имеет ссылку на Person (связь ч/з User_Person) и роли (связт ч/з User_Groups) Опять же объединять Person и Employee так же плохо, т.к. могут быть конкретные лица которые не являются сотрудниками, но могут иметь доступ к данным. Где-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 11:55 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Users - сотрудники/пользователи Memberships - логины В Users делаете ссылку на MembershipID. Он может быть пустым. Тогда если у сотруднка нет логина (доступа в базу) то это простой сотрудник, если есть, то это пользователь. Все настройки доступа, связи с ролями и привилегиями завязываете на таблицу Memberships. При желании можно переключить сотрудника на другой логин с другими пономочиями. Во всех документах ссылаетесь на Users (создатели там всякие и т.п.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 12:16 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Плохое решение. Т.к. могут быть пользователи не сотрудники, например, "гость".Какую проблему составляет сделать в таблице признак "Сотрудник" ??? Иметь признаки "Пользователь", "Сотрудник", "Гость" (опционально). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 12:42 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
LSVПлохое решение. Т.к. могут быть пользователи не сотрудники, например, "гость".Какую проблему составляет сделать в таблице признак "Сотрудник" ??? Иметь признаки "Пользователь", "Сотрудник", "Гость" (опционально). А зачем плодить сущности без необходимости? А зачем нужен признак "гость", когда он там не нужен. Для ТС, на сколько я понял, главное что есть сотрудники и все остальные, плюс пользователи и все остальные. Т.е. множества А (сотрудники) и Б (пользователи), они могут пересекаться частично, хотя для ТС нужно хранить их объединение. Остальные интересны постольку поскольку, они могут оказаться либо в А но не в Б, либо в Б но не в А. Те что не в А и не в Б ТС не волнуют. Почему нужна отдельная сущность Person я пояснил в посте выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 13:11 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
по сабжу: это тот случай когда оптимальное решение зависит от задачи. В каких-то случаях надо делать, как указал mad_nazgul, в других (обычно простых) можно обойтись одной таблицей. Нет идеальных решений. Подобные проблемы (усложнение ради правильности) можно найти в любом, даже элементарном модуле. Пример ? Фамилию следует хранить в отдельной таблице, т.к. она м.б. непостоянной и фигурировать в офиц. документах, н-р доверенностях. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 13:37 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
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 предлагает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 16:40 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159, Таблица одна. Если у сотрудника есть ссылка на логин, значит это сотрудник-пользователь, если нет значит просто сотрудник. А вам зачем кстати отличать сотрудников от пользователей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 16:45 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
dma_caviarDelphi159, Таблица одна. Если у сотрудника есть ссылка на логин, значит это сотрудник-пользователь, если нет значит просто сотрудник. А вам зачем кстати отличать сотрудников от пользователей? Не зачем. Сейчас у меня отдельные таблицы для сотрудников и для пользователей БД и просто думаю на счет их объединения в одну. Но таблицы users, usergroups, roles- это одна группа таблиц, ответственные за безопасность БД и права доступа, а в этой цепи запихнуть persons вместо таблицы Users, пока не могу решать, взвешиваю всё за и против. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 17:24 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159Не зачем. Сейчас у меня отдельные таблицы для сотрудников и для пользователей БД и просто думаю на счет их объединения в одну. Но таблицы users, usergroups, roles- это одна группа таблиц, ответственные за безопасность БД и права доступа, а в этой цепи запихнуть persons вместо таблицы Users, пока не могу решать, взвешиваю всё за и против. А где Вы видите хоть одно "за" объединения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 17:33 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинDelphi159Не зачем. Сейчас у меня отдельные таблицы для сотрудников и для пользователей БД и просто думаю на счет их объединения в одну. Но таблицы users, usergroups, roles- это одна группа таблиц, ответственные за безопасность БД и права доступа, а в этой цепи запихнуть persons вместо таблицы Users, пока не могу решать, взвешиваю всё за и против. А где Вы видите хоть одно "за" объединения? LSV 17292394 17291265 . Хотя я тоже уже больше сомневаюсь. Ищу оптимальное решение и не хочу быть белой вороной среды черных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 17:52 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Я не могу понять, почему вы различаете эти понятия. Это все люди, работающие в организации. Просто у кого-то есть доступ в базу, у кого-то нет. А справочник один. Зачем мозг админам выносить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 17:57 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
dma_caviar, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 17:57 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
dma_caviarDelphi159, Если у сотрудника есть ссылка на логин, значит это сотрудник-пользователь, если нет значит просто сотрудник. если нет ссылки на логин- это не значит что просто сотрудник, это значит что или просто сотрудник или "гость"(аудит, пока не назначен на должность и т.д.). По этому признаку нельзя их различать. А как вы их различаете? Как узнать что гость а не "просто сотрудник"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 18:38 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159если нет ссылки на логин- это не значит что просто сотрудник, это значит что или просто сотрудник или "гость"(аудит, пока не назначен на должность и т.д.). По этому признаку нельзя их различать. А как вы их различаете? Как узнать что гость а не "просто сотрудник"? А что означает Гость, какие-то особенности в доступе? Не роль ли это?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 18:45 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
галочка "работает" очень сомнительна, вчера уволился, а сегодня принят заново, где история? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 18:53 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Nafгалочка "работает" очень сомнительна, вчера уволился, а сегодня принят заново, где история? Это я вам на коленке набросал)) Вот вам история. А вообще в каждом проекте свои требования. Лишние галочки и поля не навязываем. Нам быстрее с нуля все сделать, чтобы было только то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 19:00 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
dma_caviarА что означает Гость, какие-то особенности в доступе? Не роль ли это?) Конечно роль, я не об этом. Сначала как их дифференцируйте? По той причине что не нашли в memberships логина мы не можем говорит что он "просто сотрудник",а не гость. Как узнать что он гость? Я так представляю: 1.подсоединяюсь к БД, 2.запросом в DBLookupCombobox выбираю сотрудника и в таблице memberships ищу его роли 3.если у него роли несколько выбираю нужный роль 4. отсоединяюсь от бд и подсоединяюсь с этой ролью А если гость, тогда включить на форме checkbox и прямо с ролью guest подключиться к бд, минуя вышесказанные этапы 1-4? Вы как поступаете в случае guest? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 19:13 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159dma_caviarА что означает Гость, какие-то особенности в доступе? Не роль ли это?) Конечно роль, я не об этом. Сначала как их дифференцируйте? По той причине что не нашли в memberships логина мы не можем говорит что он "просто сотрудник",а не гость. Как узнать что он гость? Я так представляю: 1.подсоединяюсь к БД, 2.запросом в DBLookupCombobox выбираю сотрудника и в таблице memberships ищу его роли 3.если у него роли несколько выбираю нужный роль 4. отсоединяюсь от бд и подсоединяюсь с этой ролью А если гость, тогда включить на форме checkbox и прямо с ролью guest подключиться к бд, минуя вышесказанные этапы 1-4? Вы как поступаете в случае guest? Что-то тут перемудрено. Если чел гость, то назначаю ему роль Гость. Или Вы имеете ввиду если он сам себя регистрирует? Можно тогда по умолчанию эту роль назначать. Или если вообще без ролей значит не будет иметь доступ туда куда не надо - т.е. это и есть "гость". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 19:25 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159в таблице memberships ищу его роли Если вы про ту схему которую я предложил, то memberships это не роли юзера. Это доступ (ID, логин, пароль, соль, всякие флаги, типа неудачные попытки и т.п.). А роли юзера и всякие заморочки доступа связаны именно с этим ID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 19:28 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
dma_caviarЕсли чел гость, то назначаю ему роль Гость. Или Вы имеете ввиду если он сам себя регистрирует? Можно тогда по умолчанию эту роль назначать. Или если вообще без ролей значит не будет иметь доступ туда куда не надо - т.е. это и есть "гость". говорите "Если чел гость, то назначаю ему роль Гость." - Кааааааааааак узнаете что он гость по вашей схеме, который предложили? Вы сами как делаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 19:53 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
dma_caviarDelphi159в таблице memberships ищу его роли Если вы про ту схему которую я предложил, то memberships это не роли юзера. Это доступ (ID, логин, пароль, соль, всякие флаги, типа неудачные попытки и т.п.). А роли юзера и всякие заморочки доступа связаны именно с этим ID. Неправильно высказался, в memberships- login и пароль найду, а роли- в таблице roles или в системной таблице(пока не решил создать или нет таблицу roles). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 20:10 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159dma_caviarЕсли чел гость, то назначаю ему роль Гость. Или Вы имеете ввиду если он сам себя регистрирует? Можно тогда по умолчанию эту роль назначать. Или если вообще без ролей значит не будет иметь доступ туда куда не надо - т.е. это и есть "гость". говорите "Если чел гость, то назначаю ему роль Гость." - Кааааааааааак узнаете что он гость по вашей схеме, который предложили? Вы сами как делаете? Еклмн, по служебной записке)) "Выдать энтому перцу доступ, чтобы смотреть мог, а делать ни ни." Только это не я определять буду, а кадровик, или кто там, юзеров регистрирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 20:16 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
"Пользователь" - это некий внешний по отношению к системе субъект. Субъект, с которым ваша система собираетесь взаимодействовать и: - вести журнал действий этого полдьзователя; - ограничивать этого пользователя в правах. Сегодня у вас пользователь Сотрудник Вася Пупкин (пользуется UI вашей системы), а завтра - используемая на предпрятии ERP (пользуется API вашей системы). Нет тут никакого "дублирования" и "пложения" сущностей. Есть нормальное выделение сущностей в процессе проектирования. До признания какой-нить АСУ предприятия полноценным сотрудником ещё далеко :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2015, 17:35 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
АнатоЛой, прально "сотрудника" воще может не быть как такового ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2015, 17:39 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
ViPRosАнатоЛой, прально "сотрудника" воще может не быть как такового Что значит не быть? Допустим некий сотрудник имеет логин "asdr14" или "User147". Они кому-нибудь говорят кто выписал накладной? Никому и ничего. А если если между этими таблицами(users,persons) будет связь, уже можно узнать кто залогинился и выписал накладной или сделал приход- Вася Пупкин или Иван Иванич. Со всеми таблицами связи будут идти от users, а не от сотрудник. АнатоЛойСегодня у вас пользователь Сотрудник Вася Пупкин (пользуется UI вашей системы), а завтра - используемая на предпрятии ERP (пользуется API вашей системы). Вы имеете ввиду создать пользователи не в БД, а в security2.fdb? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2015, 18:54 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
В реальной жизни я ещё ни разу не встречал 1:1 отношения между сотрудниками и пользователями системы. Постоянно встречаются различные аномалии: а) технологические пользователи, не привязанные к сотрудникам б) сотрудники, не работающие в системе, но имеющие отношение к данным в ней в) несколько учетных записей у одного сотрудника г) несколько пользователей, работающих под одной учеткой и т.п. Если ко всему этому добавить ещё и разное отношение к историчности данных, то становится совсем плохо, то бишь объединять стоит только хорошенько подумав перед этим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2015, 19:10 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159, я отвечал на вопрос в стартовой теме: нужно ли разделять "Пользователя" и "Сотрудника". Ответ: да, нужно. "Пользователь" = некто (персона)/нечто (система), пользующееся интерфейсами (UI, API) нашей системы . "Сотрудник" - некто (персона), имеющий отношения с нашей организацией . Тот факт, что одна и та же персона : - может выступать или не выступать в роли сотрудника компании - может выступать или не выступать в роли пользователя системы, не самый лучший способ совместить "Пользователей" и "Сотрудников" в одной таблице. "Пользователи" - подмножество объединения "Персон" и "Систем". "Сотрудники" - подмножество "Персон". Пересечение "Пользователей" и "Сотрудников" в общем случае меньше и чем "Пользователи", и чем "Сотрудники". Атрибуты "Пользователей" не пересекаются с атрибутами "Сотрудников". У "Пользователя" есть НЕОБЯЗАТЕЛЬНАЯ ссылка на "Сотрудника" или на "Персону". У "Сотрудника" есть НЕОБЯЗАТЕЛЬНАЯ ссылка на "Пользователя". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2015, 19:14 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
АнатоЛойDelphi159, я отвечал на вопрос в стартовой теме: нужно ли разделять "Пользователя" и "Сотрудника". Ответ: да, нужно. "Пользователь" = некто (персона)/нечто (система), пользующееся интерфейсами (UI, API) нашей системы . "Сотрудник" - некто (персона), имеющий отношения с нашей организацией . Тот факт, что одна и та же персона : - может выступать или не выступать в роли сотрудника компании - может выступать или не выступать в роли пользователя системы, не самый лучший способ совместить "Пользователей" и "Сотрудников" в одной таблице. "Пользователи" - подмножество объединения "Персон" и "Систем". "Сотрудники" - подмножество "Персон". Пересечение "Пользователей" и "Сотрудников" в общем случае меньше и чем "Пользователи", и чем "Сотрудники". Атрибуты "Пользователей" не пересекаются с атрибутами "Сотрудников". У "Пользователя" есть НЕОБЯЗАТЕЛЬНАЯ ссылка на "Сотрудника" или на "Персону". У "Сотрудника" есть НЕОБЯЗАТЕЛЬНАЯ ссылка на "Пользователя". Мдааа, самый исчерпывающий ответ! Вопросов почти не остался, кроме: 1) Уже не сомневаюсь в необходимости отдельной таблицы Emplyees, но не могу понять в чём необходимость таблицы Persons? . В таблице Persons включаем тех людей, кто не сотрудник, например: а."гость"-осматривает мою программу,собирается в будущем её купить б. "будущий оператор программы"-пока не принимали на работу и изучает программу в. Аудит... Зачем для них сделать запись в persons (ФИО, паспорт...)- это же будет лишняя, никому ненужная информация? Они все временные гости в системе, имея привилегию только на select, мы можем всем им давать доступ к БД с одной ролью Guests. Зачем несотрудников конкретизировать? 2) Как гостям давать права на доступ к БД? Имею в виду каким может быть алгоритм: а. Ели не ввёл логин и пароль- тогда он гость и пусть заидёт с ролью Guests. б. иметь на форме чекбокс "гости". Если включен, disable 2 edits:login, passwoed и заходить как гость. в. создать заранее один user "гость". Но где его запихнуть? только для этого создать вышесказанную таблицу persons? у кого как реализован? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2015, 20:24 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159Мдааа, самый исчерпывающий ответ! Вопросов почти не остался, кроме: 1) Уже не сомневаюсь в необходимости отдельной таблицы Emplyees, но не могу понять в чём необходимость таблицы Persons? . Ну Person - это конкретный человек. Т.е. он может быть как сотрудником, так и пользователем, так и ни тем и не другим. Т.к. пользователь может быть и не сотрудником (человек с другой конторы), но, например, данные а ФИО хранить надо, то его заводят в Person, там же хранятся данные ФИО по сотрудникам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 08:26 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi1591) ... не могу понять в чём необходимость таблицы Persons? . В таблице Persons включаем тех людей, кто не сотрудник, например: а."гость"-осматривает мою программу,собирается в будущем её купить б. "будущий оператор программы"-пока не принимали на работу и изучает программу в. Аудит... Зачем для них сделать запись в persons (ФИО, паспорт...)- это же будет лишняя, никому ненужная информация? Они все временные гости в системе, имея привилегию только на select, мы можем всем им давать доступ к БД с одной ролью Guests. Зачем несотрудников конкретизировать? 2) ... в. создать заранее один user "гость". Но где его запихнуть? только для этого создать вышесказанную таблицу persons? у кого как реализован? Не надо создавать таблицу "Персон" для реализации конкреитно функционала "Гость" Регистрировать или не регистрировать гостей - ваше решение требование. Оно либо есть, либо нет. Соответственно: вы либо записываете гостей поимённо, либо нет... Проверка требования: кто, когда, для чего будет просматривать информацию о персонах-гостях. Заказчик должен либо ответить на этот вопрос, либо принять волевое решение "Хочу, чтобы регистрировались поимённо (буду иногда смотреть и ржать какую ахинею они там написали)" :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 12:41 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
посмотрите что получилось, покритикуйте кто чем может.... зелёные таблицы- связывающие(многие ко многим). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 02:55 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159, ну разве что для связки полей id_roles-id_users использовать отдельную табличку, а в таблице roles оставить id_roles и name. Также предусмотреть, возможность привязки роли к группе пользователей. да ещё в таблице users_groups поле id_users_groups лишнее, ибо везде всё равно будет привязки или к группе или к пользователю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 11:14 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineDelphi159, ну разве что для связки полей id_roles-id_users использовать отдельную табличку, а в таблице roles оставить id_roles и name. Также предусмотреть, возможность привязки роли к группе пользователей. да ещё в таблице users_groups поле id_users_groups лишнее, ибо везде всё равно будет привязки или к группе или к пользователю. смотрите исправленную диаграмму В связывающих таблицах создал составные первичные ключи, составленный из двух внешних ключей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 17:51 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 09:26 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Mr.Fontaineнормально Вы только об отношении таблиц users, empl(выходя из заголовка топика) или о диаграмме в целом? Я прощу всех покритиковать целую диаграмму, связи контрагента с другими таблицами, поля таблиц(что не хватает, лишние, не в том таблице и т.д.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 16:15 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159, очень странная таблица legalEntities, с кучей мигрировавших полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 16:25 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин ... мигрировавших полей. В смысле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 17:29 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159, Ну в смысле - у Вас у таблиц юридических лиц и контрагентов отношение 1:1, верно? И в одной и в другой есть поле "юридический адрес". В чем смысл? У этих полей одно и то же значение? Тогда это ФЗ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 22:24 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинDelphi159, Ну в смысле - у Вас у таблиц юридических лиц и контрагентов отношение 1:1, верно? И в одной и в другой есть поле "юридический адрес". В чем смысл? У этих полей одно и то же значение? Тогда это ФЗ. Согласен, кроме этого manager и identcode тоже должны быть только у юриков. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 22:39 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Delphi159, Да в том-то и дело, что по Вашей диаграмме все поля этой таблицы повторяют соответствующие поля контрагента - и упомянутые Вами, и Name, и ChiefAccount ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 22:44 |
|
||
|
таблицы users и employees
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинDelphi159, Да в том-то и дело, что по Вашей диаграмме все поля этой таблицы повторяют соответствующие поля контрагента - и упомянутые Вами, и Name, и ChiefAccount Согласен, доработаю эту часть,это легко исправить.Просто потом добавил таблицу legalentities и и там и там остались. Спасибо! Больше критических замечании у кого-нибудь есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 23:31 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1540627]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 495ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...