允许用户从数据库角度访问数据库的最佳实践是什么?一个数据库用户与每个用户一个数据库用户

Which is the best practice for allowing users to acces a database from database perspective? One db user vs a db user for every user

所以我打算为一个爱好项目开发一个测试 SaaS 软件,后台有一个 oracle xe 数据库。基本上,它只是商店的注册应用程序,用于注册产品并与员工聊天。所以在我的理论中,主要问题是用户如何访问数据库以获得最佳性能:使用一个模式,每个人都通过默认模式连接到数据库,或者为每个用户创建一个模式。哪个最合适?

我主要有以下几个方面:

抱歉,如果我的问题有点乱,这是我第一个严肃的、现实世界的问题项目,我对数据库规划还很陌生。

对我来说,它看起来是一个模式和许多用户。

它是哪个XE?最近的让你存储 12GB 的用户数据,这是相当多的。

为每个用户创建一个模式是……很奇怪。为什么要这么做?用户将访问您存储的数据,但他们不必拥有自己的架构。实际上,这会使事情变得更加复杂,因为您必须向每个用户(或使用角色)授予对对象和数据(从拥有一切的用户)的访问权限。

此外,您甚至不必创建数据库用户 - 您可以拥有自己的“用户”table,开发身份验证(然后授权)以便他们能够连接到您的应用程序(那是 authentication)并做各种事情(只读、插入新行、管理当前数据......-那是 authorization)。

当您使用 Oracle 时,我希望您考虑使用 Oracle Apex 作为开发该应用程序的工具。