MYSQL基础【1】-基本概念

数据库的基本概念:

(1)数据库:是一个以某种有组织的方式存储的数据的集合。相当于一个文件柜。

(2)数据库软件:DBMS(数据库管理系统),数据库是通过DBMS来创建和操作的容器。

(3)表:某种特定类型数据的结构化清单。是将其放置在数据库中,表中存储的就是数据。

(4)模式:关于数据库和表的布局及特征的信息。

(5)列:表由列组成,列中存储者表中某部分的信息,列就是表中的一个字段,所有表都是由一个或多个列组成。

(6)分解数据:正确地将数据分解为多个列极为重要,有利于对特定列进行排序和过滤。

(7)数据类型:所容许地数据地类型。数据库中每一列都有相应的数据类型,数据类型定义列可以存储地数据类型。数据类型限制可以存储在列中地数据类型,数据类型还帮助正确地排序数据,并在磁盘使用方面起到重要作用。

(8)行:表中的数据是按行存储的,行即表示为表中的一个记录。行与记录是可以相互代替的,当行才是正确的术语。

(9)主键:一列(或一组列),其值能够唯一区分表中的每一行。表中每一行都应该有可以唯一标识自己的一列(或一组列)。一个顾客表可以使用顾客编码列,而订单表可以使用订单ID等。

唯一标识表中每行的这个列(或这组列)称为主键。主键用来表示一个特定的行。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关行。

虽然并不总是都需要主键,但是大多数数据库设计人员都应该保证他们创建的每个表具有一个主键,以便于以后的数据操纵和管理。

表中任何列都可以作为主键,只要它满足以下条件:

  • 任意两行都不具有相同的主键值;

  • 每一行都必须具有一个主键值(主键值不允许NULL值)

主键值通常定义在表中的一列上,但这并不是必需的,也可以一起使用多个列作为主键。在使用多列作为主键时,上诉条件必须应用到构成主键的所有列,所有列值得组合必须时唯一得(但单个列得值可以不唯一)。
eg:

index col_1 col_2
1 a b
2 a c

使用列col_1 和 col_2共同组成主键,尽管col_1中两个记录的值是相同的,但是它们组合起来就是不相同的(ab、ac这两个值是不同的)

主键的最好习惯:

  • 不更新主键列中的值;
  • 不重用主键列的值;
  • 不在主键列中使用可能会更改的值。(例如:如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)

猜你喜欢

转载自blog.csdn.net/weixin_43763859/article/details/106398034