2022年数据库系统课程方案设计书报告.docx

上传人:H****o 文档编号:57162506 上传时间:2022-11-04 格式:DOCX 页数:56 大小:1.35MB
返回 下载 相关 举报
2022年数据库系统课程方案设计书报告.docx_第1页
第1页 / 共56页
2022年数据库系统课程方案设计书报告.docx_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《2022年数据库系统课程方案设计书报告.docx》由会员分享,可在线阅读,更多相关《2022年数据库系统课程方案设计书报告.docx(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选学习资料 - - - - - - - - - 运算机科学与技术学院课程设计成果单课程名称:数据库系统原理指导老师:蒋旻姓名王云飞性别男学号202213137102 班级计科 0804 综合成果成果等级程序运行情形 能正确运行 基本能正确运行 能运行但结果不完善(占总成绩(20 分)( 15 分)( 10 分)20%)程 序 功 能 的 完 善程度总成绩 完善 基本完善 不完善(占(10 分)( 8 分)( 5 分)10%)程 序 结 构 的 合 理性占总成绩 合理 基本合理 不太合理(10 分)( 8 分)( 5 分)10%)对 问 题 的 答 辩 情 况 概念正确有创新 能正确回答全部问

2、题 基本能正确回答(40 分)( 35 分)( 30 分) 部分问题回答概念不清楚(20 分) 工作态度仔细能独立完成任务 工作态度仔细但独立性较差(10 分)( 8 分) 工作态度基本仔细但缺乏独立性(5 分)(占总成绩40%)学 生 的 工 作 态 度 与独立工作才能(占总成绩10%)设 计 报 告 的 规 范性占总成绩 符合规范 基本符合规范 规范性较差(10 分)( 8 分)( 5 分)10%)优秀: 90 分 100 分良好: 80 分89 分中等: 7079 分及格: 6069 分不及格 0 分 59 分武汉科技高校运算机科学与技术学院制表名师归纳总结 - - - - - - -第

3、 1 页,共 33 页精选学习资料 - - - - - - - - - 运算机科学与技术学院课程设计报告课程名称: 数据库系统原理专业: 运算机科学与技术班级: 级班学号: 202213137102 姓名: 王云飞指导老师: 蒋旻名师归纳总结 - - - - - - -第 2 页,共 33 页精选学习资料 - - - - - - - - - 工厂零件进销存及工程治理系统 一、 需求分析 背景分析:依据工厂规模日益扩增,负责的工程工程也越多且越大,与零 件供应商的的交易也越来越繁琐,行业竞争也日益猛烈;面对 诸多问题,拥有一款优秀的工厂物资及工程的治理系统会大大 提高工作的效率;从长期利益来看,

4、一套好的治理系统仍可以 削减经费开支,增加工厂的利润;此外,仍便利了工厂的人员 明白和治理相关的业务,使工厂的治理水平跟得上工厂的快速 进展,实现工厂治理的高效化;功能需求:1、用户在登录应用程序界面时,检查用户的合法性,并在 用户连续 3 次登录失败后自动关闭程序;2、只有治理员可以通过该程序对工厂相关的全部信息进行 治理 3、系统治理员可以通过应用程序对用户信息进行统一管 理,修改或删除用户的信息;4、一般用户只可以修改自己的账号和密码,但是不能更换 自己的用户类型;名师归纳总结 5、一般客户和系统治理员可以通过应用程序查询与工厂零第 3 页,共 33 页- - - - - - -精选学习

5、资料 - - - - - - - - - 件相关的信息;用户可以依据查询对象的不同属性查询到想要的信息,而且部分数据能够支持模糊查询6、应用程序内部要可以通过SQL 语句对数据库内的数据进行插入、修改和删除等操作;7、当系统治理员对相关信息进行操作时,系统要自动检测输入的数据是否合理,并弹出相应的提示信息;8、储备的各种物资的数量要随零件的供应量或使用量的变化而动态变化,显现不合理数据时通知操作员;9、应用程序中要有该程序的相关简介和使用说明,帮忙系统治理员和用户更好地使用该程序;名师归纳总结 - - - - - - -第 4 页,共 33 页精选学习资料 - - - - - - - - -

