参考文章:
SQL查询入门(上篇) 数据库范式那些事 《数据库原理及应用》这篇文章很多东西都是简单的讲,主要是写给自己做笔记,第一次写博客,有什么不足的希望大家可以给我提意见,有什么问题也可以评论找我哦
数据库范式应该是入门的时候最让你感觉迷茫的吧,经过一些对数据库小小的尝试后,现在重新回来看一下概念,说不定也可以得到很多东西
第一范式,即所以属性都是不可再分的数据项。第二范式,即所有属性都完全依赖于主键。第三范式,不存在属性相互依赖,使类似于X→Y,Y→Z成立。bc范式,每个表只有一个候选键(在一个数据库中每行的值都不相同,则可称为候选键)。 课本的例子:有关系模式(city,Street,zip),存在(city,street)->zip,zip->city 假设(city,street)为主键,如果没有街道信息,则只有邮政编码和对应城市的记录就无法保存到数据库里。操作异常的原因是存在zip->city,多了一个候选键。第四范式是消除表中的多值依赖。1.比较运算符:等于(=),小于(<),大于(>),小于或等于(<=),大于或等于(>=)以及不等于(<>)
2.优先级比较: 比较运算符大于and大于or
3.查询结果的排序:order by 默认升序 asc升序,desc降序 分别为3种数据类型可以进行排序: 字符 数字 时间日期 字符按照字母表进行排序,数字根据数字大小排序,时间日期根据时间的先后进行排序。
4.视图:虚表,数据库只存储视图的定义,所以视图数据与基本表数据保持一致,也可以节省空间 一般格式如下
CREATE VIEW <视图名> [(列名[,....n])] as 查询语句5.索引(较重要,以后会专门写,暂时先提及):主要目的是加快数据的查询速度
1.内连接 首先我们先看一下这两个表 在没有任何筛选条件下,两个表的连接就是简单的交叉连接,也就是笛卡尔积。 结果如下图
https://jingyan.baidu.com/article/60ccbceb9578f164cab197f4.html 左连接(左外连接): 以左边为主表,若右边没有则赋值为空。
例子: 左连接之后的表。