Webcourse/10-Node.js和数据库/MySQL数据库/01-数据库的基础知识.md
2020-04-20 10:16:01 +08:00

106 lines
3.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 数据库的概念
**数据库**databaseDB是一种存储数据的仓库具有如下特性
- 数据库是根据数据结构组织存储和管理数据
- 数据库能够长期高效的管理和存储数据
- 数据库的目的就是能够存储和提供数据
## 数据库分类
数据库分为两类
- **关系型数据库**把复杂的数据结构归结为简单的二元关系即二维表格形式二维表注重数据存储的持久性
- **非关系型数据库**没有具体模型的数据结构英文简称 NoSQLNot Only SQL )意为"不仅仅是SQL"注重数据读取的效率
我们具体来看看
### 1关系型数据库
**关系型数据库**把复杂的数据结构归结为简单的二元关系即二维表格形式二维表
关系型数据库有四层结构
- 数据库管理系统DBMSDataBase Management System
- 数据库DB数据存储的管理者
- 数据表Table数据关系管理者
- 数据字段Field实际数据存储者
常见的关系型数据库产品
- 大型Oracle
- 中型MySQLSQL Server
- 小型SybaseAccess
### 2非关系型数据库
**非关系型数据库**没有具体模型的数据结构英文简称 NoSQLNot Only SQL )意为"不仅仅是SQL"
常见的非关系型数据库产品MongoDBRedisMemcached
## SQL 的介绍
**SQL**全称 **Structured Query Language**译为**结构化查询语言**
**SQL**是一种针对关系型数据库的标准化编程语言能够实现用户数据库的查询和程序设计
通俗来讲**SQL 是关系型数据库的操作指令**
根据操作类型不同SQL 可分为几类
* DQLData Query Language数据查询语言用于查询和检索数据
* DMLData Manipulation Language数据操作语言用于数据的写操作增删改
* DDLData Definition Language数据定义语言用于创建数据结构
* DCLData Control Language数据控制语言用于用户权限管理
* TPLTransaction Process Language事务处理语言辅助DML进行事务操作因此也归属于DML
补充
- SQL 虽然是编程语言但通常只用来进行数据管理逻辑部分交给其他编程语言
- SQL 是针对关系型数据库的**通用语言**所有关系型数据库都是基于SQL进行数据操作而不同的数据库产品 SQL 操作指令上略有差异
## MySQL 的介绍
### MySQL 数据库介绍
MySQL 是很有名的 关系型数据库产品由瑞典MySQL AB 公司开发现在属于 Oracle 旗下产品
MySQL 2008 年被 Sun 公司以10亿美金所收购 Sun 公司在2009年被 Oracle 甲骨文公司收购
MySQL 开源免费
### MySQL 访问原理
MySQL是一种C/S结构的软件因此我们需要安装 MySQL 的客户端来访问远程的服务端也就是说数据是存放在服务器上的客户端通过执行 sql 指令来操作服务端的数据
具体步骤是
1客户端通过 主机host + 端口号port 服务端
2输入 username password 验证身份
3客户端和服务端连接成功通过 sql 指令开始操作数据库