草庐IT

读SQL进阶教程笔记12_地址与三值逻辑

躺柒 2023-08-22 原文

1. SQL和数据库都在极力提升数据在表现层的抽象度,以及对用户隐藏物理层的概念

2. 关系模型是为摆脱地址而生的

2.1. “地址”不仅包括指针操作的地址,还包括数组下标等

3. 一个优雅的数据结构胜过一百行杂耍般的代码

3.1. 精巧的数据结构搭配笨拙的代码,远远好过笨拙的数据结构搭配精巧的代码

4. 编程中泛滥的地址

4.1. 我们可以使用的只有冯·诺依曼型计算机,它不仅使用地址管理数据,而且要求运行于其上的程序也要这样

4.2. 变量

4.2.1. 它正是编程语言中地址的化身

4.3. 对象

4.3.1. 仍是由OID这样的地址来管理的

4.4. 与SQL一样不使用变量的语言还有Lisp

4.4.1. 一种年龄仅次于Fortran的高级语言

4.4.2. 声明式语言SQL和函数式语言Lisp在当今的编程世界里都处于边缘,而且从来没有成为主流语言过

4.4.3. SQL和函数式语言有很多的共同点

5. 三值逻辑

5.1. 历史上最早提出三值逻辑(three-valued-logic)体系的是波兰的著名逻辑学家卢卡西维茨(Jan Lukasiewicz, 1878—1956)

5.1.1. 用来表达第三个值的分类其实包含在Codd提出的“未知”分类里

5.1.2. 对未来不确定性的描述,没有Codd提出的“不适用”的含义

5.1.3. 我认为,明年的某一个时间点(比如12月21日正午)我是否在华沙,在今天这一天看来无法肯定也无法否定,这并不矛盾。因此在指定的时间点我也许在华沙这件事是可能的,但却不是必然的。进而,“明年的12月21日正午我也许在华沙”这个命题,在今天这一天看来既不可能是真也不可能是假。……因此,在今天这一天,这个命题的值只能是一个全新的值,不同于表示真的数值“1”,也不同于表示假的数值“0”。我们可以用“1/2”来表示这个值。它的含义是“可能”,它是和“真”“假”并列的第三个值。

5.1.4. 命题的作用其实不在于表达事实,而在于反映人们对这件事实的认知

5.1.4.1. 命题其实不存在于客观世界,而存在于我们的内心

5.2. 古典逻辑学最受批判的理论是排中律(A∨¬ A),以及支撑它的二值原理

5.2.1. “A或者非A总有一个成立”

5.2.2. “一个命题必然有真假”

5.3. SQL采用的三值逻辑属于非古典逻辑这一比较新的逻辑学流派

5.3.1. 从提出这样一个心理学式命题理论的贡献来看,逻辑学家卢卡西维茨确实可以说是Codd的前辈,为关系数据库奠定了理论基础

5.4. 允许三个以上的真值的多值逻辑学(many-valued logic)的研究也在进行中

5.4.1. 没有神的逻辑学——人类的逻辑学诞生了

有关读SQL进阶教程笔记12_地址与三值逻辑的更多相关文章

  1. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  2. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  3. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  4. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  5. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  6. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  7. Hive SQL 五大经典面试题 - 2

    目录第1题连续问题分析:解法:第2题分组问题分析:解法:第3题间隔连续问题分析:解法:第4题打折日期交叉问题分析:解法:第5题同时在线问题分析:解法:第1题连续问题如下数据为蚂蚁森林中用户领取的减少碳排放量iddtlowcarbon10012021-12-1212310022021-12-124510012021-12-134310012021-12-134510012021-12-132310022021-12-144510012021-12-1423010022021-12-154510012021-12-1523.......找出连续3天及以上减少碳排放量在100以上的用户分析:遇到这类

  8. sql - 查询忽略时间戳日期的时间范围 - 2

    我正在尝试查询我的Rails数据库(Postgres)中的购买表,我想查询时间范围。例如,我想知道在所有日期的下午2点到3点之间进行了多少次购买。此表中有一个created_at列,但我不知道如何在不搜索特定日期的情况下完成此操作。我试过:Purchases.where("created_atBETWEEN?and?",Time.now-1.hour,Time.now)但这最终只会搜索今天与那些时间的日期。 最佳答案 您需要使用PostgreSQL'sdate_part/extractfunction从created_at中提取小时

  9. ruby-on-rails - 验证电子邮件地址是 Paypal 用户 - 2

    我想验证一个电子邮件地址是否是PayPal用户。是否有API调用来执行此操作?是否有执行此操作的ruby​​库?谢谢 最佳答案 GetVerifiedStatus来自PayPal'sAdaptiveAccounts平台会为您做这件事。PayPal没有任何codesamples或SDKs用于Ruby中的自适应帐户,但我确实找到了编写codeforGetVerifiedStatusinRuby的人.您需要更改该代码以检查他们拥有的帐户类型的唯一更改是更改if@xml['accountStatus']!=nilaccount_status

  10. sql - 在 Rails Console for PostgreSQL 的表中显示数据 - 2

    我找到了这样的东西:Rails:Howtolistdatabasetables/objectsusingtheRailsconsole?这一行没问题:ActiveRecord::Base.connection.tables并返回所有表但是ActiveRecord::Base.connection.table_structure("users")产生错误:ActiveRecord::Base.connection.table_structure("projects")我认为table_structure不是Postgres方法。如何列出Postgres数据库的Rails控制台中表中的所有

随机推荐