数据库原理课程设计报告 (附代码)
- 格式:doc
- 大小:2.00 MB
- 文档页数:21
数据库原理及应用课程设计报告范文附完整代码大家好呀!今天我要和你们分享一下我这次数据库原理及应用课程设计的经历,这可真是一段有趣又充满挑战的旅程呢!一、课程设计背景与目标。
咱这个课程设计呀,主要就是为了让我们把在课堂上学到的那些数据库知识,真正地运用到实际项目中去。
你想啊,光知道理论知识,就像是纸上谈兵,真正到了战场上,那可就抓瞎啦!所以这次课程设计就是我们的“实战演习”,目标就是要设计一个完整的数据库应用系统,让我们看看自己到底学得怎么样。
我选的项目呢,是一个简单的图书管理系统。
为啥选这个呢?因为我觉得图书管理这个事儿吧,大家都比较熟悉,生活中经常会接触到,而且它涉及到的数据库操作也比较全面,像图书信息的录入、借阅、归还等等,正好可以把我们学的那些增删改查的操作都练一遍。
二、需求分析。
在开始动手写代码之前呀,咱得先搞清楚这个图书管理系统到底需要实现哪些功能。
这就好比盖房子,得先把图纸设计好,不然瞎忙活一通,最后盖出来的房子可能连自己都不满意。
我琢磨着,这个系统得有管理员和普通用户两种角色。
管理员呢,得能对图书信息进行管理,比如添加新书、删除旧书、修改图书信息啥的;还得能管理用户信息,要是有用户违规操作或者借书不还,管理员得有权处理。
普通用户嘛,主要就是能查询图书信息,看看有没有自己想看的书,然后能进行借阅和归还操作。
另外呀,系统还得有个查询功能,用户可以按照书名、作者、出版社这些信息来查找图书,这样找起书来就方便多啦!三、数据库设计。
需求分析清楚了,接下来就是设计数据库啦。
这可是整个系统的核心部分,就像房子的地基一样,要是地基没打好,房子肯定盖不高。
我设计的数据库里主要有三个表:图书表、用户表和借阅记录表。
图书表里面存放图书的各种信息,像书名、作者、出版社、ISBN号这些;用户表呢,就存用户的信息,比如用户名、密码、联系方式啥的;借阅记录表用来记录用户的借阅情况,包括借阅时间、归还时间这些。
在设计表结构的时候,我还得考虑各种约束条件,比如说图书的ISBN号得是唯一的,不然到时候图书信息不就乱套啦!还有用户的用户名也得是唯一的,不然登录的时候都不知道是谁啦!四、代码实现。
课程设计报告( 2014--2015年度第2学期)名称:数据库原理课程设计题目:超市管理系统院系:计算机系班级:软件1201学号:学生姓名:指导教师:阎蕾,王晓辉设计周数:一成绩:日期:2015年7月17日《数据库原理课程设计》课程设计任务书一、目的与要求1.本实验是为软件工程、网络工程、信息安全等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。
通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。
是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。
二、主要内容针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。
大致分为如下步骤:1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图:1.分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。
2.设计实体之间的联系,包括联系类型和联系的属性。
最后画出完整的E-R图。
2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:1)把E-R图转换为逻辑模式;2)规范化设计。
使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。
3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。
4)用SQL语言完成数据库内模式的设计。
3.数据库权限的设计:1)根据系统分析,完成授权操作;2)了解学习收回权限的操作。
4.完成用户界面的设计,对重要数据进行加密。
期刊管理系统课程设计报告及部分代码1.绪论 (2)2.需求分析 (2)2.1系统需求分析 (2)2.2功能需求分析 (2)2.3期刊管理E-R图 (4)2.4期刊管理状态转换图 (4)3.系统设计及可行性研究 (9)3.1数据概念结构设计 (9)3.1.1期刊管理数据流图 (9)3.1.2期刊管理系统流程图 (13)3.1.3期刊管理结构图 (14)3.1.4期刊管理数据字典 (14)4.2数据逻辑结构设计 (22)4.2.1数据逻辑结构设计 (22)4.2.2数据表的设计 (22)4.2.3数据库二维表结构 (24)5.实现 (24)5.1系统测试 (24)5.1.1 测试目的 (25)5.1.2登录测试 (25)5.1.3管理测试 (25)5.1.4借阅管理测试 (26)5.1.5 查询管理测试 (27)6参考文献 (27)1.绪论不管学校还是各企事业等的图书馆都离不开图书期刊管理,如果图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂,工作量大,出错率高,出错后不易更改。
所以有必要建立一个图书期刊管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
2.需求分析2.1系统需求分析图书管理系统需要满足来自两方面的需求,这两个方面分别是图书借阅者、图书馆管理人员。
图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆管理人员对图书借阅者的借阅及还书要求进行操作,还有对图书借阅者管理,图书库存更新,图书其它信息,如征订等管理。
如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。
图书借阅者只应该查询和维护本人的借书情况和个人信息,图书馆管理人员有修改图书借阅者借书和还书记录的权限。
图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,并且对读者征订信息管理。
集美大学诚毅学院数据库原理课程设计报告设计题目图书馆管理系统专业班级计算机1191学号**********学生姓名指导教师成绩信息工程系摘要图书馆是学校的文献信息中心,是为全校教学和科学研究服务的学术性机构,是学校信息化和社会信息化的重要基地。
它担负着教育与信息服务的双重职能,也是全校师生学习研究的重要场所。
有人说,图书馆是学生的第二课堂,是真正意义上的学习中心,更赋于它“高校的心脏”之美誉,那么“读者第一,服务至上”的办馆宗旨将使图书馆肩负更重的责任感和使命感。
图书馆将根据学校教学科研的需求,对传统文献和数字文献进行合理而科学的整合与开发,并努力为各学科提供更加全面的资源保障,争取在不远的将来,建成涵盖我校人文社会科学所有专业,并在经济学学科、法学学科及管理学科领域具有鲜明特色的知识资源系统,以及多元化、深层次、多形式、优质高效、快捷便利的现代化知识服务体系,为创建一流研究型大学图书馆打下坚实的基础。
目录1.问题描述 (4)1.1背景 (4)2.需求分析 (5)2.1需求分析 (5)2.2数据流图 (5)2.3数据字典 (6)3.概念结构设计 (4)3.1E-R图 (5)3.2实体及属性的定义 (8)4.逻辑结构设计 (6)5.数据库的实施和维护 (13)6.结束语 (20)1.问题描述1.1背景随着社会信息量的与日俱增,职场竞争的日趋激烈,越来越多的人更关注知识的积累、能力的培养。
作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果。
数据库原理课程设计报告(doc 30页)课程设计报告数据库原理系别信息学院专业年级计算机科学与技术专业 0708班学生姓名付艳艳迟秀晶米秋洋任课教师李明2010年5月5日面情况及时掌握信息,随时收集,如成果获奖、学历培训、政审、鉴定材料等都可以定期收集。
从形成档案材料的单位、部门来说也必须建立归档制度,同样要认真贯彻执行,将形成的应归档材料主动送交管档案部门归档。
各部门应该将收集归档这项工作列入目标管理工作中,落实归档时间和责任人,也可以将之列入岗位责任制中作为考核内容。
干部档案部门要对归档工作进行严格的检查督促。
(三)完善档案内容提高档案价值首先,《干部档案材料收集归档规定》是干部档案收集归档工作的依据性文件。
按照这一规定,干部部门应在德、能、勤、绩四方面开展收集工作全面收集材料特别是现阶段要根据干部制度改革和对人才信息的需要完善档案内容,注意收集那些能体现人才能力、水平和业绩的材料。
其次,应该在形成档案材料时就是它准确、充实,能真正反映一个人的情况、面貌和特点。
例如考核鉴定材料形成时就要注意将被考核人全面情况反映出来,要对人才素质、现实表现客观地作出评价。
这样所形成的材料被收集进档案中去才能有利用价值。
再次,要定期补充记录登记,如对干部基本信息、工作评价表等登记表定期补充,目的是使档案简单明了地反映人的某一方面情况。
另外可以将科技人才的论著论文目录、培训进修登记、年终考核登记等补充进档案,使档案内容更直观便于利用。
(四)系统应满足的功能及要求(录入、查询、修改、增加、删除、打印等)干部档案管理系统主要包含职工个人自然情况、工作情况、简历、整治情况等各方面信息,内容比较庞大复杂。
同时还综合考虑档案管理工作的性质,总结归纳出所需要实现的功能。
主要是为了干部档案进行服务,对干部的变动、干部资料、以及干部资料的查询、统计等功能。
总体上说具有编辑、查询、用户管理、干部评价等功能。
1、灵活的数据记录编辑功能,可以随时对记录进行增加、修改、更新、删除、浏览等编辑操作。
数据库课程设计源代码一、课程目标知识目标:1. 理解数据库的基本概念,掌握数据库设计的基本原理。
2. 学习并运用数据库设计源代码的编写方法,能够独立完成小型项目的数据库设计。
3. 掌握数据库表、字段、索引、关系等基本元素的创建和使用。
技能目标:1. 培养学生运用数据库设计工具进行数据库设计的能力。
2. 培养学生编写结构化查询语言(SQL)进行数据操作的能力。
3. 提高学生分析问题、解决问题的能力,使其能够根据实际需求设计合适的数据库结构。
情感态度价值观目标:1. 激发学生对数据库技术的兴趣,培养其主动学习的积极性。
2. 培养学生的团队协作意识,使其在项目实践中学会与他人合作、沟通。
3. 培养学生的创新意识,鼓励其在数据库设计过程中尝试新思路和方法。
课程性质:本课程为实践性较强的课程,旨在培养学生的数据库设计能力,提高其在实际项目中的应用水平。
学生特点:学生具备一定的编程基础,对数据库有一定的了解,但缺乏实际设计经验。
教学要求:1. 结合课本知识,注重理论与实践相结合,使学生能够在实践中掌握数据库设计方法。
2. 强化编程实践,让学生通过编写源代码,巩固所学知识,提高动手能力。
3. 鼓励学生参与项目实践,培养其独立分析和解决问题的能力。
二、教学内容1. 数据库基本概念:数据库的定义、作用、分类。
2. 数据库设计原理:实体关系模型、关系数据库设计、范式理论。
3. 数据库设计工具:使用ER图、DFD图等工具进行数据库设计。
4. SQL语言:数据定义、数据操纵、数据查询、数据控制。
5. 数据库表、字段、索引、关系的创建和使用。
6. 数据库设计实例:结合实际项目,进行数据库设计案例分析。
7. 实践项目:设计并实现一个简易的数据库项目,包括以下环节:a. 需求分析b. 概念结构设计c. 逻辑结构设计d. 物理结构设计e. 数据库实施f. 数据库维护教学内容安排和进度:1. 第1周:数据库基本概念、设计原理。
2. 第2周:数据库设计工具、SQL语言基础。
题目:学生成绩管理系统 所在系(院):计算机科学系 班级:08级计科2班1.引言------------------------------------------- - -------------- 3 2.应用背景------------------------------------------------------ 3 3.需求分析------------------------------------------------------ 3 4.开发环境------------------------------------------------------ 3 5.功能要求------------------------------------------------------ 3 6.实现方法----------------------------------------------------- 3课程设计7.系统设计(E-R图、逻辑结构等)---------------------- 4 8.体会------------------------------------------------------------- 25引言信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
计算机与人类的关系愈来愈密切。
为了提高学校对学生的管理效率,成绩管理系统越来越受到人们的亲睐。
本课程设计主要用于一个学校成绩的管理;包括学生基本信息的导入/导出;学生成绩信息的录入、修改、添加、删除、查询,通过该程序能够简单明了的实现以上功能。
之所以选择Visual C++作为开发工具,不仅仅因为曾经有过使用它的经验,看中的更是它的功能强大和使用方便。
它本身不仅具有极其强大的编程能力,它允许选择和管理外接程序,这些对Visual C++的扩充又进一步增强了它的开发环境的能力。
数据库系统原理及课程设计报告1. 引言数据库系统是现代计算机科学领域中非常重要的一部分,它广泛应用于各个领域,包括企业管理、电子商务、医疗保健、社交网络等。
本报告旨在介绍数据库系统的原理和课程设计内容,以及设计过程中的思考和实践。
2. 数据库系统原理2.1 数据库系统概述数据库系统是一种用于管理和组织数据的软件系统,它提供了数据的存储、检索、更新和删除等功能。
数据库系统由数据库管理系统(DBMS)和数据库组成,它们共同协作来处理用户的请求并维护数据的完整性和安全性。
2.2 数据库模型数据库模型是数据库系统中用于描述和组织数据的方法和规则。
常见的数据库模型包括层次模型、网状模型、关系模型和面向对象模型等。
其中,关系模型是最常用的数据库模型,它使用表格(关系)来表示数据,并通过关系代数和关系演算来进行数据操作。
2.3 数据库设计数据库设计是指根据实际需求和数据特点,设计数据库的结构和关系。
它包括实体-关系模型的设计、范式的应用、关系模式的定义和数据字典的编制等。
在数据库设计过程中,需要考虑数据的完整性、一致性和性能等方面的问题。
3. 课程设计内容3.1 课程设计目标本课程设计旨在通过实践操作,加深对数据库系统原理的理解,并提升学生的数据库设计和实现能力。
学生需要完成一个实际的数据库应用项目,包括需求分析、数据库设计、系统实现和测试等环节。
3.2 课程设计任务本课程设计要求学生设计一个学生信息管理系统。
系统需求包括学生基本信息的录入、查询、修改和删除等功能,以及学生成绩的统计和排名功能。
学生需要使用关系型数据库管理系统(如MySQL、Oracle等)来实现系统,并使用合适的编程语言(如Java、Python等)编写前端界面。
3.3 课程设计步骤3.3.1 需求分析学生需要与教师和同学进行沟通,明确系统的功能和性能需求。
在需求分析阶段,学生需要编写需求规格说明书,包括用例图、用例描述和功能需求等。
3.3.2 数据库设计学生需要根据需求分析结果,设计数据库的结构和关系。
数据库课程设计详细代码一、教学目标本课程的教学目标是使学生掌握数据库的基本理论、设计方法和操作技能,培养学生运用数据库技术解决实际问题的能力。
具体目标如下:1.知识目标:(1)了解数据库的基本概念、发展历程和分类;(2)掌握关系模型、实体-关系模型等数据库设计方法;(3)熟悉SQL语言及其基本操作;(4)掌握数据库的创建、管理、备份和恢复方法。
2.技能目标:(1)能够使用数据库管理系统进行数据库设计、创建和管理;(2)能够运用SQL语言进行数据的增、删、改、查操作;(3)能够进行数据库的备份和恢复操作;(4)能够运用数据库技术解决实际问题。
3.情感态度价值观目标:(1)培养学生的团队协作精神,使其能够与他人共同完成数据库设计任务;(2)培养学生的问题解决能力,使其能够运用数据库技术解决实际问题;(3)培养学生的创新意识,使其能够积极探索数据库技术的新应用。
二、教学内容本课程的教学内容主要包括以下几个方面:1.数据库基本概念:数据库、数据库管理系统、数据库系统、数据模型等;2.数据库设计方法:关系模型、实体-关系模型、E-R图等;3.SQL语言:数据定义、数据操纵、数据查询、数据控制等;4.数据库管理:数据库的创建、管理、备份和恢复等;5.数据库应用案例:运用数据库技术解决实际问题。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解数据库的基本概念、设计方法和操作技能;2.案例分析法:分析数据库在实际应用中的案例,使学生更好地理解数据库技术;3.实验法:让学生亲自动手进行数据库设计、创建和管理,提高学生的实践能力;4.讨论法:学生进行小组讨论,培养学生的团队协作能力和问题解决能力。
四、教学资源本课程的教学资源包括:1.教材:选用权威、实用的数据库教材,为学生提供系统、全面的学习资料;2.参考书:提供相关领域的参考书籍,拓展学生的知识视野;3.多媒体资料:制作课件、教学视频等,使教学内容更加生动形象;4.实验设备:提供计算机、数据库管理系统等实验设备,保障学生的实践操作。
数据库原理课程设计报告一、需求分析此工资管理数据库针对一些中小型企业而建立的,主要是方便企业的管理,并进行工资的发放管理。
数据库实现的五大主要功能:1、数据增加功能(1)员工基本信息的输入:员工编号、姓名、性别、年龄、部门、职务参加工作时间、政治面貌。
(2)员工工资信息的输入:实发工资、应发工资、职务津贴、奖罚金额。
(3)企业部门信息的输入:部门编号、部门名称、部门主管、部门人数。
2、数据删除功能数据的删除只有管理员才有此权限,当员工不在该企业工作,管理员对其信息进行级联删除,即删除员工与该企业相关的信息。
当部门被撤销是,管理员可以对其信息进行删除等。
3、数据修改功能(1)当企业人员的信息发生变化,如职称的改变、工作部门的变动、工资的变化、调离本单位等,管理员应能够修改员工的信息或将其从员工信息表中删除,员工也可以自己修改自己的信息。
(2)当一个部门的名称发生改变时,企业中所有该项部门的名称应一致的改变,即级联修改。
(3)当工资选项有所改变时,工资实体的属性应该相应的变化。
4、数据查询功能当管理员和员工登录系统时都可以进行数据的查询,管理员可以对系统的一切信息进行查询,但是员工制可以查询自己的信息,以及所在部门的信息。
二、概念结构设计(1)员工实体及属性(2)部门实体及属性(3)出勤实体及属性(4)津贴实体及属性(5)工资实体及属性(6)实体及其联系图三、逻辑结构设计1.数据字典的建立以及数据库和表的建立(1)员工关系表的数据字典:建立员工关系表的SQL语句截图(2)员工部门表的数据字典建立员工部门表的SQL语句截图(3)出勤表的数据字典建立出勤表的SQL语句截图(4)津贴表的数据字典建立津贴表的SQL语句截图(5)工资表的数据字典建立工资表的SQL语句截图(6)工资管理数据库建立的SQL语句及建立好的数据库截图2.视图的建立(1)建立名为EmployeeIDView的视图,限制条件为员工号为:(2)建立名为PracticalSalaryView的视图,限制条件为员工3.对员工信息表、部门信息表、工资表的部分属性建立唯一索引四、数据库的安全性和完整性2.创建新的用户,用户名为wurongchao安全性与完整性方面的要求:针对不同的用户设计使用权限,角色等,根据需要设计触发器,用截图的方式给出安全性和完整性的设计情况。
课程设计报告( 2014--2015年度第2学期)名称:数据库原理课程设计题目:超市管理系统院系:计算机系班级:软件1201学号:学生姓名:指导教师:阎蕾,王晓辉设计周数:一成绩:日期:2015年7月17日《数据库原理课程设计》课程设计任务书一、目的与要求1.本实验是为软件工程、网络工程、信息安全等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。
通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。
是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。
二、主要内容针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。
大致分为如下步骤:1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图:1.分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。
2.设计实体之间的联系,包括联系类型和联系的属性。
最后画出完整的E-R图。
2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:1)把E-R图转换为逻辑模式;2)规范化设计。
使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。
3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。
4)用SQL语言完成数据库内模式的设计。
3.数据库权限的设计:1)根据系统分析,完成授权操作;2)了解学习收回权限的操作。
4.完成用户界面的设计,对重要数据进行加密。
5.连接数据库,用宿主语言实现系统所需的各种操作:1)实现数据记录的录入、删除、查询和修改。
2)以视图的形式完成复杂查询,比如多表、多条件等。
三、进度计划四、设计(实验)成果要求1.在DBMS(如oracle,SQL Server 2005/2008/2010,DB2等)上完成完整的数据库的设计;2.使用可视化开发平台完成信息系统,要求可以正确运行;3.完成实验报告。
五、考核方式1.在微机上检查数据库模式的设计、三大完整性的设计、关系属于几范式等;2.在微机上检查系统的运行结果,要求学生阐述使用的相关技术;3.实验报告的检查。
六、题目附录1.图书管理信息系统2.物资管理信息系统3.汽车销售管理信息系统4.超市管理信息系统5.通讯录管理信息系统6.工资管理信息系统7.酒店管理信息系统8.小区物业管理信息系统学生姓名:指导教师:阎蕾2015年7月3日一、设计(实验)正文1.系统功能图2.系统详细描述与E-R设计一个会员可以购买多种商品,每种商品可以被多个会员购买。
每种商品有一个唯一的编号作为标志。
管理员对商品信息、管理员信息、会员信息和商品类别具有增、删、改、查的权限。
根据以上描述得到的实体及属性如下:A.实体:会员:会员编号,密码,性别,出生日期商品:商品编号,商品名称,商品类型,数量,生产公司,产地,描述管理员:管理员编号,姓名,密码商品类型:类型编号,名称B.实体之间的联系如下:会员与商品之间的关系:购买(会员编号,商品编号,购买日期,退货日期)管理员与管理员间的联系:管理管理员与商品间的联系:管理管理员与会员间的联系:管理管理员与商品类型间的联系:管理C.说明:下划线文字为主码;为了避免冲突发生,所有属性(除退货日期及商品描述外)均非空。
D.根据以上分析设计出实体及其属性图如下:E.实体及其联系图3.系统逻辑结构设计A、根据以上E-R图得到系统关系模型如下:会员(会员编号,密码,性别,出生日期)商品(商品编号,商品名称,商品类型,数量,生产公司,产地,描述)管理员(管理员编号,姓名,密码)商品类型(类型编号,名称)购买(会员编号,商品编号,购买日期,退货日期)说明:以上关系中,下划线部分为对应关系的主码,加黑部分为外码,且所有属性(除退货日期及商品描述外)均非空。
B、使用SQL语言创建各表会员表:CREATE TABLE Table_VIP(Vnum varchar(50)primary key,Vname varchar(50),Vpwd varchar(50),Vsex varchar(4)check (V sex in('男','女')),Vbirth datetime)商品表:CREATE TABLE Table_Goods(Gnum varchar(50)primary key,Gname varchar(50),Gcount varchar(50),Gcompany varchar(50),Gplace varchar(50),Gdate datetime,Gdescrib varchar(50),foreign key(Gtype)references Table_Type(Typenum)on delete cascadeon update cascade)管理员表:CREATE TABLE Table_Admin(Anum varchar(50)primary key,Aname varchar(50),Apwd varchar(50))购买表:CREATE TABLE Table_Shopping(id int identity(1,1),Vnum varchar(50),Gnum varchar(50),Stime datetime,Rtime datetime,primary key(Vnum,Gnum),foreign key(Vnum)references Table_VIP(Vnum)on delete cascadeon update cascade,foreign key(Gnum)references Table_Goods(Gnum)on delete cascadeon update cascade)商品类型表:CREATE TABLE Table_Type(Typenum varchar(50)primary key,Typename varchar(50))C、各表的截图图1.管理员表图2.商品类型表图3.商品表图4.购物记录表图5.会员表4、在数据库中创建存储过程:全部存储过程如上图,包括管理员登录、会员登录、根据商品的编号或名称查询商品信息、查询购物记录、退货、购物等过程。
选择几个存储过程代码如下:A.管理员登录:B.通过商品名称查找商品信息(模糊查询)C.根据商品编号退货D.会员根据会员编号和商品编号购买商品5、在页面中连接并操作数据库,连接字符串如下:public ConDB() {conStr = @"Server = USER-PC\赟赟; Database = Library; Integrated Security = True;";}6、界面设计与运行结果根据系统所需实现的功能及系统的用户类型不同,将界面设计如下:A.登录界面B.会员主界面C.会员商品查询、购买D.管理员主界面该模块实现管理员信息、商品信息、会员信息、商品类型等基本管理和退货等操作。
E.管理员管理注:会员管理、商品管理、商品类型管理界面都和管理员管理的界面相同,都实现了增、删、改、查的功能。
由于管理员类的主键是Anum,所以当更新的管理员信息编号与已存在的编号相同,会提示错误信息,如下图所示:F.管理员退货界面三、课程设计(综合实验)总结或结论本次实验是我们学习数据库原理后,为了培养我们更好的解决问题和实际动手能力而设置的实践环节。
在本次实验中,把上课所学知识与实际应用联系起来,加深了对课本知识的理解,提高了自己的动手能力和编程能力,对数据库的设计也有了更好地理解和把握。
本次课程设计我们所做的系统是超市管理系统,是用winsows窗体编写的,数据库开发环境是SQL Server2008,使用的语言是C#。
超市管理系统操作简单,使用方便,条理清晰,界面友好。
本次实验注重的是数据库的设计,所以在设计E—R图、创建各表花费了更多的时间,确定了系统的需求之后再设计,系统比较简单,虽然在实现的过程中也遇到了很多问题,但是通过和同组成员及同学、老师的及时交流,问题都得到了很好地解决,总之,我对这次实验的表现和成果还是很满意的。
同时,本次实验也提高了自己的团队合作能力,提高了自己与他人的交流合作能力。
最后,感谢老师的指导。
四、参考文献[1]王珊,萨师煊.数据库系统概论.高等教育出版社.附录(设计流程图、程序、表格、数据等)A.数据设置B.部分代码管理员主界面:public partial class AdminManage : Form{GoodsBLL bb = new GoodsBLL();AdminBLL ab = new AdminBLL();public AdminManage(){InitializeComponent();bt_TopManage.Enabled = false;}//按商品编号查询购物记录private void bt_sure_Click(object sender, EventArgs e){string num = tb_num.Text.Trim();DataTable dt = bb.SearchShoppingByGnum(num);if (dt.Rows.Count>0){dataGridView1.DataSource = dt;bt_TopManage.Enabled = true;tb_num.Enabled = false;}else{MessageBox.Show("未找到相应编号的商品", "警告", MessageBoxButtons.OK); }}private void tb_AddAdmin_Click(object sender, EventArgs e){//添加管理员页面Form adl = new AddAdmin();//this.Hide();adl.Show();}private void bt_delAdmin_Click(object sender, EventArgs e){//删除管理员页面Form adl = new DelAdmin();this.Hide();adl.Show();}private void bt_updateAdmin_Click(object sender, EventArgs e){//修改管理员页面Form adl = new UpdateAdmin();this.Hide();adl.Show();}private void bt_AddGoods_Click(object sender, EventArgs e){//添加商品信息Form adl = new AddGoods();//this.Hide();adl.Show();}private void bt_DelGoods_Click(object sender, EventArgs e){//删除商品信息Form adl = new DelGoods();this.Hide();adl.Show();}private void bt_UpdateGoods_Click(object sender, EventArgs e){//修改商品信息Form adl = new UpdateGoods();this.Hide();adl.Show();}private void bt_AddVIP_Click(object sender, EventArgs e){//添加会员信息Form adl = new AddVIP();// this.Hide();adl.Show();}private void bt_DelVIP_Click(object sender, EventArgs e){//删除会员信息Form adl = new DelVIP();this.Hide();adl.Show();}private void bt_type_Click(object sender, EventArgs e){Form adl = new TypeManage();//this.Hide();adl.Show();}private void bt_TopManage_Click(object sender, EventArgs e){//退货管理string num= tb_num.Text.Trim();bool b = ab.DeleteByGnum(num);if (b){MessageBox.Show("退货成功!", "提示", MessageBoxButtons.OK);dataGridView1.DataSource = null;tb_num.Enabled = true;tb_num.Text = "";}else{MessageBox.Show("退货未成功!", "提示", MessageBoxButtons.OK);}}private void bt_AddVIP_Click_1(object sender, EventArgs e){Form adl = new AddVIP();//this.Hide();adl.Show();}private void bt_exit_Click(object sender, EventArgs e){Application.Exit();}private void llb_login_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){Form adl = new AdminLogin();this.Hide();adl.Show();}protected override void OnClosing(CancelEventArgs e){//退出提示if(MessageBox.Show(this, "确认退出?", "提示信息:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes){e.Cancel = false;}else{e.Cancel = true;}}private void bt_return_Click(object sender, EventArgs e){tb_num.Enabled = true;tb_num.Text = "";dataGridView1.DataSource = null;}}会员主界面:public partial class VIPManage : Form{GoodsBLL gb = new GoodsBLL();VIPBLL vb = new VIPBLL();private string vNum;private string vPsw;public VIPManage(){InitializeComponent();comboBox1.SelectedIndex = 0;}public VIPManage(string num, string psw){InitializeComponent();comboBox1.SelectedIndex = 0;vNum = num;vPsw = psw;dataGridView1.AllowUserToResizeColumns = false;dataGridView1.AllowUserToResizeRows = false;dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; }private void bt_sure_Click(object sender, EventArgs e){int i = comboBox1.SelectedIndex;string s = tb_insert.Text.Trim();if (i == 0)//商品编号{dataGridView1.DataSource = vb.SearchGoodsByGnum(s);}if (i == 1)//商品名称{dataGridView1.DataSource = vb.SearchGoodsByGname(s);}}private void bt_Shopping_Click(object sender, EventArgs e){string gnum = tb_num.Text.Trim();bool b = vb.ShoppingGoods(gnum, vNum);if (b){MessageBox.Show("商品购买成功!", "提示", MessageBoxButtons.OK);dataGridView1.DataSource = vb.SearchGoodsByGnum(gnum);}else{MessageBox.Show("商品已售完或已下架!", "提示", MessageBoxButtons.OK);tb_num.Focus();}}Private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e){e.PaintParts = DataGridViewPaintParts.All ^ DataGridViewPaintParts.Focus;}private void bt_IsShopping_Click(object sender, EventArgs e){DataTable dt = new DataTable();dt = vb.SearchAllGoodsByNum(vNum);if (dt.Rows.Count > 0){dataGridView1.DataSource = dt;}else{MessageBox.Show("查询错误!", "提示", MessageBoxButtons.OK);}}private void bt_exit_Click(object sender, EventArgs e){Application.Exit();}private void llb_login_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){Form adl = new AdminLogin();this.Hide();adl.Show();}protected override void OnClosing(CancelEventArgs e){//退出提示if(MessageBox.Show(this, "确认退出?", "提示信息:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes){e.Cancel = false;}else{e.Cancel = true; }}}。