本文介绍关系数据库的设计思想:在 SQL 中,一切皆关系。

在计算机领域有许多伟大的设计理念和思想,例如:

  • 在 Unix 中,一切皆文件。

  • 在面向对象的编程语言中,一切皆对象。

关系数据库同样也有自己的设计思想:在 SQL 中,一切皆关系。

关系模型

关系模型(Relational model)由 E.F.Codd 博士于 1970 年提出,以集合论中的关系概念为基础;无论是现实世界中的实体对象还是它们之间的联系都使用关系表示。我们在数据库系统中看到的关系就是二维表(Table),由行(Row)和列(Column)组成。因此,也可以说关系表是由数据行构成的集合。

关系模型由数据结构、关系操作、完整性约束三部分组成。

  • 关系模型中的数据结构就是关系表,包括基础表、派生表(查询结果)和虚拟表(视图)。

  • 常用的关系操作包括增加、删除、修改和查询(CRUD),使用的就是 SQL 语言。其中查询操作最为复杂,包括选择(Selection)、投影(Projection)、并集(Union)、交集(Intersection)、差集(Exception)以及笛卡儿积(Cartesian product)等。

  • 完整性约束用于维护数据的完整性或者满足业务约束的需求,包括实体完整性(主键约束)、参照完整性(外键约束)以及用户定义的完整性(非空约束、唯一约束、检查约束和默认值)。

我们今天的主题是关系操作语言,也就是 SQL。

面向集合

SQL(结构化查询语言)是操作关系数据库的标准语言。SQL 非常接近英语,使用起来非常简单。它在设计之初就考虑了非技术人员的使用需求,我们通常只需说明想要的结果(What),而将数据处理的过程(How)交给数据库管理系统。所以说,SQL 才是真正给人用的编程语言!

接下来我们具体分析一下关系的各种操作语句;目的是为了让大家能够了解 SQL 是一种面向集合的编程语言,它的操作对象是集合,操作的结果也是集合。

图解 SQL,这也太形象了吧相关推荐

  1. [学习SQL SERVER 2005系列]图解SQL SERVER2005的安装

    [学习SQL SERVER 2005系列]图解SQL SERVER2005的安装 前言: [学习SQL SERVER 2005系列]准备把学习2005的一些心得整理出来,和大家分享,共同学习一起提高. ...

  2. 图解SQL面试题:经典50题

    图解SQL面试题:经典50题 已知有如下4张表: 学生表:student(学号,学生姓名,出生年月,性别) 成绩表:score(学号,课程号,成绩) 课程表:course(课程号,课程名称,教师号) ...

  3. sql计算留存_免费教程《图解SQL面试题》

    运营.产品经理.数据分析.软件开发等职位,SQL是必会的技能. 面试经常考察SQL,但是不会做,怎么办? 工作里遇到的业务问题,需要用SQL实现,怎么办? 为了帮助你解决这些问题,我写了一本免费教程& ...

  4. 【转】80后安稳上班,90后看心情上班,95后……太形象了!

    [转]80后安稳上班,90后看心情上班,95后--太形象了! 最近有企业老板跟小编诉苦说: 小编你好,我发现越年轻的员工越不好管理了,不像80后员工那样兢兢业业,说让干啥就踏踏实实干啥:90后基本说不 ...

  5. SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题

    SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 参考文章: (1)SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 (2)https: ...

  6. sql 日期间隔排查双休_免费教程《图解SQL面试题》

    运营.产品经理.数据分析.软件开发等职位,SQL是必会的技能. 面试经常考察SQL,但是不会做,怎么办? 工作里遇到的业务问题,需要用SQL实现,怎么办? 为了帮助你解决这些问题,我写了一本免费教程& ...

  7. 免费教程《图解SQL面试题》

    运营.产品经理.数据分析.软件开发等职位,SQL是必会的技能. 面试经常考察SQL,但是不会做,怎么办? 工作里遇到的业务问题,需要用SQL实现,怎么办? 为了帮助你解决这些问题,我写了一本免费教程& ...

  8. 为什么祖传代码被称为「屎山」?这个回答简直太形象了

    经常听说祖传代码会被人称之为「屎山」,不同人可能有不同的体会,最近看到一个回答,简直是把这个阐述得"活灵活现",大家来感受下吧. " 阅读本文大概需要 3 分钟. &qu ...

  9. 计算机专业吐槽搞笑,大学里那些专业搞笑描述,简直太形象了!网友:逗死我了!...

    原标题:大学里那些专业搞笑描述,简直太形象了!网友:逗死我了! 大学里总有那么些专业,让人吐槽不断,让人心塞.来看看八大坑爹专业,你中枪了没? 学金融.经济的同学看过来 银行:数钱数到手抽筋,没有一张 ...

  10. 图解SQL面试题:多表如何查询?

    图解SQL面试题:多表如何查询? 1.[题目] 现在有两个表,"学生表"记录了学生的基本信息,有"学号"."姓名". "成绩&qu ...

最新文章

  1. 查询Linux系统最后重启时间的三个方法
  2. 来来来,一起五句话搞定JavaScript作用域
  3. Jquery 日期差函数 修改 对火狐进行兼容
  4. Python -- 循环技巧(Looping Techniques)
  5. 这道笔试题竟然运行不出错
  6. LeetCode 1745. 回文串分割 IV(区间DP)
  7. RabbitMQ 镜像模式 集群架构 工作最常用集群
  8. querySelector() 选择器语法
  9. 【Gym — 101473 G】Lines of Containers【思维题】
  10. 基于BS架构的微博系统
  11. 心情手札——光头日记
  12. A Game of Thrones(41)
  13. C语言中strstr函数功能及用法
  14. IDEA的maven的package打包
  15. rtmp支持h265推流
  16. 使用nrm切换本地npm源
  17. VOXEL 技术在即时渲染地形中的应用 by 樊一鹏
  18. Excel表格打开出现“文件已损坏,无法打开”
  19. 【更新】数据库解决方案Data Abstract 9发布丨附下载
  20. Elo顾客忠诚度 —— kaggle数据

热门文章

  1. 智能电销机器人工作流程《各版本机器人部署》
  2. 关于软件中“业务逻辑”的详解
  3. 爱看广场舞的老爷爷的笔记 --shell命令
  4. Java字符串压缩(两种压缩方式)
  5. 四川企立方:拼多多不开推广能做起来吗
  6. NoSql、MongoDb 数据库介绍及MongoDb安装、使用
  7. 校园网免认证停机卡免流服务器被迫关停
  8. kanban系统wekan安装
  9. neo4j 机器学习_21个必知的机器学习开源工具,涵盖5大领域
  10. jQuery动态添加、删除按钮及input输入框