期末总结(基础)
Posted myblog-mry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了期末总结(基础)相关的知识,希望对你有一定的参考价值。
(一)问题总结
期末了,同学们学习数据库的情绪高涨,问题涌现,让我们总结一下都出现了哪些问题呢?
- delete,remove,drop都是“删除”分别在啥时候用呢?alter什么时候用呢?
- DML,DCL,DDL都是啥?
- 5种连接我还是不懂。。。。。。
- 范式的概念根本看不懂啊。。。(暂未写完)
- 。。。。。(欢迎添加)
(二)问题解决
1.delete,remove,drop都是“删除”分别在啥时候用呢?alter什么时候用呢?
想解决这个问题我们可以先查查F1
- DELETE只有一行简单的解释:从表中删除行。
- REMOVE则出现在ALTER目录下:
- DROP则有多个目录:
那么现在你有两个选择:1.背下来remove,drop,alter,delete它们都在什么时候出现。
2.找到规律
有什么规律呢?
先说delete,它最单纯,它只负责删除“行”(删除数据)别的地方你不会见到他
再说drop,它最复杂,它负责删除“东西”(删除一些数据库特有的“东西”),这里我将东西加了引号,什么意思?这里的东西指数据库的“库”、“表”、“视图”。。。。。。一些非实体且数据库特有。(非实体:不是文件)
最后说 ALTER 和 REMOVE ,你可以将ALTER看成一个“高等级的”关键词, REMOVE, ADD, MODIFY等是它的“附庸”关键词,这些“低级关键词”是不可能单独出现的,必须有ALTER出现时,它们才能出现。ALTER是对REMOVE,ADD,MODIFY的一种概括,ALTER是改变的意思,(删除,重定义(名字,大小。。。),增加)这些都是比ALTER更为具体的行动,因此ALTER之后才能出现这些低级关键词
换个角度讲,那去掉ALTER行不行呢?答案是不行,为什么?我们的每一条语句都遵从一个最高原则:不能引起歧义.REMOVE, ADD, MODIFY这些关键词只作用与(文件,数据库的某些属性)这些往往都是可能和其他数据库混淆的,必须有一个关键词来标识我要对哪个数据库ADD,对哪个数据库REMOVE......所以ALTER出现在这些具体操作前是必须的很有必要的.
2.DML,DCL,DDL都是啥?
先看看它们的英文全拼:DML:data manipulation(操作) language,DCL:Data Control Language,DDL:data definition(定义) language
它们都有一个Data开头language结尾,所以它们各自代表一类操作数据(Data)的语言(language),其中我们常用的是DDL和DML,DCL几乎不会用到,下面我们看看它们各自都包含哪些具体的关键词.
DDL:
DML:
从这里我们也能看出(DROP和ALTER)都和DELETE不是一个类型的关键词.
最后还有DCL:(不常用也只能先记住)
跟着数据库学英语:manipulation(操作)
3.五种连接
先来了解一下"连接"的样子:
1 SELECT * FROM XS *** JOIN JY ON XS.借书证号 = JY.借书证号
简单解释一下这句话,这句话意思是:以***这种方式连接两个表,返回两个表的所有列(区分XS,JY的即若两表都存在的列也会输出成两列)
"***"三个星号省略的是连接方法,都有哪些连接方法呢?
ps:我接下来将用我们最熟悉的XS(学生信息表),JY(借阅信息表)为例来说明以下三种连接
先让我们看看两张表XS,JY原来是什么样的:
两个表的连接大类分可以分为三大类:1.内连接(重要:自然连接,数据库默认连接)2.外连接3.交叉连接.这其中最简单的是交叉连接,我们先说交叉连接
1.交叉连接(cross join):重点:(没有代码示例中的ON及以后的代码)
最粗暴的一种连接方式,将A表的每一个数据与B表的每一个数据"怼"在一起,不太能想象出来那个情形????
下面看一下交叉后的结果吧:
和你想的一样么?
XS表的第一行王娟的记录与JY表的所有记录来了个依次连接,这张新连接的表有99行!!(9×11)XS表有9行JY表有11行,现在你理解什么是交叉连接了么?
2.内连接(inner join):内连接的小名有很多:自然连接,数据库默认连接,这些一定熟记,内连接相比其他连接的特点就是(短)它往往行数最少
在A表与B表同时满足条件时它才会将两行记录连接在一起.我们先看一下结果再来仔细分析.
可以看出这张表中以赵朋中为首的不借书党没有出现在连接表中,why?因为我的要求是XS.借书证号 = JY.借书证号,必须两张表里都有的借书证号才能连接
3.外连接(outer join):外连接分为左外连接,右外连接,全连接
左右连接比较粗暴(没有交叉连接粗暴→_→)所以先讲这两个:
左(右)连接搞懂一个另一个就懂了
以左连接为例 : 首先, 左表全部输出, 再检查符合条件的借书证号在右表里是否存在,若存在则连接并输出,不存在用NULL补全
我们来看看实际情况:
王娟的记录在左边有,而且借了了6次书,所以在新表里她的记录出现了6次,赵朋中为首的不借书党也出现了,但是右边是NULL,因为他们没有借过书.
那右连接你能想到是什么样的吗?
可以翻到上面看一下XS,JY表,依据这两张表自己想一下,再看答案
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓答案在下面↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓答案在下面↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓答案在下面↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓答案在下面↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓答案在下面↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓答案在下面↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓答案在下面↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓答案在下面↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
今天2018-06-18 22:46:40太晚了,明天继续更新.....
动作描述 | 使用聚集索引 | 使用非聚集索引 |
列经常被分组排序 | 应 | 应 |
返回某范围内的数据 | 应 | 不应 |
一个或极少不同值 | 不应 | 不应 |
小数目的不同值 | 应 | 不应 |
大数目的不同值 | 不应 | 应 |
频繁更新的列 | 不应 | 应 |
外键列 | 应 | 应 |
主键列 | 应 | 应 |
频繁修改索引列 | 不应 | 应 |
以上是关于期末总结(基础)的主要内容,如果未能解决你的问题,请参考以下文章