数据库设计心得-软件2003坤坤说的都队
数据库设计心得
项目
连锁门店管理系统
数据库设计思路
设计思路:我们小组根据开会讨论,初步确定了10个数据表,后根据边耐政老师的数据库评审意见,添加了角色表、用户表、权限表、角色权限表、用户角色表、门店表。实现了用户和门店的解耦。
数据库总体设计
数据库表功能说明
数据库表汇总
序号 | 表名 | 功能说明 |
---|---|---|
1 | t_user | 用户表 |
2 | t_role | 角色表 |
3 | t_permission | 权限表 |
4 | t_user_role | 用户角色表 |
5 | t_role_permission | 角色权限表 |
6 | t_branch | 门店信息表 |
7 | t_upload_sales | 上传数据记录表 |
8 | t_sales_situation_inquiry | 销售情况表 |
9 | t_notice | 通知表 |
10 | t_login_log | 登录日志表 |
11 | t_sales_target_allocation | 销售目标分配表 |
12 | t_branch_sales_target | 分店销售目标表 |
13 | t_repertory | 库存表 |
14 | t_goods | 商品表 |
15 | t_goods_allot | 商品分配表 |
16 | t_goods_sale | 每日商品销售记录表 |
17 | t_feedback | 用户反馈表 |
18 | t_feedback_type | 反馈类型表 |
-
权限表
记录系统内的权限种类、创建时间、名称及其父权限
-
角色表
记录系统内的角色类别、创建时间、角色名称
-
用户表
记录系统用户的信息,如账号、密码、邮箱、手机号、创建时间、修改时间 -
用户角色表
连接用户表和角色表,记录每个用户具有的角色 -
角色权限表
连接角色表和权限表,记录每个角色所拥有的权限 -
门店信息表
存储门店的基础信息,包括门店名、负责人id、负责人姓名、负责人手机号
-
上传数据记录表
存储每个门店每日上传的销售数据
-
销售情况表
存储查询门店销售数据的记录,作为下一次查询的缓存。用户查询销售数据时,首先从该表内查找,如果不存在匹配项,再从上传数据记录表查找并生成。
-
通知表
存储总店发放的通知信息,如通知标题、通知内容、通知时间
-
登录日志表
存储用户的登录记录
-
销售目标分配表
存储每个门店当月的销售目标、以及完成时间。
-
分店销售目标表
存储分店自己设置的每天的销售目标。 -
库存表
存储每个分店的商品库存 -
商品表
存储经营商品的名称、描述信息
-
商品分配表
存储给每个分店分配商品的记录
-
每日商品销售记录表
存储分店每日上传的商品销售数量,便于核对库存变化。
-
用户反馈表
存储用户的反馈信息,以及总店的处理情况
-
反馈类型表
存储反馈的类型模板
数据库设计心得
蛇形命名
采用蛇形命名法,各个单词之间通过下划线“_”连接,全部小写命名
遵守第三范式
第一范式:要求任何一张表必须有主键,每一个字段原子性不可再分。
第二范式:建立在第一范式基础之上,要求所有非主键字段完全依赖主键,不要产生部分依赖。
第三范式:建立在第二范式基础之上,要求所有非主键字段直接依赖主键,不要产生传递依赖。
本小组设计数据库表时按照以上范式进行,避免了数据的冗杂。
数据库设计要从需求出发
数据库各个表的建立,都是为了便于实际开发,根据用例设计数据库表。