您好,欢迎访问三七文档
1库存管理数据库模型一、需求分析阶段进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理),需求分析是整个设计过程的基础。1、信息需求随着计算机的不断普及和现代管理的发展,库存工作已表现出越来越多的管理问题。库存管理中原来的手工管理方法已不能适应生产实际的需要,造成库存积压、物资较多、反应迟缓、流动资金周转较慢,但是微机数据库是单机操作,信息利用率不高,无法实现资源共享,数据唯一;而且原始凭证繁多,工作效率低,无法适应现代化库存管理的需要。为了及时地掌握库存动态信息,做到资源共享,数据唯一,调节供应与需求的关系,实现库存的最佳控制,加速资金周转;计算机正在逐步代替人力,服务于生产型、销售型等企业里面。为此,就必须先进行库存管理的数据库模型设计。本文设计的数据库模型包括材料的入库和出库,仓库工作人员的权限管理等。2、处理要求能够进行数据库的数据定义、数据操纵、数据控制等处理功能。3、安全性与完整性要求二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS之外的概念结构模型。设计数据库kcm,分析实体有:仓库,材料,仓库工作人员;分析具体的联系有:入库,出库;画出E-R图如下:2说明:图中略去了入库出库的属性三、逻辑结构设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。根据实体和联系各自转化为一个关系模式的原则,得到库存管理数据库关系模式以及数据字典如下:仓库表(仓库号,最大库存)材料表(材料编号,材料名称,备注)仓库工作人员(人员编号,姓名,密码,家庭地址,电话,备注)库存表(材料编号,仓库号,库存数量)入库表(入库单编号,仓库号,进货日期,供货单位,入库数量,材料编号,进货单价,检验员,记账员)出库表(出库单编号,仓库号,出库日期,使用部门,领料用途,材料编号,实发数量,领库存数量材料仓库工作人员材料编号材料名称备注库存入库出库备注人员编号姓名密码家庭地址电话mnmnp仓库号仓库名称最大库存3料员,备注)人员表字段名字段类型字段长度字段限制注释UserNameVarchar20Primarykey用户名NameVarchar20Notnull用户姓名PassWordVarchar20Notnull密码AdressVarchar70地址TelVarchar20联系电话beizhuVarchar200备注入库表字段名字段类型字段长度字段限制注释RkdbhVarchar20Primarykey入库单编号CkhVarchar10Foreignkey仓库号JhrqDatetimeNotnull进货日期GhdwVarchar70Notnull供货单位RkslInt20Notnull入库数量ClbhVarchar20Foreignkey材料编号JhdjMoney20Notnull进货单价JyyVarchar20Notnull检验员JzyVarchar20Notnull记账员出库表字段名字段类型字段长度字段限制注释CkdbhVarchar20Primarykey入库单编号CkdateDatetimeNotnull出库日期UserdeptVarchar70Notnull使用部门UsewhatVarchar100Notnull领料用途ClbhVarchar20Foreignkey材料编号SfslInt20Notnull实发数量LlyVarchar20Notnull领料员JzyVarchar20Notnull记账员BeizhuVarchar100备注材料表字段名字段类型字段长度字段限制注释ClbhVarchar20Primarykey材料编号CnameVarchar20材料名称BeizhuVarchar100备注库存表字段名字段类型字段长度字段限制注释ClbhVarchar20Primarykey材料编号CkhVarchar10Primarykey仓库号KcslInt20Notnull库存数量仓库表4字段名字段类型字段长度字段限制注释CkhVarchar10Primarykey仓库号MaxQuantitiesint20Notnull最大库存向Kcm数据库输入数据如下:材料信息表仓库信息表库存信息表clbhckhkcsl001240000215000031300人员信息表UserbianhaoNamePassWordAdressTelBeizhu081101张三081101河北15031459865仓库管理员081102李四081102河北15986541236发料员081103马武081103河北13789456123领料员081104任思081104北京15986423845记账员出库单信息表CkdbhCkdateUserdeptUsewhatclbhsfslllyjzybeizhuC2010012010-5-23生产部生产产品00145李四马武C2010022010-5-24行政部办公00250李四马武入库单信息表rkdbhckhjhrqghdwrkslclbhjhdjjyyjzyR20100112010-2-23天津红十字厂800011张三李四R20100212010-2-24天津红十字厂800022张三李四四、物理设计阶段五、数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据库语言(如SQL)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。1、创建数据库ClbhCnameBeizhu001塑料002毛坯003钢管Ckh(仓库号)MaxQuantities1200002200003300005createdatabasekcm2、创建数据库中的表(1)创建材料表createtablecailiaobiao(clbhvarchar(20)primarykey,Cnamevarchar(20)notnull,Beizhuvarchar(100),)(2)创建仓库表createtablecangkubiao(ckhvarchar(20)primarykey,MaxQuantitiesint(20)notnull)(3)创建人员表CreatetableRenyuan(Userbianhaovarchar(20)primarykey,Namevarchar(20)notnullunique,PassWordchar(20)notnull,Adresschar(70),Telchar(20),Beizhuchar(200))(4)、创建库存表Createtablekucunbiao(clbhvarchar(20)primarykey,ckhvarchar(20)notnull,kcslnumeric(9)notnull)(5)、创建出库表createtablechukubiao(Ckdbhvarchar(20)primarykey,Ckdatedatetimenotnull,Userdeptvarchar(20)notnull,Usewhatvarchar(70)notnull,clbhvarchar(20)notnull,sfslintnotnull,llyvarchar(20)notnull,jzyvarchar(20)notnull,beizhuvarchar(100))由于出库和入库的建表语句类似,所以在这里略去入库的建表语句。六、数据库运行和维护阶段此阶段主要包括以下四个部分:数据定义:基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除数据操作:数据查询、数据插入、数据更新6数据安全性操作数据完整性操作1、数据查询操作(1)、查询有检验员张三经手的002材料的入库情况select*fromrukubiaowhereclbh='002'andjyy='张三'运行结果:R20100212010-02-2400:00:00.000天津红十字厂800022张三李四NULL(2)、查询库存数量小于500的材料的名字selectCname材料名fromkucunbiao,cailiaobiaowherekucunbiao.clbh=cailiaobiao.clbhandkcsl500运行结果:塑料钢管(3)、查询入库单标号为R201002的材料的现有库存数量(嵌套查询)selectkcsl库存数量fromkucunbiaowhereclbh=(selectclbhfromrukubiaowhererkdbh='R201002')运行结果:500(4)、查询家在河北的仓库工作人员,并按照姓名排序。select*fromRenyuanwhereAdress='河北'orderbyName运行结果:081102李四081102河北15986541236发料员081103马武081103河北13789456123领料员081101张三081101河北15031459865仓库管理员2、创建索引和视图,提高查询效率,保证数据库的安全性。(1)、基于人员表(表名:Renyuan)索引的创建与删除查找约束名:sp_helpRenyuan删除主键约束:altertableRenyuandropconstraintpk_name添加主键约束:altertableRenyuanaddconstraintPK_Renprimarykey(Userbianhao)在Name属性上创建唯一聚簇索引:CreateuniqueclusteredindexUserName_indonRenyuan(Name)删除该索引:DropindexRenyuan.UserName_ind7(2)、创建视图createviewcailiao_kucunasselectcailiaobiao.clbh材料编号,cname材料名称,ckh仓库号,kcsl库存数量fromcailiaobiao,kucunbiaowherecailiaobiao.clbh=kucunbiao.clbh基于已经创建好的视图的查询select材料名称,仓库号,库存数量fromcailiao_kucun运行结果:材料名称仓库号库存数量塑料2400毛坯1500钢管1300删除视图:删除前面定义的cailiao_kucun视图。Dropviewcailiao_kucun3、数据库的安全性(1)、登录账户、数据库用户、数据库角色的创建和删除创建SQLServer身份验证的登录账户任泉、张三、x1、x2EXECsp_addlogin'任思','123','kcm'EXECsp_addlogin'张三','123','kcm'创建数据库用户EXECsp_adduser'张三'EXECsp_adduser’u1’EXECsp_adduser’u2’建立数据库角色EXECsp_addrole‘m1’删除SQLServer身份验证的登录账户’张三’EXECsp_droplogin‘张三’从当前数据库中删除用户’u1’EXECsp_dropuser‘u1’(2)、授权操作把对表kucunbiao的insert,select,update(kcsl)权限授予用户’张三’,并允许他再将此权限授予其他用户。grantinsert,select,update(kcsl)ontablekucunbiaoto张三withgrantoption用户张三登录后,把查询表kucunbiao和修改kcsl属性的权限授给用户u2。grantselect,update(kcsl)ontablekucunbiaotou2把用户张三查询表kucunbiao的权限级联收回。revokeselect8ontablekucunbiaofrom张三cascade4、数据库的完整
本文标题:库存管理数据库模型
链接地址:https://www.777doc.com/doc-1306632 .html