我建立一个志愿者管理系统,我有一些数据库设计问题:数据库设计问题:
为了解释这一过程: 志愿者可以注册帐户。志愿者将他们的时间报告给一个项目(每个志愿者可以有多个项目)。当几个小时的志愿者人数已经接近一些规定量给他们一个奖励志愿者监督员通知。
例如: 谁已经主动10小时志愿者接收免费的T恤。
我遇到的问题是如何设计数据库,使得单个奖励配置文件可以与多个项目相关联,并且具有单一奖励配置文件“多层次”。关于这一点很重要的一点是奖励结构可能会发生变化,因此他们不能被硬编码。
我的意思是“多层次”奖励简介的例子: 自愿参加10小时的志愿者会收到一件免费的T恤。 谁志愿四十个小时,志愿者收到$ 50升值检查。
我拿出自己的解决方案是: 为了有涉及一个行到每一回报状况的奖励概况表。
rewardprofile:
rID(primary key) - int
description - varchar/char(100)
details - varchar/file (XML)
另外,就在这个话题上,DB字段条目可以是文件吗?
OR
成具有涉及一个预设量的奖励表和奖励,其中每一行是如下和结合它们的回报的第二奖励简档表项一起:
rewards:
rID(primary key) - int
rpID (references rewardsProfile) - int
numberOfHrs - int
rewardDesc - varchar/char(100)
rewardsprofile:
rpID(primary key) - int
description
所以这可能看起来像这样︰
rewardsprofile:
rpid | desc
rp01 | no reward
rp02 | t-shirt only
rp03 | t-shirt and check
rewards
rid | rpID | hours | desc
r01 | rp02 | 10 | t-shirt
r02 | rp03 | 10 | t-shirt
r03 | rp03 | 40 | check
我敢肯定这个问题是没有新的,但我的谷歌福是薄弱的,我不知道如何phr以有意义的方式提出这个问题。我认为必须有比我的(黑客和斜杠)方法更正式的解决方案。如果任何人都可以指导我解决这个问题或者解决问题的方法,那么这个问题就会很大。感谢您的所有时间!
干杯, -Jeremiah Tantongco
你有没有看看databaseanswers.com可能存在的模式? – 2010-02-17 06:50:51