版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长沙学院课程设计指导书课程设计名称数据库系统原理课程设计系(部)计算机科学与技术(盖章)专业计算机科学与技术班级计四2023年06长沙学院课程设计鉴定表姓名阳锟学号专业计科班级4班设计题目工厂数据库管理系统指导教师朱永娇指导教师意见:评估等级:教师署名:日期:答辩小组意见:评估等级:答辩小组长署名:日期:教研室意见:教研室主任署名:日期:系(部)意见:系主任署名:日期:说明课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;课程设计任务书课程名称:数据库系统原理设计题目:工厂数据库管理系统已知技术参数和设计规定:需求说明及规定题目:工厂数据库管理系统(难度系数1.4)某工厂需建立一个管理数据库存储以下信息:工厂涉及厂名和厂长名。一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。一个车间生产多种产品,产品有产品号、产品名称和价格。一个车间生产多种零件,一个零件也也许为多个车间制造。零件有零件号、重量和价格。一个产品由多种零件组成,一种零件也可装配出多种产品。产品与零件均存入仓库中。厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。各阶段具体规定:1、需求分析阶段定义数据项的含义和取值2、概念结构设计阶段画出实体模型E-R图3、逻辑结构设计阶段将实体模型转化为关系模型给出每个关系的主关键字和函数依赖集分析你所设计的关系数据库模式是否属于3NF4、物理设计阶段拟定所有字段的名称、类型、宽度、小数位数及完整性约束拟定数据库及表的名称及其组成拟定索引文献和索引关键字5、数据库安全及维护设计阶段设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)6、实行阶段规定所有操作必须在查询分析器中用SQL语句或系统存储过程完毕。设计工作量:(1)软件设计:完毕问题陈述中所提到的所有需求功能。(2)论文:规定撰写不少于3000个文字的文档,具体说明各阶段具体规定。工作计划:安排两周时间进行课程设计,软件开发环节如下,第一周完毕1~4,第二周完毕5~8,论文同步进行;1) 分组,定题目 2) 需求分析 3) 概念结构设计 4) 逻辑结构设计 5) 物理设计 6) 数据库安全及维护设计 7) 数据库上机实现 8) 答辩 计划时间指导老师学生第15周~16周朱永娇阳锟朱永娇阳锟朱永娇阳锟朱永娇阳锟注意事项提交文档长沙学院课程设计任务书 (每学生1份)长沙学院课程设计论文 (每学生1份)长沙学院课程设计鉴定表 (每学生1份)指导教师署名:日期:教研室主任署名:日期:系主任署名:日期:摘要在计算机日益普及的今天,对个人而言若采用一套行之有效的工厂管理系统来管理生产,会方便许多。对工厂管理部门而言,以前单一的手工检索已不能满足人们的规定,往往是投入了大量的人力和财力却得不到高效的管理效率。为了便于工厂产品和职工的管理,需要有效的工厂管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达成提高产品生产信息管理效率的目的。采用数据库技术生成的工厂管理系统将会极大地方便了工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简朴、高效的工作中。基于这个问题,开发了工厂数据库管理系统。本文通过作者设计和开发一个中小型工厂管理系统的实践,阐述了工厂数据库管理软件中所应具有的基本功能、设计、实现。分别从设备管理和用户管理等角度进行解决,并对需求分析、概念设计、逻辑设计、物理设计、数据库实行和维护进行了阐述,实行设备管理的计算机自动化。关键字:工厂数据库职工管理生产管理目录1.本论文的目的与任务············································12.数据库设计····················································12.1需求分析阶段··············································12.2概念设计阶段··············································22.3逻辑设计阶段··············································32.4物理设计阶段··············································32.5数据库安全及维护设计······································52.6数据库实行阶段············································62.6.1建立数据库、数据表、索引····························62.6.2数据入库············································93.系统调试和测试················································164.课程设计总结···················································21参考文献························································221本论文的目的与任务建立一个某工厂管理数据库存储以下信息:工厂涉及厂名和厂长名。一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。一个车间生产多种产品,产品有产品号、产品名称和价格。一个车间生产多种零件,一个零件也也许为多个车间制造。零件有零件号、重量和价格。一个产品由多种零件组成,一种零件也可装配出多种产品。产品与零件均存入仓库中。厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。针对各工厂信息管理情况,设计出适合它们的计算机辅助工厂数据库管理系统。实现对工厂产品和职工基本信息进行计算机辅助管理,完毕有关信息的记录、修改、查询、删除等一系列任务的计算机管理与实现。系统有对产品、零件、车间和职工等信息的管理,其功能是实现对各部分数据内容进行添加、修改、查询等操作。2数据库设计2.1需求分析阶段(1)对象解决: 工厂信息:厂名、厂长名。 车间信息:车间号、车间主任姓名、地址和电话。 职工信息:职工号、姓名、年龄、性别和工种。 产品信息:产品号、产品名称和价格。 零件信息:零件号、重量和价格。 仓库信息:仓库号、仓库主任姓名和电话。(2)功能及规定:能对一定量的工厂信息进行管理,重要涉及:存储管理工厂信息,修改和查询工厂信息以及管理职工和工作人员信息。系统安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定限度上的安全性,再通过用户授权机制,通过用户登陆来辨认用户级别,根据这个级别来分派用户权限,达成数据更高层次的安全保密功能。近而可以满足用户的基本数据安全性规定。完整性规定用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以不取值。根据实际需要,采用一定的手段来满足用户的完整性需求。-1-(3)数据结构表2.1数据结构名数据结构含义组成fac工厂基本信息Fname,fn_nameroom车间基本信息RnoRnameRaddrRcallworker工人基本信息WnoWnameWageWsexWtypeproduct产品基本信息PnoPnamePricecomponent零件基本信息CnoweigtPricestore仓库基本信息SnoSnameScall2.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,SQL2023数据库系统.拟定数据库及表的名称及其组成:建立数据库createdatabasefactory,数据库名称factory(工厂数据库)数据说明解决:store(仓库)fac(工厂),room(车间)worker(工人),-3-product(产品),component(零件),room_com(零件与车间的联系)pro_com(零件与产品的联系),com_str(零件与仓库的联系)pro_str(产品与仓库的联系);基本表的组成:表2.1基本表数据结构含义组成fac工厂基本信息Fname,fn_nameroom车间基本信息Rno,Rname,Raddr,Rcallworker工人基本信息Wno,Wname,Wage,Wsex,Wtypeproduct产品基本信息Pno,Pname,Pricecomponent零件基本信息Cno,weigt,Pricestore仓库基本信息Sno,Sname,Scallroom_com零件与车间的联系Rno,Cno,Stimepro_com零件与产品的联系Pno,Cno,numbercom_str零件与仓库的联系Cno,Sno,Strnum1pro_str产品与仓库的联系Pno,Sno,Strnum2工厂表表2.2列名数据类型能否空值默认值键/索引说明fnamevarchar(20)否主键、索引厂名fn_namevarchar(20)否厂长名车间表表2.3列名数据类型能否空值默认值键/索引说明Rnovarchar(10)否主键、索引车间号Rnamevarchar(20)否车间主任姓名Raddrvarchar(20)否车间地址Rcallint否电话零件表表2.4列名数据类型能否空值默认值键/索引说明Cnovarchar(10)否主键、索引零件号weightint否重量Pricenumeric(5,1)否价格工人表表2.5列名数据类型能否空值默认值键/索引说明Wnovarchar(10)否主键、索引职工号Wnamevarchar(20)否姓名Wageint否年龄Wsexvarchar(2)否性别Wtypevarchar(20)否工种产品表表2.6列名数据类型能否空值默认值键/索引说明Pnovarchar(10)否主键、索引产品号Pnamevarchar(20)否产品名称Pricenumeric(5,1)否价格-4-仓库表表2.7列名数据类型能否空值默认值键/索引说明Snovarchar(10)否主键、索引仓库号Snamevarchar(20)否仓库主任姓名Scallint否仓库电话生产表表2.8列名数据类型能否空值默认值键/索引说明Rnovarchar(10)否主键车间号Cnovarchar(10)否主键零件号Stimedatetime否生产日期组装表表2.9列名数据类型能否空值默认值键/索引说明Pnovarchar(10)否主键产品号Cnovarchar(10)否主键零件号numberint否组装数存放表表2.10列名数据类型能否空值默认值键/索引说明Snovarchar(10)否主键仓库号Cnovarchar(10)否主键零件号Pnovarchar(10)否主键产品号Strnum1Int否零件存放量Strnum2int否产品存放量建立索引:索引中记录了表中的关键值,提供了指向表中行的指针。它既可以在定义表时创建,也可以在定义表之后的任何时候创建。索引可以创建在一个列或多个列的组合上。(1)、在车间信息表车间号列上创建索引createindexroomRnoonroom(Rno)(2)、在车间信息表的车间主任姓名列上创建索引createindexroomRnameonroom(Rname)为数据库中各基本表建立的索引如下:由于有的基本表经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;2.5数据库安全及维护设计(1)在数据库fac中添加新用户xcm.usefactoryexecsp_grantdbaccess'yangkun','xcm'(2)创建登录名,添加角色execsp_addlogin'yangkun','1234','factory'execsp_addsrvrolemember'yangkun','sysadmin'-5-(3)授权与基本表grantselect,updateonproducttoxcm;grantallprivilegesonworkertoxcm;grantallprivilegesoncomponenttoxcm;grantallprivilegesonstoretoxcm;grantallprivilegesonroomtoxcm;(4)创建视图createviewIS_storeas selectSno,Sname,ScallfromstorecreateviewIS_workerasselectWno,Wname,WsexfromworkerwhereWsex='女'createviewIS_productasselectPno,Pname,PricefromproductwherePno=12.6数据库实行阶段2.6.1建立数据库、数据表、索引-6-(1)建立数据库createdatabasefactoryonprimary(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-创建存放表1createtablepro_str(Pnovarchar(10)notnull,Snovarchar(10)notnull,Strnum1int,primarykey(Pno,Sno),foreignkey(Pno)referencesproduct(Pno),foreignkey(Sno)referencesstore(Sno));创建存放表2createtablecom_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))asinsertintoworkervalues(@Wno,@Wname,@Wage,@Wsex,@Wtype,@Rno);-9-createprocroom(@Rnovarchar(10),@Rnamevarchar(20),@Rcallint,@Raddrchar(8),@fnamevarchar(20))asinsertintoroomvalues(@Rno,@Rname,@Rcall,@Raddr,@fname);createprocproduct1(@Pnovarchar(10),@Pnamevarchar(20),@Pricenumeric(5,1),@Rnovarchar(10))asinsertintoproductvalues(@Pno,@Pname,@Price,@Rno);createproccomponent1(@Cnovarchar(10),@Pricefloat,@weightfloat,)asinsertintocomponentvalues(@Cno,@Price,@weight);createprocstore1(@Snovarchar(10),@Snamevarchar(20),@Scallint,@fnamevarchar(20))asinsert-10-intostorevalues(@Sno,@Sname,@Scall,@fname);createprocfac1(@fnamevarchar(20),@fn_namevarchar(20))asinsertintofacvalues(@fname,@fn_name);createprocroom_com1(@Rnovarchar(10),@Cnovarchar(10),@stimedatetime)asinsertintoroom_comvalues(@Rno,@Cno,@stime);createprocpro_com1(@Cnovarchar(10),@Pnovarchar(10),@numberint)asinsertintopro_comvalues(@Cno,@Pno,@number);createprocpro_str1(@Pnovarchar(10),@Snovarchar(10),@Strnum1int)asinsertintopro_strvalues(@Pno,@Sno,@Strnum1);-11-createproccom_str1(@Cnovarchar(10),@Snovarchar(10),@Strnum2int)asinsertintocom_strvalues(@Cno,@Sno,@Strnum2);(2)存储数据execfac1@fname='奔驰',@fn_name='张磊'execroom1@Rno=1,@Rname='刘基',@Rcall=4254357,@Raddr='长沙',@fname='奔驰'execroom1@Rno=2,@Rname='刘择机',@Rcall=4250046,@Raddr='株洲',@fname='奔驰'execworker1@Wno=102,@Wname='刘雄峰',@Wage=40,@Wsex='男',@Wtype='搬运工',@Rno=1execworker1-12-@Wno=103,@Wname='刘芸',@Wage=21,@Wsex='女',@Wtype='经理',@Rno=2execworker1@Wno=101,@Wname='郑凡',@Wage=21,@Wsex='女',@Wtype='前台接待',@Rno=1execworker1@Wno=104,@Wname='黄晓明',@Wage=27,@Wsex='男',@Wtype='技术人员',@Rno=2execproduct1@Pno=201,@Pname='轮胎',@Price='500',@Rno=1execproduct1@Pno=202,@Pname='引擎',@Price='9584.1',@Rno=2execproduct1@Pno=203,@Pname='挡风玻璃',-13-@Price='1584.1',@Rno=1execproduct1@Pno=204,@Pname='奔驰摩托',@Price='9999.9',@Rno=1execproduct1@Pno=205,@Pname='奔驰货车',@Price='9999.0',@Rno=2execcomponent1@Cno=c1002,@Price='6520',@weight='200'execcomponent1@Cno=c1001,@Price='520',@weight='10'execcomponent1@Cno=c1003,@Price='925',@weight='150'execcomponent1@Cno=c1004,@Price='654',@weight='100'execstore1-14-@Sno=101,@Sname='刘羽琦',@Scall=6991431,@fname='奔驰'execstore1@Sno=102,@Sname='吉鹏',@Scall=6991254,@fname='奔驰'execroom_com1@Rno=1,@Cno=c1002,@stime='2023-05-26'execroom_com1@Rno=2,@Cno=c1003,@stime='2023-06-01'execpro_com1@Cno=c1002,@Pno=204,@number=45execpro_com1@Cno=c1004,@Pno=201,@number=89execpro_com1@Cno=c1001,@Pno=202,@number=124exec-15-pro_str1@Pno=201,@Sno=101,@Strnum1=345execpro_str1@Pno=203,@Sno=102,@Strnum1=1254execcom_str1@Cno=c1001,@Sno=102,@Strnum2=458execcom_str1@Cno=c1004,@Sno=101,@Strnum2=1461execcom_str1@Cno=c1002,@Sno=101,@Strnum2=1852execcom_str1@Cno=c1003,@Sno=102,@Strnum2=25413.系统调试和测试工厂表表3.1车间表表3.2-16-零件表表3.3产品表表3.4工人表表3.5仓库表表3.6存放表表3.7存放表表3.8组装表-17-表3.9生产表表3.10插入零件号=c1005结果截图insertintocomponent(Cno,price,weight)values('c1005',98,695)表3.11查询产品信息selectPno,Pname,Pricefromproduct表3.12查在长沙生产地产品名称和产品价格selectPname,Pricefromproduct,roomwhereproduct.Rno=room.Rnoandroom.Raddr='长沙'表3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026安徽面试题型及答案
- 巷道维修现场安全检查培训课件
- 《物联网概论》课件 5.3传感网与EPC系统
- 高一期末高效复习规划
- 汽车测评与选购(项目七任务三、四)
- 2026福建中考语文作文考前专项练习(题目+范文)
- 京东业务受理外包合同
- 2025高考云南卷生物真题
- 宜春保险从业冲刺押题
- 2025年房地产金融与投资考试试题及答案详解
- 知道网课智慧《新安医学概论(安徽中医药大学)》测试答案
- DL-T5706-2014火力发电工程施工组织设计导则
- 分时狙击涨停通达信技术指标源码
- 变压器浇注工艺
- 医保违规培训课件
- DB51T 3149-2023 四川省电力用户受电设施及配电设施运维检修服务管理规范
- 闪耀明天 二声部合唱简谱
- 第五章 搅拌聚合釜内流体的流动与混合
- 广州数控983M维修说明书
- 洛阳市“三线一单”生态环境准入清单(试行)
- 广东省建筑工程统一用表
评论
0/150
提交评论