大家好,上节介绍了Access数据库表中常见的概念,Access数据库中表的部分主要难点就在于表的设计,本节主要是串联一下Access数据库中表设计时的大概步骤,只先了解即可,具体的内容部分后面根据分解的知识点展开讲解。
一、分析建立数据库的目的
在创建数据库时,首先要简单分析明确建立数据库的目,即分析数据库中需要管理的内容。可以罗列一些需要用到的字段。
比如为图书馆建立数据库,数据库管理的内容是书籍和读者,有借书日期,还书日期,出版商access数据库设计报告,作者、库存数量、被借次数、读者编号等内容。
这些都是初步的分析表和字段的需求,但具体建立什么表和字段还不是很明确。
二、、确定数据库中的表和字段
首先说明下在设计Access数据库的表时,追求的目标是设计性能优良的数据库表,减少数据的冗余和错误。
因而在设计数据库表时可以遵循一些规范的规则,这些规则就是范式。(关系型数据库目前通常有6层范式,从最低要求的第一范式1NF,以此类推,一直到最高要求的6NF。)
那么如何设计数据库中的表格和字段?首先结合上一步的分析来套用概念模型,最常用的概念模型是实体-联系(Entity-)方法,即E-R模型。可以根据它画出E-R图,明确要设计的数据库中的实体、属性和联系等。然后来初步确定建立那几张表access数据库设计报告,然后再结合数据库范式,将数据库逐步优化,看是否需要再建立新的表。
1、概念模型
概念模型方法是用来模拟设计数据库,最常用的概念模型是实体-联系(Entity-)方法,即E-R模型。可以据此画出E-R图。
在E-R模型中主要包括三个内容:1、实体,即现实中客观存在并相互区别的事物, 2、属性,即实体具体的某一特征。3、联系,即实体与实体间的联系。
在图书馆数据库管理表设计时,书籍和借阅人就是两个不同的实体。书籍的属性包括图书编号、名称、作者、单价、库存数量、被借次数等。而读者的属性包括年龄、读者编号、联系方式等等。而书籍和读者之间的联系是借阅、而借阅就涉及借阅日期、还书日期等等。
据此可以确定就是书籍和读者两张表格,各自的属性可以作为各自的字段。但图书馆中一个名称的书通常有好几本库存,相同的书籍编号,它们可能被不同的人借阅,那么书籍的借阅日期和还书日期可能就是不同的。是应该放在书籍或者读者的哪张表呢?这其实涉及表与表关系,以及结合数据库范式优化表的问题。
2、数据库范式
上面在确定数据库中的大概的表和字段时,需要结合数据库范式来优化表。范式有6层范式,但通常达到第三层范式就可以作为性能优良的数据库。下面简单说下1NF、2NF、3NF的要求。
第一范式INF是要求没有重复的列。
第二范式2NF是在1NF的基础上,要求属性必须完全依赖于主键。
第三范式3NF是要求在2NF的基础上,要求属性不依赖于其他非主属性。
上面确定了基础的表后就需要结合数据库范式进行优化,减少数据的冗余和错误。看是否需要再将分解出其他表格。数据库范式初学者不容易理解,后续介绍数据库规范时会详细介绍,
三、确定字段数据类型和字段属性
确定了数据库中的表和对应的字段后,新建字段时候需要选择字段的数据类型。上节有演示过,然后具体的每个字段需要设置字段的属性。
四、确定主键
选择合适的字段作为主键,上节介绍过主键要求是唯一不能为空,可以是一个也可以是多个字段。可以选择单个主键,也可以选择复合主键。也可以使用替代主键。区别后续会做介绍说明。
五、确定表与表之间的关系
前面在介绍数据库优化时介绍了数据库范式的概念,对于优秀的数据库设计通常为了减少数据冗余,为此会将很多数据拆分成基于不同主键的表。需要在Access数据库中将不同的表通过主键和外键关联起来。
对应不同实体的表之间有三种类型的关系,一对一的关系,有一对多的关系,和多对多的关系。
其中如果是多对多的表关系,主要是通过中间表,将多对多的关系拆成一对一或者一对多的关系。
简单图书馆数据库中,书籍和出版商之间的关系是多对一的关系。因为出版商会出版很多书籍,但书籍通常是一个出版商出版的。书籍和借阅者之间,因为一个人可能借好几本不同的书。图书馆通常一种书有好几本会由不同的人借阅,它们的关系是多对多的关系
在设计数据库时,这种多对多的关系就表格就需要借助中间表格,比如书籍和读者之间是借阅的关系。可以新建借阅表,借阅表中有借阅单号,借阅日期,还书日期等。这样书籍和借阅表之间可以是一对一的关系,读者表和借阅表之间也可以是一对一的关系。(后续会再介绍)
本文共 1575 个字数,平均阅读时长 ≈ 4分钟