6、二、 概念结构设计( E-R图)三、 规律结构设计表 Employees的结构名师归纳总结 编号字段名称数据类型说明第 5 页,共 33 页1Employee_No Varchar员工编号,主键(5)姓名2Employee_Name Varchar20 - - - - - - -精选学习资料 - - - - - - - - - 3Project_No Varchar5 负责的工程工程编号4Title Varchar头衔(20)年龄5Age Decimal(3)Employee_No (Employee_Name,Project_No,Title,Age),该关系模式满意 BCNF , 表 Pr

7、oviders 的结构编号 字段名称 数据类型 说明1 Provider_No Varchar5 供应商编号,主键2 Provider_Name Varchar20 供应商名称3 Provider_Phone Varchar20 联系方式4 Provider_Address Varchar40 所在地址5 Provider_Account Varchar20 银行账号Provider_No (Provider_Name,Provider_Phone,Provider_Address,Provider_Account)该关怀模式满意 BCNF 表 Parts的结构编号字段名称数据类型说明1 Pa

8、rt_No Varchar5 零件编号,主键2 Part_Name Varchar10 零件名称3 Color Vachar10 零件颜色4 Weight Decimal5,1 重量5 Price Decimal(10,1 零件价格6 Number Decimal(9)零件数目7 Description Varchar300 相关描述Part_No Part_Name,Color,Weight,Price,Number,Description,该关系模式满意 BCNF 名师归纳总结 - - - - - - -第 6 页,共 33 页精选学习资料 - - - - - - - - - 表 Proj

9、ects的结构编号字段名称数据类型说明1 Project_No Varchar5 工程编号,主键2 Project_Name Varchar20 工程名称3 Start_Time Date 开工日期4 Budget Decimal10,1 预算资金Project_No (Project_Name,Start_Time,Budget),该关系模式满足 BCNF 表 Deal的结构编号 1 2 3 4 5 Deal_No 字段名称数据类型说明Deal_No Varchar5 供应编号,主键Provider_No Varchar5 供应商编号Part_No Varchar5 零件编号Deal_Dat

10、e Date 供应日期Deal_Number Decimal7 供应数量(provider_No,Part_No,Deal_Date,Deal_Number),该关系模式满意 BCNF 表 Used的结构编号字段名称数据类型说明1 Used_No Varchar5 零件使用编号,主键2 Project_No Varchar5 使用零件的过程编号3 Part_No Varchar5 被使用的零件编号4 Used_Date Date 使用日期5 Used_Number Decimal8 使用的零件数量Used_No (Project_No,Part_No,Used_Date,Used_Number

11、),该关系模式满意 BCNF 外键定义名师归纳总结 关系名主键表主键字段外键表外键字段FK_Deal_to_Providers Providers Provider_No Deal Provider_No FK_Deal_to_Parts Parts Part_No Deal Part_No 第 7 页,共 33 页- - - - - - -精选学习资料 - - - - - - - - - FK_Used_to_Parts Parts Part_No Used Part_No FK_Used_to_Projects Projects Project_No Used Project_No FK_

12、Employees_to_Projects Projects Project_No Employees Project_No 四、 物理设计 创建 Users(系统的用户)表 create TABLE Users User_No varchar10 not null, PassWord varchar10 , User_Type varchar1, Constraint PK_Users Primary KeyUser_No ;创建 Providers(零件供应商)表 CREATE TABLE Providers Provider_No Varchar5 not null, Provider_

13、Name varchar20, Provider_Phone varchar20, Provider_Address varchar40, Provider_Account varchar30, Constraint PK_Providers Primary KeyProvider_No 名师归纳总结 - - - - - - -第 8 页,共 33 页精选学习资料 - - - - - - - - - ;Provider_No是常用于查询且更新较少的列,故建一个唯独索引 CREATEUNIQUEINDEX ProvidersNO ONProviders Provider_No ;创建 Proje

14、cts(工程工程)表 CREATE TABLE Projects Project_No varchar5 not null, Project_Name varchar20, Start_Time varchar20, Budget decimal10,1, Constraint PK_Projects Primary KeyProject_No ;Project_No是常用于查询且更新较少的列,故建一个唯独索引 CREATEUNIQUEINDEX ProjectNO ONProjects Project_No ;创建 Employees(工程负责人)表 CREATE TABLE Employe

15、es Employee_No varchar5 not null, 名师归纳总结 - - - - - - -第 9 页,共 33 页精选学习资料 - - - - - - - - - Employee_Name varchar20, Age decimal3, Title varchar20, Project_No varchar5, Constraint PK_Employees Primary KeyEmployee_No, Constraint FK_Employees_to_Projects Foreign KeyProject_No References ProjectsProject

16、_No ;Employee_No是常用于查询且更新较少的列,故建一个唯独索引 CREATEUNIQUEINDEX EmployeeNO ONEmployees Employee_No ;创建 Parts(零件)表 CREATE TABLE Parts Part_No varchar5 not null, Part_Name varchar30, Color varchar10, Weight decimal5,1, Price decimal10,1, Description varchar300, 名师归纳总结 - - - - - - -第 10 页,共 33 页精选学习资料 - - - -

17、 - - - - - Number decimal9, Constraint PK_Parts Primary KeyPart_No ;Part_No是常用于查询且更新较少的列,故建一个唯独索引CREATEUNIQUEINDEX PartNO ON Parts Part_No ;创建 Deal(供应信息)表 CREATE TABLE Deal Deal_No varchar5 not null, Provider_No varchar5, Part_No varchar5, Deal_Date varchar20, Deal_Number decimal7, Constraint PK_Pro

18、vider Primary KeyDeal_No, Constraint FK_Provide_to_Providers Foreign KeyProvider_No References ProvidersProvider_No, Constraint FK_Provide_to_Parts Foreign KeyPart_No References PartsPart_No ;创建 Used(零件使用信息表) CREATE TABLE Used 名师归纳总结 - - - - - - -第 11 页,共 33 页精选学习资料 - - - - - - - - - Used_No varchar

19、5 not null, Project_No varchar5, Part_No varchar5, Used_Number decimal8, Used_Date varchar20, Constraint PK_Used Primary KeyUsed_No, Constraint FK_Used_to_Projects Foreign KeyProject_No References ProjectsProject_No, Constraint FK_Used_to_Parts Foreign KeyPart_No References PartsPart_No ;五、 数据库的实施和保

20、护 本系统的运行环境为 Visual C+ 6.0,1 程序执行后弹出系统的登录界面,如下图所示:名师归纳总结 - - - - - - -第 12 页,共 33 页精选学习资料 - - - - - - - - - 用数据库中储备的用户信息登录系统,如下列图如用户输入的用户信息错误,会弹出警告,登录 动退出 2 登录胜利后进入系统的主界面,入下图3 次失败后系统自名师归纳总结 - - - - - - -第 13 页,共 33 页精选学习资料 - - - - - - - - - 点击菜单栏上的“ 数据操作” 、“ 查询信息” 、“ 系统用户管 理” 、“ 帮忙” 可进行相应的操作;如下图所示;假如

21、使用本系统 的是系统治理员,就该用户可以参加数据的相关操作,如插入、修 改、和删除;假如只是一般用户,系统会设置权限,使得一般用户 只有查看相关信息和修改自己的用户信息的权力,确保了数据库中 信息的安全性;名师归纳总结 - - - - - - -第 14 页,共 33 页精选学习资料 - - - - - - - - - 3 检索相关信息假如要查询零件信息,就点击“ 查询信息”出零件信息列表,如下图“ 零件信息” ,弹名师归纳总结 - - - - - - -第 15 页,共 33 页精选学习资料 - - - - - - - - - 如要依据零件的某些特定属性查询信息,可在“ 零件查询条件”的组合

22、框中选中相应的条件并输入相关的信息;例如查询有高强度 性质的零件,选中“ 描述” ,输入“ 高强度” ,点击“ 查询” 按 钮,如图:显现相应的查询结果,如下图:其余的查询操作与上述的操作类似,这里不再赘述;名师归纳总结 - - - - - - -第 16 页,共 33 页精选学习资料 - - - - - - - - - 4 数据操作假如想要修改零件供应的信息,点击“ 数据操作”“ 零件供应情形” ,弹出当前的零件供应信息,如下图所示:假如要添加零件供应信息,点击“ 添加” 按钮,弹出零件供应信息 的编辑框,输入相应的数据;假如输入的供应商编号或者零件编号 仍未存进数据库,系统会弹出供应商或零

23、件信息的编辑框,要求操 作员先完善数据库中供应商或零件的信息;假如要删除某一行记 录,选中相应的元组,点击“ 删除” (如表中的某些数据项被其他 对象引用,系统会弹出警告,告知用户删除该项记录后,其他引用 该数据项的记录也会被删除);如要修改每个元组的信息,就选中 该元组后点击“ 修改” ,弹出相应的编辑框,如下图:名师归纳总结 - - - - - - -第 17 页,共 33 页精选学习资料 - - - - - - - - - (供应编号为 00007 的零件供应量削减了 200)修改胜利后数据自动刷新,如下图(供应编号 00007 的 205 号零件变成了 2000)然后来看看零件信息中的

24、数据吧,如下图名师归纳总结 - - - - - - -第 18 页,共 33 页精选学习资料 - - - - - - - - - (与上面的零件信息截图比较,发觉205 号零件数量削减了 200,说明零件信息随供应信息变化自动修改数据胜利)其余的数据操作也与上面说讲的类似,这里就不再多说了5 用户治理与信息的修改点击“ 系统用户治理”“ 用户治理” (只有治理员有此权限),弹出系统用户的信息列表,如下图名师归纳总结 - - - - - - -第 19 页,共 33 页精选学习资料 - - - - - - - - - 治理员可以查询到全部用户的信息,并能够修改用户的账户、密码和用户类型,添加新用

25、户,删除用户信息点击修改,显现用户信息的编辑框,如下图:(一般用户没有权限修改自己的用户类型,只能修改账号和密码)名师归纳总结 - - - - - - -第 20 页,共 33 页精选学习资料 - - - - - - - - - 6 系统帮忙 用户点击菜单栏上的 帮忙,可以查询到系统的简介和使用说 明六、 总结系统优缺点的分析:这个系统相对于某个工厂的信息治理系统来说,真的只 能算是一辆卡车上的一颗螺丝;系统可以完成的功能仍远远 不能满意实际生活中的需要,而且系统的操作界面很呆板,风格也比较单一;不能导出图片、音频或视频文件;不过我 信任假如有更多的时间,我会把这个系统做得更好!该系统使用比较

26、简洁,操作人员只需要有基本的运算机 学问即可;系统中对各种可能显现的错误操作(如重复输入 具有唯独性的数据项、将零件的数目变成负数等)考虑得比 较全面,在操作过程中系统会自动弹出相应的提示,比较人 性化;个人感想:这是我第一次将编程语言和数据库结合起来使用,刚开 始做一点把握都没有;本次课程设计使我真正的学到了不少学问,由于之前对MFC 的学问积存不够,特别是在数据库名师归纳总结 - - - - - - -第 21 页,共 33 页精选学习资料 - - - - - - - - - 与 VC+连接上存在很大漏洞,使得本次课程设计遇到了许 多困难;但正是相伴着这些困难得一个个的被解决,我学到 了很

27、多学问,每次解决一个问题都会收成不少的学问,第一 次感受到数据库与编程语言的结合实在是太完善了;本次课程设计让我有机会能把之前学的数据库学问系统 的串联起来;特别是对数据库的建立与操作都上了一个台阶 , 包括怎么建立更简洁且没有冗余又很完备的数据库系统,怎 样对数据库结构模型的进行设计,更重要的是前期对概念模 型也就是 E-R 图的规划;深刻的体会到前期工作的重要性,只有正确详尽的对系统进行分析以后,才能更高效率的完成 系统的开发;做课程设计的过程中,没有老师辅导我,向老师发邮件 求助也没有得到回应;我就买了好几本书,自己渐渐看,然 后试着自己做,在引用书中的部分方法的同时也融入自己的 摸索,

28、敏捷地应用多种方法,遇到难题就上网查看解决的方 法,真的收成不少;我信任只要是自己做了就肯定会有收成 的!细节打算一个程序的好坏与成败!七、 附录程序中用于操作数据库的接口 / 初始化 连接数据库ADOConn类代码void ADOConn:OnInitADOConn 名师归纳总结 - - - - - - -第 22 页,共 33 页精选学习资料 - - - - - - - - - :CoInitializeNULL;/ 初始化 OLE/COM库环境 try /m_pConnection 为指向 Connection 对象的指针 : / 创建 Connection 对象 m_pConnecti

29、on.CreateInstanceADODB.Connection;/ 设置连接字符串,必需是BSTR型或者 _bstr_t 类型/ 该系统使用的是文件数据源 工厂物资治理 工厂物 资治理 ODBC文件数据源 .dsn;PageTimeout=5,uid=飞鱼, pwd=19900127,adModeUnknown;/ / 捕获反常 catch_com_error e / 显示错误信息 AfxMessageBoxe.Description; / 执行查询名师归纳总结 - - - - - - -第 23 页,共 33 页精选学习资料 - - - - - - - - - _RecordsetPtr

30、& ADOConn:GetRecordSet_bstr_t bstrSQL try / / 连接数据库,假如 数据库Connection 对象为空,就重新连接ifm_pConnection=NULL OnInitADOConn;/ 创建记录集对象m_pRecordset.CreateInstance_uuidofRecordset;/ 取得表中的记录 m_pRecordset-OpenbstrSQL,m_pConnection.GetInterfacePtr,adOpenDynami c,adLockOptimistic,adCmdText; / / 捕获反常 catch_com_error

31、e / 显示错误信息 AfxMessageBoxe.Description;名师归纳总结 - - - - - - -第 24 页,共 33 页精选学习资料 - - - - - - - - - / / 返回记录集 return m_pRecordset; / 执行 SQL语句, Insert ,Update ,Delete BOOL ADOConn:ExecuteSQL_bstr_t bstrSQL try / 是否已经连接数据库 ifm_pConnection = NULL OnInitADOConn;/ Connection 对象的 Execute方法:_bstr_t CommandText

32、, VARIANT * RecordsAffected, long Options / 其中 CommandText是命令字串,通常是 SQL命令;, / 参数 RecordsAffected是操作完成后所影响的行数 / 参数 Options 表示 CommandText的类型: adCmdText-文本命令;adCmdTable-表名 adCmdProc-储备过程; adCmdUnknown-未知 m_pConnection-ExecutebstrSQL,NULL,adCmdText return true ;名师归纳总结 - - - - - - -第 25 页,共 33 页精选学习资料 -

33、 - - - - - - - - catch_com_error e AfxMessageBoxe.Description;return false; void ADOConn:ExitConnect / / 关闭记录集和连接 if m_pRecordset .= NULL m_pRecordset-Close;m_pConnection-Close;/ / 释放环境 :CoUninitialize; CDeal类面对 Deal 表,下面的函数用于向 Deal 表插入数据void CDeal:sql_insert / 声明一个 ADOConn类,并连接数据库 ADOConn m_AdoConn

34、;名师归纳总结 - - - - - - -第 26 页,共 33 页精选学习资料 - - - - - - - - - m_AdoConn.OnInitADOConn;/ 设置 SQL语句,由 CString向_bstr_t 类型转换 CString str;str.FormatINSERT INTO DealDeal_No,Provider_No,Part_No,Deal_Date,Deal_Number VALUES%s,%s,%s,%s,%f,Deal_No,Provider_No,Part_No,De al_Date,Deal_Number;_bstr_t vSQL;vSQL=_bstr

35、_tstr;m_AdoConn.ExecuteSQLvSQL;/ 执行 SQL语句 m_AdoConn.ExitConnect;/ 断开与数据库的连接 注:用于其它表的插入、删除、和修改的函数大体相同,只 是 SQL语句有点变化,故不再一一列出下面是工程负责人治理对话框函数void CEmpManagementDlg:OnButtonAdd /添加信息 / / TODO: Add your control notification handler code here UpdateDataTRUE;CEmpEditDlg dlg;/ 声明一个负责人编辑对话框变量名师归纳总结 - - - - -

36、- -第 27 页,共 33 页精选学习资料 - - - - - - - - - /buttonflag 是 CEmpEditDlg类中的一个标志,为1 时表示要把输入/ 的数据插入 Employees表,为 -0 时表示更新 Employees表中的数据 dlg.buttonflag=1;if dlg.DoModal = IDOK RefreshData; void CEmpManagementDlg:OnButtonModify /修改信息 / / TODO: Add your control notification handler code here UpdateDataTRUE;CE

37、mpEditDlg dlg;/ 将 DataGrid控件中要修改的信息读到编辑框中 dlg.m_Employee_No=m_DataGrid.GetItem0;dlg.m_Employee_Name = m_DataGrid.GetItem1;dlg.m_Age = m_DataGrid.GetItem2;dlg.m_Project_No = m_DataGrid.GetItem4;if dlg.DoModal = IDOK RefreshData;名师归纳总结 - - - - - - -第 28 页,共 33 页精选学习资料 - - - - - - - - - void CEmpManage

38、mentDlg:OnButtonDelete /删除信息 / / TODO: Add your control notification handler code here CString str=m_DataGrid.GetItem0;/ 猎取负责人的编号 CEmployees emp;if MessageBox是否删除当前记录? , 请确认 , MB_YESNO = IDYES/ 假如确认删除就删掉相应信息 emp.sql_deletestr;/ 删除指定编号的负责人信息 RefreshData; 注:其余治理对话框的代码类似,不再赘述以下是查询工程信息的对话框代码void CProjec

39、tsInfoDlg:OnButtonSearch / TODO: Add your control notification handler code here UpdateData;名师归纳总结 - - - - - - -第 29 页,共 33 页精选学习资料 - - - - - - - - - CString csql;switchm_Radio/m_Radio 代表挑选的相应的查询条件 case -1:/未挑选任何查询条件 ifm_SearchOption.= MessageBox请选中查询的条件! ;return; else MessageBox请选中查询的条件! ;return; b

40、reak;case 0:/挑选按工程编号查询 ifm_SearchOption= MessageBox请输入工程工程编号! ;return;名师归纳总结 - - - - - - -第 30 页,共 33 页精选学习资料 - - - - - - - - - csql.FormatSELECT * from Projects where Project_No=%s,m_SearchOption;/ 设置查询语句 break;case 1:/挑选按工程工程名称查询 ifm_SearchOption= MessageBox请输入工程工程名称! ;return; csql.FormatSELECT * FROM Projects where Project_Name=%s,m_SearchOption;/ 设置查询语句 break;case 2:/挑选按开工时间查询 i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