数据库课程设计工厂数据库_第1页
数据库课程设计工厂数据库_第2页
数据库课程设计工厂数据库_第3页
数据库课程设计工厂数据库_第4页
数据库课程设计工厂数据库_第5页
已阅读5页,还剩32页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计指导书 课程设计名称 数据库系统原理课程设计 (部) 计算机科学与技术(盖章) 计算机科学与技术 计四 2010 年06月17日 长沙学院课程设计鉴定表 姓名 阳锟 学号 2008021412 专业 计科 班级 4班 设计题目 工厂数据库管理系统 指导教师 朱永娇 指导教师意见: 评定等级:教师签名:日期: 答辩小组意见: 评定等级: 答辩小组长签名: 日期: 教研室意见: 教研室主任签名: 日期: 系(部)意见: 系主任签名: 日期: 说明 课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类; 课程设计任务书 课程名称:数据库系统原理 设计题目:工厂数据库管理系统 已知技术参

2、数和设计要求: 需求说明及要求 题目:工厂数据库管理系统 (难度系数1.4) 某工厂需建立一个管理数据库存储以下信息: 1、工厂包括厂名和厂长名。 2、一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。 3、一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。 4、一个车间生产多种产品,产品有产品号、产品名称和价格。 5、一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、重量和价格 6 个产品由多种零件组成,一种零件也可装配出多种产品。 7、产品与零件均存入仓库中。 8、厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 各阶段具体要求: 1、需求分析阶

3、段 定义数据项的含义和取值 2、概念结构设计阶段 画出实体模型E-R图 3、逻辑结构设计阶段 将实体模型转化为关系模型 给出每个关系的主关键字和函数依赖集 分析你所设计的关系数据库模式是否属于 3NF 4、物理设计阶段 确定所有字段的名称、类型、宽度、小数位数及完整性约束 确定数据库及表的名称及其组成 确定索引文件和索引关键字 5、数据库安全及维护设计阶段 设计一个适合的数据库安全策略(用户身份认证、访问权限、视图) 6实施阶段 要求所有操作必须在查询分析器中用 SQL语句或系统存储过程完成。 设计工作量: (1)软件设计:完成问题陈述中所提到的所有需求功能。 (2)论文:要求撰写不少于300

4、0个文字的文档,详细说明各阶段具体要求。 工作计划: 安排两周时间进行课程设计,软件开发步骤如下,第一周完成14,第二周完成58,论文同步 进行; 1)分组,定题目 2)需求分析 3)概念结构设计 4)逻辑结构设计 5)物理设计 6)数据库安全及维护设计 7)数据库上机实现 8)答辩 计划时间 指导老师 学生 第15周16周 朱永娇 阳锟 朱永娇 阳锟 朱永娇 阳锟 朱永娇 阳锟 注意事项 提交文档 ? 长沙学院课程设计任务书 (每学生 1份) ? 长沙学院课程设计论文 (每学生 1份) ? 长沙学院课程设计鉴定表 (每学生 1份) 指导教师签名: 日期 教研室主任签名: 日期 系主任签名:

5、日期 在计算机日益普及的今天,对个人而言若采用一套行之有效的工厂管理系统来管理生 产,会方便许多。对工厂管理部门而言,以前单一的手工检索已不能满足人们的要求,往 往是投入了大量的人力和财力却得不到高效的管理效率。为了便于工厂产品和职工的管理, 需要有效的工厂管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理 的质量和水平,做到高效、智能化管理,达到提高产品生产信息管理效率的目的。采用数 据库技术生成的工厂管理系统将会极大地方便了工作人员的劳动,使工作人员从繁忙、复 杂的工作进入到一个简单、高效的工作中。基于这个问题,开发了工厂数据库管理系统。 本文通过作者设计和开发一个中小型工厂

6、管理系统的实践,阐述了工厂数据库管理软件中 所应具有的基本功能、设计、实现。分别从设备管理和用户管理等角度进行处理,并对需 求分析、概念设计、逻辑设计、物理设计、数据库实施和维护进行了阐述,实行设备管理 的计算机自动化。 关键字:工厂数据库 职工管理 生产管理 目录 1. 本论文的目标与任务1 2. 数据库设计1 2.1 需求分析阶段1 2.2 概念设计阶段2 2.3 逻辑设计阶段3 2.4 物理设计阶段3 2.5 数据库安全及维护设计5 2.6 数据库实施阶段6 2.6.1 建立数据库、数据表、索引6 2.6.2 数据入库9 3. 系统调试和测试16 4. 课程设计总结21 参考文献22 1

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

