首页 SEO优化 正文

数据库软件开发课程设计报告(数据库技术课程设计报告)

SEO优化 68 0

今天给各位分享数据库软件开发课程设计报告的知识,其中也会对数据库技术课程设计报告进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

数据库课程设计报告

我是绑定IP的高校帐号,可以帮你下载相关资料。

文献检索互助知道团队为您服务

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语言。

数据库应用课程设计的报告

数据库课程设计报告 目录目录……………………………………………………………………………………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 server数据库课程设计报告

2.2需求分析

(1)需求分析的任务

需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,用通俗的话来讲,就是分析了解用户关心什么,用户需要什么样的结果,然后在此基础上分析和设计新系统的数据库。

需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。

 信息要求

是指用户需要从数据库中获得信息的内容与性质。由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据。

 处理要求

是指用户要求完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。

 安全性与完整性要求

一是指用户对系统和数据有什么安全性要求,如不同级别的用户具有什么操作权限和使用哪些数据;二是对数据的输入和存储的什么要求,如数据的长度和范围、数据的有效性、一致性和唯一性等。

确定用户的最终需求其实是一件很困难的事,这是因为一方面用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。另一方面设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。因此设计人员必须与用户不断深入地进行沟通和交流,才能逐步得以确定用户的实际需求。

(2)需求分析的基本步骤

1.调查与初步分析用户的需求,确定系统的功能边界

⑴首先调查组织机构情况

⑵然后调查各部门的业务活动情况

⑶协助用户明确对新系统的各种要求

⑷确定新系统的结构和功能边界,确定哪些功能由计算机完成或将来由计算机完成,哪些活动由人工完成。

常用的调查方法有:

⑴跟班作业

⑵开调查会

⑶请专人介绍

⑷询问

⑸问卷调查

⑹查阅记录

2.生成数据字典

1)数据项条目:数据项是不可再分的数据单位,它直接反映事物的某一特征。

2)数据结构条目:反映了数据之间的组合关系。

3)数据流条目:数据流是数据结构在系统内传输的路径。

4)数据文件条目:数据文件是数据项停留或保存的地方,也是数据流的来源和去向之一。

5)处理过程条目。

(3) 案例分析:教学管理系统数据库的需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库的结构能充分满足各种信息的输出和输入。需求分析阶段主要是收集基本数据,确定数据结构及数据处理的流程,组成一份详尽的数据字典,以便为后面的概念设计和逻辑设计打下基础。

2.3概念结构设计

概念结构设计是对收集来的信息和数据进行分析整理,确定实体、属性及联系,形成独立于计算机的反映用户观点的概念模型。概念设计的重点在于信息结构的设计,它是整个数据库系统设计的关键。

(1)概念结构设计的目标和任务

概念结构设计的目标是产生反映系统信息需求的数据库概念结构,即概念模式。概念结构是独立于DBMS和使用的硬件环境的。在这一阶段,设计人员要从用户的角度看待数据以及数据处理的要求和约束,产生一个反映用户观点的概念模式,然后再把概念模式转换为逻辑模式。

概念模型的表示方法很多,其中最著名、最常用的表示方法为实体-联系方法,这种方法也称为E-R模型方法,该方法采用E-R图描述概念模型。

E-R图提供了表示实体、属性和联系的方法,它由以下三个组件构成:

 实体---用矩形表示,矩形框内写明实体名。

 属性---用椭圆形表示,并用无向边将其与相应的实体连接起来。

 联系---用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。

例如教学管理系统中的学生实体与课程实体的E-R图如下图表示:

(2)概念结构设计的过程

●数据抽象

概念结构是对现实世界的一种抽象,所谓抽象就是对实际的人、事、物和概念进行加工处理,抽取所关心的共同特性,用各种概念精确的加以描述,组成某种模型。

在需求分析中,已初步得到了有关各类实体、实体间的联系以及描述它们性质的数据元素,统称数据对象。

在这一阶段中,首先要从以上数据对象中找出:系统有哪些实体?每个实体有哪些属性?哪些实体间存在联系?每一种联系有哪些属性?然后就可以做出系统的局部E-R模型和全局E-R模型。

● 局部E-R模型设计

局部E-R模型设计是从数据流图出发确定实体和属性,并根据数据流图中表示的对数据的处理、确定实体之间的联系。

设计局部E-R图的步骤是:

1.确定实体类型和属性

实体和属性之间没有严格的区别界限,但对于属性来讲,可以用下面的两条准则作为依据:

