MySQL数据库初体验

目录

一、数据库的基本概念

二、主流的数据库介绍

三、关系数据库与非关系数据库

1.关系数据库

一、数据库的基本概念

数据:描述事物的符号记录,包括数字、文字、图形、声音、档案记录等。以"记录的"形式按统一的格式进行存储

:行(记录),列(字段/属性),将不同的记录组织在一起,用来存储具体数据。

**数据库:**表的集合,是存储数据库的仓库。以一定的组织方式存储的相互有关的数据集合。

**数据库管理系统:**DBMS,是实现对数据库资源有效组织、管理和存取的系统软件。包含数据库的建立和维护功能、数据定义功能、数据操纵功能、数据库的运行管理功能、通信功能。

(1)数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能。

(2)数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出。

(3)数据操纵功能:包括数据查询统计和数据更新两个方面。

(4)数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控 制、数据库内部维护等功能。

(5)通信功能:DBMS 与其他软件系统之间的通信,如 Access 能与其他 Office 组件进行数据交换。

**数据库系统:**是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成。用户可以通过DBMS或应用程序操作数据库。

数据库系统的原理:

(1)接受应用程序的数据请求和处理请求

(2)将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)

(3)实现对数据库的操作

(4)从数据库的操作中接受查询结果

(5)对查询结果进行处理(格式转换)

(6)将处理结果返回给用户

总结:应用程序接收/处理数据的请求,通过DBMS把高级指令转化为数据库能识别的语言。传给DB并实现对数据库的操作,再将操作后的结果,返回给DBMS,把数据语言转化为可以识别的语言,最后再返回给用户。

二、主流的数据库介绍

1、SQL Server (微软)

2、Oracle (甲骨文)

3、DB2 (IBM公司)

4、MYSQL (甲骨文公司收购)

三、关系数据库与非关系数据库

1.关系数据库

关系数据库系统是基于关系模型的数据库系统

关系模型的数据结构使用简单易懂的二维数据表

关系模型可用简单的"实体-关系"(E-R)图来表示

E-R图种包含了实体(数据对象)、关系和属性三个要素

实体:也称为实例,对应现实世界种可区别于其他对象的"事件"或"事物",如银行客户、银行账户等。

属性:实体所具有的某一特性,一个实体可以有多个属性,如银行客户实体集种的每个实体均具有姓名、住址、电话等属性。

联系:实体集之间的对应关系成为联系,也成为关系,如银行客户和银行账户之间存在"储蓄的关系"。

关系数据库的优缺点

优点:

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

2、使用方便:SQL语言通用,可用于复杂查询

3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询

缺点:

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

2、固定的表结构,灵活度稍欠

3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈

2.非关系数据库

非关系数据库也被称作NOSQL,适用于对关系很明确的数据建立模型、定义、存储数据。

非关系型数据库: 存储海量数据,给与"大数据"进行分析,筛选出有价值的部分,存储数据不以关系模型为依据,不需要固定的表格。

非关系型数据库的优点

(1)数据库可高并发读写

(2)对海量数据高效率存储于访问

(3)数据库具有高扩展性于高可用

常用的非关系数据库:Redis、mongoDB等

非关系型数据库优缺点:

优点:

1、格式灵活:存储数据的格式多样

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

3、高扩展性

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

缺点:

1、不提高sql支持,学习和使用成本较高

2、无事物处理

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

4、好多数据写在内存中

相关推荐
C吴新科33 分钟前
MySQL入门操作详解
mysql
Ai 编码助手3 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员3 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle3 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻3 小时前
MySQL排序查询
数据库·mysql
萧鼎3 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^3 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋33 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
荒川之神4 小时前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle
IT培训中心-竺老师4 小时前
Oracle 23AI创建示例库
数据库·oracle