栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

mysqlSQL语句,约束,数据库三范式,索引,视图

mysqlSQL语句,约束,数据库三范式,索引,视图

一、SQL语句

SQL结构化查询语言(Structured Query Language),

是一种特殊目的的编程语言,

用于存取数据以及查询、更新和管理关系数据库系统

1、结构查询语言,select

2、数据操作语言,insert,update,delete

3、事务控制语言,commit,rollback

4、数据控制语言,grant,revoke

5、数据定义语言,create,drop,alter

6、指针控制语言,declare,cursor

二、约束

约束是对数据的增删改操作的限制

目的:保证数据完整性

数据的完整性:

(1)实体完整性:通过主键约束

(2)参照完整性:通过外键约束

(3)域完整性:通过列级约束

创建表结构时,添加约束。

约束分为:表级约束和列级约束。

1、null

列级约束,

null,not null

是否允许列数据为空

2、unique

列级约束,唯一性约束,该列的值不能重复

3、缺省值

列级约束

系统默认的缺省值是null。

可以使用default修改缺省值。

用法:default 缺省值

id int default 0,

4、检查约束

列级约束

检查插入或者修改的数据是否符合指定的条件。

用法:check(条件)

sex char(3)check (sex in(‘男’,‘女’))

5、主键

表级约束

用于区别每一行的数据,确定数据的唯一性

一个表最多只能有一个主键

主键可以由一列(单列主键)或者多列(复合主键)的信息构成

6、自增

列级约束

auto_increment,从1开始。

作用:某列的值,系统自动插入增长的值。

前提条件:该列是整数类型(int),并且该列是构成主键的列(primary key)。

7、外键

表级约束

用来表示两张表之间的关系的。

企业开发设计数据库时,一般不添加外键约束

不方便修改,

注意删除主表中的信息时,从表中的信息也需要被删除

三、数据库三范式 1、范式

设计数据库时,应该遵守的规范和原则。

一共有六个规范:

第一范式(1NF),第二范式(2NF),第三范式(3NF)

巴斯科德范式(BCNF),第四范式(4NF),第五范式(5NF,完美范式)。

2、三范式

企业要求满足第三范式

但是第二范式必须先满足第一范式。

第三范式必须先满足第二范式。

2、1 第一范式

要求所有域都是原子性的,即数据库表的每一列都是不可

分割的原子数据项,不能是集合,数据等等非原子数据项

2、2 第二范式

在1NF基础上,非码属性必须完全依赖于候选码

即在1NF基础上消除非主属性对主码的部分函数依赖

通俗的讲,每个表中必须有主键。

2、3 第三范式

在2NF基础上,消除传递依赖

任何非主属性不依赖于其他非主属性

即为了减少数据存储冗余,将一张表拆分为二张表

四、索引

为了提高查询效率,

数据表存储在硬盘中,当数据库开启时,将索引信息加载到内存中

只需要通过索引便能找到对应的行

1、索引采用的数据结构

聚簇索引(主键和数据)

非聚簇索引(主键和地址)

B+树存储数据

2、创建索引

创建表时:

create table 表名(

列。。。

index(列名)

表创建完毕,添加索引:

creat index 索引名 on 表名(列名)

一般在创建表时添加索引

主键列会自动创建索引

3、查看索引

show index from 表名

4、索引分类

(1)普通索引index

(2)唯一索引unique

(3)主键索引primary key

5、索引创建策略

索引创建适量

索引会影响增删改的效率,增删改时需要添加索引信息。

索引多了,会消耗内存和硬盘,反而会影响查询效率。

五、视图 1、视图作用

按照指定要求,将表中数据显示出来,

主要用于查询,不做增删改操作

2、使用原因

(1)安全

一些数据表有重要信息,字段是保密的,不能让用户直接看到;

于是创建视图保留能让用户查询的字段

(2)性能

数据分表查询会使用连接(join),效率低

建立视图将相关表组合在一起,避免使用多表查询

(3)灵活

原有表设计有问题,但是又不能废弃,不易修改

创建视图,直接映射为新的表

3、创建视图

create view 视图名 as 表查询语句

4、查询视图

同查询表

5、删除视图

drop view 视图名

6、视图本质

视图对象中只存储了一条表的查询语句而已,并没有存储数据。

数据还是在表中存储的。

查询视图时,先去执行表的查询语句,然后在此基础上继续查询罢了。

所以,视图的效率不高。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/285737.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号