我的数据库设计缺陷...解释一个更好的方法请....((正确方式))

时间:2013-06-18 05:41:54

标签: mysql database database-design

首先让我开始,我正在VB.net中编写一个程序,并设置了一个数据库,一切正常。该程序是基于用户的,并要求用户登录该程序,它将向他们显示所有用户信息,订单,设置,费用等等......以及所需的一切。我现在遇到的问题是我为每个用户设置了不同的数据库。我有用户登录并连接到只保存用户和初始程序启动设置的数据库。与此同时,它将用户数据库地址和密码加载到程序中,这样我就可以访问那里的数据库并从所有与它们相关的表中提取。

我觉得每个用户都有一个数据库有点过分,但每个数据库都与特定的人有关,而且信息可能很敏感,包括地址,金额和其他许多东西,所以我不知道如何设置它是最有效的,因为如果我有50个用户,我不想创建50个数据库。

请帮助解决这个问题。即使你只是指着我去几个地方阅读和学习,我也会喜欢。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

为每个用户创建seprate db不是一种方法。您已在1 db中创建新用户表,并在ref表中添加userid。以下是如何实现此目的的示例

User - Userid, UserName, Pwd etc.
Address - Userid, Addressid, HouseNum, StreetName, City etc.
Shipping details - Userid, Shippingid, Shippingdate etc.

在所有基于Userid的查询中,提取特定于登录用户的数据。 此外,您应始终使用应用程序中的某个服务帐户连接到您的数据库。验证用户是否经过身份验证或未使用某些存储过程或查询。