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、好多数据写在内存中

相关推荐
一只小bit2 小时前
MySQL 索引:从聚簇到普通索引,如何加快查询效率?
数据库·mysql·oracle
洛克大航海4 小时前
解锁 PySpark SQL 的强大功能:有关 App Store 数据的端到端教程
linux·数据库·sql·pyspark sql
XueminXu5 小时前
ClickHouse数据库的表引擎
数据库·clickhouse·log·表引擎·mergetree·special·integrations
冒泡的肥皂6 小时前
MVCC初学demo(二
数据库·后端·mysql
代码程序猿RIP6 小时前
【Redis 】Redis 详解以及安装教程
数据库·etcd
小生凡一6 小时前
redis 大key、热key优化技巧|空间存储优化|调优技巧(一)
数据库·redis·缓存
oe10196 小时前
好文与笔记分享 A Survey of Context Engineering for Large Language Models(上)
数据库·笔记·语言模型·agent·上下文工程
小马哥编程6 小时前
【软考架构】案例分析-对比MySQL查询缓存与Memcached
java·数据库·mysql·缓存·架构·memcached
一 乐6 小时前
高校后勤报修系统|物业管理|基于SprinBoot+vue的高校后勤报修系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·毕设
折翼的恶魔6 小时前
SQL190 0级用户高难度试卷的平均用时和平均得分
java·数据库