首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时间跨度数据库结构

时间跨度数据库结构
EN

Stack Overflow用户
提问于 2011-08-05 07:29:56
回答 1查看 87关注 0票数 0

我有一个民族,每个人都有:firstname,lastName。每个人都有参数:车数,钱数,牛数.有时,这个参数正在改变。我要有过去的参数计数和现在的参数计数来统计。如何建立我的数据库结构?

我的版本:

FirstName

  • СhangesID(PK):

  • PeopleID(PK):LastName,LastName PeopleID(FK),ChangesDate

  • ParameterID(PK),changesID(FK),DayOfBirth,CarCount,Adress,MoneyCount,CowCount.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-05 07:48:48

这是一种历史日志模式。

PeopleID(PK):LastName,FirstName,DayOfBirth,Adress,CarCount,MoneyCount,CowCount.

ColumnId将是您自己的定义,例如ColumnId =1表示CarCount,ColumnId =2表示MoneyCount,列Id =3表示CowCount

我的想法是,对于用户来说,您不应该创建一个只有People First的表&姓氏,DayOfBirth和其他人也应该包括在这个表(人员)中。对于参数,CarCount、MoneyCount或CowCount总是存储当前值。当CarCount从a更改为b时,然后在People表中更新相应的行,将CarCount设置为b,并在change表中创建一个新记录,其中ColumnId =1和OldValue =a。类似于其他参数。

这样,您就可以通过表中的人的信息快速获得每个人的最新参数。如果用户想知道每个参数的前一个值,则可以通过ChangesDate后代查询更改表顺序来完成。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6952905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档