|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Проектируется БД. На сайте должно быть типы аккаунтов со столбцами, перечисленными в скобках: - Физическое лицо (фамилия, имя, email, password); - Юридическое лицо (фамилия, имя, email, password + название компании, УНП компании). Имеются общие данные: фамилия, имя, email, password, которые можно вынести в отдельную таблицу, назовем её accounts . Верно? Какие должны быть таблицы тогда в БД? Таблица accounts, таблица individuals и таблица company вот так: либо создать только одну таблицу accounts и там, где у юзера будет роль = "Физическое лицо" заполнятся null поля, которые должны быть заполнены у компании, а это поля название компании, УНП компании? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 11:40 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Зачем нужно разделение на физических и юридических лиц? PS. В системах с аутентификацией, обычно подразумевается, что входить в систему может человек, который может работать в компании. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 11:47 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Stanislav P, это площадка, где пользователь может создать заказ , а компания может создать заказ + забирать заказы физ. лиц. То есть у них возможности, в зависимости от ролей, будут разные. Ну и у типа аккаунта "Компания" добавляются соответствующие поля, характерные компаниям (юридический адрес, наименование компании, УНП), которые будут фигурировать при создании заказа тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 11:52 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
jaketaylor, Если не усложнять систему и идти по самому простому пути, то вариант который с тремя таблицами (юзеры, частники и фирмы) вполне нормальный. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 12:39 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
jaketaylorНа сайте должно быть типы аккаунтов со столбцами, перечисленными в скобках Имеются общие данные: фамилия, имя, email, password, которые можно вынести в отдельную таблицу, назовем её accounts. Верно? Неверно. Компании - совершенно отдельно, у них нет ни пароля, ни аккаунта. У них есть список физических лиц, способных действовать от лица этой компании. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 12:57 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, всё таки я решил, что на сайте будет один тип людей регистрироваться - это фирмы. Причем только один аккаунт = одна фирма. Иначе придется ещё и фирмы администратору регистрировать, чтобы пользователи при регистрации выбирали в поле "Место работы", а это уже не ахти. Подойдет ли такое решение? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 15:02 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Stanislav P jaketaylor, Если не усложнять систему и идти по самому простому пути, то вариант который с тремя таблицами (юзеры, частники и фирмы) вполне нормальный. Я все таки подумал, лучше пуcть только фирмы регистрируются. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 15:03 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
del ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 15:05 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
jaketaylorПодойдет ли такое решение? Для курсовика - подойдёт, для реального проекта - нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 15:12 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov jaketaylorПодойдет ли такое решение? Для курсовика - подойдёт, для реального проекта - нет. Почему для реального проекта не пойдет? А что скажете по этому поводу? Компании не могут повторяться, но в одной компании может работать несколько экспедиторов (таблица - forwarders ): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 15:26 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
jaketaylorПочему для реального проекта не пойдет? Потому что "один пароль на всю компанию" - реально плохая идея для компании крупнее, чем "Рога и Копыта". Люди приходят и уходят. С сайтом могут работать разные люди с разными целями. Менять пароль каждый раз после увольнения одного - это не работает. При регистрации компании на (приличном) сайте сразу регистрируется "доверенный пользователь", администратор. Он, в свою очередь, может создать дополнительных пользователей для этой компании (как доверенных, так и с урезанными правами). После чего эти пользователи могут работать с сайтом от имени компании в пределах имеющихся у них прав. И, кстати, из-за закона о персональных данных Вам придётся написать документ, в котором расписано для чего вы храните и используете каждый кусок информации о компании и людях (а также кому и при каких обстоятельствах её передаёте). Так что сразу начните с объяснения зачем в вашей базе ФИО, разбитое на три поля. PS: Хэш пароля - технология прошлого века, нынче рулит SRP. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 16:27 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
jaketaylor либо создать только одну таблицу accounts и там, где у юзера будет роль = "Физическое лицо" Зависит от бизнес-логики, работающей с этими данными. Если название нужно только для того, чтобы написать на страничке "Привет, %name%!" - лучше одна таблица. Если от этого типа начинает зависеть что-то в функционировании - лучше схема, описывающая реальные взаимоотношения между понятиями (что на практике означает много таблиц и нетривиальные связи между ними. Например: человек А когда-то работал в компании Б, а теперь он на роли В в фирме Г и одновременно на роли Д в фирме Е). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2021, 17:24 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
jaketaylor Код: plsql 1. 2. 3. 4.
Предвижу огромные проблемы с безопасностью такого решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 10:49 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Stanislav P jaketaylor Код: plsql 1. 2. 3. 4.
Предвижу огромные проблемы с безопасностью такого решения. В каких конкретных ситуациях и чем это может вылезть боком? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 12:52 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
В любом крупном справочнике контрагентов (особенно если его коллективно будут самонаполнять абы-кто, а не специально-выделенный специалист НСИшник), рано или поздно появятся дубли - смены фамилий, неправильное написание сложных фамилий, смена организационно-правовой формы организаций и проч. Т.е. сразу надо закладывать поле для статуса Эталон/Дубликат, и табличку связей, чтобы потом объявив одну из записей эталонной, сохранить связность по заявкам, которые ранее нашлёпали с контировкой на контрагентов-дубликатов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 15:12 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
jaketaylor Stanislav P Предвижу огромные проблемы с безопасностью такого решения. В каких конкретных ситуациях и чем это может вылезть боком? Если у тебя в системе есть таблица, где есть слово "администратор", а затем в коде есть условное сравнение: "ЕСЛИ id_роль_пользователя = id_"администратор" ТО..." считай твою систему взломали уже заранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2021, 09:51 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
ldfanate Т.е. сразу надо закладывать поле для статуса Эталон/Дубликат, и табличку связей, чтобы потом объявив одну из записей эталонной, сохранить связность по заявкам, которые ранее нашлёпали с контировкой на контрагентов-дубликатов. Тут вещь сложней, если есть финансовые документы, то повторная распечатка условного счёта за прошлый год, должна содержать все реквизиты активные на тот момент, а не банковский счёт открытый неделю назад. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2021, 09:53 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov jaketaylorНа сайте должно быть типы аккаунтов со столбцами, перечисленными в скобках Имеются общие данные: фамилия, имя, email, password, которые можно вынести в отдельную таблицу, назовем её accounts. Верно? Неверно. Компании - совершенно отдельно, у них нет ни пароля, ни аккаунта. У них есть список физических лиц, способных действовать от лица этой компании. +1 Делаешь отдельно компании и отдельно физлица В компанию добавляешь admin_id, manager_id ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2021, 17:15 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
авторТут вещь сложней, если есть финансовые документы, то повторная распечатка условного счёта за прошлый год, должна содержать все реквизиты активные на тот момент, а не банковский счёт открытый неделю назад. А зачем давать повод распечатывать повторно после закрытия периода в учёте? Если в системе генерится платёжка, то она в себе (в своих полях) должна запоминать всё своё состояние на момент её формирования, а не городить огороды с динамическим подтягиванием из истории справочников НСИ. Т.е. разумный уровень избыточности хранения информации - для любого ИУСа скорее плюс. Те нормальные формы БД - это скорее академический инструмент обучения, далеко не всегда нужно стремиться к нормализации структуры БД. Иногда дешевле и надёжнее продублировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2021, 07:11 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
ldfanate А зачем давать повод распечатывать повторно после закрытия периода в учёте? Бумажные документы имеют свойство теряться и портиться. ldfanate Если в системе генерится платёжка, то она в себе (в своих полях) должна запоминать всё своё состояние на момент её формирования, а не городить огороды с динамическим подтягиванием из истории справочников НСИ. Тогда огород из подтягивания верных значений на заданную дату перемещается в сторону огорода с заменой в платёжках id плательщика на его наименование при закрытии периода, что влечёт за собой ну очень забавную переделку структуры БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2021, 09:19 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
авторБумажные документы имеют свойство теряться и портиться. Это если главбуха и соответствующего зама по направлению деятельности не гоняет директор предприятия. Утеря оригиналов первичных учётных документов - серьёзное нарушение, которое лечится организационными мерами (и оргвыводами в том числе). авторТогда огород из подтягивания верных значений на заданную дату перемещается в сторону огорода с заменой в платёжках id плательщика на его наименование при закрытии периода, что влечёт за собой ну очень забавную переделку структуры БД. Не перемещается. Если возник факт хозяйственной жизни "платёжку сгенерили по кривым реквизитам контрагента, и она завёрнута банком", то аннулируют старую и сгенерят новую правильную платёжку (старая же всёравно позицией банковской выписки не закроется - её банк не оплатил). А отчётность в конце месяца соберут, схлопнув по id (кодам контрагентов), где уже подтянут актуальное наименование контрагента из НСИ в отчёт. Но в платёжке останется навечно старое кривое. А если там была например смена организационно-правовой формы контрагента (со сменой id), для этого какраз и нужны связи Эталон-Дубликат в НСИ, чтобы учитывая их в отчётности, подтянуть проводки и платёжки со всех прошлых кодов контрагентов (если он в течении отчётного периода несколько раз менял ОПФ, и такое бывает). Т.е. в любой момент для истории можно распечатать платёжку с фактическими кривыми реквизитами, ровно в том виде, как она была на момент её генерации. И правильный отчёт по оплаченным, с актуальными на сегодня реквизитами. В этом плюс избыточности хранения копии реквизитов НСИ в документе. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2021, 10:18 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Stanislav Pчто влечёт за собой ну очень забавную переделку структуры БД. Зачем? "Платёжка" просто сохраняется в системе как сгенерированный (и электронно подписанный) PDF. Добавить одно поле - невелика переделка. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2021, 12:57 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Зачем? "Платёжка" просто сохраняется в системе как сгенерированный (и электронно подписанный) PDF. Добавить одно поле - невелика переделка. Сохраняется электронная версия (и это имеет место быть), которая ну никак не участвует в генерации различных отчетах основанных на информации в БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 09:12 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
jaketaylor, Один директор может иметь несколько компаний. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 07:01 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Директор - не может. Владелец/основатель может, но при этом у него другие заморочки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 12:49 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Разве нельзя работать директором нескольких компаний? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 20:00 |
|
Как правльно создать таблицу пользователей двух типов в БД?
|
|||
---|---|---|---|
#18+
Можно, так же как и уборщицей в нескольких компаниях. Если потянешь. Но к сабжу это никакого отношения не имеет, поскольку такие случаи единичны и затачивать БД под них нет смысла. Но есть случаи когда такой смысл есть. Например, если один бухгалтер или налоговый консультант обслуживает несколько десятков или даже сотен компаний и по нему надо вести выделенную статистику. Таких случаев "разделяемого служащего" гораздо больше, чем "разделяемых директоров", но насколько они соответствуют задаче автора - я не знаю. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 22:23 |
|
|
start [/forum/topic.php?all=1&fid=32&tid=1539785]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 241ms |
total: | 404ms |
0 / 0 |