您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 数据库课程设计报告(VC+SQL SERVER)
计算机科学与技术学院课程设计成绩单课程名称:数据库系统原理指导教师:蒋旻姓名王云飞性别男学号200813137102班级计科0804综合成绩成绩等级程序运行情况(占总成绩20%)□能正确运行□基本能正确运行□能运行但结果不完善(20分)(15分)(10分)程序功能的完善程度(占总成绩10%)□完善□基本完善□不完善(10分)(8分)(5分)程序结构的合理性(占总成绩10%)□合理□基本合理□不太合理(10分)(8分)(5分)对问题的答辩情况(占总成绩40%)□概念正确有创新□能正确回答所有问题□基本能正确回答(40分)(35分)(30分)□部分问题回答概念不清晰(20分)学生的工作态度与独立工作能力(占总成绩10%)□工作态度认真能独立完成任务□工作态度认真但独立性较差(10分)(8分)□工作态度基本认真但缺乏独立性(5分)设计报告的规范性(占总成绩10%)□符合规范□基本符合规范□规范性较差(10分)(8分)(5分)优秀:90分~100分良好:80分~89分中等:70~79分及格:60~69分不及格0分~59分武汉科技大学计算机科学与技术学院制表计算机科学与技术学院课程设计报告课程名称:数据库系统原理专业:计算机科学与技术班级:级班学号:200813137102姓名:王云飞指导老师:蒋旻工厂零件进销存及工程管理系统一、需求分析背景分析:根据工厂规模日益扩增,负责的工程项目也越多且越大,与零件供应商的的交易也越来越繁琐,行业竞争也日益激烈。面对诸多问题,拥有一款优秀的工厂物资及工程的管理系统会大大提高工作的效率;从长期利益来看,一套好的管理系统还可以减少经费开支,增加工厂的利润;此外,还方便了工厂的人员了解和管理相关的业务,使工厂的管理水平跟得上工厂的快速发展,实现工厂管理的高效化。功能需求:1、用户在登录应用程序界面时,检查用户的合法性,并在用户连续3次登录失败后自动关闭程序。2、只有管理员可以通过该程序对工厂相关的全部信息进行管理3、系统管理员可以通过应用程序对用户信息进行统一管理,修改或删除用户的信息。4、普通用户只可以修改自己的账号和密码,但是不能更改自己的用户类型。5、普通客户和系统管理员可以通过应用程序查询与工厂零件相关的信息。用户可以根据查询对象的不同属性查询到想要的信息,而且部分数据能够支持模糊查询6、应用程序内部要可以通过SQL语句对数据库内的数据进行插入、修改和删除等操作。7、当系统管理员对相关信息进行操作时,系统要自动检测输入的数据是否合理,并弹出相应的提示信息。8、存储的各种物资的数量要随零件的供应量或使用量的变化而动态变化,出现不合理数据时通知操作员。9、应用程序中要有该程序的相关简介和使用说明,帮助系统管理员和用户更好地使用该程序。二、概念结构设计(E-R图)三、逻辑结构设计表Employees的结构编号字段名称数据类型说明1Employee_NoVarchar(5)员工编号,主键2Employee_NameVarchar(20)姓名3Project_NoVarchar(5)负责的工程项目编号4TitleVarchar(20)头衔5AgeDecimal(3)年龄Employee_No(Employee_Name,Project_No,Title,Age),该关系模式满足BCNF,表Providers的结构编号字段名称数据类型说明1Provider_NoVarchar(5)供应商编号,主键2Provider_NameVarchar(20)供应商名称3Provider_PhoneVarchar(20)联系方式4Provider_AddressVarchar(40)所在地址5Provider_AccountVarchar(20)银行账号Provider_No(Provider_Name,Provider_Phone,Provider_Address,Provider_Account)该关心模式满足BCNF表Parts的结构编号字段名称数据类型说明1Part_NoVarchar(5)零件编号,主键2Part_NameVarchar(10)零件名称3ColorVachar(10)零件颜色4WeightDecimal(5,1)重量5PriceDecimal(10,1)零件价格6NumberDecimal(9)零件数目7DescriptionVarchar(300)相关描述Part_No(Part_Name,Color,Weight,Price,Number,Description),该关系模式满足BCNF表Projects的结构编号字段名称数据类型说明1Project_NoVarchar(5)工程编号,主键2Project_NameVarchar(20)工程名称3Start_TimeDate开工日期4BudgetDecimal(10,1)预算资金Project_No(Project_Name,Start_Time,Budget),该关系模式满足BCNF表Deal的结构编号字段名称数据类型说明1Deal_NoVarchar(5)供应编号,主键2Provider_NoVarchar(5)供应商编号3Part_NoVarchar(5)零件编号4Deal_DateDate供应日期5Deal_NumberDecimal(7)供应数量Deal_No(provider_No,Part_No,Deal_Date,Deal_Number),该关系模式满足BCNF表Used的结构编号字段名称数据类型说明1Used_NoVarchar(5)零件使用编号,主键2Project_NoVarchar(5)使用零件的过程编号3Part_NoVarchar(5)被使用的零件编号4Used_DateDate使用日期5Used_NumberDecimal(8)使用的零件数量Used_No(Project_No,Part_No,Used_Date,Used_Number),该关系模式满足BCNF外键定义关系名主键表主键字段外键表外键字段FK_Deal_to_ProvidersProvidersProvider_NoDealProvider_NoFK_Deal_to_PartsPartsPart_NoDealPart_NoFK_Used_to_PartsPartsPart_NoUsedPart_NoFK_Used_to_ProjectsProjectsProject_NoUsedProject_NoFK_Employees_to_ProjectsProjectsProject_NoEmployeesProject_No四、物理设计创建Users(系统的用户)表createTABLEUsers(User_Novarchar(10)notnull,PassWordvarchar(10),User_Typevarchar(1),ConstraintPK_UsersPrimaryKey(User_No));创建Providers(零件供应商)表CREATETABLEProviders(Provider_NoVarchar(5)notnull,Provider_Namevarchar(20),Provider_Phonevarchar(20),Provider_Addressvarchar(40),Provider_Accountvarchar(30),ConstraintPK_ProvidersPrimaryKey(Provider_No));Provider_No是常用于查询且更新较少的列,故建一个唯一索引CREATEUNIQUEINDEXProvidersNOONProviders(Provider_No);创建Projects(工程项目)表CREATETABLEProjects(Project_Novarchar(5)notnull,Project_Namevarchar(20),Start_Timevarchar(20),Budgetdecimal(10,1),ConstraintPK_ProjectsPrimaryKey(Project_No));Project_No是常用于查询且更新较少的列,故建一个唯一索引CREATEUNIQUEINDEXProjectNOONProjects(Project_No);创建Employees(工程负责人)表CREATETABLEEmployees(Employee_Novarchar(5)notnull,Employee_Namevarchar(20),Agedecimal(3),Titlevarchar(20),Project_Novarchar(5),ConstraintPK_EmployeesPrimaryKey(Employee_No),ConstraintFK_Employees_to_ProjectsForeignKey(Project_No)ReferencesProjects(Project_No));Employee_No是常用于查询且更新较少的列,故建一个唯一索引CREATEUNIQUEINDEXEmployeeNOONEmployees(Employee_No);创建Parts(零件)表CREATETABLEParts(Part_Novarchar(5)notnull,Part_Namevarchar(30),Colorvarchar(10),Weightdecimal(5,1),Pricedecimal(10,1),Descriptionvarchar(300),Numberdecimal(9),ConstraintPK_PartsPrimaryKey(Part_No));Part_No是常用于查询且更新较少的列,故建一个唯一索引CREATEUNIQUEINDEXPartNOONParts(Part_No);创建Deal(供应信息)表CREATETABLEDeal(Deal_Novarchar(5)notnull,Provider_Novarchar(5),Part_Novarchar(5),Deal_Datevarchar(20),Deal_Numberdecimal(7),ConstraintPK_ProviderPrimaryKey(Deal_No),ConstraintFK_Provide_to_ProvidersForeignKey(Provider_No)ReferencesProviders(Provider_No),ConstraintFK_Provide_to_PartsForeignKey(Part_No)ReferencesParts(Part_No));创建Used(零件使用信息表)CREATETABLEUsed(Used_Novarchar(5)notnull,Project_Novarchar(5),Part_Novarchar(5),Used_Numberdecimal(8),Used_Datevarchar(20),ConstraintPK_UsedPrimaryKey(Used_No),ConstraintFK_Used_to_ProjectsForeignKey(Project_No)ReferencesProjects(Project_No),ConstraintFK_Used_to_PartsForeignKey(Part_No)ReferencesParts(Part_No));五、数据库的实施和维护本系统的运行环境为VisualC++6.0,1程序执行后弹出系统的登录界面,如下图所示:用数据库中存储的用户信息登录系统,如图所示若用户输入的用户信息错误,会弹出警告,登录3次失败后系统自动退出2登录成功后进入系统的主界面,入下图点击菜单栏上的“数据操作”、“查询信息”、“系统用户管理”、“帮助”可进行相应的操作。如下图所示。如果使用本系统的是系统管理员,则该用户可以参与数据的相关操作,如插入、修改、和删除;如果只是普通用户,系统会
本文标题:数据库课程设计报告(VC+SQL SERVER)
链接地址:https://www.777doc.com/doc-4327892 .html