From 5bcafc78225f64f95da2537916ae471ad009f4fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B7=AB=E6=99=A8=E7=BE=BF?= <1004864698@qq.com> Date: Sun, 18 Sep 2022 19:30:45 +0800 Subject: [PATCH] =?UTF-8?q?47=E5=B7=AB=E6=99=A8=E7=BE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...72\345\272\223\347\254\224\350\256\260.md" | 0 ...03\345\274\217\347\254\224\350\256\260.md" | 0 .../9.14.\347\264\242\345\274\225.md" | 35 ++++++++++ .../9.15.\350\247\206\345\233\276.md" | 70 +++++++++++++++++++ .../9.5.\345\217\230\351\207\217.md" | 0 ...73\350\276\221\346\216\247\345\210\266.md" | 0 ...7.\345\255\220\346\237\245\350\257\242.md" | 0 7 files changed, 105 insertions(+) rename "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/8.31.\345\273\272\350\241\250\345\273\272\345\272\223\347\254\224\350\256\260.md" => "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/8.31.\345\273\272\350\241\250\345\273\272\345\272\223\347\254\224\350\256\260.md" (100%) rename "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.1.\344\270\211\350\214\203\345\274\217\347\254\224\350\256\260.md" => "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.1.\344\270\211\350\214\203\345\274\217\347\254\224\350\256\260.md" (100%) create mode 100644 "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.14.\347\264\242\345\274\225.md" create mode 100644 "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.15.\350\247\206\345\233\276.md" rename "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.5.\345\217\230\351\207\217.md" => "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.5.\345\217\230\351\207\217.md" (100%) rename "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.6.\351\200\273\350\276\221\346\216\247\345\210\266.md" => "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.6.\351\200\273\350\276\221\346\216\247\345\210\266.md" (100%) rename "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.7.\345\255\220\346\237\245\350\257\242.md" => "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.7.\345\255\220\346\237\245\350\257\242.md" (100%) diff --git "a/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/8.31.\345\273\272\350\241\250\345\273\272\345\272\223\347\254\224\350\256\260.md" "b/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/8.31.\345\273\272\350\241\250\345\273\272\345\272\223\347\254\224\350\256\260.md" similarity index 100% rename from "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/8.31.\345\273\272\350\241\250\345\273\272\345\272\223\347\254\224\350\256\260.md" rename to "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/8.31.\345\273\272\350\241\250\345\273\272\345\272\223\347\254\224\350\256\260.md" diff --git "a/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.1.\344\270\211\350\214\203\345\274\217\347\254\224\350\256\260.md" "b/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.1.\344\270\211\350\214\203\345\274\217\347\254\224\350\256\260.md" similarity index 100% rename from "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.1.\344\270\211\350\214\203\345\274\217\347\254\224\350\256\260.md" rename to "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.1.\344\270\211\350\214\203\345\274\217\347\254\224\350\256\260.md" diff --git "a/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.14.\347\264\242\345\274\225.md" "b/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.14.\347\264\242\345\274\225.md" new file mode 100644 index 0000000..081b5c0 --- /dev/null +++ "b/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.14.\347\264\242\345\274\225.md" @@ -0,0 +1,35 @@ +# 索引 + +索引的作用 + +- 提高查询速度 +- 保证数据记录的唯一性 +- 查询优化靠索引起作用 +- 提高order by, group by 执行速度 + +## 索引分类 + +**索引主要分为两类**: + +- **聚集索引(clustered)**:根据数据行的键值在表或视图中的排序存储这些数据行,每个表只有一个聚集索引。聚集索引是一种对磁盘上实际数据重新组织以按指定的一列或多列值排序(类似字典中的拼音索引)(物理存储顺序)。 +- **非聚集索引 (nonclusterted)**:具有独立于数据行的结构,包含非聚集索引键值,且每个键值项都有指向包含该键值的数据行的指针。(类似字典中的偏旁部首索引)(逻辑存储顺序)。 + +## 索引的创建与使用 + +- 索引的创建 + +```sql +create index 索引名 on 表名(字段) +``` + +- 索引的使用 + +```sql +select * from 表名 with (index=索引名) where ... +``` + +- 索引的删除 + +```sql +drop index 索引名 on 表名 +``` \ No newline at end of file diff --git "a/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.15.\350\247\206\345\233\276.md" "b/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.15.\350\247\206\345\233\276.md" new file mode 100644 index 0000000..70ee00f --- /dev/null +++ "b/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.15.\350\247\206\345\233\276.md" @@ -0,0 +1,70 @@ +# 视图 + +#### 关系(Relations) + +三种类型关系: + +- 表(Table)--基表,存储关系(Base Tables,Sorted relations) +- 视图(Views)--虚拟关系(Virtual relations)(不是物理存在的是虚拟的) +- 临时结果(Temporary results)--用于构建**子查询**的结果 + +### 视图的作用 + +- 视图能够简化用户的操作 +- 视图使用户能以多种角度看待同一数据 +- 视图对重构数据库提供了一定的逻辑独立性 +- 视图能够对机密数据提供安全保护 + +### 定义视图 + +##### 创建视图 + +```sql +create view 视图名 +as +select */(字段1,字段2,...) from 表名 +with check option +``` + +##### 使用视图 + +```sql +select * from 视图名 +``` + +##### 删除视图 + +```sql +drop view 视图名 +``` + +##### 常见的视图形式 + +- 行列子集视图:去掉了某些行和某些列,但保留了主键 + +```sql +--建立信息学院学生的视图 +create view V_StuMajor(学号,姓名,学院,专业) +as +(select stu_num ,name ,school ,major from tb_student where school='信息学院') +``` + +- with check option 视图 + +```sql +--建立信息学院学生的视图,并要求通过该视图进行的更新操作只涉及信息学院的学生 +create view V_StuMajor(学号,姓名,学院,专业) +as +(select stu_num ,name ,school ,major from tb_student where school='信息学院') +with check option +``` + +- 带表达式的视图 + +```sql +--定义一个反映学生年龄的视图 +create view V_StuAge(学号,姓名,年龄,学院,专业) +as +(select stu_num ,name ,year(getdate())-year(birth),school,major from tb_student) +select * from V_StuAge +``` \ No newline at end of file diff --git "a/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.5.\345\217\230\351\207\217.md" "b/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.5.\345\217\230\351\207\217.md" similarity index 100% rename from "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.5.\345\217\230\351\207\217.md" rename to "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.5.\345\217\230\351\207\217.md" diff --git "a/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.6.\351\200\273\350\276\221\346\216\247\345\210\266.md" "b/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.6.\351\200\273\350\276\221\346\216\247\345\210\266.md" similarity index 100% rename from "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.6.\351\200\273\350\276\221\346\216\247\345\210\266.md" rename to "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.6.\351\200\273\350\276\221\346\216\247\345\210\266.md" diff --git "a/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.7.\345\255\220\346\237\245\350\257\242.md" "b/47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.7.\345\255\220\346\237\245\350\257\242.md" similarity index 100% rename from "sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.7.\345\255\220\346\237\245\350\257\242.md" rename to "47\345\267\253\346\231\250\347\276\277/sql\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\347\254\224\350\256\260/9.7.\345\255\220\346\237\245\350\257\242.md" -- Gitee