2010-06-09 71 views
0

对Access来说是新手,尝试做一些看似简单的事情,但可能非常复杂。我想创建一个项目数据库,每个项目都有几个阶段(即提案,营销等),这将允许多个员工在单个项目上工作。即Bob和John正在从事项目编号102的工作。从这里,我想输入项目每个阶段的预测开始和结束日期,并输入预测的数字,我们的小时数将允许每个员工在该阶段工作该项目即。将复杂数据输入到Access中

项目 - 雇员 - 相 - 开始 - 结束 - (列表周)

102 - 鲍勃 - 营销 - 12可能10 - 21月10 - 3 - 5(3小时第一周,5小时第二)

基本上将所有这些数据是对一个表,或几个?并且可以动态显示开始日期和结束日期之间的几周,以便我可以输入小时数?

我觉得这个数据库将成为严重复杂:S

感谢, Ĵ

+1

收缩包装或开源项目管理软件为什么不能为你做这件事吗? – 2010-06-09 22:43:04

回答

2

无论你是否使用Access,您应该知道什么是normalization,为什么这很重要。

这取决于“严重复杂”对您意味着什么。十几张桌子几乎不会令人不安。

一个项目中,有多个阶段, 多个员工在那里同样以 ID追踪时间为每个员工的 每个阶段

你需要一些连接表。这听起来像你有几个许多一对多的关系在这里:

  • 员工多到许多与相
  • 项目是多到多相位

该雇员阶段多对多表可能被命名为time_entry,因为您输入的小时数确实需要与员工和阶段相关联。

+0

我对十几张表没有任何问题,但我似乎无法从逻辑上弄清楚如何将多个阶段的一个项目与多个员工相关联,其中每个阶段的每个员工都需要跟踪每个员工的小时数...... 我阅读了关于规范化的文章,我想我以比当我开始阅读 – DataMakesMeCrazy 2010-06-09 01:22:00

2

也许一些更多的细节将有所帮助。这是你可能想要的东西的一个非常粗略的轮廓。正如你考虑的那样,你会看到需要额外的表格。

1. Projects 
ProjectID 
Details 

2. Employees 
EmployeeID 
Details 

3. Phases 
For this table, you may wish to use a unique phase ID 
or a combined key created from project and either a look-up table 
numeric ID or a description of the phase. Both have their advantages 
PhaseID 
ProjectID 
PhaseDescription    
Details 

4. EmployeePhases 
Depending on your decision above, either 
PhaseID   ) 
EmployeeID  ) Unique key 
Start Date Time ) 
End Date Time 

or 

ProjectID  ) 
PhaseDescription ) Unique Key 
EmployeeID  ) 
Start Date Time ) 
End Date Time 

它可能会变得有些复杂,得到正确的数据,但我认为你会发现,密切坚持公平,为规范化的规则将让你得到你所需要的数据,并且数据你不但知道自己需要,而且麻烦最少。

+0

好时更多的问题结束,这更有意义,你的规范化信息仍然没有沉没。 如您所建议的表格,将如何处理每周小时数据?我还没有开始建立数据库,但是我看到它的表单条目将允许输入projectID,输入项目的工作进程,项目的阶段将被输入,开始和结束日期为每个阶段,然后是关于输入每周小时的部分。 访问是否有能力为数据输入动态显示正确的周x到y? – DataMakesMeCrazy 2010-06-09 19:33:33

+0

EmployeePhases被描绘为一种为员工保留时间细节的方式,而不是一个阶段的指定时间津贴表。每个员工都会根据此表提供一个表格,其中包含项目阶段和子表格的详细信息,用于输入每天花费的时间。查询将允许您提取每天花费的时间,第一个开始日期,最后结束日期和总时间的信息。 – Fionnuala 2010-06-09 19:45:57

+0

如有必要,还可以创建日历。 – Fionnuala 2010-06-09 19:47:21

0

弹出日历适合输入开始日期和结束日期。但是,每个empoloyee的工作时间在哪里?

我已经为此设置了一个Excel文件,这个文件很大,速度很慢,并且有一个可怕的用户界面(其他人在这里很难使用)。

我仍然认为Excel不适合这项任务,并且Access是一条路。

在Excel中,我为每个员工都有一个标签(因此添加/编辑信息是一件痛苦的事情),并且每个员工都有一个作业列表(多个作业项目会重复执行作业),然后列出包含小时进入。使用可能相等的语句,该文件可以工作,但很差,并且不会在没有大量手动工作的情况下提供我们想要的信息。