欧巴,再不懂你就OUT啦(MySQL的基础概念)

目录

如何理解数据库的相关概念

1. 数据库与数据库管理系统

2.数据库的分类

基础概念

1.表

2.行、列

3.主键

记:


如何理解数据库的相关概念

1. 数据库与数据库管理系统

数据库(DataBase):保存有组织的数据的容器。
数据库管理系统(DataBase Manage System:DBMS):数据库软件,用于创建和操纵数据库。

  • 很多人会混淆数据库和数据库管理系统的概念,实际上人们使用的各种各样的数据库软件。例如:MySQL,ORACLE,SQLServer,Redis都是数据库管理系统,我们使用它们来访问数据库,对数据库进行操作。
  • 数据库可以理解为一个电子的文件柜,用以存储电子化的文件。现在我们很多人直接把数据库代指为数据库管理系统,在下文中除引用外所提及的数据库均为数据库管理系统。

2.数据库的分类

数据库按照类型分类可以分为:关系型数据库非关系型数据库

关系型数据库:关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。

非关系型数据库:NoSQL最常见的解释是“non-relational”,NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性。

基础概念

1.表

        
表:某种特定类型数据的结构化清单

        在这里表的涵义可以理解为将同类型的数据按照一定结构存储在一个表格中,并且该表格在该数据库中具有唯一性。即在同一个数据库中,不可能出现两个相同名称的表。不同的数据库中,可以为两个分别存储在两个数据库的表命名相同的名称。
如果将数据库想象成一个保险箱,那么表就是存储在保险箱内的文件。

2.行、列


表由行和列编织成一个网格状,列显示属性,数据按行存储。

姓名 地址 电话
张三 北京市昌平区 xxxxxxxx
赵四 北京市朝阳区 xxxxxxxx


        每一列都代表一个具体的属性,我们在设计表的时候,可以适当的将数据进行分解,正确的分解数据极其重要。比如在上面的例子中,如果地址是按照 XX市XX区这样的内容存储的,那么如果有需求找出所有北京市内昌平区的人,那么就会变得很困难。如果我们将数据分解为下面的格式,实现该需求将会变得容易很多。

姓名 所在省(市) 所在区(县) 电话
张三 北京市 昌平区 xxxxxxxx
赵四 北京市 朝阳区 xxxxxxxx


所以我们需要根据实际需求灵活设计表格以提高实现需求的效率,降低实现难度。

3.主键


某一列,它的值能够唯一区分表中的每一行,这样的列称为主键

满足成为主键的列必须满足以下条件:
1.任意两行都不具有相同的主键值;
2.每个行都必须具有一个主键值(不为NULL)

        简单的说就是:每一行中,存在一列具有非空且任意两行都具有不同的值。这样的列可以成为主键。
        设置主键的目的是为了通过确保唯一性来标识某一行,如果不能通过标识标识特定的行,那么后续对表进行更新等操作将会变得非常困难。
主键可以是一列拥有非空的惟一值的列,也可以是多列组合下非空且惟一值的列。只要满足上述条件即可。

  • 在规定主键时,我们应当坚持一下几个习惯

1.不更新主键列的值 (主键列值改变可能会影响到查询等操作的准确性和稳定性)
2.不重用主键列的值
3.不在主键列中使用可能会修改的值。

记:


        了解上述概念后,可以对数据库的概念有粗略的理解。将数据库层层拆解,每一个数据库通过唯一的编号确定,而每一个数据库内都有着一定数量的表,这些表也都具有唯一性,他们的唯一性通过命名来确定。每一个表由行和列组成,每一个列都标识了数据的属性,其中能够通过一个唯一值确定某一行的列这样的列就是主键,搜索主键对应的值我们就能确定某一行的数据,对数据进行增删查改。


猜你喜欢

转载自blog.csdn.net/m0_59619191/article/details/121174715