数据库课程设计报告,数据库课程设计心得3篇
数据库课程设计报告,数据库课程设计心得3篇详细介绍
本文目录一览: 数据库应用课程设计的报告
数据库课程设计报告 目录目录……………………………………………………………………………………1一.设计目标…………………………………………………………………………2二.系统介绍…………………………………………………………………………2三.数据库设计……………………………………………………………………....2 1.需求分析……………………………………………………………………….2 2.概念结构设计………………………………………………………………….3 (1)实体设计………………………………………………………………..3 (2)ER图……………………………………………………………………3 3.逻辑结构设计………………………………………………………………….4四.应用程序设计……………………………………………………………………4 1.delphi7.0开发环境……………………………………………………………4 2.软件分析…………………………………………………………………..…4 (1)软件的需求分析………………………………………………………..4 (2)软件的基本功能………………………………………………………..5 3.软件的设计与实现…………………………………………………………….6 五.实现的应用系统介绍…………………………………………………………….8 1.系统模块…………………………………………………………………….8 2. 文件简介…………………………………………………………………….8 3 .系统运行…………………………………………………………………….8 六.总结………………………………………………………………………………17 一.设计目标理论应用--运用数据库设计理论设计一个较完善的有实际意义的数据库结构;工具使用--掌握目前流行数据库管理系统工具和前端应用开发工具;应用开发--为数据库开发相应应用程序,构成完整的数据库应用系统;报告编写--用文字处理软件编写高质量的设计报告。二.系统简介名称:超市进销存管系统功能:基于超市管理的全面自动化,减少入库管理、出库管理及库存管理中的漏洞,节约不少管理开支,增加企业收入。 实现对产品的增加、修改、删除、以及日常查询,对产品的出库、入库进行管理。同时对营销状况进行简单的分析,并可以导出各种查询报表。数据库:ACCESS实现:Delphi 7.0系统构架:C/S(Client/Server )三.数据库设计.1.需求分析:超市进销存管理系统2.概念结构设计(1)实体设计商品信息(商品编号,商品名称,商品单位,商品单价,类别,产地,说明)进货信息(进货编号,商品编号,进货单价,进货数量,进货时间,经手人,供货单位)出货信息(出货编号,商品编号,出货单价,出货数量,经手人,接收人及说明等)库存信息(商品编号,库存说明,说明等)用户信息(用户名,密码,用户类型)(2)E-R图包含说明产地商品单价商品类别商品名称商品编号商 品经手人进货数量进货时间进货单价商品编号进货编号供货单位进货记录商品编号出货数量接收人经手人出货单价出货编号出货时间出货记录库存记录说明商品编号库存说明111n3.逻辑结构设计关系模型(第1数据项为主键)商品信息(商品编号,商品名称,商品单位,商品单价,类别,产地,说明)进货信息(进货编号,商品编号,进货单价,进货数量,进货时间,经手人,供货单位)出货信息(出货编号,商品编号,出货单价,出货数量,经手人,接收人及说明等)库存信息(商品编号,库存说明,说明等)用户信息(用户名,密码,用户类型)出货商品金额(出货时间,出货单价,出货数量,出货金额)进货商品金额(进货时间,进货单价,进货数量,进货金额)四.应用程序设计1.Delphi 7.0 开发环境 Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。 Delphi 7的集成开发环境(1DE)和Delphi以前的版本基本一致。它把单、多个工具栏及一组窗口和应用程序设计在一起,将代码以事件的形式与界面的每一元素建立联系,使用户很方便地在这个高度集成的开发环境的组成和各种辅助工具的使用方法和使用技巧。2.软件分析(1)软件的需求分析: 开发本软件的主要目的是为了优化超市的日常管理。采用计算机管理信息系统为实现超市管理科学化和现代化,给它带来了明显的经济效益和社会效益 (2)软件的基本功能与说明: a.商品信息管理商品信息管理:用来管理系统中要用来进行进货,出货操作的商品的信息,包括添加,修改,删除和查询信息。其中,查询可以进行精确查询和模糊快速查询。任意时刻,生成当前表格报表。 b. 用户管理1.用户添加该权限只有管理员拥有,可以添加临时用户,或者增设管理员用户。2.用户删除该权限只有管理员拥有,可以删除用户。3.用户密码修改用来修改登陆用户的密码,长时间地使用一个密码可能会使密码不安全,导致整个系统的不安全,因此有必要定期修改密码。 c. 营销分析1.综合分析某一时间段内,将该超市的进货总额、出货总额进行统计,并算出总盈利;将库存中的商品总量统计出来。用户可以打印分析所得报表。同时提供进货情况查询、出货情况查询、库存情况查询。2.日分析某一天中,将该超市的进货总额、出货总额进行统计,并算出总盈利;将库存中的商品总量统计出来。用户可以打印分析所得报表。 d. 日常操作商品进货操作:用来完成商品的进货操作。商品出货操作:用来完成商品的出货操作。进行进货操作时,进货编号以及进货时间是自动生成的,无需改动,否则会出现错误。所生成的商品编号为该种类型商品的最大编号,且后面有提示用户允许的编号范围,超出此范围会出错,如果编号方式正确且大于最大编号,确定添加后会提示用户填写新加商品的相关信息。进行出货操作时,出货编号自动生成,用记无须改动。在出货单价小于进货的最小单价时会询问是否继续出货,出货数量不能大于库存数量。e.信息查询1.库存信息查询:用来查询库存的商品的信息,可以按照商品编号,商品名称和商品类别来查询,可以将查询结果打印输出。该查询可以精确查找某一确定的商品的库存信息,并将其打印输出。同时,该查询可以根据商品的库存量来将商品中库存不足、库存饱和、库存过剩的商品一一列出并提供打印输出功能。2.进货信息查询:用来查询商品的进货记录,可以按照商品编号,商品名称,商品类别,经手人和进货日期查询,可以将查询结果输出。该查询可以精确查找某一确定的商品或全部商品某一确定时间段的进货情况,并将其打印输出。同时以图表的形式分析该种商品的进货价格走势分析图。3.出货信息查询:用来查询商品的出货记录,可以按照商品编号,商品名称,商品类别,经手人和出货日期查询,可以将查询结果打印输出。该查询可以精确查找某一确定的商品或全部商品某一确定时间段的出货情况,并将其打印输出。同时以图表的形式分析该种商品的出货价格走势分析图。3.软件设计与实现添加、修改、删除是通过delphi自带函数实现的。查询是通过添加SQL语句或者直接在access中建立相对的查询(如出货商品金额、进货商品金额查询)实现的。(1).程序实现//添加adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select * from 进货信息' );adoquery1.Open ;adoquery1.Append;adoquery1.fieldbyname('进货编号').asstring:=edit1.Text;adoquery1.fieldbyname('商品编号').asstring:=edit2.Text;adoquery1.fieldbyname('进货单价').asstring:=edit3.Text;adoquery1.fieldbyname('进货数量').asstring:=edit4.Text;adoquery1.fieldbyname('进货时间').asstring:=edit5.Text;adoquery1.fieldbyname('经手人').asstring:=combobox5.Text;adoquery1.fieldbyname('供货单位').asstring:=edit7.Text;adoquery1.Post;快速添加:adoquery1.Append;//删除一条记录if Application.MessageBox('真的要删除当前所选记录吗?','删除确认',MB_YESNOCANCEL+MB_ICONQUESTION+MB_DEFBUTTON3)<>IDYES then abortelseadoquery1.delete;//修改一条记录if Application.MessageBox('真的要修改当前所选记录吗?','修改确认',MB_YESNOCANCEL+MB_ICONQUESTION+MB_DEFBUTTON3)<>IDYES then AdoQuery1.CancelUpdateselseadoquery1.edit;//对表的排序procedure TForm2.DBGrid1TitleClick(Column: TColumn);var i : integer;beginfor i:= 1 to DBGrid1.Columns.Count dobegin//恢复所有标题字体为默认DBGrid1.Columns[i-1].Title.Font.Color := clWindowText;DBGrid1.Columns[i-1].Title.Font.Style := [];end;if ADOQuery1.Sort<>(Column.FieldName+' ASC') then //判断原排序方式beginADOQuery1.Sort := Column.FieldName+' ASC';Column.Title.Font.Color := clRed; //改变标题行字体为红色,表示当前的排序方式为升序Column.Title.Font.Style := [fsBold];endelse beginADOQuery1.Sort := Column.FieldName+' DESC';Column.Title.Font.Color := clBlue; //改变标题行字体为红色,表示当前的排序方式为降序Column.Title.Font.Style := [fsBold];end;end;//查询示例adoquery2.close;adoquery2.sql.clear;adoquery2.SQL.Add('select distinct(进货信息.进货编号),商品信息.商品名称,进货信息.商品编号,商品信息.类别,进货信息.进货单价,进货信息.进货数量,进货信息.进货时间,进货信息.经手人,进货信息.供货单位 from 进货信息,商品信息 where 商品信息.商品编号=进货信息.商品编号 and ');adoquery2.SQL.Add('进货时间>=#'+DateToStr(DateTimePicker1.Date)+'# and 进货时间<=#'+DateToStr(DateTimePicker2.Date+1)+'#');adoquery2.Open;*五.实现的应用系统介绍1.系统的模块(1)主界面模块Form1(2)信息管理模块Form2,form18(3)日常操作模块Form3(4)信息管理模块Form5(5) 用户管理模块Form14(6)系统管理模块用户登陆:form8关于系统:form10退出系统:from11()登陆窗体Form82.文件简介:(1)文件help包括生成jun_help帮助的所有源程序。(2)文件image系统所有用到的图片文件(3) 文件project系统可执行文件project.exe。系统数据库超市进销存储管理系统.mdb(4) 文件sounds系统所有用到的声音文件(5) 文件unit_date系统自动生成的相关文件3.系统运行:1.欢迎:2.到达主界面后,提示登陆(系统管理—登陆系统)。用户可以查看帮助获得系统的相关信息:3.用户登陆界面:4.若用户为管理员,则可以进行用户管理操作。用户有权添加、修改、删除其它用户。5.若用户为普通用户,则用户只能对自己的相关信息进行修改,添加用户、删除用户不可用。6.商品信息管理模块商品信息管理:用来管理系统中要用来进行进货,出货操作的商品的信息,包括添加,修改,删除和查询信息。其中,查询可以进行精确查询和模糊快速查询。任意时刻,生成当前表格报表。7.营销分析模块:1).综合分析某一时间段内,将该超市的进货总额、出货总额进行统计,并算出总盈利;将库存中的商品总量统计出来。用户可以打印分析所得报表。同时提供进货情况查询、出货情况查询、库存情况查询。2).日分析某一天中,将该超市的进货总额、出货总额进行统计,并算出总盈利;将库存中的商品总量统计出来。用户可以打印分析所得报表。8.商品进出货操作模块:1)进行进货操作时,进货编号以及进货时间是自动生成的,无需改动,否则会出现错误。所生成的商品编号为该种类型商品的最大编号,且后面有提示用户允许的编号范围,超出此范围会出错,如果编号方式正确且大于最大编号,确定添加后会提示用户填写新加商品的相关信息。2)进行出货操作时,出货编号自动生成,用记无须改动。在出货单价小于进货的最小单价时会询问是否继续出货,出货数量不能大于库存数量。9.信息查询模块:1).库存信息查询:用来查询库存的商品的信息,可以按照商品编号,商品名称和商品类别来查询,可以将查询结果打印输出。该查询可以精确查找某一确定的商品的库存信息,并将其打印输出。同时,该查询可以根据商品的库存量来将商品中库存不足、库存饱和、库存过剩的商品一一列出并提供打印输出功能。2).进货信息查询:用来查询商品的进货记录,可以按照商品编号,商品名称,商品类别,经手人和进货日期查询,可以将查询结果输出。该查询可以精确查找某一确定的商品或全部商品某一确定时间段的进货情况,并将其打印输出。同时以图表的形式分析该种商品的进货价格走势分析图。3).出货信息查询:用来查询商品的出货记录,可以按照商品编号,商品名称,商品类别,经手人和出货日期查询,可以将查询结果打印输出。该查询可以精确查找某一确定的商品或全部商品某一确定时间段的出货情况,并将其打印输出。同时以图表的形式分析该种商品的出货价格走势分析图。10关于系统模块:11.用户管理模块:1).用户添加该权限只有管理员拥有,可以添加临时用户,或者增设管理员用户。2).用户删除该权限只有管理员拥有,可以删除用户。3).用户密码修改用来修改登陆用户的密码,长时间地使用一个密码可能会使密码不安全,导致整个系统的不安全,因此有必要定期修改密码。12.退出系统模块:
sql数据库课程设计报告
网络即时通信系统是为用户开发研制的,用户是系统的最终使用者和评价者,所以在网络通信系统的开发设计的过程中,我们树立了从用户的寻求出发,面向用户,一切为了用户的观念,在分析与设计系统的前期,为了保证系统的功能的完善多次寻求周围同学和老师的意见,了解他们的要求,依照功能完善,界面美观,操作简单的原则进行设计 。
严格按阶段进行
系统的开发设计是一项较大的工程,所以应该将整个系统的开发设计过程划分为若干阶段,相应的阶段又要分为若干个不同的步骤,每个阶段和步骤都要有明确的工作任务和目标。这种有序的组织安排,条例清楚、层次分明,便于计划的制定和控制,并且为后续工作的进行奠定了坚实的基础,提高了工作效率和质量。
采用系统的观点处理
在系统分析阶段,在对原系统进行全面调查和分析的基础上,构造系统的最佳逻辑模型,使用户对将来完整系统的轮廓有个初步的了解和认识,以便及时和用户进行交流和探讨,不断提高系统的完善性。在此基础上进行系统的物理实现和设计,切实完成逻辑模型的具体功能。逻辑设计和物理实现二者是相辅相成、密不可分的,这样使系统的设计更加稳妥合理。
整个系统的设计主要采用快速原形法
快速原形法是信息系统设计的一个重要方法。它是根据用户提出的需求,由用户和开发者共同确定系统的基本要求和主要功能,并在一个较短的时间内建立一个实验性的、简单的信息系统模型,通过用户不断提出的意见和建议,对模型进行不断的修改和完善,直到用户比较满意为止,以便形成一个相对稳定、较为理想的管理信息系统。该方法的主要优点。
1.脉络清楚,所有问题都围绕一个模型展开,使彼此之间联系紧密。
2.有助于发现用户需求,通过对原形和用户接触,能够启发开发人员去挖掘问题,从而不断的修正、完善,最终得到一个理想的系统。
3.系统开发效率高,此方法的开发周期短、使用灵活、容易修改,这对于管理体制不够稳定的系统更加适合。
4.系统的可扩展性好,由于此方法是在原型应用中不断发展完善和修改的,所以有较强的扩展性。
在进行代码设计时,遵循了以下原则。
唯一性:在本系统中,每一个代码都和系统中的每一个对象唯一确定。
标准性:主要体现在对程序文件名命名和对数据文件命名的标准化上,遵循简单扼要,方便适用的原则。一目了然,无重复现象。为了系统维护人员便于进行系统维护,使用了统一的标准。
合理性:系统中代码设计与编码对象的分类相适应,以使代码对编码对象的分类据有标志作用。
简单性:在设计过程中采用Code-Behind代码分离,使数据库操作代码和前端调用代码分离,页面修改容易。
适应性:在代码设计过程中,代码反映了编码对象的特点,便于识别和记忆,使系统维护人员容易了解和掌握,便于进行维护工作。
系统总体功能结构
网络通信系统包含以下主要功能。
用户注册;用户登录;
查找好友;查看好友资料;
添加好友;
删除好友;
发送消息;
发送文件.
数据库表主要用来存放用户的注册信息和用户的好友资料,可利用两张数据库表来 存放用户信息和用户好友的资料。包括用户的号码,昵称,密码,在线与否,ip地址,资料,头像号,性别,E-mail和籍贯等信息。其中,用户昵称和密码是必需的字段;在线与否是由系统自动设置的;其余的信息是可选的字段。
课题整体以JAVA为平台,采用Eclipse开发工具,并使用SQL Server 2000管理数据库数据开发而成的基于Socket的集中式网络通信系统,系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器、应用程序服务器端 、应用程序客户端。系统采用C/S结构,可以将任务合理分配到客户机端和服务器端 ,从而降低了系统的通信开销。
客户层。
客户层是应用程序的用户接口部分,它担负着用户与应用间的对话功能,用于检查用户的输入数据,显示应用的输出数据,为了直观的进行操作,客户层需要使用图形用户接口,若聊天用户变更,系统只需改写显示控制和数据检查程序即可,而不会影响其他两层。
服务层。(功能层)
服务层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。在应用设计中,必须避免在表示层和功能层之间进行多次的数据交换,这就需要尽可能进行一次性的业务处理达到优化整体设计的目的。
数据层
数据层是DBMS,本系统使用了Microsoft 公司的SQL Ssever2000数据库服务器来管理数据。SQL Ssever2000能迅速的执行大量数据的更新和检索,因此,从功能层传送到数
据层的要求一般都使用SQL语言。
数据库课程设计心得3篇
数据库课程设计心得 范文 1: 在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本 方法 ,进一步提高我们综合运用所学知识的能力。
当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而Php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
数据库课程设计心得范文2:
一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古 名言 的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。
数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。作为一门独立的课程在国外是从20XX年才开始设立的。20XX年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、 操作系统 、数据库系统及其他系统程序的重要基础。
通过这次模具设计,我在多方面都有所提高。
一、编译工具VisualC++
很多程序在结构上是独立的,但是本此设计的程序功能不是零散的,它有一个连接是的程序是一个整体,怎样达到这种统一体呢?因为这个输出连接是贯穿始终的。说到这,就应该说以下我所应用的调试工具,也就是运行环境VisualC++,可以充分利用Windows的支持剪贴版和英文的特点。正是在实现循环链表的程序中充分利用这个特点,才能制作出全汉化的初始化画面。
二、巩固和温习了C语言
在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。
这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。
三、积累了宝贵的 经验
我这次课程设计代码中主要使用了链表的循环和遍历这两中操作。循环链表(CircularLinkedList)是单链表的另一种形式,它是一个首尾相接的链表。其特点是将单链表最后一个结点的指针域由NULL改为指向头结点或线性表中的第一个结点,就得到了单链形式的循环链表,并称为循环单链表。类似地,还有多重链的循环链表。在循环单链表中,表中所有结点被链在一个环上,多重循环链表则是将表中的结点链在多个环上。为了使某些操作实现起来方便,在循环单链表中也可设置一个头结点。这样,空循环链表仅由一个自成循环的头结点表示。所谓遍历(Traversal),是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。
这次课程设计我选中的题目是个人资料的管理。编写了一个可以简易使用的个人资料管理系统,可以进行资料的输入和管理。虽然在我的程序中有一部分是从网上搜索得来的,但我已经竭力将所获得的信息变成自己的资源,动手上机操作,在了解和看懂的基础上有所改变和创新,但是在的程序软件中还有部分的不足,需要加以更新。仅管,我并没能很好的利用所学数据结构的知识,但我也尽了自己最大的努力用我所学来完成这次的课程设计。同时,通过这次课程设计,我认识到了自己动手实践的弱势,特别是在编程方面,知道了计算机的实践操作是很重要的,只有通过上机编程才能充分的了解自己的不足。
四、对以后的学习充满了信心和期待
通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。
数据库课程设计心得范文3:
数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇 文章 ,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。
首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学asp.net),我接触到microsoft 公司的.net产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql server2000,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。
通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。
来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseuml建模工具。在此之前,我脑袋里面没有软件建模的思想,什么uml建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。
开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了mvc架构,就是你啦。我决定用这个架构,不会,没关系,咱学。just do it!前期工作准备好后,那么我就得把我暑假学的.net加以实践。这个时候我更加深入的了解了利用ado.net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于.net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。
与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.net的核心技术就是xml[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!
我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。
数据库课程工作总结
学习了数据库,有没有什么感想。下面是由我为大家整理的“数据库课程工作总结”,欢迎大家阅读,仅供大家参考,希望对您有所帮助。
数据库课程工作总结(一) 对实验过程中用到的软件、实现技术的评价以及对于实验过程遇到的一些问题做的总结:
本次实验我们是在windows操作系统平台下完成的,应用了数据库建表,触发,删除插入;powerdesigner实现数据库的概念模型、物理模型的转化;java语言中的的GUI图形用户界面、与数据库连接(jdbc)等技术。较好的在规定时间内完成了老师安排给我们的任务,实验过程中尽管遇到了不少问题,但最后经过与同伴互相探讨,借阅资料,请教老师等都使问题得到了解决。总的来说感觉数据库、powerdesigner、java语言面向对象等编程技术应用起来灵活,容易理解。短短的两周课程设计让我对java语言等编程技术产生了浓厚的兴趣,更重要的是增强了我学习的自信心。
对两周的课程设计过程中老师引导的对软件开发的分配时间的分析评价
在第一阶段:20xx.1.2--20xx.1.6
我们做的题目是《小型餐饮管理系统》按照老师的安排,我们先进行系统需求和系统功能设计,在确定了我们要做的小型餐饮管理系统应具有哪些功能后利用powerdesigner汇出了数据库的物理模型(ER图),并且进一步利用powerdesigner的强大功能由ER图继而生成了物理模型图以及数据库,完成了数据库设计阶段。在剩下来的几天里我们主要把精力集中在应用程序的调试及课程设计报告的书写上。
个人负责的工作部分
1.与组员一起探讨分析所做项目(小型餐饮管理系统)的需求分析部分,共同完成需求部分的设计。
2.通过网络、书籍等查找所需的资料。
3.数据库部分的书写(包括数据库、表、触发器、索引、存储过程等的创建)以及完成ER图,物理模型图的设计转换部分。
经验与教训
在实验验演示给老师看的时候,自我感觉做的挺好,能得到老师的好评和赞许,没想到的是老师看完我们的演示后提出的一系列问题让我们一时目瞪口呆。听了老师的讲解后才发现我们做的系统根本就是个废品,没有任何一家厂商愿意用我们的东西,即使免费相赠。和现实中的《餐饮管理系统》相比,我们的系统最大的不足体现在安全性方面,主要表现为以下两个方面:
1.顾客点菜时由于没有考虑到库户绑定问题,及设置相关的口令,从而导致点菜时乱套,无章法的问题,不方便饭店管理,严重的会出现店家亏损问题。
2.缺少工作人员的业绩考核环节的设计。
通过这次教训,我相信在以后的学习实践当中,我一定会更加认真的对待实验中的每一个环节,尤其是开始时的基础阶段。学习,成长的过程就像建造一栋高楼大厦一样,打好地基很重要,因为这关系整个楼层的稳固安全问题。我坚信在以后长远的学习的过程中我会更注重培养严谨的思维,重视细节,凡事努力打造个好的开头,脚踏实地,一步一个脚印,做到不骄不躁。
心得与体会:
第一次接触像这样比较大的项目,通过本次课程设计我深切的体会到合作与实践的重要性。
第一、在实验的过程中我一边学习一边上机动手操作,才发现自己不懂的太多太多,以前的自己太渺小,我需要不断的在学习中成长。同时也深刻体会到自己需要在动手操作方面努力改进提高。
第二、记得老师和学长们总是教导我们要学会与他人协作,告诉我们合作的能在走出社会以后更是显得尤为重要,之前我还有点不以为然,过分的相信自己。通过本次为期两周的课程设计我对老师和学长的话坚信不移,这次实验如果没有同伴的帮助仅在两周内仅凭我个人是无法完成的,实验过程中我们一起努力,互相督促,探讨。最后较好的完成了任务,也从中学到了不少东西。我笃信在以后的学习和成长过程中我会更加注重与他人协作,互助。
数据库课程工作总结(二) 跟老板做了两个算是比较大的项目,数据库主体都是我设计的。第一个感觉很失败;第二个现在正在用,虽然总结了第一个的教训,但感觉还是有些遗憾。把这过程中的一些心得记在这里,以便日后用到时来查阅。若以后还有机会再设计数据库——现在倒还有些期待,再有新的体会,也全部补充到这里。
1.尽量使用数据冗余
随着磁盘容量的大幅飙升,这一点已经不会产生什么问题。当然冗余归冗余,不能把数据的关联弄的乱七八糟的。
本科数据库课程中学的知识直接拿来,在实际中会出大问题。满足三级范式的数据库结构会让你面对大量的连表查询,应用程序中会用到大量的数据库访问,既繁琐又使程序运行速度减慢。
2.尽量不要使用varchar(max)类型
这一点主要是用动软代码生成器自动生成代码时,如果varchar的最大长度指定为max,在自动生成代码时,它无法生成这一最大长度,需要手动补进去。
现在感觉用个varchar(1000)就够了。
3.使用预留字段
数据库表(尤其是动态表格),在你把所有字段都设计好了之后,再添加几个备注字段和预留字段。
之前我觉得这样做没多大意义,因为预留字段的列名是没有实际意义的。这样程序中使用的时候就会让人费解。但现在觉得还是有必要的,很有必要的,即便在用到时需要自己十分清楚之前预留的无意义字段现在表示什么意义。不过我的第二个数据库中还是没采用,这也是遗憾之处啊。
个人感觉用note1、note2、r1(r表示reserve)、r2、r3,2个备注字段和3个预留字段就足够了,再多的话就不容易记住哪个字段具体表示什么意义了,容易晕。类型就都用varchar(200)吧。
在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。
当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
我精心推荐
谁可以帮忙做下这个题目呀 数据库课程设计
作业有什么要求
数据库课程设计报告
计网0831数据库课程设计
1、数据的导入和导出今天是数据库实习的第一天,对于我们来说数据库虽然是今年刚刚学过的课程,但是我们已经考试完一段时间了,所以也很久没有翻书本了,很多知识在刚刚做的时候还是很陌生的,不得不翻一下书本,下面就是在第一天实习中所产生的问题报告和分析结果。
在做实训前,老师先给我们讲了数据库如何导入EXCL表,在老师的指导下我们学会了,为创建表提供了方便。
首先我们是建立了一个新的KCSJ数据库,建立的数据语句如下:
用SQL语句在D:\KCSJ下创建课程设计数据库(KCSJ)
(一)CREATE DATABASE KCSJ
ON
(NAME=KCSJ_DATA,
FILENAME='D:\KCSJ_DATA.MDF')
LOG ON
(NAME=KCSJ_LOG,
FILENAME='D:\KCSJ_LOG.LDF')
将KCSJ.XLS文件中的数据导入KCSJ数据库中。导入后在数据库中将生成以下五个基本表:
学生(学号,姓名,性别,年龄,入学成绩,班级,籍贯)
成绩(学号,课程号,成绩)
课程(课程号,课程名,教师名)
三角形(a,b,c,s)
回文数(A1,A2)
其中:a> 学生、成绩、课程、三角形、回文数是表的名字。
b> 学号、姓名、性别、班级、籍贯、课程名和教师名为字符型,长度分别为10 、10、2、6、8、20、10;
c> 入学成绩为整型。
d> 年龄、课程号和成绩为整型或微整型。
e> A1为整型;A2为字符型,长度为2。
f> a、b、c为float类型,代表三角形的三边,s为float类型,代表三角形的面积。
在导入数据库中KCSJ.XLS文件的数据导入的时候是在所有任务--导入数据—数据源为excel97-2000- 文件位置—导入表中的数据—修改类型和长度 最后确定。
用企业管理器创建数据库(JW0831),将KCSJ数据库中的五个表导入该数据库中。
打开所有任务 导入数据源 选择KSCJ 数据库 下一步 再选择jw0831数据库 选择所有 确定 就可以将KCSJ数据库中的五个表导入该数据库中。
简单的结构化查询
--(1)查询学生的详细记录
select*from 学生
--(2)查询学生表中前两个班级(班级名称不能重复)
select top 2 班级 from 学生
group by 班级
在做本题的时候,由于想的比较复杂,外加题意有点模糊,所以转了很大一个圈,并在老师的侧外指导下通过group by分组才把本题做了出来。
--(3)显示把 成绩表中各科学生的成绩加 20 分后的信息
select*from 成绩
where 成绩='成绩'+20
在做本题的时候,由于题意理解错误,所以我先用updata语句来进行更新,但是在做到其它题的时候,听到老师在指导其它同学的时候,把题意一说,我才恍然大悟,自己的方向又错了。然后又重新思考,接着就做出了上面的答案。
--(4)查询来自逗宁波地 学生的学号、姓名、籍贯
select 学号,姓名,籍贯 from 学生
where 籍贯='宁波'
--(5)查询选修4号课程且考试成绩在70分以上的学生的学号以及所选修的课程号和成绩,显示前3条结果记录
select top 3*from 成绩
where 成绩>=70 and 课程号='4'
--(6)查询入学成绩在 300-400 分之内的学生的详细情况,并按入学成绩降序排序 ( 用两种方法完成 )
select * from 学生
where 300
<入学成绩 and 入学成绩<400 order by 入学成绩 desc
select * from 学生
where 入学成绩 between 300 and 400 order by 入学成绩 desc
--(7)统计学生表中的学生人数
select count(*)from 学生
对于今天的题目做的多了,忽然发现很多题的类型都差不多,都是运用基本的书本知识,然后融会贯通,举一反三,然后不费吹灰之力就做出来了,我说的不费吹灰之力是简单的,但是有些还是费了好大一番功夫的。
--(8)查询学生表中姓李,姓名列包含两个字的学生的基本情况
select * from 学生
where 姓名 like '李_'
--(9)查询名字中第 2 个字为‘北'的学生的基本信息
select * from 学生
where 姓名 like '_北%
在做这几道题的时候,我解决了并也明白了—和%得区别和用途
--(10)查询选修 4 号课程,成绩在 80-90 分之间的学生学号和成绩
select*from 成绩
where 80<=成绩 and 成绩<90 and 课程号='4'
--(11)查询 JW0831 班和 JW0551 班学生的姓名、性别及班级(用谓词查询 in )
select 姓名,性别,班级 from 学生 where 班级 in('JW0831','JW0551')
group by 姓名,性别,班级
对于本道题拿到的时候,还是愣了一下的,因为我忽然不知道什么是,对于用谓词查询 in,自己不会用,在翻书翻了一遍并且询问了同学才发现如何去用它。
--(12)查询缺少成绩的学生的学号和相应的课程号
select 学号,课程号 from 成绩
where 成绩 is NULL
--(13)统计选修了4号课程学生人数
SELECT COUNT(*)AS'人数' FROM 成绩 where 课程号='4'
--(14)查询JW0831班家在河北学生的学号、姓名、性别
select 学号,姓名,性别 from 学生
where 籍贯='河北'and 班级='JW0831'
--(15)检索刘志生老师所授课程的课程号和课程名。
select 课程号,课程名 from 课程
where 教师名='刘志生'
---(16)检索年龄大于23岁的男学生的学号和姓名。
select 学号,姓名 from 学生
where 性别='男' and 年龄>23
--(17)查询学生表中姓李的学生的基本情况
select *from 学生
where 姓名 like '李%'
--(18) 统计学生表中所有学生逗入学成绩地的平均分、最高分、最低分
select AVG(入学成绩) as'平均成绩',max(入学成绩) as'最高分',min(入学成绩) as'最低分'from 学生
--(19)查询选修了1号或者3号课程,成绩及格的学生的学号和成绩
select 学号,成绩 from 成绩
where 成绩>=60 and 课程号 in (1,3)
--(20)统计学生表中所有男女生人数
SELECT 性别, COUNT(性别)AS'人数' FROM 学生
group by 性别
对于今天的题除了自己不太熟悉课本知识和同学讨论出来的那些分析外,对于其他的题已经没有什么问题了,因为我把今天的题做完之后,把报告写完的同时,对于明天的题我也进行了一番思考,并且还帮助其他同学解决了一些不会的问题。
星期二 天气 冷 心情 good
3、复杂的结构化查询
--(1)检索至少选修刘志生老师所授课程中一门课程的女学生姓名。
select 学生.学号,姓名,性别,课程.课程号 from 学生,成绩,课程
where 性别='女' and 课程.课程号 in(select 课程号 from 课程 where 教师名='刘志生')and 学生.学号=成绩.学号
and 课程.课程号=成绩.课程号
对于今天的课程设计不是像昨天一样那么简单了,简直是提高了一个很大的层次,简直是一步三晃啊!不容易啊!就像本题一样,在查询的时候要用一个子查询和三个条件才能把它做出来!
--(2)检索吴计算同学不学的课程的课程号。
select 课程号 from 课程 where 课程号 not in(select 成绩.课程号 from 成绩,学生where 姓名='吴计算' and 成绩.学号=学生.学号)
在本题中,用的方法还真是一波三折啊!因为如果要查不学的课程,要先查出他学的课程,然后再排掉学过的!充分运用了not in这个语法
--(3)检索至少选修四门课程的学生学号。
select 学号, count(成绩.学号)as '门数' from 成绩,课程 where 成绩.课程号=课程.课程号
group by 成绩.学号
having count(成绩.学号)>=4
对于本题的用的是count做统计这个数据语句,外加可以用在group by 语句后的having条件语句。通过本题的联系,可以很好的运用count 和having语句
--(4)检索全部学生都选修的课程的课程号与课程名。
select 课程.课程名 ,课程.课程号 from 成绩,课程
where 成绩.课程号=课程.课程号
group by 课程.课程名,课程.课程号
having count(成绩.学号) in (select count(学生.学号)from 学生)
--(5)检索选修课程包含刘志生老师所授课的学生学号。
select 学号 from 成绩,课程
where 教师名='刘志生'and 成绩.课程号=课程.课程号
--(6)统计有学生选修的课程门数。
select 学号, count(成绩.学号)as '门数' from 成绩,课程 where 成绩.课程号=课程.课程号
group by 成绩.学号
--(7)求选修4号课程的学生的平均年龄。
select AVG(年龄)as'平均年龄',成绩.课程号 from 学生,成绩
where 课程号='4' and 学生.学号=成绩.学号
group by 成绩.课程号
--(8)求刘志生老师所授课程的每门课程的学生平均成绩。
select avg(成绩.成绩)as'平均成绩',课程.课程号 from 成绩,课程
where 教师名='刘志生' and 成绩.课程号=课程.课程号
group by 课程.课程号
--(9)统计每门课程的学生选修人数(超过6人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
select 成绩.课程号, count(成绩.学号)as '人数' from 成绩,课程
where 成绩.课程号=课程.课程号
group by 成绩.课程号
having count(成绩.学号)>=6
order by count(成绩.学号) asc
--(10)检索学号比陆力利同学大,而年龄比他小的学生姓名。
select 学号,姓名 from 学生
where 学号>(select 学号 from 学生 where 姓名='陆力利') and 年龄<(select 年龄 from 学生 where 姓名='陆力利'
--(11)求年龄大于女同学平均年龄的男学生姓名和年龄。
select 姓名,年龄 from 学生
where 性别='男'and 年龄>(select avg(年龄)as'平均年龄'from 学生 where 性别='女')
--(12)统计学生人数超过 5人的班级名称和对应的人数
select 班级,count(学生.学号)as '人数'from 学生
group by 班级
having count(学生.学号)>=5
--(13)检索课程号和选修人数,查询结果按人数升序排列,若人数相同,按课程号降序排列。
select 成绩.课程号, count(成绩.学号)as '人数' from 成绩,课程
where 成绩.课程号=课程.课程号
group by 成绩.课程号
order by count(成绩.学号) asc,成绩.课程号 desc
这道题运用很多知识点,不但用了count 统计 还用了 group by 分组 外加排序
--(14)查询选修课程学生的学号、姓名、所选课程号、取得的成绩
select 学生.学号,学生.姓名,成绩.课程号,成绩.成绩 from 学生,成绩
where 学生.学号=成绩.学号
--(15)查询学生的学号、课程号和成绩等级
select 学号,课程号,成绩,(
CASE
WHEN 成绩>=90 and 成绩<=100 THEN 'A'
WHEN 成绩>=80 and 成绩<90 THEN 'B'
WHEN 成绩>=70 and 成绩<80 THEN 'C'
WHEN 成绩>=60 and 成绩<70 THEN 'D'
ELSE 'E'
END ) as 等级
from 成绩
本题运用了一个新的知识点,这个知识点是在老师的ppt课件上找到的,利用这个语句何以很好很方便的为管理系统中的成绩分等级,所以在本体中一定要记住本语句的语法如:case when……and then ……else end
今天小结,通过今天一天的课程设计,我觉得我收获了很多,因为它让我以前学的不太好的知识点全部都巩固了一遍,尤其是成绩、课程、学生这些表与表的链接,每次不是这里连不上就是那里连不上,但是现在不但可以连上了,还可以帮助其他同学检查出来错误,真是一笔不小的收获,虽然今天做的题比较难,但是每一次在自己的努力下做出来都会有不小的成就感……
3、复杂的结构化查询
星期三 天气 冷 心情 good
外面飘着雪花,美好的一天又已经开始了!实习已经到了一半,离回家的日子也近了很多,所以心情也是越实习越好了!今天的工作当然也完成的比较顺利!虽然有的还挺难的!但是相信自己一定就会成功!嘿嘿……看看自己的劳动成果就知道了!
3、复杂的结构化查询
--(16)查询选修了英语的学生的姓名和成绩;
select 学生.姓名,成绩.成绩 from 成绩,学生,课程
where 课程.课程名='英语'and 学生.学号=成绩.学号 and 课程.课程号=成绩.课程号
group by 学生.姓名,成绩.成绩
--(17)分别统计每个班级的男女人数(要求显示出班级、性别、对应的人数)
SELECT 班级, 性别, COUNT(性别)AS'人数' FROM 学生
group by 班级,性别
--(18)求年龄大于所有女同学年龄的男学生姓名和年龄。
select 姓名,年龄 from 学生
where 性别='男'and 年龄>(select max(年龄) from 学生 where 性别='女')
group by 姓名,年龄
--(19)计算选修了1号课程的学生的平均成绩(要求显示出课程号和对应的平均成绩)
select 课程号,avg(成绩)as'平均成绩'from 成绩
where 课程号='1'
group by 课程号
--(20)查询选修课程学生的学号、姓名、所选课程名、取得的成绩
select 学生.学号,姓名,课程.课程名,成绩.成绩 from 学生,成绩,课程
where 学生.学号=成绩.学号 and 课程.课程号=成绩.课程号
--(21)查询学生的学号、姓名、性别及所选修各门课程的成绩(要求每位学生用一个数据行显示这些信息)
SELECT 学生.学号, 学生.姓名,学生.性别,
(select 成绩 from 成绩 where 课程号='1' and 学生.学号=学号) as '数学',
(select 成绩 from 成绩 where 课程号='2' and 学生.学号=学号) as '英语',
(select 成绩 from 成绩 where 课程号='3' and 学生.学号=学号) as '计算机基础',
(select 成绩 from 成绩 where 课程号='4' and 学生.学号=学号) as '数据库',
(select 成绩 from 成绩 where 课程号='5' and 学生.学号=学号) as '政治',
(select 成绩 from 成绩 where 课程号='6' and 学生.学号=学号) as '体育'
FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号
GROUP BY 学生.学号, 学生.姓名,学生.性别
--(22)查询李路路所学的课程名和对应的成绩,并按照成绩升序排列。
select 姓名,课程名,成绩 from 学生,课程,成绩
where 姓名='李路路'and 课程.课程号=成绩.课程号 and 学生.学号=成绩.学号
order by 成绩
--(23)查询平均成绩大于 75 分的课程,要求显示课程名和平均成绩。
select 课程名,avg(成绩)as'平均成绩' from 课程,成绩
where 课程.课程号=成绩.课程号
group by 课程名
having avg(成绩)>=75
--(24)查询所选课程平均成绩前三名的那些学生的姓名和平均成绩。
select top 3 学生.学号,姓名,avg(成绩.成绩)as'平均成绩'from 成绩,学生 where 学生.学号=成绩.学号 group by 学生.学号,姓名 order by avg(成绩.成绩) desc
--(25)查询和李工业在同一个班级的学号和姓名
select 学号,姓名 from 学生
where 班级 in (select 班级 from 学生 where 姓名='李工业')
--(26)查询JW0831班中入学成绩比李里高的学生的姓名
select 姓名 from 学生
where 班级='JW0831' and 入学成绩>(select 入学成绩 from 学生 where 姓名='李里')
--(27)在学生表中查询高于入学成绩平均分的学生学号、姓名、班级、入学成绩
select 学号,姓名,班级,入学成绩 from 学生
where 入学成绩>(select avg(入学成绩)as'平均成绩'from 学生)
--(28)查询没有选修课程的学生的学号和姓名
select 学生.学号,学生.姓名 from 学生
where 学号 not in(select 学号 from 成绩 group by 学号 )
--(29)查询选修了 5(含5) 门以上课程的学生的姓名。
select 姓名 from 学生,成绩,课程 where 成绩.课程号=课程.课程号 and 学生.学号=成绩.学号
group by 成绩.学号,姓名
having count(成绩.学号)>=5
--(30)查找同名同姓的学生信息。
select a1.* from 学生 a1,学生 a2
where a1.姓名=a2.姓名 and a1.学号<>a2.学号
星期四 天气 冷 心情 good
数据管理
--(1)利用学生表创建一个新表(不含数据):优秀(学号,姓名,性别),
--然后在学生表中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,
--并把检索到的值送往优秀表中。
select 学号,姓名,性别 into 优秀 from 学生
where 5>6
insert into 优秀 select 学号,姓名,性别 from 学生 where 学号 in (select 学号 from 成绩 group by 学号 having min(成绩)>=80 )
--(2)把李路路同学的选课和成绩全部删去。
delete from 成绩
where 成绩 in(select 成绩 from 学生,成绩 where 学生.学号=成绩.学号 and 姓名='李路路')
--(3)把低于总平均成绩的女同学成绩提高5%。
UPDATE 成绩 SET 成绩=成绩*(1+0.05) WHERE 成绩<(select avg(成绩.成绩)as'平均成绩'from 成绩) and 学号 in(select 学号 from 学生 where 性别='女')
--(4)把选修数学课不及格的成绩全改为空值。
UPDATE 成绩 SET 成绩=null WHERE 成绩<60 AND 课程号=(select 课程号 from 课程 where 课程名='数学')
--(5)在成绩表修改4号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)。
UPDATE 成绩 SET 成绩=成绩*0.5 WHERE 成绩<=75 and 课程号='4'
UPDATE 成绩 SET 成绩=成绩*0.4 WHERE 成绩>75 and 课程号='4'
--(6)将选修4号课程且成绩没有及格的学生的成绩调整为 60 分。
UPDATE 成绩 SET 成绩=60 WHERE 成绩<60 AND 课程号='4'
自定义函数的使用
编写一函数(hws),判断一个整数是否为回文数,若是函数值为逗是地,否则为逗否地,利用该函数判断回文数基本表中A1列的整数是否为回文数,若是,则A2列的值为逗是地,否则为逗否地。
create function hws(@A1 int)
returns char(2)
as
begin
declare @y int,@r int,@c char(2),@z int
select @y=0,@z=@A1
while @A1!=0
select @r=@A1%10,@y=@y*10+@r,@A1=@A1/10
if @y=@z
set @c='是'
else
set @c='否'
return @c
end
update 回文数 set A2=dbo.hws(A1)。
星期五 天气 冷 心情 good
游标的使用
利用游标可以访问单独数据行的特点,逐一对三角形基本表中的数据行(三条边)进行处理,求三角形的面积。
Declare yb cursor
For
Select*from 三角形
Declare @a float,@b float,@c float,@p float,@s float
Open yb
Fetch next from yb into @a,@b,@c,@s
While @@fetch_status=0
Begin
If @a+@b>@c and @a+@c>@b and @b+@c>@a
select @p=(@a+@b+@c)/2.0,@s=round(sqrt(@p*(@p-@a)*(@p-@b)*(@p-@c)),2)
else
set @s=null
update 三角形 set s=@s where current of yb
fetch next from yb into @a,@b,@c,@s
end
close yb
deallocate yb
心得体会
时光匆匆,一个星期的实习已经接近尾声了,对于本次的实习心情就是轻松加愉快,收获也是硕果累累,在老师的安排下,实习的过程是根据每天老师给的任务,按时完成作业然后再把报告写完根据规划每天都有条不絮的干着自己的事情,对于我是一个不会安排时间的人,生活中重来没有规划,所以事情每次干完不是紧一阵就是松一阵的,所以通过这次实习中在老师的安排下,自己也懂得了安排时间的重要性,也从中吸取到了一些经验。
在本次实习中我不仅把本学期学习的数据库基本知识进行了点到点的复习,也把它进行了巩固,在原来没有学好的地方通过本次的实习学的比以前学的更好,不仅如此,我们在做课程设计的时候还学会了独自的思考和协作,有些知识点我们运用的不是很好,但是后面再老实的帮助和在同学的探讨下,最后都把它解决了出来。除此之外,我也感觉到实习并不是因为完成任务而实习,它是为了让我们更好的掌握知识,并把知识运用到生活中去的,就像艺术一样,源于生活,而应用于生活一样。数据库的学习,也是为了以后生活中方便自己方便他人而学习的。
由于每天紧张的课程,一路都是匆匆来匆匆去,所以一个班同学的交流也是很少的,通过实习所以同学之间交流的机会也就比较多了一点,比才的感觉也因此增进了不少,以上就是本次在实习中所得到的心得,至于没有感受到的,将在以后的生活中再次的吸取生活中的经验。来进行学习中的总结。
入学成绩>
求一份SQL server数据库课程设计报告
http://www.winu.cn/1/34248.html
类似的
一.可行性研究:
随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。
图书管理系统,为政府机关与广大企事业单位自动化办公提供了一个较好的解决方案。在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2000网络数据库,使得本系统可以方便的和其他子系统进行数据交换。同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。
二.需求分析:
1.任务概述:
1.1 目标:
对图书信息进行图书入库、借阅登记、借阅查询、过期提示、办理借书卡这些日常业务的需要。高效性通过系统的实用,能够改变旧的图书管理模式,使对图书的管理、借阅、查询更加方便有效。
1.2 运行环境:
Windows 98/2000/XP/2003操作系统下,安装并配置软件Microsoft SQL Server 2000数据库管理系统。
2.数据需求:
2.1 数据流条目:
权限=权限+姓名 登录用户=帐号+姓名+密码+权限
用户=用户帐号+姓名+性别+组号+证件号码 图书类别=类别+类名
图书=图书编号+类别+书名+作者+出版日期+出版社+定价+总数量+剩下数量+备注
借阅=用户帐号+图书编号+借书日期+到期日期+数量+还书日期
借阅信息=用户帐号+图书编号+借书日期+到期日期+数量+还书日期
2.2 数据字典(DD):
2.3 数据库描述:
使用SQL SERVER2000作为后台数据库,就可以行使基于网络连接的用户认证。从而给不同的子系统分配不同的数据库使用角色,让他们彼此之间使用的数据库隔离开来,以达到较高的安全性。
2.4 数据采集:
通过Internet从网站上收集一些图书的相关信息,录入数据库,从而建立数据库,并在编码调试阶段测试各个功能模块的实现。
3.功能需求:
3.1 功能划分:
图书管理系统主要实现以下七方面的功能:
a.查询 b.图书借还 c.图书入库 d.图书维护
e.图书超期提示 f.环境管理 g.备份还原
3.2 功能描述:
图书管理包括查询、借还、入库、维护、超期提示、环境管理和备份还原七方面功能。
图书入库,主要实现入库登记。
图书借阅,进行借书登记(此操作由管理员完成);当用户要查询自己的借阅情况时,可进行借阅查询。
图书超期提示,当借阅者在已到借书期限时未归还图书,提示其尽快办理归还手续。
3.3 数据流图(DFD):
新书入库DFD:
D1 库存清单
D1 库存清单
图书借阅的DFD:
过期提示的DFD:
借阅查询的DFD:
D1 借阅查询清单
还书处理的DFD:
D1 库存清单
4.安全性需求:
考虑到不同用户的权限不同,第一次进入该系统时应该向管理员申请注册一个用户名和密码,并完整的填写相关信息,同时存入数据库表中。这样管理员就可赋予不同用户不同的权限。每位用户根据自己的身份不同,进入不同的用户界面。管理员有权力行使所有的管理功能,普通用户只能进行一般的查询。
5.一致性需求:
在图书管理系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束。
6.完整性需求:
根据图书管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。
三. 概要设计说明书:
1.总体设计:
1.1 系统结构示意图:
图书管理系统结构示意图
1.2总体结构和模块外部设计:
2.接口设计:
2.1 外部接口:
通过一定的计算机硬件,建立服务器系统,管理员通过管理服务器系统,与用户进行交互,从而达到资源共享的目的,实现图书管理系统。
2.2 内部接口:
程序内部需要共同的数据定义和描述,此系统是智能办公化管理系统的一个子系统,必须和这个系统的其他子系统统一数据定义等,才能使该系统性能达到最好,并且要尽量消除和其他子系统模块之间存在的数据冗余,才能使整个智能办公系统做到高效,方便。
3.E-R图
E-R图清楚地描述了系统中各个实体之间的联系,以及各个实体所具有的属性,可以使读者很清楚地了解整个系统的总体处理。在建立E-R图的过程中,主要经历以下几个步骤:1.选择局部应用;2.逐一设计分E-R图;3.合并分E-R图,生成初步E-R图;4.消除不必要的冗余,设计基本的E-R图。
4.运行设计:
4.1 运行模块的组合:
运行模块分成基本的三个模块,即是:输入模块,输出模块,处理模块等。这使得整个系统的维护容易,简单;系统的结构层次简单,易懂。
4.2 运行控制:
本系统采用的控制方式主要有三种:顺序,选择,循环。
5.安全保密设计:
考虑到不同用户的权限不同,第一次进入该系统时应该向管理员注册一个用户名和密码,并完整的填写相关信息,同时存入数据库表中。这样管理员就可赋予不同用户不同的权限。当用户登录进操作界面之前,我们设置了用户名和密码,当用户名和密码相匹配时才能进入该用户所允许做的权限操作界面,否则就只能看到登录界面管理员有权力行使所有的管理功能,普通用户只能进行一般的查询。
四.详细设计:
1.数据库表
权限:(权限,姓名)
登录用户:(帐号,姓名,密码,权限)
用户:(用户帐号,姓名,性别,组号,证件号码)
图书类别:(类别,类名)
图书:(图书编号,类别,书名,作者,出版日期,出版社,定价,总数量,剩下数量,备注)
借阅:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)
借阅信息:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)
2.计算机的软件配置
Windows 98/Windows xp/Windows 2000/Windows 2003;
五. 编码与实现:
六. 测试
数据课程设计心得体会
课程设计既可以指为掌握某一课程内容所进行的设计,也要指对某一门课程教学策划的研究活动,下面是为大家搜集整理的数据课程设计心得体会,欢迎阅读。
数据课程设计心得体会(一)
在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。
当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
数据课程设计心得体会(二)
数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。
首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学ASP(ASP培训 ).net),我接触到microsoft 公司的.net产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过VB(VB培训 ),但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql server2000,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。
开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了mvc架构,就是你啦。我决定用这个架构,不会,没关系,咱学。just do it!前期工作准备好后,那么我就得把我暑假学的.net加以实践。这个时候我更加深入的了解了利用ado.net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于.net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。
与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.net的核心技术就是xml[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊。
实际上从学习的经历来看,我们接触的知识体系都是属于比较老或比较传统的,与现在发展迅速的IT行业相比很多情况已不再适用,尤其是当开源模式逐渐走近开发者后更是如此。虽然是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。总而言之,这次数据库设计心得体会不能用语言完全表达。
数据课程设计心得体会(三)
本次课程设计,使我对《数据结构》这门课程有了更深入的理解。《数据结构》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
我的课程设计题目是线索二叉树的运算。刚开始做这个程序的时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能的,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树的删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间的帮助最终基本解决问题。
在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的、良好的程序设计技能以及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对VC有了更深入的了解。《数据结构》是一门实践性很强的课程,上机实习是对学生全面综合素质进行训练的一种最基本的方法,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。上机实习一方面能使书本上的知识变“活”,起到深化理解和灵活掌握教学内容的目的;另一方面,上机实习是对学生软件设计的综合能力的训练,包括问题分析,总体结构设计,程序设计基本技能和技巧的训练。此外,还有更重要的一点是:机器是比任何教师更严厉的检查者。因此,在“数据结构”的学习过程中,必须严格按照老师的要求,主动地、积极地、认真地做好每一个实验,以不断提高自己的编程能力与专业素质。
通过这段时间的课程设计,我认识到数据结构是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。 总的来说,这次课程设计让我获益匪浅,对数据结构也有了进一步的理解和认识。
数据课程设计心得体会(四)
两个星期的时间非常快就过去了,这两个星期不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。虽说上过数据库上过管理信息系统等相关的课程,但是没有亲身经历过相关的设计工作细节。这次实习证实提供了一个很好的机会。
通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。
从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统的设计开发过程。很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。
我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后的课程设计要特别注意这一块的设计。
按照要求,我们做的是机票预订系统。说实话,我对这个是一无所知的,没有订过机票,也不知道航空公司是怎么一个流程。盲目开始设计的下场我已经尝过了,结果就是出来一个四不像的设计方案,没有什么实际用处。没有前期的调查,仅从指导书上那几条要求着手是不够的。
在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。在两周的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:由于忘记了一些java语言的规范使得在调试过程中一些错误没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程序时如有一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易。
我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
很多事情不是想象中的那么简单的,它涉及到的各种实体、属性、数据流程、数据处理等等。很多时候感觉后面的设计根本无法继续,感觉像是被前面做的各种图限制了。在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。
物理结构设计基本没有碰到问题,这一块和安全性、完整性不觉就会在物理结构设计中添加一些安全设置:主键约束、check约束、default定义等。最后才做索引的部分,对一些比较经常使用搜索的列,外键上建立索引,这样可以明显加快检索的速度,最后别忘记重要的安全性设置,限制用户访问权限,新建用户并和数据库用户做相应的映射。
不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来她并没有你以前觉得的那样,自己也是可以的。如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!
以上基本是这次实习的体会了,设计进行的非常艰难,编码非常不容易,才发现做一个项目最重要的不在于如何实现,而是实现之前的需求分析和模块设计。创新很难,有些流行的系统其实现并不难,难的在于对市场的分析和准确定位。设计,是一个任重道远的过程。