收藏 分销(赏)

库存管理数据库模型.doc

上传人:二*** 文档编号:4711730 上传时间:2024-10-10 格式:DOC 页数:9 大小:114.04KB 下载积分:5 金币
下载 相关 举报
库存管理数据库模型.doc_第1页
第1页 / 共9页
本文档共9页,全文阅读请下载到手机保存,查看更方便
资源描述
库存管理数据库模型 一、需求分析阶段 进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理),需求分析是整个设计过程的基础。 1、信息需求 随着计算机的不断普及和现代管理的发展,库存工作已表现出越来越多的管理问题。库存管理中原来的手工管理方法已不能适应生产实际的需要,造成库存积压、物资较多、反应迟缓、流动资金周转较慢,但是微机数据库是单机操作,信息利用率不高,无法实现资源共享,数据唯一;而且原始凭证繁多,工作效率低,无法适应现代化库存管理的需要。为了及时地掌握库存动态信息,做到资源共享,数据唯一,调节供应与需求的关系,实现库存的最佳控制,加速资金周转;计算机正在逐步代替人力,服务于生产型、销售型等企业里面。为此,就必须先进行库存管理的数据库模型设计。本文设计的数据库模型包括材料的入库和出库,仓库工作人员的权限管理等。 2、处理要求 能够进行数据库的数据定义、数据操纵、数据控制等处理功能。 3、安全性与完整性要求 二、概念结构设计阶段 概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS之外的概念结构模型。 设计数据库kcm,分析实体有:仓库,材料,仓库工作人员;分析具体的联系有:入库,出库;画出E-R图如下: 库存数量 材料 仓库 工作人员 材料编号 材料名称 备注 库存 入库出库 备注 人员编号 姓名 密码 家庭地址 电话 m n m n p 仓库号 仓库名称 最大库存 说明:图中略去了入库出库的属性 三、逻辑结构设计阶段 逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。 E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。 根据实体和联系各自转化为一个关系模式的原则,得到库存管理数据库关系模式以及数据字典如下: 仓库表(仓库号,最大库存) 材料表(材料编号,材料名称,备注) 仓库工作人员(人员编号,姓名,密码,家庭地址,电话,备注) 库存表(材料编号,仓库号,库存数量) 入库表(入库单编号,仓库号,进货日期,供货单位,入库数量,材料编号,进货单价,检验员,记账员) 出库表(出库单编号,仓库号,出库日期,使用部门,领料用途,材料编号,实发数量,领料员,备注) 人员表 字段名 字段类型 字段长度 字段限制 注释 UserName Varchar 20 Primary key 用户名 Name Varchar 20 Not null 用户姓名 PassWord Varchar 20 Not null 密码 Adress Varchar 70 地址 Tel Varchar 20 联系电话 beizhu Varchar 200 备注 入库表 字段名 字段类型 字段长度 字段限制 注释 Rkdbh Varchar 20 Primary key 入库单编号 Ckh Varchar 10 Foreign key 仓库号 Jhrq Datetime Not null 进货日期 Ghdw Varchar 70 Not null 供货单位 Rksl Int 20 Not null 入库数量 Clbh Varchar 20 Foreign key 材料编号 Jhdj Money 20 Not null 进货单价 Jyy Varchar 20 Not null 检验员 Jzy Varchar 20 Not null 记账员 出库表 字段名 字段类型 字段长度 字段限制 注释 Ckdbh Varchar 20 Primary key 入库单编号 Ckdate Datetime Not null 出库日期 Userdept Varchar 70 Not null 使用部门 Usewhat Varchar 100 Not null 领料用途 Clbh Varchar 20 Foreign key 材料编号 Sfsl Int 20 Not null 实发数量 Lly Varchar 20 Not null 领料员 Jzy Varchar 20 Not null 记账员 Beizhu Varchar 100 备注 材料表 字段名 字段类型 字段长度 字段限制 注释 Clbh Varchar 20 Primary key 材料编号 Cname Varchar 20 材料名称 Beizhu Varchar 100 备注 库存表 字段名 字段类型 字段长度 字段限制 注释 Clbh Varchar 20 Primary key 材料编号 Ckh Varchar 10 Primary key 仓库号 Kcsl Int 20 Not null 库存数量 仓库表 字段名 字段类型 字段长度 字段限制 注释 Ckh Varchar 10 Primary key 仓库号 MaxQuantities int 20 Not null 最大库存 向Kcm数据库输入数据如下: Clbh Cname Beizhu 001 塑料 002 毛坯 003 钢管 材料信息表 仓库信息表 Ckh(仓库号) MaxQuantities 1 20000 2 20000 3 30000 库存信息表 clbh ckh kcsl 001 2 400 002 1 500 003 1 300 人员信息表 Userbianhao Name PassWord Adress Tel Beizhu 081101 张三 081101 河北 15031459865 仓库管理员 081102 李四 081102 河北 15986541236 发料员 081103 马武 081103 河北 13789456123 领料员 081104 任思 081104 北京 15986423845 记账员 出库单信息表 Ckdbh Ckdate Userdept Usewhat clbh sfsl lly jzy beizhu C201001 2010-5-23 生产部 生产产品 001 45 李四 马武 C201002 2010-5-24 行政部 办公 002 50 李四 马武 入库单信息表 rkdbh ckh jhrq ghdw rksl clbh jhdj jyy jzy R201001 1 2010-2-23 天津红十字厂 80 001 1 张三 李四 R201002 1 2010-2-24 天津红十字厂 80 002 2 张三 李四 四、物理设计阶段 五、数据库实施阶段 在数据库实施阶段,设计人员运用DBMS提供的数据库语言(如SQL)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 1、创建数据库 create database kcm 2、创建数据库中的表 (1)创建材料表 create table cailiaobiao (clbh varchar(20) primary key, Cname varchar(20) not null, Beizhu varchar(100) , ) (2)创建仓库表 create table cangkubiao (ckh varchar(20) primary key, MaxQuantities int(20) not null ) (3)创建人员表 Create table Renyuan ( Userbianhao varchar(20) primary key, Name varchar(20) not null unique, PassWord char(20) not null, Adress char(70), Tel char(20), Beizhu char(200) ) (4)、创建库存表 Create table kucunbiao ( clbh varchar(20) primary key, ckh varchar(20) not null , kcsl numeric(9) not null ) (5)、创建出库表 create table chukubiao (Ckdbh varchar(20) primary key, Ckdate datetime not null, Userdept varchar(20) not null, Usewhat varchar(70) not null, clbh varchar(20) not null, sfsl int not null, lly varchar(20) not null, jzy varchar(20) not null, beizhu varchar(100) ) 由于出库和入库的建表语句类似,所以在这里略去入库的建表语句。 六、数据库运行和维护阶段 此阶段主要包括以下四个部分: 数据定义:基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除 数据操作:数据查询、数据插入、数据更新 数据安全性操作 数据完整性操作 1、数据查询操作 (1)、查询有检验员张三经手的002材料的入库情况 select * from rukubiao where clbh='002' and jyy='张三' 运行结果: R201002 1 2010-02-24 00:00:00.000 天津红十字厂 80 002 2 张三 李四 NULL (2)、查询库存数量小于500的材料的名字 select Cname 材料名 from kucunbiao,cailiaobiao where kucunbiao.clbh=cailiaobiao.clbh and kcsl <500 运行结果:塑料 钢管 (3)、查询入库单标号为R201002的材料的现有库存数量(嵌套查询) select kcsl 库存数量 from kucunbiao where clbh=( select clbh from rukubiao where rkdbh='R201002') 运行结果:500 (4)、查询家在河北的仓库工作人员,并按照姓名排序。 select * from Renyuan where Adress='河北' order by Name 运行结果: 081102 李四 081102 河北 15986541236 发料员 081103 马武 081103 河北 13789456123 领料员 081101 张三 081101 河北 15031459865 仓库管理员 2、创建索引和视图,提高查询效率,保证数据库的安全性。 (1)、基于人员表(表名:Renyuan)索引的创建与删除 查找约束名:sp_help Renyuan 删除主键约束:alter table Renyuan drop constraint pk_name 添加主键约束:alter table Renyuan add constraint PK_Ren primary key(Userbianhao) 在Name属性上创建唯一聚簇索引: Create unique clustered index UserName_ind on Renyuan (Name) 删除该索引:Drop index Renyuan.UserName_ind (2)、创建视图 create view cailiao_kucun as select cailiaobiao.clbh 材料编号,cname 材料名称,ckh 仓库号,kcsl 库存数量 from cailiaobiao,kucunbiao where cailiaobiao.clbh=kucunbiao.clbh 基于已经创建好的视图的查询 select 材料名称,仓库号,库存数量 from cailiao_kucun 运行结果: 材料名称 仓库号 库存数量 塑料 2 400 毛坯 1 500 钢管 1 300 删除视图:删除前面定义的cailiao_kucun视图。 Drop view cailiao_kucun 3、数据库的安全性 (1)、登录账户、数据库用户、数据库角色的创建和删除 创建SQLServer身份验证的登录账户任泉、张三、x1、x2 EXEC sp_addlogin '任思','123','kcm' EXEC sp_addlogin '张三','123','kcm' 创建数据库用户 EXEC sp_adduser '张三' EXEC sp_adduser ’u1’ EXEC sp_adduser ’u2’ 建立数据库角色 EXEC sp_addrole ‘m1’ 删除SQLServer身份验证的登录账户 ’张三’ EXEC sp_droplogin ‘张三’ 从当前数据库中删除用户 ’u1’ EXEC sp_dropuser ‘u1’ (2)、授权操作 把对表kucunbiao的insert,select,update(kcsl)权限授予用户’张三’,并允许他再将此权限授予其他用户。 grant insert,select,update(kcsl) on table kucunbiao to 张三 with grant option 用户张三登录后,把查询表kucunbiao和修改kcsl属性的权限授给用户u2。 grant select,update(kcsl) on table kucunbiao to u2 把用户张三查询表kucunbiao的权限级联收回。 revoke select on table kucunbiao from 张三 cascade 4、数据库的完整性 对于chukubiao表:clbh的值应该在0和20000之间: create table chukubiao (Ckdbh varchar(20) primary key, Ckdate datetime not null, Userdept varchar(20) not null, Usewhat varchar(70) not null, clbh varchar(20) not null, sfsl int not null, lly varchar(20) not null, jzy varchar(20) not null, beizhu varchar(100) foreign key(clbh) references cailiaobiao(clbh) on delete cascade on update cascade, check (sfsl >0 and sfsl <=20000 ) ) 七、问题总结 1、必须首先创建数据库,在相对应的数据库下创建各个表,建表的时候,注意要先建立由实体转化过来的关系二维表,再建立设置外键的表。 2、SQLServer查询分析器中不区分大小写。 3、标准SQL与嵌套SQL的区别: 虽然嵌套SQL以分号结束,但是在标准SQL语句中以分号结束时,也没有错误信息的提示。 4、在进行授权操作时,必须先创建用户。 5、在创建索引时,如果已经设定主键,就不能在创建聚簇索引了。如果非要创建的话,就需要先查找出相应的约束名,然后将其删除,才可创建。 2010年读书节活动方案 一、     活动目的: 书是人类的朋友,书是人类进步的阶梯!为了拓宽学生的知识面,通过开展“和书交朋友,遨游知识大海洋”系列读书活动,激发学生读书的兴趣,让每一个学生都想读书、爱读书、会读书,从小养成热爱书籍,博览群书的好习惯,并在读书实践活动中陶冶情操,获取真知,树立理想! 二、活动目标: 1、通过活动,建立起以学校班级、个人为主的班级图书角和个人小书库。 2、通过活动,在校园内形成热爱读书的良好风气。 3、通过活动,使学生养成博览群书的好习惯。 4、通过活动,促进学生知识更新、思维活跃、综合实践能力的提高。 三、活动实施的计划 1、 做好读书登记簿 (1) 每个学生结合实际,准备一本读书登记簿,具体格式可让学生根据自己喜好来设计、装饰,使其生动活泼、各具特色,其中要有读书的内容、容量、实现时间、好词佳句集锦、心得体会等栏目,高年级可适当作读书笔记。 (2) 每个班级结合学生的计划和班级实际情况,也制定出相应的班级读书目标和读书成长规划书,其中要有措施、有保障、有效果、有考评,简洁明了,易于操作。 (3)中队会组织一次“读书交流会”展示同学们的读书登记簿并做出相应评价。 2、 举办读书展览: 各班级定期举办“读书博览会”,以“名人名言”、格言、谚语、经典名句、“书海拾贝”、“我最喜欢的___”、“好书推荐”等形式,向同学们介绍看过的新书、好书、及书中的部分内容交流自己在读书活动中的心得体会,在班级中形成良好的读书氛围。 3、 出读书小报: 9
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服