数据库设计一般交由后端开发人员直接设计(无论是否有经验),而不会让经验丰富的开发人员包揽(做评审即可)。
在电子商务中,订单通常包括客户信息、商品信息和交易信息。如果您严格满足三范式,可能需要将这些信息分散存储在不同的表中,并使用外键进行关联。但为了提高查询性能,您可能会考虑将一些客户信息和商品信息冗余存储在订单表中
假设您正在设计一个博客网站的数据库,其中有博客文章和评论。评论通常会关联到特定的博客文章,如果您严格满足三范式,可能需要在评论表中存储博客文章的主键,而不是直接将博客文章标题或内容存储在评论表中。但为了提高查询性能和减少联接操作,您可能会考虑在评论表中冗余存储博客文章的标题或内容
用户注册:输入用户号、用户名、密码、性别、住址、邮箱及电话进行注册,注册成功以后就可以按产品的分类浏览网站
商品管理:为管理员所用,管理员可以增加商品分类,可以为每个分类增加商品,其中商品包括商品号、商品名、商品分类、市场价格、当
前价格、数量及商品介绍
用户订购商品:当用户看中某个商品时,可以加入购物车;当用户选择完毕时,就可以购买下单了。购买涉及订单、订单明细,其中,订单包括订单号、订单日期、订单总价、订单状态等信息;而对于每个订单,有订单明细表,列出了所购商品号、单价和数量
实体:①用户、②商品、③订单
关系:当用户需要购买商品时,需要下单,此时订单与用户发生关联。用户与订单是一对多的联系。
下单时,订单与商品发生关联,订单与商品是多对多的联系。
选购关系转换为选购表:(商品号、订单号、单价、数量)
属于关系转换为订单表:(订单号、用户号、订单日期、订单总价、订单状态)
此时存在两个订单表,为满足对应关系,保留包含用户号的订单表即可
满足
商品表的商品分类字段不依赖与商品表,故将划分出商品分类表(分类号、分类名称),使用分类号代替原先的商品分类字段即可