一、数据库是什么?
数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。
事实上,我们每天都在使用数据库,只是没有察觉到。电话簿就是一个数据库,其中的数据包括个人的姓名、地址和电话号码。这些数据是按字母排序或索引排序的,让用户能够方便找到特定的本地居民。实际上,这些数据保存在计算机上的某个数据库里。
数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:
(1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。
(2)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。
数据库作为最重要的基础软件,是确保计算机系统稳定运行的基石。
二、有哪些数据库?
通常大类上可分为关系型数据库和非关系型数据库。
关系型数据库,是一种常见的数据库类型,它可以存储结构化和半结构化数据。这种数据库通常包含多个表,每个表代表一个特定数据类型。是以关系来连接数据的,常见的关系型数据库包括Oracle、MySQL等。这里给大家举一个例子。比如:用户的订单数据,用户的打卡数据,用户的浏览数据,会存放在三张不同的数据表里。但是它们的核心都是以用户id做关联的,把3种不同的数据链接到同一个用户上。
非关系型数据库,是一种非结构化的数据存储系统,不使用表格来组织数据,而是使用不同的数据模型,如文档型、键值对、列族和图形等。常见的非关系型数据库有MongoDB、Redis、Cassandra、FlockDB等。
三、关系型数据库的结构
在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一种二维数据结构,在数据库中就表现为一张二维表。
数据库——数据表——数据记录——记录字段
库,就像某个库是维护某个业务的所有数据。
表,用来维护数据的某个场景。比如学生表,成绩表,班级表等。
数据记录,学生表里的一条记录,是某个学生的信息,同理,成绩记录表里记录着某一门课程的某一次的某一个的成绩。
记录字段,好比学生表里记录字段:学生ID、学生姓名、学生性别、学生年级、学生班级等。
四、关系型和非关系型数据库的区别
1. 数据模型
关系型数据库在数据结构上相对固定,适用于事务处理和高度一致性的应用场景,而非关系型数据库在数据结构上比较灵活,可以使用各种数据结构,数据存储更具有灵活性和可扩展性,适用于大规模、高吞吐量和弹性扩展的应用场景。
2.可扩展性
关系型通常采用垂直扩展的方式,即通过增加更强大的硬件来提高数据库的性能。非关系型通过水平扩展的方式,通过添加更多服务器来增加系统的处理能力。
3.查询语言
关系型通常使用SQL查询语音来进行数据查询和操作。非关系型数据库则使用不同的查询语言或API,其中一些数据库可能使用类似于SQL得出查询语言,但更多的是专门查询的API。