0

我已经为此苦苦挣扎了一段时间,似乎找不到任何信息。

我在 C# 中使用 SQL 数据库、EntityFramework、ASP 和 .Net4 创建了一个在线销售点系统。我以前的编程经验是使用 OpenGL 和 DirectX,所以这对我来说都是全新的。

来自单个公司的用户将使用单个帐户登录该站点。然后,他们可以使用在线收银台和后台。到目前为止,该软件是使用单个 SQL 数据库开发的。我想做的是让应用程序为每个帐户创建和使用不同的 SQL 数据库实例。

这听起来合理/可行,还是您希望为所有用户提供一个庞大的数据库?- 注意:可能存在大量用户,每个用户都存储大量信息,每个用户只需要访问自己的数据库。

任何建议将不胜感激

谢谢,

4

3 回答 3

2

我认为这不是一个好方法,好像会有任何方案更改,您必须保持同步每个数据库实例。

于 2012-05-04T12:26:48.477 回答
1

这听起来合理/可行,还是您希望为所有用户提供一个庞大的数据库?- 注意:可能存在大量用户,每个用户都存储大量信息,每个用户只需要访问自己的数据库。

这是可能的,但根本不明智。用户不访问数据库,应用程序可以。仅当您的应用程序为用户提供在应用程序中创建自己的数据结构的能力(例如托管服务提供商会这样做)时,为每个用户分离一个完整的数据库才有意义。如果它只是为了容纳每个用户的多个相同结构,那么您最好花时间规范化适当的关系结构(假设因为您提到您正在使用 SQL)并优化查询/存储过程以使数据检索/插入速度快。

RDBMS 完全有能力处理大量用户和大型数据子集,如果您对其进行规范化,有效地适当地键入每个结构(在大多数情况下通过 userkey)。

于 2012-05-04T12:33:02.170 回答
0

最好的方法是为所有用户提供一个庞大的数据库。

SQL Server 将仅支持每个实例 32,767 个数据库。

http://msdn.microsoft.com/en-us/library/ms143432.aspx

于 2012-05-04T12:31:22.903 回答