Access中部分字段 的作用:
- 货币:主要用于存储一些和货币相关的数据,它可以约束货币的显示和计算结果,要求不严格的情况下可以使用数字来存储货币。
- 自动编号:如果在表中设计了自动编号,那么在表中新增了一个记录之后,系统字段为其添加一个顺序编号,通过自动编号可以保证数据记录的唯一性。
- OLE对象:OLE是指对象的连接与嵌入,OLE对象数据可以用于保存文档、图像、声音等数据。
- 超链接:该类型字段用于存放通过超链接方式连接的windows对象。
- 附件:该类型是存储数字图像的二进制文件的首选数据类型。
- 计算:计算类型可以通过表达式对当前表的已有字段使用表达式进行计算并返回计算结果。
- 查阅向导:使用查阅向导可以构建一个组合框来输入字段值,这个字段值可以是表、查询中的引用,也可以手动输入值。
主键
主键的作用
- 主键始终是索引
- 保证实体的完整性
- 使数据库的操作速度更快
- 在添加新纪录时,自动检测记录的主键值,不允许出现重复的主键值。
- 默认情况下,数据记录显示的顺序与主键的顺序是相同的,即记录的录入顺序。
选择主键的原则
- 主键必须唯一的标识一个记录
- 主键不能为空
- 创建记录时,主键必须存在
- 主键的定义必须稳定,一旦创建好主键,就不应该更改主键的值
- 主键应该尽量简洁,包含尽可能少的属性,如果可能,可以使用无意义的字段作为主键,如记录的自动编号
“每个表都应该有一个天生的主键”,这是早期的数据库开发人员信奉的一句话。但是,随着数据库中数据集的日益庞大,使用“天生的主键”(数据库原有的字段)作为主键就有可能出现问题——作为表的主键的字段很可能出现重复值。
因此,目前最常用的做法就是使用替代的主键将表的设计与表的数据区分开来,从而避免使用“天生的主键”作为主键可能出现的问题。替代主键应具有以下特点:
- 除了唯一标识记录或实体外,没有其他任何的实际意义。
- 不需要进行任何更新,因为主键不包含任何现实意义,所以对其进行更新也没有任何意义。
- 不会发生任何变化,不包含任何可以发生变化的数据,如时间戳等。
- 最好由计算机自动生成,任何人为设置的主键都可能在主管上包含一些现实意义。
表的规范化
第一范式(1NF)
表中的每一个元素只能够包含一个唯一值,即不能有两个完全相同的字段。1NF只是关系数据库中表的基本条件。
第二范式(2NF)
每一个非主键关键字完全依赖于全体主键。满足2NF的表已经是一张合格的表,但仍旧可能存在传递依赖。
第三范式(3NF)
3NF要求表中的数据不存在传递依赖,或者说数据库表中不包含其他表中已经包含的非主键字段。