《如何学好编程?》(九)熟悉数据库
数据库就是根据数据结构来组织、存储和管理数据的仓库,这里不说大数据 , 只说普通的关系型和非关系型数据库 。
可以把关系型数据库(RDBS)理解为一个Excel表格,每列是字段,每行就是一条记录 。Excel有多个二维表,每个表都是由行和列组成的 。关系数据库里存放的也是一张张二维表 , 各个表之间存在关系 。简单来说:关系数据库由多张二维表和各表之间的关系组成 。
非关系型数据库,也叫NoSQL则可以理解为一个Key-Value文档树,里面有很多属性 , 每个属性对应一个值 。NoSQL 数据库的类型因数据模型而异,主要类型包括文档、键值、宽列和图形 。
关系型数据库通过SQL来进行增(Create)删(Delete)查(Read)改(Update)操作,已实现对数据的管理 。SQL语句很简单,类似用英语说指令,稍微熟悉即可掌握 。但要设计一套优雅的业务数据库,却并非易事,尤其是对于复杂业务来讲,我们的设计需要符合数据库设计范式 。当然数据库范式也很简单,主要目的在于表和表之间的独立和解耦,便于未来扩展和数据的修改、查找等 , 为了设计好数据库,一般会设计ER实体关系图(Entity Relationship Diagram) 。关系型数据库为保证一个数据操作事务(transaction)的正确可靠,一般要求具备四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability) 。这些概念 , 随着数据库的开发经验积累渐渐就明白了 。
【如何学好编程?熟悉数据库 九 编程数据库入门怎么学比较好】NoSQL数据库不需要建立关系模型,因此存储结构比较简单 , 在查询会非常快 。NoSQL相比关系型数据库还可以更方面扩容和做分布式设计,非常灵活 。NoSQL各文档间缺乏标准化规则,通常采用针对文档按对象进行链式调用来查询,这样在写语句时不如SQL那么强大,而且有时候需要多次连接,同时它也不提供事务的一致性 。当数据量增加时 , 由于key变得困难 , 很难维护key的唯一性 。
由于RDBS和NoSQL的特性,一般关系型数据库会用来做强关系的业务系统,而非关系型数据库则用来做高性能的缓存、键值读取等 。当然理论上NoSQL和MySQL可以互相替代 。
作为程序员,不是DBA,一般掌握基本的SQL和NoSQL语句即可,不一定需要多么强大的数据设计和管理能力 , 但一定要理解其中的基本原理 。数据库的设计和操作对于系统健壮性和性能至关重要 。
#编程真的能改变人的思维方式吗#



相关经验推荐
- 微软宣布将AI引入Office套件助力Word、Powe 微软office植入ai
- 制造型企业如何降低在制品库存,如何提高生产计划准确性? 生产计划如何降低库存
- 微软宣布推出Microsoft365企业应用、 microsoft365发布新应用
- 偷偷变强!职场的效率神器 提升职场效率的神器
- AI工具仅作为辅助,不会取代人类的工作,因此用户无需担心因AI而失业,近日
- 我为什么一直使用office2003 为什么用office2003
- 10款油皮定妆,分成有遮盖力,无遮盖力两大类,是否好用?是否铁皮跟没有什么关系
- GPT商业应用-01微软Microsoft365Copilot
- 我的WPS与word之战
