层次模型
以上下级的层次关系来组织数据的一种方式,其数据结构类似一棵树;
网状模型
将每个数据节点与其他很多节点连接起来,其数据结构类似城市的交通网;
关系模型
将数据看做一个二维表格,数据可以通过行号+列号唯一确定,其数据结构类似Excel表;
数据类型
名称 | 类型 | 说明 |
---|---|---|
INT | 整型 | 4字节整数类型,范围约+/-21亿 |
BIGINT | 长整型 | 8字节整数类型,范围约+/-922亿亿 |
Float(REAL) | 浮点型 | 4字节浮点数,范围约+/-1038 |
DOUBLE | 浮点型 | 8字节浮点数,范围约+/-10308 |
DECIMAL(M,N) | 高精度小数 | 由用户指定精度的小数,例如,DECIMAL(20,10)表示一共20位,其中小数10位,通常用于财务计算 |
CHAR(N) | 定长字符串 | 存储指定长度的字符串,例如,CHAR(100)总是存储100个字符的字符串 |
VARCHAR(N) | 变长字符串 | 存储可变长度的字符串,例如,VARCHAR(100)可以存储0~100个字符的字符串 |
BOOLEAN | 布尔类型 | 存储True或者False |
DATE | 日期类型 | 存储日期,例如,2018-06-22 |
TIME | 时间类型 | 存储时间,例如,12:20:59 |
DATETIME | 日期和时间类型 | 存储日期+时间,例如,2018-06-22 12:20:59 |
当前主流关系数据库类型
商用 : Oracle、SQL Server、DB2…
开源 : MySQL、PostgreSQL…
桌面 :Access…
嵌入式 : Sqlite…
SQL
定义
SQL是结构化查询语言(Structured Query Language)的缩写,目的是访问和操作数据库系统,主要有以下几种能力;
-
DDL : Data Definition Language 提供定义数据的功能,即创建、删除、修改表结构等操作,常由数据库管理员执行;
-
DML : Data Manipulation Language 提供添加、删除、更新数据等功能,是应用程序对数据库的日常操作;
-
DQL : Data Query Language 提供查询数据的功能;
语法特点
若只针对SQL语言而言,其本身关键字是不区分大小写的;但具体到某一数据库时,可能会有区分大小写的区别;
MySQL安装
-
Windows下安装可参照以下教程
关系模型
基本术语
-
记录(Record):表的一行,它是一个逻辑意义上的数据;
-
字段(Column):表的一列,一个表的每行记录均拥有相同的若干字段;
-
主键 :在一个表中,能通过某一字段唯一区分出不同的记录,则该字段称为主键,被选做主键的字段一旦插入记录,则最好不要再修改,否则将造成一系列的影响,其基本原则为:不使用任何业务相关字段作为主键,而应该使用
BIGINT
自增或GUID
类型,也不允许主键为NULL
; -
联合主键 :运行一列中有重复,但是不能所有主键列均重复;
-
外键 :并非通过字段来实现,而是通过自定义外键约束来实现;
-
索引 :关系数据库中对某一列或多个列的值进行预排序的数据结构,优点是提高了查询效率,缺点是在插入、更新和删除记录的同时,需要修改索引;