工厂大数据库管理系统-华工大数据库大作业含源文件资料.doc

上传人:夺命阿水 文档编号:16363 上传时间:2022-06-30 格式:DOC 页数:28 大小:451.50KB
返回 下载 相关 举报
工厂大数据库管理系统-华工大数据库大作业含源文件资料.doc_第1页
第1页 / 共28页
工厂大数据库管理系统-华工大数据库大作业含源文件资料.doc_第2页
第2页 / 共28页
工厂大数据库管理系统-华工大数据库大作业含源文件资料.doc_第3页
第3页 / 共28页
工厂大数据库管理系统-华工大数据库大作业含源文件资料.doc_第4页
第4页 / 共28页
工厂大数据库管理系统-华工大数据库大作业含源文件资料.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《工厂大数据库管理系统-华工大数据库大作业含源文件资料.doc》由会员分享,可在线阅读,更多相关《工厂大数据库管理系统-华工大数据库大作业含源文件资料.doc(28页珍藏版)》请在课桌文档上搜索。

1、课程设计任务书课程名称:数据库系统原理设计题目:工厂数据库管理系统技术参数和设计要求:需求说明与要求题目:工厂数据库管理系统一、工厂管理数据库工厂需建立一个管理数据库存储以下信息:*工厂信息包括工厂代号,工厂名,厂长名与工厂运营开销。*一个厂内有多个车间,每个车间有车间号、车间主任某某、地址, 与每个月的车间运营开销。*一个车间有多个工人,每个工人有职工号、某某、年龄、性别,工种与月工资。*一个车间生产多种产品,产品有产品号、产品名、规格,制造本钱和销售价格。*一个车间生产多个零件,一个零件也可能由多个车间制造。零件有零件号、零件名,制造本钱和销售价格。*一个产品由多个零件组成,一个零件也可装

2、配出多种产品。*产品与零件均存入仓库中。*厂内有多个仓库,仓库有仓库号,仓库主任某某、 与仓库的运营本钱。应完成的主要功能:1各种各样的管理功能,如工厂信息的管理功能,包括录入、修改、查询、输出工厂的信息;车间信息的管理功能,包括录入、修改、查询、输出车间的信息;还有工人,零件,产品,仓库等的信息管理功能。(2) 工厂的利润统计,包括月利润和年利润统计。(3) 能输出各种各样的报表,如工人工资月报表,年报表;每个车间生产的产品和零件数量的月报表;仓库存储产品和零件数量的月报表;工厂运营开销和车间运营开销的月报表等。二、开发环境 数据库选用微软的SQL SERVER。开发环境可以选择:1Delp

3、hi; (2)Visual Basic; (3) C+ builder; (4) Visual C+。只选择其中的一种软件开发工具就可以。三、根本要求1完成问题陈述中所提到的所有需求功能2要求撰写不少于2500个文字的文档。3文档中至少要包括:ER模型图、系统功能图、数据字典、表关系的详细说明。4用户界面设计:采用窗口式,色彩要柔和,界面要友好,操作要简单。5用户手册,描述软件系统所具有的功能与根本的使用方法。使用户能了解该软件的用途,并能确定在什么情况下、如何使用它。6操作手册,为操作人员提供该软件每一个运行的具体过程和相关知识,包括操作方法的细节等。四、文档格式1、概述 包括项目背景、编写

4、目的、软件定义、开发环境等内容。2、需求分析 问题陈述、需完成的功能摘 要在计算机日益普与的今天,对个人而言假如采用一套行之有效的工厂管理系统来管理生产,会方便许多。对工厂管理部门而言,以前单一的手工检索已不能满足人们的要求,往往是投入了大量的人力和财力却得不到高效的管理效率。为了便于工厂产品和职工的管理,需要有效的工厂管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高产品生产信息管理效率的目的。采用数据库技术生成的工厂管理系统将会极大地方便了工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。基于这个问题,开发了