1)作为属性必须是不可再分的数据项,也就是属性中不能再包含其他的属性。

2)属性不能与其他实体之间具有联系。

2.确定实体间的联系

依据需求分析结果,考察任意两个实体类型之间是否存在联系,若有,则确定其类型(一对一,一对多或多对多)。

3.画出局部E-R图

确定了实体及实体间的联系后,可用E-R图描述出来。形成局部E-R图之后,还必须返回去征求用户意见,使之如实地反映现实世界,同时还要进一步规范化,以求改进和完善。每个局部E-R图必须满足:

(1)对用户需求是完整的。

(2)所有实体、属性、联系都有惟一的名字。

(3)不允许有异名同义、同名异义的现象。

● 全局E-R模型的设计

各个局部E-R模型建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构,即总E-R图。在合并全局E-R模型时,应注意检查和消除属性、命名的冲突及数据冗余。

(3)案例分析:教学管理系统数据库的概念结构设计

通过上面的需求分析,就可以进行数据库的概念结构设计,先对现实当中的人、事、物和概念进行抽象的加工处理,抽取所关心的共同特性,用各种概念进行描述,从中找出能够满足用户需求的各种实体,以及它们之间的关系,并用实体-联系图表示出来(即画出E-R图),为后面的逻辑结构设计打下基础。

1、确定实体及其属性

经过对人工进行的教学管理系统的业务调查,得知系统主要涉及以下几个实体:

● 学生实体:属性主要包括班级名称、学号、姓名、性别、出生日期、民族、政治面貌、来源地、入学成绩、学生类别、电话、备注等。

● 教师实体:属性主要包括教师号、教师姓名、性别、出生日期、所在系、职称

● 班级实体:属性主要包括系部名称、班级号、班级名称、班主任、学生人数、备注等。

● 系部实体:属性主要包括系号、系部名称、班级数等。

● 课程实体:属性主要包括课程号、课程名、考核方式、学分、学时数等。

2、确定实体之间的联系

2.4 逻辑结构设计

(1)逻辑结构设计的目标和任务

逻辑结构设计的目标就是把概念结构设计阶段设计好的E-R图转换为特定的DBMS所支持的数据模型(即层次、网状、关系模型之一),并对其进行优化。

概念模型向逻辑模型的转换过程分为3步进行:

(1)把概念模型转换为一般的数据模型。

(2)将一般的数据模型转换成特定的DBMS所支持的数据模型。

(3)通过优化方法将其转化为优化的数据模型。

(2) 概念模型转换为一般的关系模型

1.实体的转换规则

将E-R图中的每一个常规实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。

2.实体间联系的转换规则

1)一个1:1联系可以转换为各自独立的关系模式,也可以与任意一端所对应的关系模式合并。

2)一个1 : n联系可以转换为各自独立的关系模式。

3)一个m : n联系转换为一个关系模式。转换的方法为:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合

(3) 案例分析:教学管理系统数据库的逻辑结构设计

逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换为特定的DBMS所支持的数据模型(即层次、网状、关系模型之一),并对其进行优化,得到满足用户要求和系统功能需求的关系模式。

1、 E-R模型转换为关系模式

将E-R模型转换成初始关系模式的一般规则是:系统中各个实体转换为对应的关系模式;实体之间多对多的联系也转换为关系模式。

根据转换规则,可以将系部、班级、学生、教师、课程五个实体转换成与之对应的五个关系模式;而将学生与课程两者之间多对多的选修关系以及教师、班级和课程三者之间多对多的开课关系也转换为关系模式。

2、关系模式的设计

根据上述的转换结果,在对关系模式中数据进行规范化处理后,得到了符合第三范式的关系模式如下:

学生:{学号、姓名、性别、出生日期、民族、政治面貌、来源地、入学成绩、学生类别、班级名称、电话、备注}

班级:{班级号、班级名称、班主任、学生人数、系部名称、备注}

系部:{系号、系部名称、班级数}

教师:{教师号、教师姓名、性别、出生日期、所在系、职称}

课程:{课程号、课程名、考核方式、学分、学时数}

选修:{学号、课程号、成绩}

开课: {教师号、班级名称、课程号、开课学期、授课地点}

每个关系模式中带下划线的属性或属性的组合表示主键、带双波浪线的属性表示与之关联的表的外键。

根据系统功能需求,数据采用SQL Server 2000所支持的实际数据模型,也就是数据库的逻辑结构。启动SQL Server 2000,创建一个数据库命名为:jxgl。该数据库中各个数据表的结构如下面各个表格所示。每个表格对应于数据库中的一个表。