8、产品和职工基本信息进行计算机辅助管理,完成有关信息的记录、修改、查询、删除 等一系列任务的计算机管理与实现。 系统有对产品、零件、车间和职工等信息的管理,其功能是实现对各部分数据内容进行 添加、修改、查询等操作。 2 数据库设计 2.1 需求分析阶段 ( 1) 对象处理: 工厂信息:厂名、厂长名。 车间信息:车间号、车间主任姓名、地址和电话。 职工信息:职工号、姓名、年龄、性别和工种。 产品信息:产品号、产品名称和价格。 零件信息:零件号、重量和价格。 仓库信息:仓库号、仓库主任姓名和电话。 ( 2)功能及要求: 能对一定量的工厂信息进行管理,主要包括:存储管理工厂信息,修改和查询工厂信 息以

9、及管理职工和工作人员信息。 系统安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统 数据一定程度上的安全性,再通过用户授权机制,通过用户登陆来识别用户级别,根据这 个级别来分配用户权限,达到数据更高层次的安全保密功能。近而可以满足用户的基本数 据安全性要求。 完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范 围以及各个数据项是否可以不取值。根据实际需要,采取一定的手段来满足用户的完整性 需求。 -1- (3) 数据结构 表2.1 数据结构名 数据结构含义 组成 fac 工厂基本信 息 Fn ame, fn_n ame room 车间基本信 息 Rn

10、o Rn ame Raddr Rcall worker 工人基本信 息 Wno Wname Wage Wsex Wtype product 产品基本信 息 Pno Pn ame Price comp onent 零件基本信 息 Cno weigt Price store 仓库基本信 息 Sno Sn ame Scall 2.2概念设计阶段 (1)实体 通过对上面的系统总体分析,可以得到大概的实体-关系模型(E-R模型),如下: 工厂:厂名,厂长名 工人:职工号,姓名,性别,年龄,工种 车间:车间号,车间主任姓名,地址,电话 产品:产品号,价格,产品名 零件:零件号,价格,重量 仓库:仓库号,仓

11、库主任姓名,电话 (2)由各子E-R合并得到的基本E-R如下图所示: 图2.1 -2- 2.3逻辑结构设计 根据上面的数据库ER图,现在需要将上面的数据库概念结构转化为数据库系统所支持 的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上, 形成数据库中的表格以及各个表格之间的关系。 实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于 实体间的联系则有以下不同的情况: 一个m n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性 均转换为关系的属性,而关系的码为各实体码的组合。 一个1: n联系可以转换为一个独立的关系模式,也可以

12、与n端对应的关系模式合并。如果 转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为 关系的属性,而关系的码为 n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合 并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连 的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的 数据模型相符的逻辑结构,形成逻辑模型。 工厂(厂名,厂长名) 车间(车间号,车间主任姓名,地址,电话) 工人(职工号,姓名,年龄,性

13、别,工种) 产品(产品号,产品名称,价格) 零件(零件号,重量,价格) 仓库(仓库号,仓库主任姓名,电话) 生产(车间号,零件号,生产日期) 组装(产品号,零件号,组装数) 存入(仓库号, 产品号,零件号,存储量) 2.4物理结构设计 操作环境 windows 2KS ,SQL 2000 数据库系统. 确定数据库及表的名称及其组成: 建立数据库create database factory,数据库名称factory (工厂数据库) 数据说明处理: store (仓库)fac (工厂),room (车间)worker (工人), -3- product (产品),component (零件),r

14、oom_com (零件与车间的联系) pro_com (零件与产品的联系),com_str (零件与仓库的联系) pro_str (产品与仓库的联系); 基本表的组成:表2.1 基本表 数据结构含义 组成 fac 工厂基本信息 Fn ame, fn_n ame room 车间基本信息 Rno,Rname, Raddr, Rcall worker 工人基本信息 Wno,Wname,Wage,Wsex,Wty pe product 产品基本信息 Pno, Pn ame, Price comp onent 零件基本信息 Cno, weigt, Price store 仓库基本信息 Sno, Sn a

15、me, Scali room_com 零件与车间的 联系 Rno, Cn o,Stime pro_com 零件与产品的 联系 Pno, Cno, nu mber com_str 零件与仓库的 联系 Cno, Sno, Strnum1 pro_str 产品与仓库的 联系 Pno, Sno, Str num2 工厂表表2.2 列名 数据类型 能否空值 默认值 键/索引 说明 fname varchar(2 0) 否 主键、索引 厂名 fn_n ame varchar(2 0) 否 厂长名 车间表表2.3 列名 数据类型 能否空值 默认值 键/索引 说明 Rno varchar 否 主键、索引 车间

