如何在SQLite中定义一些表

村庄

我正在尝试建立一个数据库来管理人与人之间的支出。我想要一张桌子,我在这里可以节省每个人花了多少欧元。

我有一个名为people的表,该表只有两列,_id和name。

然后,我试图用_id创建表,总计金额并节省每个人花了多少欧元。我当时在想为每个人的_id列一栏,并注明已经花费了多少欧元,但我不知道该怎么做。

例如:

例1

或者,也许我可以使用一些列来存储ID和金额,如下所示:(这是相同的示例)

例子2

先感谢您!

多纳研究员

您在那里提出了两个单独的SQL反模式。一方是由另一台命名的列,另一个是有一个blah_1blah_2......一系列列。在每种情况下,它们都表明您正在考虑此错误;数据库不是电子表格

最好有一个表来记录事务ID,人员ID及其花费之间的唯一映射(_id为清楚起见,省略):

txID | personID | spend
-----+----------+-------
 1   |  1       | 10
 2   |  1       | 5
 2   |  2       | 10
 3   |  2       | 10
 3   |  3       | 10
 4   |  1       | 4

你要指定该组合txIDpersonID是唯一的,但不是说任何列是唯一本身。
现在,这并不是说您已经丢失了任何人花费的金额或其他类似的基本汇总信息。然后,您可以使用类似以下的查询来得出在交易中花费的总金额:

SELECT SUM(spend) AS "Total amount" FROM spendTable WHERE txID = 2

但是,您也可以执行以下操作,例如找出某人的总花费:

SELECT SUM(spend) FROM spendTable WHERE personID = 1

这样的查询是完全明智的,并且对于您建议的第二个表设计将更加困难。(第一个设计会更好,除非您实际上PEOPLE不能通过外键关系显式链接到,否则一旦开始做任何更复杂的事情,这将使事情变得更加棘手。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Codeigniter中定义一些变量

来自分类Dev

如何在Laravel中连接一些表?

来自分类Dev

如何在Laravel中连接一些表?

来自分类Dev

如何在suricata.yml中的HOME_NET中定义一些地址?

来自分类Dev

如何在我的LocalizedStringKey中添加一些自定义文本?

来自分类Dev

如何在Symfony 5中验证一些自定义约束

来自分类常见问题

如何在knitr :: kable中的表之间保持一些空间?

来自分类Dev

如何在knitr :: kable中的表之间保持一些空间?

来自分类Dev

如何在jQuery中的html表内以块的形式传递一些数据

来自分类Dev

Haskell 中的一些“数据”定义是如何得到评估的

来自分类Dev

如何从表中删除一些相似的行?

来自分类Dev

如何在QTreeView中隐藏一些列?

来自分类Dev

如何在vim中过滤一些多行语句

来自分类Dev

如何在系统设置中隐藏一些图标?

来自分类Dev

如何在python中删除一些连接的组件?

来自分类Dev

如何在rethinkDB中添加一些矩阵?

来自分类Dev

如何在Laravel中合并一些关系

来自分类Dev

如何在图表中写一些文字-Highcharts?

来自分类Dev

如何在系统设置中隐藏一些图标?

来自分类Dev

如何在286中安装一些现代硬盘?

来自分类Dev

如何在python中删除一些连接的组件?

来自分类Dev

如何在zsh中动态声明一些别名?

来自分类Dev

如何在HTML中删除一些TD边框

来自分类Dev

如何在摘录中删除一些Liquid标签?

来自分类Dev

如何在rethinkDB中添加一些矩阵?

来自分类Dev

如何在/ usr中释放一些空间

来自分类Dev

如何在JavaScript中获得一些数学错误

来自分类Dev

如何在txt文件中插入一些单词

来自分类Dev

如何在文本中添加一些边框?

Related 相关文章

热门标签

归档