5、工厂数据库管理系统。本文通过作者设计和开发一个中小型工厂管理系统的实践,阐述了工厂数据库管理软件中所应具有的根本功能、设计、实现。分别从设备管理和用户管理等角度进展处理,并对需求分析、概念设计、逻辑设计、物理设计、数据库实施和维护进展了阐述,实行设备管理的计算机自动化。关键字:工厂数据库 职工管理 生产管理目录1. 本论文的目标与任务12. 数据库设计1 2.1 需求分析阶段1 2.2 概念设计阶段2 2.3 逻辑设计阶段3 2.4 物理设计阶段3 2.5 数据库安全与维护设计5 2.6 数据库实施阶段6 建立数据库、数据表、索引6 数据入库91621参考文献221本论文的目标与任务建立一个某

6、工厂管理数据库存储以下信息:1、 工厂包括厂名和厂长名。2、 一个厂内有多个车间,每个车间有车间号、车间主任某某、地址和 。3、 一个车间有多个工人,每个工人有职工号、某某、年龄、性别和工种。4、 一个车间生产多种产品,产品有产品号、产品名称和价格。5、 一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、重量和价格。6、 一个产品由多种零件组成,一种零件也可装配出多种产品。7、 产品与零件均存入仓库中。8、 厂内有多个仓库,仓库有仓库号、仓库主任某某和 。针对各工厂信息管理情况,设计出适合它们的计算机辅助工厂数据库管理系统。实现对工厂产品和职工根本信息进展计算机辅助管理,完成有

7、关信息的记录、修改、查询、删除等一系列任务的计算机管理与实现。系统有对产品、零件、车间和职工等信息的管理,其功能是实现对各局部数据内容进展添加、修改、查询等操作。2数据库设计1对象处理:工厂信息:厂名、厂长名。车间信息:车间号、车间主任某某、地址和 。职工信息:职工号、某某、年龄、性别和工种。产品信息:产品号、产品名称和价格。零件信息:零件号、重量和价格。仓库信息:仓库号、仓库主任某某和 。2功能与要求:能对一定量的工厂信息进展管理,主要包括:存储管理工厂信息,修改和查询工厂信息以与管理职工和工作人员信息。系统安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上

8、的安全性,再通过用户授权机制,通过用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全某某功能。近而可以满足用户的根本数据安全性要求。完整性要求用于描述各种信息之间的制约关系,以与关联关系,各个数据项的取值X围以与各个数据项是否可以不取值。根据实际需要,采取一定的手段来满足用户的完整性需求。 -1- 3数据结构数据结构名数据结构含义组成 fac 工厂根本信息Fname, fn_name room 车间根本信息RnoRname RaddrRcallworker 工人根本信息WnoWnameWageWsexWtype product 产品根本信息PnoPnamePrice p

9、onent 零件根本信息oweigtPrice store 仓库根本信息SnoSnameScall2.2 概念设计阶段1实体通过对上面的系统总体分析,可以得到大概的实体-关系模型E-R模型,如下:工厂:厂名,厂长名工人:职工号,某某,性别,年龄,工种 车间:车间号,车间主任某某,地址, 产品:产品号,价格,产品名 零件:零件号,价格,重量仓库:仓库号,仓库主任某某, 2由各子E-R合并得到的根本E-R如如下图所示:-2-根据上面的数据库ER图,现在需要将上面的数据库概念结构转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以与实体之间关系的根底上,形成数据库中的表格以与

10、各个表格之间的关系。实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系如此有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以与联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,如此与该联系相连的各实体的码以与联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系

11、相连的各实体的码以与联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。工厂(厂名, 厂长名)车间(车间号,车间主任某某,地址, )工人(职工号,某某,年龄,性别,工种)产品(产品号,产品名称,价格)零件(零件号,重量,价格)仓库(仓库号,仓库主任某某, )生产(车间号,零件号,生产日期)组装(产品号,零件号,组装数)存入(仓库号, 产品号,零件号,存储量)2.4 物理结构设计操作环境 windows 2KS ,SQL 2000数据库系统.确定数据库与表的名称与其组成:建立

