MySQL基础知识
# MySQL 基础知识
# 1. 什么是数据库, 数据库管理系统, 数据库系统, 数据库管理员?
数据库:DataBase,DB,就是信息的集合,或者说数据库是由数据库管理的数据的集合。
数据库管理系统:DataBase Management System,DBMS,是一种操作和管理数据库的大型软件,通常用于建立、使用和维护数据库。
数据库系统:Data Base System,DBS,通常由软件、数据库和数据库管理员组成。
数据库管理员:DataBase Administrator,DBA,负责全面管理和控制数据库系统。
# 2. 数据库3范式
1NF(第一范式):属性(表中的字段)不能再被分割,这个字段只能是一个值,不能再分为多个其他的字段。1NF时所有关系型数据库的最基本要求,也就是说关系型数据库的表必须满足第一范式。
2NF(第二范式):1NF基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。例如订单表里,存储了商品信息(商品价格、商品类型),那就需要把商品ID和订单ID作为联合主键,才满足第二范式。
3NF(第三范式):2NF基础上,消除了非主属性对于部分属性的传递函数依赖。(不能有传递依赖)
函数依赖:在属性X的值确定的情况下,必定能确定熟悉感Y的值,那么Y函数依赖X。
部分函数依赖:学号和身份证->姓名、学号->姓名、身份证->姓名;(姓名)部分函数依赖于(学号、身份证)
完全函数依赖:学号、班级->姓名、学号!->姓名、学班级!->姓名;(姓名)完全函数依赖于(学号、班级)
传递函数依赖:学号->班级、班级->班主任,所以存在非主属性班主任对于学号的传递依赖。
# 3. char与varchar
char:
- 定长字符串,长度是固定的;
- 插入长度小于char的固定长度时用空格填充;
- 因长度固定,存取速度要比varchar快很多;但会占用多余空间,时空间换时间的做法。
- 最多能存放字符个数为255
varchar:
- 可变长字符串,长度是可变的;
- 插入的数据是多长,就按照多长存储;
- 存取慢,因为长度不固定;但不占用多余空间,是时间换空间的做法。
- 最多能存放字符个数为65532
# 2. 存储时间
日期类型 | 存储空间 | 日期格式 | 日期范围 | 是否存在时区 |
---|---|---|---|---|
Datetime | 8 字节 | 是 | ||
Timestamp | 4 字节 | 否 | ||
时间戳 | 4 字节 | 否 |
编辑 (opens new window)
上次更新: 2023/08/20, 21:21:52