Mysql 基本概念

数据库的组成

数据

数据是描述事务的符号记录;包括数字、文字、图形、图像、声音、档案记录等

以"记录"形式按统一的格式进行存储

将不同的记录以行和列的方式组合成了表

用来存储具体数据

数据库

它就是所有不同属性表的集合

以一定的组织方式存储的相互有关的数据集合

数据库管理系统 DBMS

数据库管理系统(DatabaseManagementSystem,DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作

DBMS 主要功能

  1. **数据库的建立和维护功能:**包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能
  2. **数据定义功能:**包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出
  3. **数据操纵功能:**包括数据查询统计和数据更新两个方面
  4. **数据库的运行管理功能:**这是数据库管理系统的核心部分,包括并发控制、存取控 制、数据库内部维护等功能
  5. **通信功能:**DBMS 与其他软件系统之间的通信,如 Access 能与其他 Office 组件进行数据交换

DBMS 工作流程

  • 接受应用程序的数据请求和处理请求
  • 将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)
  • 实现对数据库的操作
  • 从数据库的操作中接受查询结果
  • 对查询结果进行处理(格式转换)
  • 将处理结果返回给用户

数据库类型

关系型数据库: 存储的往往是字符、字符串、数值、布尔值等
**非关系型数据库:**存储的往往是图片、视频、语音等

关系数据库

关系型数据库(SQL):存储的往往是字符、字符串、数值、布尔值等(存储在磁盘中)

关系数据库系统是基于关系模型的数据库系统,关系模型的数据结构使用简单易懂的二维数据表

  • 每一行称为一条记录,用来描述一个对象的信息
  • 每一列称为一个字段,用来描述对象的一个属性

E-R关系图

实体

也称实例,对应显示世界中可区别与其它对象的"事件"或"事物",如银行客户、银行账户

实体

也称实例,对应显示世界中可区别与其它对象的"事件"或"事物",如银行客户、银行账户

实体

也称实例,对应显示世界中可区别与其它对象的"事件"或"事物",如银行客户、银行账户

  • 优点:

    易于维护: 都是使用表结构,格式一致

    使用方便: sql语言通用,可用于复杂查询

    复杂操作: 支持sql语句,可用一个表以及多个表之间非常复杂的查询

  • 缺点

    读写性能比较差, 尤其是海量数据的高效率读写

    固定的表结构, 灵活度较差

    高并发读写需求差, 传统关系型数据来说,硬盘读写是一个很大的瓶颈

数据库的应用场景

Mysql(Oracle公司) 、Oracle(税务局) : 12306用户信息系统

SQL server (微软) 、sybase : 淘宝账号系统

access(微软公司office产品)、 informix : 联通手机号信息系统

DB2(IBM公司,国电)、FoxPRO : 银行用户账号系统

PostgreSQL : 网站用户信息系统

非关系型数据库

适用于对关系很明确的数据建立模型、定义、存储数据

可存储海量数据,给与"大数据"进行分析,筛选出有价值的部分

  • 优点

格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,

使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。

速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;

高扩展性;

成本低:nosql数据库部署简单,基本都是开源软件。

  • 缺点

不提供sql支持,学习和使用成本较高;

无事务处理;

数据结构相对复杂,复杂查询方面稍欠。

相关推荐
jllllyuz42 分钟前
matlab实现蚁群算法解决公交车路径规划问题
服务器·前端·数据库
下雨天u1 小时前
maven dependencyManagement标签作用
java·数据库·maven
代码配咖啡1 小时前
国产数据库工具突围:SQLynx如何解决Navicat的三大痛点?深度体验报告
数据库
清酒伴风(面试准备中......)2 小时前
小白学编程之——数据库如何性能优化
数据库·oracle·性能优化
默心2 小时前
centos7部署mysql5.7
linux·运维·mysql·centos
The Future is mine2 小时前
SQL Server中delete table和truncate table删除全表数据哪个快?
数据库
瀚高PG实验室2 小时前
HGDB插入超长字段报错指示列名的问题处理
数据库
好吃的肘子3 小时前
MongoDB 高可用复制集架构
数据库·mongodb·架构
兮兮能吃能睡3 小时前
Python之with语句
数据库·python
不穿铠甲的穿山甲3 小时前
MySQL-数据库分布式XA事务
数据库·分布式·mysql