16、号 (10) Rnam varchar 否 车间主任姓名 e (20) Radd varchar 否 车间地址 r (20) Rcal int 否 电话 l 零件表 表2.4 列名 数据类型 能否空值 默认值 键/索引 说明 Cno varchar (10) 否 主键、索引 零件号 weig ht int 否 重量 Pric e nu meric(5 ,1) 否 价格 工人表表2.5 列名 数据类型 能否空值 默认值 键/索引 说明 Wno varchar 否 主键、索引 职工号 (10) Wna varchar 否 姓名 me (20) Wag int 否 年龄 e Wse varchar

17、否 性别 x (2) Wty varchar 否 工种 pe (20) 产品表 表2.6 列名 数据类型 能否空值 默认值 键/索引 说明 Pno varchar (10) 否 主键、索引 产品号 Pnam varchar 否 产品名 e (20) 称 Pric numeric(5 , 1) 否 价格 e -4- 仓库表表2.7 列名 数据类型 能否空值 默认值 键/索引 说明 Sno varchar 否 主键、索引 仓库号 (10) Snam varchar 否 仓库主任姓名 e (20) Scal int 否 仓库电 l 话 生产表表2.8 列名 数据类型 能否空值 默认值 键/索引 说明

18、 Rno varchar (10) 否 主键 车间号 Cno varchar (10) 否 主键 零件号 Stime datetime 否 生产日期 组装表表2.9 列名 数据类型 能否空值 默认值 键/索引 说明 Pno varchar (10) 否 主键 产品号 Cno varchar (10) 否 主键 零件号 nu mber int 否 组装数 存放表表2.10 列名 数据类型 能否空值 默认值 键/索引 说明 Sno varchar 否 主键 仓库号 (10) Cno varchar 否 主键 零件号 (10) Pno varchar 否 主键 产品号 (10) Int 否 零件存放

19、 Str num1 量 int 否 产品存放 Str num2 量 建立索引: 索引中记录了表中的关键值,提供了指向表中行的指针。它既可以在定义表时创建,也 可以在定义表之后的任何时候创建。索引可以创建在一个列或多个列的组合上。 (1)、在车间信息表车间号列上创建索引 create in dex roomR no on room(R no) (2)、在车间信息表的车间主任姓名列上创建索引 create index roomRname on room(Rname) 为数据库中各基本表建立的索引如下: ,在两 由于有的基本表经常在查询条件和连接操作的连接条件中出现, 且它们的值唯 个属性上建立唯一

20、性索引; 2.5 数据库安全及维护设计 ( 1)在数据库 fac 中添加新用户 xcm. use factory exec sp_grantdbaccess yangkun,xcm ( 2)创建登录名,添加角色 exec sp_addlogin yangkun ,1234,factory exec sp_addsrvrolemember yangkun ,sysadmin -5- ( 3)授权与基本表 grant select,update on product to xcm; grant all privileges on worker to xcm; grant all privilege

21、s on component to xcm; grant all privileges on store to xcm; grant all privileges on room to xcm; ( 4)创建视图 create view IS_store as select Sno,Sname,Scall from store create view IS_worker as select Wno,Wname,Wsex from worker where Wsex= 女 create view IS_product as select Pno,Pname,Price from product

