开发者社区> 异步社区> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《你不可不知的关系数据库理论》——第14章 SQL与关系模型

简介:
+关注继续查看

第14章 SQL与关系模型

你不可不知的关系数据库理论
在理想与现实之间,往往会有阴影降临。

——T.S.Eliot:The Hollow Men(1925)

从前面几章的介绍可以看出,SQL与关系模型不是一回事,或者更具体一点地说,SQL被看作是一种具体的关系型语言,但显然SQL在很多方面都无法把想法和潜在的抽象关系模型相对应。实际上,SQL要忍受两方面的过错,即省略的过错和代理的过错,一方面它不能正确支持(或者根本就不支持)关系模型的很多地方,另一方面它所支持的地方又不能与任何关系模型相对应。(当然,在整本书中我只把注意力局限在这里,即只关心SQL的核心特征。)省略的一些例子可以很好地支持等价、表类型、关系代数运算符。非关系型特征的例子有空值、重复行、从左到右排序的列等。

本书中我的主要目的是描述和解释关系模型,而不是SQL。但是我认为给出SQL的普遍存在的特征(更确切地说,不论好坏,有一点可以坚持,即数据库专业人员确实需要面对它,利用它处理实际问题)可以为专业人士提供多种方法解决问题,SQL的这些方法都违背了抽象模型的一些规定。实际上,我非常相信这样的专业人士对关系模型本身已经了如指掌,知晓模型和SQL之间的差异可以对他们有所帮助,因此本章内容就来讲解SQL与关系模型之间的差异。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PG数据库版本查看方法,sql语句查pg数据库版本方法
PG数据库版本查看方法,sql语句查pg数据库版本方法
126 0
Dbvis数据库连接工具将查询出数据转化为sql插入语句方法
Dbvis数据库连接工具将查询出数据转化为sql插入语句方法
59 0
如何检测mvc性能和sql语句
mvc中使用linq如何检测sql语句 .net中使用mvc开发已经是一种趋势,不仅仅是.net ,java 等越来越多的开发者更倾向于mvc这种开发模式,在.net mvc 使用linq非常方便,各种方法扩展也是很方便的,看不到sql语句这个使用就要使用 MiniProfiler 来检测sql语句的和提升sql语句的性能。
807 0
[20160815]查询相关表的sql语句.txt
[20160815]查询相关表的sql语句.txt --以前我要查询相关表的sql语句,我一般在toad下执行sga trace,直接在sql search text 输入表名,但是这里存在一个问题,仅仅检 --索sql语句的前1000个字节才有效。
583 0
一个SQL语句引发的ORA-00600错误排查(一)
最近有一个同事问我一个问题,说他运行一个SQL语句抛出了ORA-00600的错误,想让我帮忙分析一下,这种问题听了确实有兴趣,了解了问题的大体情况之后,发现这个问题还是值得分析分析的,因为只是客户端调用抛出异常,没有给服务器端带来什么致命的影响,这样的问题还是很耐人寻味的。
852 0
几个简单的基本的sql语句
选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找
950 0
Shell脚本中执行sql语句操作mysql的5种方法
Shell脚本中执行sql语句操作mysql的5种方法 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-10-31 我要评论 这篇文章主要介绍了Shell脚本中执行sql语句操作mysql的5种方法,本文讲解了将SQL语句直接嵌入到shell脚本文件中、命令行调用单独的SQL文件、使用管道符调用SQL文件等方法,需要的朋友可以参考下 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。
4620 0
脚本执行SQL语句的小方法。
#!/bin/bash 1.简单加密,使用echo ""|base64 -i加密,echo""|base64 -d 解密 echo "ygtx100" |base64 -i eWd0eDEwMAo= echo "eWd0eDEwMAo=“|base64 -d ygtx100 2.使用$()把命令执行的结果赋值给变量  pas=$(echo "azkxc1l6ZEwtCg=="|base64 -d) 3.使用管道执行sql语句。
612 0
[20160704]从跟踪文件抽取sql语句.txt
[20160704]从跟踪文件抽取sql语句.txt --以前写过两篇,链接如下: http://blog.itpub.net/267265/viewspace-775398/ http://blog.
976 0
T-SQL查询:语句执行顺序
原文:T-SQL查询:语句执行顺序 读书笔记:《Microsoft SQL Server 2008技术内幕:T-SQL查询》   ===============  T-SQL查询的执行顺序 ===============      =============== T-SQL查询的示意图...
792 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载