2012-03-07 22 views
0

我正在构建一个网站,供员工用来记录他们已完成的工作。该网站包含提交信息的页面,查看信息的页面以及包含姓名,电子邮件,电话等员工个人信息的页面。我使用ASP.NET Membership进行身份验证。所有的代码都是VB。我的问题:需要关于在我的ASP.NET网站中使用数据库的最佳实践的建议

1)ASP.NET Membership只存储成员的用户名和电子邮件。我想存储额外的信息,如姓名,电话号码等。我可以更新会员数据库中的表格以包含此信息吗?或者我应该将这些信息存储在单独的数据库中?我的目标是填充其中一个页面上的文本框,其中包含当前登录的用户的特定数据。

2)已完成的工作将存储在另一个数据库中,因为从逻辑上讲它与会员资料分开。从这个单独的“工作”数据库中提取和显示记录的最有效方法是哪些,这些记录是特定于已登录且已针对成员数据库进行过验证的用户的记录?

3)我在为“工作”数据库设计表格时遇到了麻烦。存储在数据库中的每条记录都将代表一天的工作量。但是,这一天将会发生一些活动。每项活动都会有一种活动类型,地点和工作时间。一名员工可以完成1项活动或100项活动。我假设我需要一个表格来处理活动,然后将其与工作表相关联。这听起来正确吗?

+0

你可以使用内置的[简介提供商(http://msdn.microsoft.com/en-us/library/2y3fs9xs(V = VS.100)的.aspx)来添加额外的信息,如图片,电话号码,第一个/姓氏等。 – 2012-03-07 09:32:02

回答

1

对于你的第一点我会建议你创建你自己的用户表,并将此表与会员用户表与guid viz关联起来。在你的表中保留userid文件并将其与成员表关联起来。

二点会自动得到解决,一旦你将创建自己的用户表中,所有你需要的是相关工作和用户表(由您创建)来从工作

记录,并在最后,如果你是为活动创建新表格如何将它与工作表格相关联,同样,您将有多次出现记录,而我建议不要为活动创建另一个表格,将其保存在工作表本身中,就像创建新表格一样,你将不得不提供与会导致冗余的工作的关系。

希望这会有所帮助。

+0

嗨,谢谢你的回复!对于每个用户,工作表中每天会有一个条目。 (工作条目基本上是每日报告)对于每个工作条目,都有不确定数量的活动完成。 (可能在1到100个不同的活动中都有用户生成的解释。)由于我不知道会有多少活动,因此我不知道要向工作表添加多少列。我不得不在工作表中添加足够多的列来覆盖可能的最大数量的活动,这是未知的。这对我来说似乎是低效/多余的。 – sevenyearsrust 2012-03-07 09:59:29

+0

这就是为什么我正在考虑为活动创建一个表格,并与工作表具有一对多的关系。这样,我的表格结构就会干净简单,不会对活动数量进行猜测/过度补偿。这些活动只会根据需要插入表中。 – sevenyearsrust 2012-03-07 10:03:32

+0

在这种情况下,最好有不同的表格,但如果你与工作和活动的关系没有意义,那么最好只有一个表格。 – 2012-03-07 10:33:57

相关问题