物资管理系统主要是方便企业对物资进行有效的管理。
目录
具体的表设计如下:
1、用户表(tb_User)
从上至下,依次是:用户ID(主键,自增),用户姓名,电话,性别,角色(外键),创建时间,身份证号,出生日期,状态,部门(外键),密码
2、角色表(tb_Role)
从上至下,依次是:角色ID(主键,自增),角色名称,角色创建时间,角色的状态
3、菜单表(tb_Nav)
从上至下依次是:菜单ID(主键,自增),菜单名称,菜单图标,父级菜单ID,菜单地址
4、角色权限表(tb_RoleAuthorize)
从上至下,依次是角色权限ID(主键,自增),角色ID(外键),模块ID(外键)
解释一下:
因为本系统是物资管理系统,所以分为很多不同角色的人。如仓库负责人、部门经理、采购员、总管理员、普通员工等。每个不同职位的人登录到该系统所拥有的权限是不一样的。以上四张表就完成了一个简单的权限管理表的设计。
ModuleID,菜单,也就是每个角色所拥有的菜单
RoleID,角色ID
5、物资表(tb_Goods)
从上至下依次是:物资ID(主键,自增),物资名称,价格,类型ID(外键),供应商(外键),仓库(外键),物资数量,地址,描述,图片,创建时间,状态
解释一下:为什么有设置物资状态这一列
因为当初最开始考虑的是如果某一项物资数量没有了,可以把该物资删除掉。但是由于其他表又以该表为主表,所以做删除的时候,会删不掉。那就有几种解决方案,第一种的话,数据库中可以设置级联删除,也就是需要把两张表的数据都删掉。(这种的话我没有考虑)。第二种的话,就是设置状态,删除就改变状态,然后就不会显示,但是这样有一个缺点,就是大量的无用的数据会存放到数据库中,占用内存空间。(但是我用了这种,诶!)
6、入库表(tb_GoodsInsert)
从上至下依次是:物资入库ID(主键,自增),入库时间,入库数量,物资名称,操作人
解释一下操作人这一个字段,该字段在代码中是通过Session获取的,所以设置了nvarchar类型,没有设置外键
7、物资出库表(tb_GoodsOut)
从上至下依次是:出库ID(主键,自增),出库时间,操作人(外键),出库数量,出库理有,物资ID(外键),部门ID(外键)
8、物资类型(tb_GoodsType)
从上至下依次是:物资类型ID(主键,自增),类型名称,创建时间,描述,状态
解释一下状态这一列:
可以参考第4点中的解释
9、部门表(tb_Department)
从上至下依次是:部门ID(主键,自增),部门名称,部门负责人,部门电话,创建时间,更新时间,部门地址,部门描述,状态
解释一下状态这一列:也就是假设这个部门没有一个人,就可以做删除操作。
10、公告表(tb_News)
从上至下依次是:新闻ID(主键,自增),公告内容,公告发布时间,公告发布人(外键)
11、仓库表(tb_Store)
从上至下依次是:仓库ID(主键,自增),仓库名字,仓库地址,仓库状态
12、供应商(tb_Supply)
从上至下依次是:供应商ID(主键,自增),供应商名称,供应商地址,供应商电话,供应商邮箱,供应商状态
13、员工领用表(tb_LingYong)
从上至下依次是:领用ID(主键,自增),物资ID(外键),物资数量,领用人,领用时间,价格,描述,状态,同意人
14、部门领用表(tb_DepartLY)
从上至下依次是:领用ID(主键,自增),物资名称,领用人,利用部门(外键),描述,状态,领用时间,联系方式,物资名称
15、采购申请表(tb_AskFor)
从上至下依次是:
采购申请ID(主键,自增),用户ID(外键),物资名称,物资数量,申请时间,状态,同意人,描述,价格,状态,不通过的原因
解释一下这两个状态:第一个状态是负责通过与不通过的,第二个状态是如何是通过则采购,如果不通过则查看详情
16、采购查询表(tb_SupplySearch)
从上至下依次是:
采购查询ID(主键,自增),采购申请ID(外键),供应商ID(外键),价格,通过时间,采购人,描述,数量
解释一下:
因为这个表的话就是用来查看采购的记录,也就是采购员提交申请,申请通过则可以去采购,采购完成后就生成了这样的一条记录。显示所有以采购的信息
以上就是该系统表的设计!