数据库学习概述
数据库作为一种专门管理数据的软件因为对数据的需求不断增长从而出现了。应用程序不需要自己管理数据,而是通过数据库软件提供的接口来读写数据。至于数据本身如何存储到文件,那是数据库软件的事情,应用程序自己并不关心,其框架如下:
application
▲ ▼
read and write
▲ ▼
database
因此编写应用程序的时候,数据读写的功能就被大大地简化了。
数据库类型
数据库按照数据结构来组织、存储和管理数据,实际上,数据库一共有三种模型:
层次模型
网状模型
关系模型
层次模型就是以“上下级”的层次关系来组织数据的一种方式,层次模型的数据结构看起来就像一颗树。
网状模型把每个数据节点和其他很多节点都连接起来,它的数据结构看起来就像很多城市之间的路网。
关系模型把数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定,它的数据模型看起来就是一个Excel表。
为什么关系数据库获得了最广泛的应用?
因为相比层次模型和网状模型,关系模型理解和使用起来最简单。通过给定一个班级名称,可以查到一条班级记录,根据班级ID,又可以查到多条学生记录,这样,二维表之间就通过ID映射建立了“一对多”关系。
数据类型
对于一个关系表,除了定义每一列的名称外,还需要定义每一列的数据类型。关系数据库支持的标准数据类型包括数值、字符串、时间等:
名称 | 类型 |
---|---|
INT | 整型 4字节整数类型 |
BIGINT | 长整型 8字节整数类型 |
REAL | 浮点型 4字节浮点数 |
DOUBLE | 浮点型 8字节浮点数 |
CHAR(N) | 定长字符串 存储指定长度的字符串,例如,CHAR(100)总是存储100个字符的字符串 |
VARCHAR(N) | 变长字符串 存储可变长度的字符串,例如,VARCHAR(100)可以存储0~100个字符的字符串 |
DATETIME | 日期和时间类型 存储日期+时间,例如,2018-06-22 12:20:59 |
主流关系型数据库
目前,主流的关系数据库主要分为以下几类:
商用数据库,例如:Oracle,SQL Server,DB2等;
开源数据库,例如:MySQL,PostgreSQL等;
桌面数据库,以微软Access为代表,适合桌面应用程序使用;
嵌入式数据库,以Sqlite为代表,适合手机应用和桌面程序。
关于SQL的说明
什么是SQL?SQL是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。
SQL语言定义了以下几种操作数据库的能力:
DDL:Data Definition Language
DDL允许用户定义数据,也就是创建表、删除表、修改表结构这些操作。通常,DDL由数据库管理员执行。
DML:Data Manipulation Language
DML为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。
DQL:Data Query Language
DQL允许用户查询数据,这也是通常最频繁的数据库日常操作。