一、数据库的基本概念
数据(Data):
- 描述事务的符号记录
- 包括数字、文字、图形、图像、声音、档案记录
- 以”记录“形式按统一的格式进行存储
表:
- 将不同的记录组织在一起
- 用来存储具体数据
数据库:
- 表的集合,是存储数据的仓库
- 以一定的组织方式来存储的相互有关的数据集合
- 是按照数据结构来组织、存储和管理数据的仓库
数据库是库中有表,表中有记录。
二、关系型数据库介绍
1、数据结构模型
数据结构模型主要有:
- 层次模型
- 网状结构
- 关系模型
关系模型:
二维关系:row、column
数据库管理系统:DBMS
关系:Relational、RDBMS
2、RDBMS专业名词
常见的关系型数据库管理系统:
- MySQL:MySQL,MariaDB,Percona-Server
- PostgreSQL:简称为pgsql
- Oracle
- MSSQL
SQL:Structure Query Language,结构化查询语言
约束:constraint,向数据表提供的数据要遵守的限制
- 主键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。且必须提供数据,不能为空(NOT NULL)。
- 一个表只能存在一个
- 惟一键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。允许为空(NULL)
- 一个表可以存在多个
- 外键约束:一个表中的某字段可填入数据取决于另一个表的主键已有的数据
- 检查性约束
索引:将表中的一个或多个字段中的数据复制一份另存,并且这些数据需要按特定次序排序存储
3、关系型数据库的常见组件
关系型数据库的常见组件有:
- 数据库:database
- 表:table,由行(row)和列(column)组成
- 索引:index
- 视图:view
- 用户:user
- 权限:privilege
- 存储过程:procedure
- 存储函数:function
- 触发器:trigger
- 事件调度器:event scheduler
4、SQL语句
SQL语句有三种类型:
- DDL:Data Defination Language,数据定义语言
- DML:Data Manipulation Language,数据操纵语言
- DCL:Data Control Language,数据控制语言
SQL语句类型 | 对应操作 |
DDL | CREATE:创建 DROP:删除 ALTER:修改 |
DML | INSERT:向表中插入数据 DELETE:删除表中数据 UPDATE:更新表中数据 SELECT:查询表中数据 |
DCL | GRANT:授权 REVOKE:移除授权 |
三、数据库系统发展史
1、第一代数据库
- 自20世纪60年代起,第一代数据库系统问世
- 是层次模型与网状模型的数据库系统
- 为统一管理和共享数据提供了有力的支撑
2、第二代数据库
- 20世纪70年代初,第二代数据库——关系数据库开始出现
- 20世纪80年代初,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流
- 到目前为止,关系数据库系统仍占领数据库应用的主要地位
3、第三代数据库
- 自20世纪80年代开始,适应不同领域的新型数据库系统不断涌现
- 面向对象的数据库系统,实用性强、适应面广
- 20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面
- —些新的元素被添加进主流数据库系统中:例如,Oracle支持的“关系-对象”数据库模型
4、当今主流数据库介绍
1)SQL Server(微软公司产品)
- 面向Windows操作系统
- 简单、易用
2)Oracle(甲骨文公司产品)
- 面向所有主流平台
- 安全、完善,操作复杂
3)DB2 (IBM公司产品)
- 面向所有主流平台
- 大型、安全、完善
4)MySQL(甲骨文公司收购)
- 免费、开源、体积小
四、MySQL数据库介绍
1、MySQL数据库介绍
- MySQL是一款深受欢迎的开源关系型数据库。
- 是Oracle旗下的产品。
- 遵守GPL协议,可以免费使用与修改。
- 特点:
- 性能卓越、服务稳定
- 开源、无版权限制、成本低
- 多线程、多用户
- 基于C/S(客户端/服务器)架构
- 安全可靠
2、MySQL商业版与社区版
- MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用。
- MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用。
- 两者区别:
- 商业版组织管理与测试环节更加严格,会比社区版更稳定。
- 商业版不遵守GPL,社区版遵从GPL可以免费使用。
- 商业版可获得7*24小时的服务,社区版则没有。
3、MySQL产品阵营
- 第一阵营: 5.0-5.1阵营,可说是早期产品的延续。
- 第二阵营: 5.4-5.7阵营,整合了MySQL AB公司、社区和第三方公司开发的存储引擎,从而提高性能。
- 第三阵营: 6.0-7.1阵营,就是MySQL Cluster版本,为适应新时代对数据库的集群需求而开发。
五、总结
关系型数据库和非关系型数据库最主要的区别是:存储结构不同。
-
关系型数据的存储结构是二维表格。
- 数据库-->数据表-->行(记录):用来描述一个对象的信息
- 数据库-->数据表-->列(字段):用来描述对象的一个属性
-
非关系型数据库存储结构不是二维表格,常以key/value(键值对)的方式存储对象信息。