SQLite3 数据库中的派生字段

Posted

技术标签:

【中文标题】SQLite3 数据库中的派生字段【英文标题】:A Derived Field in an SQLite3 Database 【发布时间】:2014-06-11 10:54:00 【问题描述】:

大家晚上好,

今天想请教一个关于SQLite3中派生字段(也称为计算字段)的问题。

利用存储在我的数据库“重量”和“距离”中的两个值,我知道可以利用它们来执行计算,以使用需要两者的公式返回我想要的值。

但是我想知道是否有一种方法可以通过 SQLite 编码设置一个字段来自动生成自己的值,所以一旦他们输入了重量和距离并执行了“卡路里燃烧”的属性字段然后将被填充。

另外,我在几个网站上读到,由于 3NF 要求,3NF 数据库的派生字段不应存储在数据库中,如果是这样,我将不得不在我希望检索时继续执行选择计算价值。

谢谢

JHB92

【问题讨论】:

【参考方案1】:

您可以使用VIEW 实现此目标:

 CREATE VIEW MyTablePlus (Weight, Distance, CaloriesBurned) AS
   SELECT Weight, Distance, ((Weight / Distance) * SomeNumber)
   FROM MyTable

现在,您可以在 MyTablePlus 上执行 SELECT 语句,在 MyTable 上执行 INSERTUPDATE 语句。

【讨论】:

这个卡路里燃烧计算改变了我对锻炼的看法!

以上是关于SQLite3 数据库中的派生字段的主要内容,如果未能解决你的问题,请参考以下文章

使用从 VBA 代码派生的值填充表中的字段

Python sqlite3选择不重复字段

sqlite3日期数据类型

C++ 通过多态和指针自定义异构容器

adodb.recordset 仅从 sqlite3 数据库中检索部分 blob 数据

sqlite3 表大小会影响性能吗?