data课程设计.docx
- 文档编号:11708220
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:28
- 大小:231.50KB
data课程设计.docx
《data课程设计.docx》由会员分享,可在线阅读,更多相关《data课程设计.docx(28页珍藏版)》请在冰点文库上搜索。
data课程设计
2013-2014学年度第一学期大作业
课程名称:
数据库
任课教师:
作业题目:
工厂数据库管理系统
姓 名:
学号:
专业:
计算机科学与技术
教学中心:
华南理工深圳宝安教学中心
联系电话:
评审日期__________成绩_________评审教师(签名)__________
华南理工大学网络教育学院
摘要
在计算机日益普及的今天,对个人而言若采用一套行之有效的工厂管理系统来管理生产,会方便许多。
对工厂管理部门而言,以前单一的手工检索已不能满足人们的要求,往往是投入了大量的人力和财力却得不到高效的管理效率。
为了便于工厂产品和职工的管理,需要有效的工厂管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高产品生产信息管理效率的目的。
采用数据库技术生成的工厂管理系统将会极大地方便了工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。
基于这个问题,在windowsxp下开发了工厂数据库管理系统。
本文通过作者设计和开发一个中小型工厂管理系统的实践,阐述了工厂数据库管理软件中所应具有的基本功能、设计、实现。
分别从设备管理和用户管理等角度进行处理,并对需求分析、概念设计、逻辑设计、物理设计、数据库实施和维护进行了阐述,实行设备管理的计算机自动化。
关键字:
工厂数据库职工管理生产管理
目录
1.本论文的目标与任务····································································3
2.数据库设计················································································3
2.1需求分析阶段·······································································5
2.2概念设计阶段·······································································6
2.3逻辑设计阶段·······································································7
2.4物理设计阶段·······································································8
2.5数据库安全及维护设计···························································10
2.6数据库实施阶段·····································································6
2.7建立数据库、数据表、索引·····················································15
3.系统调试和测试···········································································16
4.课程设计总结···············································································20
参考文献·······················································································21
1本论文的目标与任务
建立一个某工厂管理数据库存储以下信息:
1、工厂包括厂名和厂长名。
2、一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。
3、一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。
4、一个车间生产多种产品,产品有产品号、产品名称和价格。
5、一个车间生产多种零件,一个零件也可能为多个车间制造。
零件有零件号、重量和价格。
6、一个产品由多种零件组成,一种零件也可装配出多种产品。
7、产品与零件均存入仓库中。
8、厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。
针对各工厂信息管理情况,设计出适合它们的计算机辅助工厂数据库管理系统。
实现对工厂产品和职工基本信息进行计算机辅助管理,完成有关信息的记录、修改、查询、删除等一系列任务的计算机管理与实现。
系统有对产品、零件、车间和职工等信息的管理,其功能是实现对各部分数据内容进行添加、修改、查询等操作。
2数据库设计
2.1需求分析阶段
(1)对象处理:
工厂信息:
厂名、厂长名。
车间信息:
车间号、车间主任姓名、地址和电话。
职工信息:
职工号、姓名、年龄、性别和工种。
产品信息:
产品号、产品名称和价格。
零件信息:
零件号、重量和价格。
仓库信息:
仓库号、仓库主任姓名和电话。
(2)功能及要求:
能对一定量的工厂信息进行管理,主要包括:
存储管理工厂信息,修改和查询工厂信息以及管理职工和工作人员信息。
系统安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过用户授权机制,通过用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。
近而可以满足用户的基本数据安全性要求。
完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以不取值。
根据实际需要,采取一定的手段来满足用户的完整性需求。
-1-
(3)数据结构
表2.1
数据结构名
数据结构含义
组成
fac
工厂基本信息
Fname,fn_name
room
车间基本信息
RnoRnameRaddrRcall
worker
工人基本信息
WnoWnameWageWsexWtype
product
产品基本信息
PnoPnamePrice
component
零件基本信息
CnoweigtPrice
store
仓库基本信息
SnoSnameScall
2.2概念设计阶段
(1)实体
通过对上面的系统总体分析,可以得到大概的实体-关系模型(E-R模型),如下:
工厂:
{厂名,厂长名}
工人:
{职工号,姓名,性别,年龄,工种}
车间:
{车间号,车间主任姓名,地址,电话}
产品:
{产品号,价格,产品名}
零件:
{零件号,价格,重量}
仓库:
{仓库号,仓库主任姓名,电话}
(2)由各子E-R合并得到的基本E-R如下图所示:
图2.1
-2-
2.3逻辑结构设计
根据上面的数据库ER图,现在需要将上面的数据库概念结构转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
实体型转换为关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合
逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。
工厂(厂名,厂长名)
车间(车间号,车间主任姓名,地址,电话)
工人(职工号,姓名,年龄,性别,工种)
产品(产品号,产品名称,价格)
零件(零件号,重量,价格)
仓库(仓库号,仓库主任姓名,电话)
生产(车间号,零件号,生产日期)
组装(产品号,零件号,组装数)
存入(仓库号,产品号,零件号,存储量)
2.4物理结构设计
操作环境windows2KS,SQL2000数据库系统.
确定数据库及表的名称及其组成:
建立数据库createdatabasefactory,数据库名称factory(工厂数据库)
数据说明处理:
store(仓库)fac(工厂),room(车间)worker(工人),
-3-
product(产品),component(零件),room_com(零件与车间的联系)
pro_com(零件与产品的联系),com_str(零件与仓库的联系)
pro_str(产品与仓库的联系);
基本表的组成:
表2.1
基本表
数据结构含义
组成
fac
工厂基本信息
Fname,fn_name
room
车间基本信息
Rno,Rname,Raddr,Rcall
worker
工人基本信息
Wno,Wname,Wage,Wsex,Wtype
product
产品基本信息
Pno,Pname,Price
component
零件基本信息
Cno,weigt,Price
store
仓库基本信息
Sno,Sname,Scall
room_com
零件与车间的联系
Rno,Cno,Stime
pro_com
零件与产品的联系
Pno,Cno,number
com_str
零件与仓库的联系
Cno,Sno,Strnum1
pro_str
产品与仓库的联系
Pno,Sno,Strnum2
工厂表表2.2
列名
数据类型
能否空值
默认值
键/索引
说明
fname
varchar(20)
否
主键、索引
厂名
fn_name
varchar(20)
否
厂长名
车间表表2.3
列名
数据类型
能否空值
默认值
键/索引
说明
Rno
varchar(10)
否
主键、索引
车间号
Rname
varchar(20)
否
车间主任姓名
Raddr
varchar(20)
否
车间地址
Rcall
int
否
电话
零件表表2.4
列名
数据类型
能否空值
默认值
键/索引
说明
Cno
varchar(10)
否
主键、索引
零件号
weight
int
否
重量
Price
numeric(5,1)
否
价格
工人表表2.5
列名
数据类型
能否空值
默认值
键/索引
说明
Wno
varchar(10)
否
主键、索引
职工号
Wname
varchar(20)
否
姓名
Wage
int
否
年龄
Wsex
varchar
(2)
否
性别
Wtype
varchar(20)
否
工种
产品表表2.6
列名
数据类型
能否空值
默认值
键/索引
说明
Pno
varchar(10)
否
主键、索引
产品号
Pname
varchar(20)
否
产品名称
Price
numeric(5,1)
否
价格
-4-
仓库表表2.7
列名
数据类型
能否空值
默认值
键/索引
说明
Sno
varchar(10)
否
主键、索引
仓库号
Sname
varchar(20)
否
仓库主任姓名
Scall
int
否
仓库电话
生产表表2.8
列名
数据类型
能否空值
默认值
键/索引
说明
Rno
varchar(10)
否
主键
车间号
Cno
varchar(10)
否
主键
零件号
Stime
datetime
否
生产日期
组装表表2.9
列名
数据类型
能否空值
默认值
键/索引
说明
Pno
varchar(10)
否
主键
产品号
Cno
varchar(10)
否
主键
零件号
number
int
否
组装数
存放表表2.10
列名
数据类型
能否空值
默认值
键/索引
说明
Sno
varchar(10)
否
主键
仓库号
Cno
varchar(10)
否
主键
零件号
Pno
varchar(10)
否
主键
产品号
Strnum1
Int
否
零件存放量
Strnum2
int
否
产品存放量
建立索引:
索引中记录了表中的关键值,提供了指向表中行的指针。
它既可以在定义表时创建,也可以在定义表之后的任何时候创建。
索引可以创建在一个列或多个列的组合上。
(1)、在车间信息表车间号列上创建索引
createindexroomRnoonroom(Rno)
(2)、在车间信息表的车间主任姓名列上创建索引
createindexroomRnameonroom(Rname)
为数据库中各基本表建立的索引如下:
由于有的基本表经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;
2.5数据库安全及维护设计
(1)在数据库fac中添加新用户xcm.
usefactory
execsp_grantdbaccess'yangkun','xcm'
(2)创建登录名,添加角色
execsp_addlogin'yangkun','1234','factory'
execsp_addsrvrolemember'yangkun','sysadmin'
-5-
(3)授权与基本表
grantselect,update
onproduct
toxcm;
grantallprivileges
onworker
toxcm;
grantallprivileges
oncomponent
toxcm;
grantallprivileges
onstore
toxcm;
grantallprivileges
onroom
toxcm;
(4)创建视图
createviewIS_store
as
selectSno,Sname,Scall
fromstore
createviewIS_worker
as
selectWno,Wname,Wsex
fromworker
whereWsex='女'
createviewIS_product
as
selectPno,Pname,Price
fromproduct
wherePno=1
2.6数据库实施阶段
2.6.1建立数据库、数据表、索引
-6-
(1)建立数据库
createdatabasefactory
onprimary
(
name=factory_data,
filename='d:
\cxm\factory.mdf',
size=50MB,
maxsize=70MB,
filegrowth=1MB)
logon(
name=factory_log,
filename='d:
\cxm\factory.ldf',
size=10MB,
maxsize=15MB,
filegrowth=1MB)
(2)创建基本表
创建工厂表
createtablefac
(fnamevarchar(20)primarykey,
fn_namevarchar(20)notnull,
);
创建车间表
createtableroom
(Rnovarchar(10)primarykey,
Rnamevarchar(20),
Rcallint,
Raddrvarchar(20),
fnamevarchar(20)notnull,
foreignkey(fname)referencesfac(fname)
);
创建工人表
createtableworker
(Wnovarchar(10)primarykey,
Wnamevarchar(20),
Wageint,
Wsexvarchar
(2)check(Wsexin(‘男’,‘女’)),
Wtypevarchar(20),
Rnovarchar(10)notnull,
foreignkey(Rno)referencesroom(Rno)
);-7-
创建产品表
createtableproduct
(Pnovarchar(10)primarykey,
Pnamevarchar(20),
Pricenumeric(5,1)default0,
check(Price>0),
Rnovarchar(10)notnull,
foreignkey(Rno)referencesroom(Rno)
);
创建零件表
createtablecomponent
(Cnovarchar(10)primarykey,
Pricenumeric(5,1)default0,
check(Price>0),
weightint
);
创建仓库表
createtablestore
(Snovarchar(10)primarykey,
Snamevarchar(20),
Scallint,
fnamevarchar(20)notnull,
foreignkey(fname)referencesfac(fname)
);
创建生产表
createtableroom_com
(Rnovarchar(10)notnull,
Cnovarchar(10)notnull,
Stimedatetime,
primarykey(Rno,Cno),
foreignkey(Rno)referencesroom(Rno),
foreignkey(Cno)referencescomponent(Cno)
);
创建组装表
createtablepro_com
(Cnovarchar(10)notnull,
Pnovarchar(10)notnull,
numberint,
primarykey(Pno,Cno),
foreignkey(Pno)referencesproduct(Pno),
foreignkey(Cno)referencescomponent(Cno));
-8-
创建存放表1
createtablepro_str
(Pnovarchar(10)notnull,
Snovarchar(10)notnull,
Strnum1int,
primarykey(Pno,Sno),
foreignkey(Pno)referencesproduct(Pno),
foreignkey(Sno)referencesstore(Sno)
);
创建存放表2
createtablecom_str
(Cnovarchar(10)notnull,
Snovarchar(10)notnull,
Strnum2int,
primarykey(Cno,Sno),
foreignkey(Cno)referencescomponent(Cno),
foreignkey(Sno)referencesstore(Sno)
);
(3)创建索引
createindexroomRnoonroom(Rno)
createindexroomRnameonroom(Rname)
createindexproPnoonproduct(Pno)
createindexfacfnemeonfac(fname)
createindexcomCnooncomponent(Cno)
createindexstrSnoonstore(Sno)
2.6.2数据入库
(1)存储过程
createprocworker(
@Wnovarchar(10),
@Wnamevarchar(20),
@Wageint,
@Wsexvarchar
(2),
@Wtypevarchar(20),
@Rnovarchar(10)
)
as
insert
intoworker
values(@Wno,@Wname,@Wage,
@Wsex,@Wtype,@Rno);
-9-
createprocroom
(@Rnovarchar(10),
@Rnamevarchar(20),
@Rcallint,
@Raddrchar(8),
@fnamevarchar(20)
)
as
insert
intoroom
values(@Rno,@Rname,@Rcall,
@Raddr,@fname);
createprocproduct1
(@Pnovarchar(10),
@Pnamevarchar(20),
@Pricenumeric(5,1),
@Rnovarchar(10)
)
as
insert
intoproduct
values(@Pno,@Pname,@Price,@Rno);
createproccomponent1
(@Cnovarchar(10),
@Pricefloat,
@weightfloat,
)
as
insert
intocomponent
values(@Cno,@Price,@weight);
createprocstore1
(@Snovarchar(10),
@Snamevarch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- data 课程设计