《SQL与关系数据库理论——如何编写健壮的SQL代码》一1.9 值vs.变量
本节书摘来华章计算机《SQL与关系数据库理论——如何编写健壮的SQL代码》一书中的第1章 ,第1.9节 C. J. Date 著 单世民 何英昊 许侃 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.9 值vs.变量关系(relation)和关系变量(relvar)的逻辑差异实际上是通常意义下值与变量之间逻辑差异的特例。现在,谈谈通常意义下的情形(有点偏题,不过有必要这么做,因为清晰的思路在特别多的方面都非常有益)。下面给出一些定义:
定义 值(value)是逻辑学家所说的“单个常量”,比如整数3。一个值不存在于时空之中。然而,值可以通过某些编码在记忆中表示,而这些表示或编码在时空中存在。事实上,同一个值可以在不同的时间和地点以不同的形式表示。或者说,任意多个不同的变量(参见下个定义)在相同或不同的时间可以有相同的值。特别的,根据定义可知,值本身是不能被更新的;因为如果它能被更新,那么在更新之后它就不再是它本身了。
定义 变量是用于表示值的容器。一个变量存在于时空之中。同时,变量可以被更新,这一点和值不同。也就是说,可以用另外一个值替换变量的当前值。这就是“变量”的含义——作为变量就要可更新,可更新的才是变量;同样的,作为变量就要可赋值,可赋值的才是变量。
请特别小心,并不是只有整数3这样的简单事物才是合法值。相反,取值可以是很复杂的。比如,一个值可以是一个几何点,一个多边形,一条X射线,一个XML文档,一个指纹,一个数组,一个堆栈,一个列表或者一个关系等等。当然,类似的说明也适用于变量。下一章中会对这样的问题详细说明。你可能很难想象人们会在取值和变量这样明显并基础的差异上感到困惑。然而,事实并非如此。在此方面是十分容易掉入陷阱的。为了说明这种情况,考虑如下从某个对象数据库教程中抽取出来的内容(在方括号中的斜体部分是我给出的注释),如下所示:
我们区分变量的已声明类型是根据……对象的类型是变量的当前值[所以对象是值] ……我们从值区分对象[所以对象终究不是值] ……一个设值方法[是运算符使得]可能会查看其对于其他对象的影响[所以,对象实际上是变量]。
一行SQL代码能做什么?(下) 最近在知乎上看到一个问题:一行代码可以做什么?答题者数万计,都是一些非常“高端”的操作,就在想一行SQL代码能做什么呢?
相关文章
- Visual Studio VS如何重置所有设置
- SQL SERVER 2012启动失败 because upgrade step 'SSIS_hotfix_install.sql' 失败
- java.sql.SQLException: The SQL statement must not be null or empty.这个错误
- [Tools] VS Code Tips
- 华为VS网络虚拟化技术
- [SQL] sql server中如何查看执行效率不高的语句
- [Javascript] Object.is() vs ===
- [Algorithm] BFS vs DFS
- MySQL · 答疑解惑 · InnoDB 预读 VS Oracle 多块读
- Sql Server中sql语句自动换行
- Atitit if else 选择决策流程ast对比 sql java 表达式类型 binaryExpression hase left and rit expr 目录 1.1. Sql1
- Atitit 读取数据库的api orm SQL Builder sql对比 目录 1.1. 提高生产效率的 ORM 和 SQL Builder1 1.2. SQL Builder 在 SQL
- VS系列程序编程软件LadderMaster Vigor PLC V0.81.1
- Database之SQL:自定义创建数据库的各种表demo集合(以方便理解和分析sql的各种增删改查语法的具体用法)
- Database之SQL:自定义创建数据库的各种表demo集合(以方便理解和分析sql的各种增删改查语法的具体用法)
- Java 17 VS Java 8: 新旧对决,这些Java 17新特性你不容错过
- 【sql优化】(大表小技巧)有时候 2 小时的 SQL 操作,可能只要 1 分钟
- SQL VQ11 找出sql类题目的单次最大刷题数
- 安装visual studio code(VS Code)并修改为中文
- VB.net:VB.net编程语言学习之基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的案例应用(启动SolidWorks代码/直接驱动模型代码/路径下模型驱动代码/创建两个文
- 大数据大比拼:Hive vs HBase,你知道两者的区别和适用场景吗?
- macOS配置VS Code变量
- 用VS ATL工程开发播放Gif图片控件的步骤