22、where Pno=1 2.6 数据库实施阶段 2.6.1 建立数据库、数据表、索引 ( 1)建立数据库 create database factory on primary ( 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

23、fac (fname varchar(20) primary key, fn_name varchar(20) not null, ); 创建车间表 create table room (Rno varchar(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, Wna

24、me varchar(20), Wage int, 女 ), Wsex varchar(2) check(Wsex in ( 男 Wtype varchar(20), Rno varchar(10)not null, foreign key(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, fo

25、reign key(Rno)references room(Rno) 创建零件表 create table component (Cno varchar(10)primary key, Price numeric(5,1)default 0, check(Price0), weight 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

26、) ); 创建生产表 create table room_com (Rno varchar(10) not null, Cno varchar(10) not null, Stime datetime, primary key(Rno,Cno), foreign key(Rno)references room(Rno), foreign key(Cno)references component(Cno) ); 创建组装表 create table pro_com (Cno varchar(10) not null, Pno varchar(10) not null, number int, p

27、rimary key(Pno,Cno), foreign key(Pno)references product(Pno), foreign key(Cno)references component(Cno); -8- 创建存放表 1 create table pro_str (Pno varchar(10) not null, Sno varchar(10) not null, Strnum1 int, primary key(Pno,Sno), foreign key(Pno)references product(Pno), foreign key(Sno)references store(

28、Sno) ); 创建存放表 2 create table com_str (Cno varchar(10) not null, Sno varchar(10) not null, Strnum2 int, primary key(Cno,Sno), foreign key(Cno)references component(Cno), foreign key(Sno)references store(Sno) ); ( 3)创建索引 create index roomRno on room(Rno) create index roomRname on room(Rname) create ind

29、ex proPno on product(Pno) create index facfneme on fac(fname) create index comCno on component(Cno) create index strSno on store(Sno) 2.6.2 数据入库 ( 1)存储过程 create proc worker( Wno varchar(10), Wname varchar(20), Wage int, Wsex varchar(2), Wtype varchar(20), Rno varchar(10) ) as insert into worker valu

30、es(Wno,Wname,Wage, Wsex,Wtype,Rno); -9- create proc room (Rno varchar(10), Rname varchar(20), Rcall int , Raddr char(8) , fname varchar(20) ) as insert into room values(Rno, Rname,Rcall, Raddr,fname); create proc product1 (Pno varchar(10), Pname varchar(20), Price numeric(5,1), Rno varchar(10) ) as

31、insert into product values(Pno,Pname,Price,Rno); create proc component1 (Cno varchar(10), Price float, weight float , ) as insert into component values(Cno,Price,weight); create proc store1 (Sno varchar(10), Sname varchar(20), Scall int, fname varchar(20) ) as insert -10- into store values(Sno,Sname

32、,Scall,fname); create proc fac1 (fname varchar(20), fn_name varchar(20) ) as insert into fac values(fname,fn_name ); create proc room_com1 (Rno varchar(10), Cno varchar(10), stime datetime ) as insert into room_com values(Rno,Cno,stime); create proc pro_com1 (Cno varchar(10), Pno varchar(10), number

33、 int ) as insert into pro_com values(Cno,Pno,number); create proc pro_str1 (Pno varchar(10), Sno varchar(10), Strnum1 int ) as insert into pro_str values(Pno,Sno,Strnum1); -11- create proc com_str1 (Cno varchar(10), Sno varchar(10), Strnum2 int ) as insert into com_str values(Cno,Sno,Strnum2); 2)存储数

34、据 exec fac1 fname 二奔驰: fn_n ame二张磊 exec room1 Rno=1, Rn ame刘基; Rcall=4254357, Raddr=长沙; fname=奔驰 exec room1 Rno=2, Rname刘择机, Rcall=4250046, Raddr=株洲, fname=奔驰 exec worker1 Wno=102, Wname刘雄峰, Wage=40 , Wsex=, Wtype二搬运工, Rno=1 exec worker1 -12- Wno=103, Wname刘芸, Wage=21 , Wsex=女, Wtype=经理: Rno=2 exec

35、worker1 Wno=101, Wname郑凡, Wage=21 , Wsex=女, Wtype二前台接待 Rno=1 exec worker1 Wno=104, Wname黄晓明, Wage=27 , Wsex=, Wtype二技术人员 Rno=2 exec product1 Pno=201 , P name轮胎, Price=500, Rno=1 exec product1 Pno=202 , P name=! I 擎, Price=9584.1, Rno=2 exec product1 Pno=203 , Pn ame挡 风玻璃 -13- Price=1584.1, Rno=1 exe

36、c product1 Pno=204 , Pn ame奔驰摩托 Price=9999.9, Rno=1 exec product1 Pno=205 , Pn ame奔驰货车 Price=9999.0, Rno=2 exec component1 Cno=c1002 , Price=6520 , weight=200 -14- component1 Cno=c1001 , Price=520 , weight=10 exec component1 Cno=c1003 , Price=925 , weight=150 exec component1 Cno=c1004 , Price=654 ,

37、weight=100 exec store1 Sno=101 , Sname刘羽琦, Scall=6991431 , fname=奔驰 exec store1 Sno=102 , Sn ame吉鹏, Scall=6991254 , fname=奔驰 exec room_com1 Rno=1 , Cno=c1002, stime=2009-05-26 exec room_com1 Rno=2 , Cno=c1003, stime=2009-06-01 exec pro_com1 Cno=c1002, Pno=204, number=45 exec pro_com1 Cno=c1004, Pno=

38、201, number=89 exec pro_com1 Cno=c1001, Pno=202, number=124 exec -15- pro_str1 Pno=201 , Sno=101 , Strnum1=345 exec pro_str1 Pno=203 , Sno=102 , Strnum1=1254 exec com_str1 Cno=c1001, Sno=102, Strnum2=458 exec com_str1 Cno=c1004, Sno=101, Strnum2=1461 exec com_str1 Cno=c1002, Sno=101, Strnum2=1852 exec com_str1 Cno=c1003, Sno=102, Strnum2=2541 3. 系统调试和测试 工厂表 车间表 表 3.2 表 3.1 -16- 零件表 表 3.3 产品表 表 3.4 工人表 表 3.5 仓库表 表 3.6 存放表 表 3.7 存放表 表 3.8 组装表 -17- 表 3.9 生产表 表 3.10 插入零件号 =c1005 结果截图 insert into component(Cno,price,weight) values(c10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论