3、将关系模式转换为数据库中的表

按照关系数据模型的结构,将关系模式转换为关系数据库中的数据表,转换的规则是:一个关系模式转换为一个数据表,关系模式中的每个属性转换为数据表中的一个列。同时设置表中各个列的名称、数据类型、数据宽度以及数据规则,得到如下几个表:

学生表(student)

列名 类型 宽度 规则

班级名称 CHAR 20 内容取自班级信息表的班级名称

学号 CHAR 10 主键、长度为10个字符

姓名 CHAR 8

性别 CHAR 2 非空、只能取“男”或“女”

出生日期 DATETIME

民族 CHAR 4 假定只能取以下之一:汉、壮、白、回、苗、满、其它

政治面貌 CHAR 4 只能取以下之一:党员、团员、群众

来源地 CHAR 10

入学成绩 INT

学生类别 CHAR 10 假定只能取以下之一:本科、大专(普)、大专(业)、中专、技校、函授、其它

电话 CHAR 11

备注 CHAR 10

注:(1)该表存放全校所有学生的基本信息,每个学生产生一条记录。

(2)学号的前4位表示年级,第5--8位表示班级号(其中第5-6位表示系号, 第7-8位表示系内班级号),最后两位是班内的学生编号,在输入记录内容时应加以区分。

班级表(class)

列名 类型 宽度 规则

系部名称 CHAR 10 非空、内容取自系部信息表的系部名称

班级号 CHAR 4 非空、长度为4个字符

班级名称 CHAR 20 主键

班主任 CHAR 8

学生人数 INT

备注 CHAR 10

注:(1)该表存放全校所有班级的信息,每个班级产生一条记录。

(2)班级号的前2位表示系号,后两位为系内的班级编号,在输入记录内容时应加以区分。

系部表(department)

列名 类型 宽度 规则

系号 CHAR 2 非空、长度为2个字符

系部名称 CHAR 10 主键

班级数 INT

注:该表存放某校所有的系部信息,每个系部产生一条记录。

教师表(teacher)

列名 类型 宽度 规则

教师号 CHAR 4 主键、长度为4个字符

姓名 CHAR 8

性别 CHAR 2 非空、只能取“男”或“女”

出生日期 DATETIME

职称 CHAR 6 只能取以下之一:教授、副教授、讲师、助教、其他

所在系 CHAR 20 非空、外键(内容取自系部表的系部名称)

课程表(course)

列名 类型 宽度 规则

课程号 CHAR 4 主键、长度为4个字符

课程名 CHAR 20

考核方式 CHAR 4 假定只能取以下之一:考试、考查、其他

学分 INT 非空

学时数 INT

注:该表存放某校所有的课程信息,每门课产生一条记录。

成绩表(SC)

列名 类型 宽度 规则

学号 CHAR 8 主键、内容取自学生信息表的学生姓名

课程号 CHAR 20 主键、内容取自课程信息表的课程名称

成绩 INT

注:该表存放某校所有学生的成绩信息,每个学生学习每门课程产生一条记录。

开课信息表(tcc)

列名 类型 宽度 规则

教师号 CHAR 4 主键、内容取自教师信息表的教师号

课程号 CHAR 4 主键、内容取自课程信息表的课程号

班级号 CHAR 4 主键、内容取自班级信息表的班级号

开课学期 CHAR 20

授课地点 CHAR 20

注:该表存放某校开设课程的信息,每个教师教授某个班级的某门课产生一条记录。

2. 5 物理设计

数据库的物理设计目标是在选定的DBMS上建立起逻辑设计结构确立的数据库结构,这一过程也称为数据库的物理实现。它主要包括两项工作:

一是根据数据库的结构、系统的大小、系统需要完成的功能及对系统的性能要求,决定选用哪个数据库管理系统。目前,数据库产品市场上比较好的产品有:Microsoft SQL Server、Oracle、IBM DB/2,SYBASE等。

二是根据选用的数据库管理系统的数据库实现方法来建立用户数据库,即创建所需要的数据库、表及其他数据库对象。

本系统选用的DBMS是SQL Server 2000,并在该系统上创建用户数据库jxgl以及下属的7个用户表:student、class、department、teacher、course、sc、tcc,各个表的结构按2.4节第3点各表给出的具体内容设定。

2. 5 实训二

