一、数据库的基本概念
1.1 数据
记录事物的符号信息或者记录个人信息称之为数据
- 描述事物的符号记录
- 包括数字、文字、图形、图像、声音、档案记录等
- 以“记录”形式按统一的格式进行存储
1.2 表
存放数据的集合(存放行和列的集合)称之为表
记录(对象):行
字段(属性):列
- 将不同的记录组织在一起
- 用来存储具体数据
1.3 数据库
存放表的集合称为数据库
- 表的集合,是存储数据的仓库
- 以一定的组织方式存储的相互有关的数据集合
由里到外表示:
数据库-------->数据表(记录在行,字段为列)------>数据
1.4 数据库管理系统(DBMS)
是实现对数据库资源有效组织、管理和存取的系统软件
DBMS的工作模式如下:
- 接受应用程序的数据请求和处理请求
- 将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)
- 实现对数据库的操作
- 从数据库的操作中接受查询结果
- 对查询结果进行处理(格式转换)
- 将处理结果返回给用户
如图所示:
1.5 数据库系统管理
是一个人际系统,一般有硬件操作系统、数据库、DBMS、应用软件和数据库用户组成。用户可以通过DBMS操作数据库,也可以通过应用程序操组数据库。
navicat常用的数据库应用软件有人事管理、财务管理、图书管理等信息管理软件及各类信息资讯系统等。
数据库管理员(DBA)负责数据库的更新和备份、数据库系统的维护、用户管理等工作,保证数据库系统的正常运行。DBA一般由业务水平较高、资历较深的人员担任。
二、数据库的发展历史
第一代数据库
1960+起,它是层次模型与网状模型的数据库系统,为统一管理和共享数据提供了有力的支撑。
第二代数据库
1970+起,关系型数据库正式开始。1980+起,面向对象的数据库系统。特点:实用性强、适应面广
第三代数据库
一些新的元素被添加进主流数据库系统中,SQL+NOSQL组合使用。
web---->redis------>mysql
CPU--->缓存------->内存
三、目前主流数据库
数据库 | 所产地 | 面向平台 | 特点 |
---|---|---|---|
SQL Server | 微软公司 | 面向Windows操作系统 | 简单、易懂 |
Oracle | 甲骨文公司 | 面向所有主流平台 | 安全、完善、操作复杂 |
DB2 | IBM公司 | 面向所有主流平台 | 大型、安全、完善 |
Mysql | 甲骨文公司 | 面向所有主流平台,适用于中小型企业 | 免费、开源、体积小 |
四、关系型数据库和非关系型数据库
4.1 关系型数据库
使用简单易懂的二维数据表(行+列)
可用简单的“实体-关系”
E-R包含实体(数据对象)、关系和属性
- 实体:也可以称为实例,对应现实中区别与其他对象的“事件或“事物”。如:银行客户、银行账户。
- 属性:实体所具有的某一特性,一个实体可以有多个属性。如:“银行客户”实体集中的每个实体均具有姓名、地址、电话等属性。
- 联系:实体集之间的对应关系称为联系,也称为关系。如:银行客户和银行账户之间存在“存储”的关系。
所有实体及实体之间联系的集合构成一个关系数据库
关系型数据库的存储结构是二维表格(行+列)
在每个表格里,每一行代表记录,每一列代表属性
使用场景 | 举例 |
---|---|
Oracle、MySQL | 12306用户信息 |
SQLServer、Sybase | 淘宝账号系统 |
Informix、access | 联通手机号信息系统 |
DB2、FoxPRO | 银行用户账号系统 |
PostgreSQL | 网站用户信息系统 |
实体-关系 E-R
记录(行):表示了一个实体(的属性)
E-R图:实体与实体之间的联系,即表与表之间的关系。
客户编码:主键
主键特性:唯一、非空
4.2 非关型数据库
非关系型数据库称为NoSQL(Not Only SQL)
存储数据不以噶u逆袭模型为依据,不需要固定的表格式
非关系型的优点:1. 数据可高并发读写
2. 对海量数据高效率存储与访问
3. 数据库具有高扩展性与高可用性,为了防止故障和扩展
常用的非关系型数据库:Redis、mongoDB等
五、安装mysql
5.1 mysql数据库介绍
它是开源关系型数据库,他也是Oracle旗下的产品,它遵循GPL协议,可以免费使用与修改。
特点:
- 性能卓越、服务稳定
- 开源、无版权限制、成本低
- 多线程、多用户
- 基于C/S架构
- 安全可靠
5.2 mysql商业版与社区版
优点 | 缺点 | |
---|---|---|
商业版mysql | 管理更严格,获得7*24小时服务 | 不遵守GPL,需要付费 |
社区版mysql | 免费使用,遵守GPL | 管理严格,无获得7*24服务 |
5.3 mysql产品阵营
第一阵营:5.0-5.1阵容,可说是早期产品的延续、
第二阵营:5.4-5.7阵营,整合了mysql AB公司、社区和第三方公司开发的存储引擎,从而提高性能。
第三阵营:6.0-7.1阵营,就是Mysql Cluster版本,为适应新时代对数据库的集群。
下载地址:http://www.dev.mysql.com/downloadshttp://www.dev.mysql.com/downloads