数据库的概念

什么是数据库

数据库是一个以某种有组织的方式存储的数据集合.简单来说它就是一个文件柜.存放数据的物理位置

表的概念

表就是一种结构化的文件,用来存储某种特定类型的数据

存储在表中的数据是一种类型的数据或一个清单。

绝对不能将顾客的清单与订单的清单存储在同一个数据库表中

每个清单一张表.每张表都是有自己的名字,用来标识自己。名字是唯一的

表名

表名的唯一性取决于多个因素,如果数据库名和表名等的结合,这表示虽然在相同的数据库中不能两次使用相同的表名。但在不同的数据库中却可以使用相同的表名

表具有一些特性,这些特性定义了数据在表中如何存储,如可以存储什么样的数据。数据如何分解,各部分信息如何命名等等。描述表的这组信息就是所谓的模式。模式可以用来描述数据库中特定的表以及整个数据库(和其中表的关系)

列和数据类型

  • 表由列组成,列中存储表中某部分的信息。列是表中的一个字段 所有表都是由一个或多个列组成的

理解列最好的办法就是将数据库想象成网格.网格中每一列存储着一条特定的信息。例如在顾客表中一个列存储着顾客编号,另一个列里面存储着顾客名字,而地址,城市,州以及邮政编码都存储在各自的列里面

分解数据 正确的将数据分解成多个列极为重要,例如城市,州,邮政编码应该总是独立的列。通过把它分解开, 才有可能利用特定的列对数据进行排序和过滤.(如找到特定的州或者特定的城市的所有顾客)如果城市和州在一个列中,则按州进行排序或者过滤会非常困难

数据库中的每个列都有相应的对应类型。数据类型定义列可以存储的数据种类。例如如果列中存储的数字则相应的数据类型应该是数值类型。如果列中存储的是日期,文本,注释,金额等等则应该用恰当的数据类型规定出来

数据类型 所允许的数据的类型,每个表列都有相应的数据类型,它限制(或允许)该列中存储的数据

数据类型限制可存储在列中的数据种类(例如防止在数值字段中录入字符值)数据类型还帮助正确的排序数据,并且优化磁盘使用方面起重要作用.因此在创建表时必须对数据类型给予特别的关注

  • 表中数据按照行来存储的,所保存的每个记录都存储在自己的行内。如果将表想象成网格,网格中垂直的列为表列,水平行为表行

例如 顾客表可以每行存储一个顾客.表中的行数为记录的总数

有的时候我们把行也称作是表中的一条记录

主键

  • 表中每一行都应该有可以唯一标识自己的一列(或一组列).一个顾客表可以使用顾客编号列.而订单表可以使用订单 ID,雇员表可以使用雇员 ID 或者雇员社会保险号

主键 一列(或者一组列),其值能够唯一区分表中每个行

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

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

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

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

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

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

一张表最重要的两个键 一个主键(区别行) 一个外键(关联其他表)


文章作者: 雾烟云
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 雾烟云 !
  目录