以小组讨论的形式,完成人事工资管理系统用户数据库的设计,要求个人写出用户数据库设计的文档(包括数据库的需求分析、概念设计、逻辑设计和物理设计,表达方法可参考本章相应内容的案例分析部分),每个小组上交一份本系统用户数据库包括的数据表。

第三章 数据库的数据完整性设计

3.1数据完整性的基本概念及内容

正确创建数据库后,需要考虑数据的完整性、数据的安全性等要求。数据的完整性主要指数据的正确性、有效性、相容性,强制实施数据完整性可以确保数据库中的数据的质量。

进行数据完整性设计主要考虑以下几个方面的内容:

1)表名惟一;

由系统强制实施控制。

2)列名惟一;()

由系统强制实施控制。

3)数据行惟一;

通过设置主键约束或触发器来实施控制。

4)列值非空;

通过设置非空约束来实施控制。

5)列值惟一性

通过设置惟一约束或惟一索引来实施控制。

6)列值满足一定的条件

通过设置检查约束或触发器来实施控制。

7)数据的一致性和有效性

通过设置外键约束或触发器来实施控制。

至于具体要对数据库的哪一个表的哪一项数据进行什么样的数据完整性设计,还应根据用户的需求来考虑和确定。

3.2 数据完整性的分类与实现方法

在SQL Server关系数据库中,数据完整性分为以下三类:

1. 域完整性

域完整性是指一个列的输入有效性,是否允许空值。实现域完整性的方法主要有:限制数据类型(通过设定列的数据类型)、限定格式(通过CHECK约束和规则)或可能值的范围(通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT定义、NOT NULL定义和规则)以及程序控制。

2. 实体完整性

实体完整性是指保证表中所有的行唯一。实现实体完整性的方法主要有:索引、UNIQUE约束、PRIMARY KEY约束或 IDENTITY属性以及程序控制。

3. 参照完整性

参照完整性也叫引用完整性。参照完整性确保主键(被引用表)和外键(引用表)之间的参照关系。它涉及两个或两个以上表数据的一致性维护。如student表(称为引用表、参照表或子表)的class_id列就是参照class表(称为被引用表、被参照表或父表)的外键。参照完整性可以实现以下两种控制:

(1)存在外键时,被参照表中的这一行不能被删除,主键值也不能改变 (以student和class表的“班级名称”列为例说明)。

(2)若在被参照表中不存在包含相应主键的行时,一个外键值不能插入参照表中(MsgBox "添加记录成功!", vbOKOnly + vbInformation, "提示"

End Sub

Private Sub Command5_Click()

rs.Close

Unload Me

End Sub

Private Sub Form_Load()

rs.CursorLocation = adUseClient ' 设置在客户端创建游标

rs.CursorType = adOpenKeyset '设置游标类型为键集类型

rs.LockType = adLockOptimistic '设置打开记录集时的锁定类型为乐观锁,在执行UPdate方法前不锁定编辑的数据

rs.Open "select * from teacher", cnn

'在表格上显示class表的记录内容

Set DataGrid1.DataSource = rs

DataGrid1.Refresh

'将表格上的数据与文本框或下拉列表框绑定

Set Text1.DataSource = rs

Text1.DataField = "教师号"

Set Text2.DataSource = rs

Text2.DataField = "姓名"

Set Combo1.DataSource = rs

Combo1.DataField = "所在系"

Set Text3.DataSource = rs

Text3.DataField = "出生日期"

Set Text4.DataSource = rs

Text4.DataField = "从教日期"

Set Combo2.DataSource = rs

Combo2.DataField = "性别"

Set Combo3.DataSource = rs

Combo3.DataField = "职称"

Set Combo4.DataSource = rs

Combo4.DataField = "政治面貌"

Set Combo5.DataSource = rs

Combo5.DataField = "学历"

Set Text7.DataSource = rs

Text7.DataField = "家庭住址"

Set Text5.DataSource = rs

Text5.DataField = "联系电话"

Set Text6.DataSource = rs

Text6.DataField = "备注"

'下拉列表框提供班级名称

Combo1.Clear

rs1.Open "select 系部名称 from department", cnn

While Not rs1.EOF()

Combo1.AddItem Trim(rs1.Fields("系部名称"))

rs1.MoveNext

Wend

rs1.Close

End Sub

对其余几个表的数据进行增、删、改操作的窗体的设计方法与上述类拟。

数据库软件开发课程设计报告的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数据库技术课程设计报告、数据库软件开发课程设计报告的信息别忘了在本站进行查找喔。

扫码二维码