12、数据库create database factory,数据库名称factory工厂数据库数据说明处理: store仓库fac工厂,room车间worker工人, -3-product产品,ponent零件,room_零件与车间的联系pro_零件与产品的联系,_str零件与仓库的联系pro_str产品与仓库的联系;根本表的组成: 表2.1 根本表数据结构含义组成 fac 工厂根本信息Fname, fn_name room 车间根本信息Rno ,Rname, Raddr, Rcallworker 工人根本信息Wno,Wname,Wage,Wsex,Wtype product 产品根本信息Pno,

13、Pname, Price ponent 零件根本信息o, weigt, Price store 仓库根本信息Sno, Sname, Scall room_ 零件与车间的联系Rno, o,Stime pro_ 零件与产品的联系Pno, o, number _str 零件与仓库的联系o, Sno, Strnum1 pro_str 产品与仓库的联系Pno, Sno, Strnum2 列名数据类型能否空值默认值键/索引说明fnamevarchar(20)否主键、索引厂名fn_namevarchar(20)否厂长名 列名数据类型能否空值默认值键/索引说明Rnovarchar10否主键、索引车间号Rnam

14、evarchar20否车间主任某某Raddrvarchar20否车间地址Rcall int否 列名数据类型能否空值默认值键/索引说明ovarchar10否主键、索引零件号weight int否重量Pricenumeric(5,1) 否价格 列名数据类型能否空值默认值键/索引说明Wnovarchar10否主键、索引 职工号Wnamevarchar20否某某Wage int否年龄Wsexvarchar2否性别Wtypevarchar20否 工种 列名数据类型能否空值默认值键/索引 说明Pnovarchar10否主键、索引产品号Pnamevarchar20否产品名称Pricenumeric(5,1)

15、 否价格 -4- 列名数据类型能否空值默认值键/索引说明Snovarchar10否主键、索引仓库号Snamevarchar20否仓库主任某某Scall int否仓库 列名数据类型能否空值默认值键/索引说明Rnovarchar10否主键车间号 ovarchar10否主键零件号 Stimedatetime否生产日期 列名数据类型能否空值默认值键/索引说明 Pnovarchar10否主键产品号 ovarchar10否主键零件号 numberint否组装数 列名数据类型能否空值默认值键/索引说明 Snovarchar10否主键仓库号 ovarchar10否主键零件号 Pnovarchar10否主键产品

16、号Strnum1Int否零件存放量Strnum2int否产品存放量建立索引:索引中记录了表中的关键值,提供了指向表中行的指针。它既可以在定义表时创建,也可以在定义表之后的任何时候创建。索引可以创建在一个列或多个列的组合上。1、在车间信息表车间号列上创建索引create index roomRno on room(Rno)2、在车间信息表的车间主任某某列上创建索引create index roomRname on room(Rname)为数据库中各根本表建立的索引如下:由于有的根本表经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;2.5 数据库安全与维护设计

17、1在数据库fac中添加新用户xcm.use factoryexec sp_grantdbaccess yangkun,xcm2创建登录名,添加角色exec sp_addlogin yangkun ,1234,factoryexec sp_addsrvrolemember yangkun ,sysadmin -5-3授权与根本表grant select,updateon productto xcm;grant all privileges on workerto xcm;grant all privileges on ponentto xcm;grant all privileges on st

18、oreto xcm;grant all privileges on roomto xcm;4创建视图create view IS_storeasselect Sno,Sname,Scallfrom storecreate view IS_workerasselect Wno,Wname,Wsexfrom workerwhere Wsex=女create view IS_productasselect Pno,Pname,Pricefrom productwhere Pno=12.6 数据库实施阶段建立数据库、数据表、索引 -6-1建立数据库create database factoryon p

