熟手帮我看看数据库设计是否合理

青梦奇缘 2009-02-16 06:58:54
/////////////////////////////////
小型家庭财务系统的这两种设计方案到底哪种是符合三范式的;我既觉得第一种比较合理,但又觉得收入和支出应该分开才符合一范;自己找不出有力一个理由说服自己说第一种设计是绝对正确的。
刚学这个,第一次正儿八经的设计数据库!请教熟手指点一下!还有有谁能帮我把这些字段的除ID之外数据类型给标一下!
///////////////////////////////
///////////////////////////////
方案1
//////////////////////////////
用户表
userID
loginName
passWord
realName

收支父项目表
parentID
parentProjectID
parentProject
payTyp //收支类型

收支子项表
subID
parentID
subProjectID
subProject

收支表
payID
parentID
subID
userID
payMoney
payTime
/////////////////////////
////////////////////////

/////////////////////////////
方案2
//////////////////////////
用户表
userID // 用户ID
loginName //登录名
password //密码
realName //用户真实姓名

收支父项目表
parentID // 收支父项ID
parentProjectID // 收支父项编号
parentProject // 收支父项名称

收支子项表
subID // 收支子项ID
parentID // 收支父项ID
subProjectID // 收支子项编号
subProject // 收支子项名称

收入表
inID // 收入表ID
parentID // 收支父项ID
subID // 收支子项ID
userID // 用户ID
inMoney // 收入金额
inTime // 收入时间

支出表
inID // 支出表ID
parentID // 收支父项ID
subID // 收支子项ID
userID // 用户ID
outMoney // 支出金额
outTime // 支出时间
//////////////////////////
////////////////////////
//////////////////////////
...全文
123 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
青梦奇缘 2009-02-17
  • 打赏
  • 举报
回复
无聊再UP
青梦奇缘 2009-02-17
  • 打赏
  • 举报
回复
自己顶
hb0513 2009-02-16
  • 打赏
  • 举报
回复
up
wuyq11 2009-02-16
  • 打赏
  • 举报
回复
第三范式要求非主键列互不依赖.
用第一种吧,结构比较清晰
http://www.cnblogs.com/BlogNetSpace/archive/2009/02/10/1387603.html
青梦奇缘 2009-02-16
  • 打赏
  • 举报
回复
恩!就第一种了!
青梦奇缘 2009-02-16
  • 打赏
  • 举报
回复
谢了,我也是希望得到这个肯定的答案!
青梦奇缘 2009-02-16
  • 打赏
  • 举报
回复
好多时候符合了一范自然而然就符合二范、三范的!
whoo529 2009-02-16
  • 打赏
  • 举报
回复
呵呵 3fs 我写了几年的程序也只符合1fs
vrhero 2009-02-16
  • 打赏
  • 举报
回复
3NF仅仅是指导,要根据具体情况分析...很多场景中适当的数据冗余是必要的,例如涉及敏感数据的财务、计费系统等...

方案二会让你的程序更复杂...
js1998 2009-02-16
  • 打赏
  • 举报
回复
70915510欢迎加入asp.net技术qq群
空心兜兜 2009-02-16
  • 打赏
  • 举报
回复
哦,有引用的,前面没仔细看


这么看的话,还是选第一种吧

第二种多出的表感觉没有用处

空心兜兜 2009-02-16
  • 打赏
  • 举报
回复
......似乎没有看到引用关系

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