数据库基础
你可能还没有意识到,其实自己一直在使用数据库,在电子邮件地址簿里查找名字时,在搜索网站站点上进行搜索,
都是在使用数据库
数据库
数据库这个术语的用法很多,理解数据库最简单时方法是将其想象为一个文件柜,此文件柜是一个存放数据的物理位
置,不管数据是什么以及如何组成的
数据库(database): 保存有组织的数据的容器
表
当你将资料放入自己的文件柜时,并不是随便将它们扔进某个抽屉(数据库)中,而是在抽屉中创建文件(表),然后将相关的资料
放入特定的文件中
表(table) 某种特定类型数据的结构化清单
- 存储在表中的数据应该是一种类型的
- 数据库中的每个表都有一个名字,用来标示自己。此名字时唯一的。这表示数据库中没有其他表具有相同的名字
列
列(column)表中的一个字段,所有表都是由一个或者多个列组成的
- 理解列的最好办法就是将数据库表想成一个网格,网格中每一列存储着一条特定的信息
- 比如在顾客表中,一个列存储着顾客编号,一个列存储着着顾客姓名,地址和联系方式等其他信息都存储在各自的列中
数据类型
数据库中每个列都有相关的数据类型,数据类型定义列可以存储的数据种类
数据类型(datatype) 所容许的数据的类型,每个表列都有相应的数据类型,它限制该列存储的数据
- 数据类型还帮助正确的排序数据,并在优化磁盘使用方面起到重要的作用。因此,在创建表时必须对数据类型给予特别的关注
行
- 表中的数据是按行存储的,所保存的每个记录存储在自己的行内,
如果将表想象为网络,网格中垂直的是表列,水平行为表行
行,也被称之为记录
主键
- 表中每一行都应该有可以唯一标识自己的一列(或一组列)
- 一个顾客表可以使用顾客编号列,而订单表可以使用订单ID,雇员表可以使用顾客编号列
主键(primary key) 一列(或一组列),其值能唯一区分表中每个行
唯一标识表中每行的这个列(或这组列)称为主键,主键用来表示一个特定的行。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行
表中的任何列都可以作为主键,只要满足下列条件
- 任意两行都不具有相同的主键值
- 每个行都必须具有一个主键值
使用主键的好习惯
- 不更新主键列中的值
- 不重用主键列的值
- 不在主键列中使用可能会更新的值