数据:描述事物的符号记录。
描述事物的符号既可以是数字,也可以是文字、图片、图像、声音、语言等。
数据有多种表现形式,它们都可以数字化后存入计算机。
记录数据或事物的方式:
- 以前:结绳记事法、楔刻记事法。
- 计算机没有流行之前:图书、纸质资料。
- 计算机发展后:磁性存储介质 (磁盘)。【数据通过文件系统管理,以文件形式显示出来。】
- 现代化手段:数据库。
缺点:
- 传统记录数据:数据不易保存、备份困难、查找不便捷。
- 文件管理:对于数据比较大的处理性能较差,不能满足要求、扩展性不强。
优点:
- 文件管理:使用简单、对于python可以使用read\write对文件进行读写操作。
- 数据库:读写速度极快、数据存储稳定,准确性高、扩展性强、持久化存储。
数据库的分类
当前主要使用两种类型的数据库:关系型数据库 (RDBMS)、非关系型数据库
非关系型数据库:
- 以key-value形式存储数据,没有表结构。
- mongodb,redis
关系型数据库:
- 建立在关系模型基础上的数据库,有表结构;借助于集合代数等数学概念和方法来处理数据库中的数据,存储和管理的大数据量。
- sqllite,db2,oracle,access,sql server,MySQL 【sql语句通用】
关系型数据库的主要产品:
- oracle:在以前的大型项目中使用,银行,电信等项目。
- mysql :web时代使用最广泛的关系型数据库。
- mysql server:在微软的项目中使用。
- sqlite:轻量级数据库,主要应用在移动平台。
mysql:甲骨文公司的产品,主要用于大型门户,例如搜狗、新浪等,主要的优势是开放源代码。
oracle:主要用于银行、铁路、飞机场等,该数据库功能强大,软件费用高。
sql server:微软公司的产品,主要应用于大中型企业,如联想、方正等。
查看数据库的排名:https://db-engines.com/en/ranking
RDBMS
建立在关系模型基础上的数据库,借助集合代数等数学概念和方法处理数据库中的数据。
与数据库的关系:
- C/S架构(客户端-服务器)
- RDBMS相当于一个大工厂,数据库相当于一个仓库,表相当于货物。
特点:
- 数据以表格的形式出现
- 每行为各种记录名称【一行(=元组,或记录)是一组相关的数据,如一条用户订阅的数据。】
- 每列为记录名称所对应的数据域【一列(数据元素)包含了相同的数据,如邮政编码的数据。】
- 许多的行和列组成一张表单
- 若干的表单组成database
- 表:即文件,是数据的矩阵。在数据库中的表像简单的电子表格,存放多行内容/多条记录。
- 数据库:即文件夹,是一些关联表的集合,用来组织文件/表。
- 数据库管理系统:管理数据库,如mysql(是一个软件)。
- 数据库服务器:一台计算机(对内存要求比较高),运行数据库管理软件。
(以下部分为了解内容)
数据库中的表有不同的类型,表的类型不同,会对应mysql不同的存取机制。
表类型又称为存储引擎。
在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。
MySql数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,
用户也可以根据自己的需要编写自己的存储引擎
InnoDB存储引擎
- 支持事务,设计目标主要面向联机事务处理的应用。
- 特点:行锁设计、支持外键,并支持类似 Oracle 的非锁定读,即默认读取操作不会产生锁。
- 从MySQL5.5.8版本开始是默认的存储引擎
- InnoDB存储引擎支持将裸设备用于建立其表空间。
- InnoDB存储引擎是MySQL数据库最为常用的一种引擎,Facebook、Google、Yahoo等公司的成功应用证明了InnoDB存储引擎具备高可用性、高性能以及高可扩展性。
MyISAM 存储引擎
- 不支持事务、表锁设计、支持全文索引
- Memory存储引擎默认使用哈希索引,而不是通常熟悉的B+树索引。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
“LAMP”或“LNMP”组合
Linux作为操作系统,Apache或Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件,因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。
- 【mysql就是一个基于socket编写的C/S架构的软件】
本部分是MySQL的基础部分,只需有个大致了解就好。
下期可见:MySQL基础知识(二)
【发现有误及时联系】【喜欢记得点赞收藏❤】【欢迎评论补充】
上周做项目,未来得及更新,这周应该会更的进度快一些,MySQL应该两天时间更新完。
_犬少加油!一定要坚持!