19、rimary(name=factory_data,filename=d:cxmfactory.mdf,size=50MB,maxsize=70MB,filegrowth=1MB)log on(name=factory_log,filename=d:cxmfactory.ldf,size=10MB,maxsize=15MB,filegrowth=1MB)2创建根本表创建工厂表create table fac(fname varchar(20) primary key, fn_name varchar(20) not null, );创建车间表create table room(Rno varch

20、ar(10)primary key,Rname varchar(20),Rcall int,Raddr varchar(20),fname varchar(20)not null,foreign key(fname)references fac(fname);创建工人表create table worker(Wno varchar(10) primary key,Wname varchar(20),Wage int,Wsex varchar(2) check(Wsex in (男 , 女),Wtype varchar(20),Rno varchar(10)not null,foreign ke

21、y(Rno)references room(Rno); -7-创建产品表create table product(Pno varchar(10)primary key,Pname varchar(20),Price numeric(5,1) default 0,check(Price0),Rno varchar(10)not null,foreign key(Rno)references room(Rno);创建零件表create table ponent(o varchar(10)primary key,Price numeric(5,1)default 0,check(Price0),we

22、ight int);创建仓库表create table store(Sno varchar(10)primary key,Sname varchar(20),Scall int,fname varchar(20)not null,foreign key(fname)references fac(fname);创建生产表create table room_(Rno varchar(10) not null, o varchar(10) not null,Stime datetime, primary key(Rno,o), foreign key(Rno)references room(Rno)

23、, foreign key(o)references ponent(o);创建组装表create table pro_(o varchar(10) not null,Pno varchar(10) not null,number int, primary key(Pno,o), foreign key(Pno)references product(Pno), foreign key(o)references ponent(o); -8-创建存放表1create table pro_str(Pno varchar(10) not null, Sno varchar(10) not null,St

24、rnum1 int, primary key(Pno,Sno), foreign key(Pno)references product(Pno), foreign key(Sno)references store(Sno);创建存放表2create table _str(o varchar(10) not null, Sno varchar(10) not null,Strnum2 int, primary key(o,Sno), foreign key(o)references ponent(o), foreign key(Sno)references store(Sno);3创建索引cre

25、ate index roomRno on room(Rno)create index roomRname on room(Rname)create index proPno on product(Pno)create index facfneme on fac(fname)create index o on ponent(o)create index strSno on store(Sno)数据入库1存储过程create proc worker(Wno varchar(10),Wname varchar(20),Wage int,Wsex varchar(2),Wtype varchar(20

26、),Rno varchar(10)asinsert into workervalues(Wno,Wname,Wage,Wsex,Wtype,Rno); -9-create proc room(Rno varchar(10),Rname varchar(20),Rcall int,Raddr char(8),fname varchar(20)asinsert into roomvalues(Rno, Rname,Rcall,Raddr,fname);create proc product1(Pno varchar(10),Pname varchar(20),Price numeric(5,1),

27、Rno varchar(10)asinsert into productvalues(Pno,Pname,Price,Rno);create proc ponent1(o varchar(10),Price float,weight float,)asinsert into ponentvalues(o,Price,weight);create proc store1(Sno varchar(10),Sname varchar(20),Scall int,fname varchar(20)asinsert -10-into storevalues(Sno,Sname,Scall,fname);

28、create proc fac1(fname varchar(20),fn_name varchar(20)asinsert into facvalues(fname,fn_name );create proc room_1(Rno varchar(10),o varchar(10),stime datetime)asinsert into room_values(Rno,o,stime);create proc pro_1(o varchar(10),Pno varchar(10),number int)asinsert into pro_values(o,Pno,number);creat

29、e proc pro_str1(Pno varchar(10),Sno varchar(10),Strnum1 int)asinsert into pro_strvalues(Pno,Sno,Strnum1); -11-create proc _str1(o varchar(10),Sno varchar(10),Strnum2 int)asinsert into _strvalues(o,Sno,Strnum2);2存储数据execfac1fname=奔驰 ,fn_name=X磊execroom1Rno=1,Rname=X基,Rcall=4254357,Raddr=某某,fname=奔驰ex

30、ecroom1Rno=2,Rname=X择机,Rcall=4250046,Raddr=株洲,fname=奔驰execworker1Wno=102,Wname=X雄峰 ,Wage=40 ,Wsex=男 ,Wtype=搬运工,Rno=1 execworker1 -12-Wno=103,Wname=X芸 ,Wage=21 ,Wsex=女 ,Wtype=经理,Rno=2 execworker1Wno=101,Wname=X凡 ,Wage=21 ,Wsex=女 ,Wtype=前台接待,Rno=1 execworker1Wno=104,Wname=黄晓明 ,Wage=27 ,Wsex=男 ,Wtype=技

31、术人员,Rno=2 execproduct1Pno=201 ,Pname=轮胎 ,Price=500,Rno=1 exec product1Pno=202 ,Pname=引擎 ,Price=9584.1,Rno=2 exec product1Pno=203 ,Pname=挡风玻璃 , -13-Price=1584.1,Rno=1 execproduct1Pno=204 ,Pname=奔驰摩托 ,Price=9999.9,Rno=1exec product1Pno=205 ,Pname=奔驰货车 ,Price=9999.0,Rno=2execponent1o=c1002 ,Price=6520

32、,weight=200 execponent1o=c1001 ,Price=520 ,weight=10 execponent1o=c1003 ,Price=925 ,weight=150 execponent1o=c1004 ,Price=654 ,weight=100 execstore1 -14-Sno=101 ,Sname=X羽琦 ,Scall=6991431 ,fname=奔驰execstore1Sno=102 ,Sname=吉鹏 ,Scall=6991254 ,fname=奔驰execroom_1Rno=1 ,o=c1002,stime=2009-05-26execroom_1Rn

33、o=2 ,o=c1003,stime=2009-06-01execpro_1o=c1002,Pno=204,number=45execpro_1o=c1004,Pno=201,number=89execpro_1o=c1001,Pno=202,number=124exec -15-pro_str1Pno=201 ,Sno=101 ,Strnum1=345exec pro_str1Pno=203 ,Sno=102 ,Strnum1=1254exec_str1o=c1001,Sno=102,Strnum2=458exec_str1o=c1004,Sno=101,Strnum2=1461exec_s

34、tr1o=c1002,Sno=101,Strnum2=1852exec_str1o=c1003,Sno=102,Strnum2=2541工厂表 表3.1 车间表 表3.2 -16- 零件表 表3.3 产品表 表3.4 工人表 表3.5 仓库表 存放表 存放表 组装表 -17- 生产表 插入零件号=c1005结果截图insert into ponent(o,price,weight)values(c1005,98,695)查询产品信息select Pno,Pname,Pricefrom product查在某某生产地产品名称和产品价格select Pname,Pricefrom product,r

35、oomwhere product.Rno=room.Rno and room.Raddr=某某 -18-把产品号为203的产品改成车头update productset Pname=车头where Pno=203select *from product删除零件号为c1005的零件信息deletefrom ponentwhere o=c1005update ponentwhere weight100 -19-创建用户use factoryexec sp_grantdbaccess yangkun,xcm创建的视图 图3.2 -20- 这次课程设计加深了我对数据库系统概论相关知识和SQL SERVER相关功能的理解。例如对建立根本表、视图、索引等,都比以前更加的熟练。并在解决遇到的各种问题的过程中,学到了很多新的知识。比如在导入导出数据时,由于外键约束的存在,经常会出现错误,这就要注意各个表导入的顺序问题。一般是先导入主键表,后导入外键表,这样可以防止很多的错误。另外我还充分体会了从事软件开发工作需要特别严谨认真的态度和作风,一点都马虎不得。每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。有时候,我自己觉得我写的程序非常的正确,但是就是编译通

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号