1.分析思路
1.1 分析每张数据表记录的内容,分模块化对每一张表记录进行熟悉,相当于学习系统需求的过程,什么是需求,即是功能。
1.2分析每一张表重要的字段设置:非空字段,外键设置
1.3数据库级别表与表之间的关系:外键关系
1.4在分析表与表之间的业务关系时一定要建立在某个业务基础上去分析。
2.数据模型分析
2.1 用户表USER,记录用户的信息,有人说你这不废话吗,用户表肯定记录是用户的信息,确切的说,应该是记录了购买商品的用户信息,因为一个商城网站还有后台用户信息,例如京东商城,他还有后台客户,后台客户也是用户信息
2.2 订单表ORDERS,记录了用户所创建的订单(购买商品的订单)
2.3 订单明细表orderdetail,记录订单的详细信息,即购买商品的信息
3.分析表与表之间业务关系(建立在某种业务关系上)
分析下图:
3.1 先分析数据级别之间有关系的表之间的业务关系,从什么到什么是什么关系:
3.1.1 user和orders:用户和订单----> [表示从什么到什么]
user---->orders:一个用户可以创建多个订单(业务关系),从用户到订单是一对多关系
orders---->user:一个订单只能由一个用户创建,一对一
3.1.2 orders和orderdetail订单和订单明细
orders---->orderdetail:一个订单可以包括多个订单明细,因为一个订单可以购买多个商品,所以从订单到明细是一对多关系
orderdetail---->order:一个订单明细只能包括在一个订单中,一对一
3.1.3 ordertetail和items:订单明细和商品
ordertetail---->items :一个订单明细只对应一个商品信息,一对一
items---->orderdetail:一个商品可以包含在多个订单明细中,一对多
4.分析数据库级别没有关系的表之间是否有业务关系:
4.1 orders和items:订单和商品,从上图中看貌似没什么关系。但是orders和items之间可以通过订单明细orderdetail建立关系,它起到一个桥梁的作用。因为从订单到订单明细是一对多,而从订单明细到商品items是一对一,所以从orders到items可以理解为一对多关系,同理从items到orders也是一对多关系,所以items和orders是多对多关系。
4.2 user和items:同上分析思路,用户和商品,多对多关系
5.总结
至此就分析完了,不要着急说谁和谁是什么关系,要按部就班的理清楚表之间关系,熟悉重要字段,在分析表之间级别关系,建立在某种业务关系下分析,才能分析到位