第8章 数据库系统的应用与开发.ppt

上传人:高校教****PT 文档编号:96410037 上传时间:2023-11-23 格式:PPT 页数:41 大小:2.39MB
返回 下载 相关 举报
第8章 数据库系统的应用与开发.ppt_第1页
第1页 / 共41页
第8章 数据库系统的应用与开发.ppt_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《第8章 数据库系统的应用与开发.ppt》由会员分享,可在线阅读,更多相关《第8章 数据库系统的应用与开发.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第8章章 数据库系统的应用与开发数据库系统的应用与开发第第3版版本章学习目标本章学习目标 SQLServer集成环境;集成环境;数据库系统的体系结构;数据库系统的体系结构;常用数据库编程接口;常用数据库编程接口;案例设计开发:学生成绩管理系统;案例设计开发:学生成绩管理系统;内容:内容:重点:重点:数据库编程接口数据库编程接口 数据库系统应用案例开发数据库系统应用案例开发*数据库结构的分析数据库结构的分析概念模型概念模型-逻辑模型逻辑模型 8.1 SQL Server集成环境集成环境8.1.1 SQL Server发展历程发展历程1、微微软软公公司司早早年年与与Sybase公公司司共共同同研

2、研发发数数据据库库,后后来来自自己己开开发发数数据据库库系系统统MS SQL Server,发发布布了了SQL Server 6.5版版,后后续续分分布布了了SQL Server 7.0;后后续续依依次次出出了了:2000版版、2005版版、2008版版、2008 R2版版、2012版版、2014版版、2016版版和和2017版版,到到当当前前的的2019版版。本本教教材材以以2019版为基础。版为基础。2、SQL Server 2000版版本本适适合合应应用用于于部部门门IT和和增增强强型型企企业业数数据据平平台台的的可可靠靠服服务务产产品品。其其突突出出的的特点及功能包括:特点及功能包括:

3、XML支持、数据挖掘和数据脚本、故障恢复群集支持、数据挖掘和数据脚本、故障恢复群集;3、SQL Server 2005版本适合应用于部门版本适合应用于部门IT和增强型企业数据平台的可靠服务产品。和增强型企业数据平台的可靠服务产品。4、SQL Server 2008版版本本适适合合应应用用于于综综合合性性数数据据平平台台解解决决方方案案,在在关关键键业业务务和和商商业业智智能能方方面面具具有有很很大大的的改改进进。SQL Server 2008 R2版版本本通通过过强强大大的的分分析析处处理理能能力力,提提供供综综合合性性集集成成数数据据管管理和商业智能。理和商业智能。5、SQL Server

4、2012版版本本通通过过云云就就绪绪技技术术和和解解决决方方案案,为为业业务务关关键键型型数数据据库库和和端端到到端端商商业业智智能能提供新标准。提供新标准。6、SQL Server 2014版本包含版本包含SQL Server 2012版所有功能外版所有功能外,还包括:通过内存优化表使交易还包括:通过内存优化表使交易型系统的性能提高型系统的性能提高10倍以上;数据仓库列存储技术使分析型查询的性能提高倍以上;数据仓库列存储技术使分析型查询的性能提高100倍以上;倍以上;SSD缓存池扩展;资源调控器实现缓存池扩展;资源调控器实现IO管理,便于数据库整合;轻松备份至管理,便于数据库整合;轻松备份至

5、Microsoft Azure;云备份;云备份加密支持。加密支持。7、SQL Server 2016版本提供的主要功能包括:实时运营分析;高可用性和灾难恢复;安全性和版本提供的主要功能包括:实时运营分析;高可用性和灾难恢复;安全性和合规性;高性能的数据仓库;将复杂数据转化为切实可行的见解;移动商业智能;简化大数据;合规性;高性能的数据仓库;将复杂数据转化为切实可行的见解;移动商业智能;简化大数据;数据库内高级分析;从本地到云的一致性体验的数据平台等。数据库内高级分析;从本地到云的一致性体验的数据平台等。8、SQL Server2017版本提供的主要功能有:用于加密数据的安全传输层(版本提供的主

6、要功能有:用于加密数据的安全传输层(TLS)支持;机器学)支持;机器学习服务增强;习服务增强;SQL Server 分析服务(分析服务(SSAS););Linux活动目录下的活动目录下的 SQL Server 集成;集成;Linux平台上的平台上的 SQL Server 集成服务(集成服务(SSIS););Windows Server 上的上的 SSIS等等。9、SQL Server2019版本提供的功能主要包括两大方面:内存技术改进与云整合。两大方面的突版本提供的功能主要包括两大方面:内存技术改进与云整合。两大方面的突出功能体现了,无论是结构化数据还是非结构化数据,出功能体现了,无论是结构化

7、数据还是非结构化数据,SQL Server 2019 都具有行业领先性能都具有行业领先性能和安全性的数据平台来查询和分析数据。和安全性的数据平台来查询和分析数据。8.1.2 SQL Server版本概述版本概述u企企业业版版。企企业业版版是是功功能能最最齐齐全全的的版版本本,主主要要针针对对企企业业用用户户,需需要要收收费费,即即需需要要用用户户购购买买后后,用用获获得得的的序序列列号激活才可使用。号激活才可使用。u标标准准版版。标标准准版版是是针针对对个个人人开开发发的的版版本本,不不是是免免费费的的,同同样样需需要要用用户户购购买买后后,用用获获得得的的序序列列号号激激活活才才可可使使用。

8、与企业版的区别主要体现在性能、允许用户数量以及部分功能上。用。与企业版的区别主要体现在性能、允许用户数量以及部分功能上。u开开发发者者版版。开开发发者者版版是是针针对对开开发发者者的的版版本本,是是免免费费的的版版本本,包包含含了了企企业业版版全全部部的的完完整整功功能能,但但该该版版本本仅仅能能用于开发、测试和演示,不允许部署到生产环境中。用于开发、测试和演示,不允许部署到生产环境中。u速速成成版版。速速成成版版是是一一个个入入门门级级的的SQLServer数数据据库库版版本本,和和开开发发者者版版一一样样完完全全是是免免费费的的,适适用用于于学学习习和和开开发测试,也可以用于部署较小规模的

9、发测试,也可以用于部署较小规模的Web网站和应用程序服务器。网站和应用程序服务器。uWeb版版。SQLServerWeb版版是是Web主主机机托托管管服服务务提提供供商商和和WebVAP的的低低总总体体拥拥有有成成本本选选择择,它它可可针针对对从从小小规模到大规模规模到大规模Web资产等内容提供可伸缩性、经济性和可管理性能力。资产等内容提供可伸缩性、经济性和可管理性能力。8.1.3 SQL Server服务器安装服务器安装以以SQLServer2019速成版速成版为为例,介例,介绍绍SQLServer服服务务器的安装与配置。器的安装与配置。1.安装安装SQLServer服务器服务器https:

10、/ 8.1.4 SQL Server数据类型数据类型SQL Server主要数据类型SQLServer主要数据类型主要数据类型(续)(续)8.2 数据库应用系统的体系结构数据库应用系统的体系结构u一般有四种基本架构模式:一般有四种基本架构模式:u单用户模式u主从式多用户模式u客户端/服务器(Client/Server,C/S)架构模式u浏览器/服务器(Browser/Server,B/S)架构模式8.3常用数据常用数据库编库编程接口程接口u常用的接口有常用的接口有ODBC、OLEDB、ADO、ADO.NET、JDBC等等OLEDB接口 ADO接口 JDBC接口8.4案例开发案例开发学生成学生成

11、绩绩管理系管理系统统开开发发一个一个简单简单版的学生成版的学生成绩绩管理系管理系统统的的主要需求功能主要需求功能:(1)学生信息管理模块。)学生信息管理模块。学学生生信信息息管管理理模模块块的的主主要要任任务务是是实实现现对对学学生生的的个个人人信信息息的的管管理理工工作作,对对学学生生信信息息进进行行维维护护更更新新,包包括括添添加、查询、修改、删除学生信息等。学生主要信息有学号、姓名、性别、出生日期、系别、专业等。加、查询、修改、删除学生信息等。学生主要信息有学号、姓名、性别、出生日期、系别、专业等。(2)学生成绩管理模块。)学生成绩管理模块。本本系系统统需需要要对对学学生生成成绩绩进进行

12、行统统计计与与分分析析,以以便便教教师师快快速速地地了了解解学学生生的的学学习习状状况况。学学生生成成绩绩管管理理模模块块包包括括成成绩绩添添加加、成成绩绩修修改改、成成绩绩查查询询、成成绩绩统统计计等等功功能能。可可根根据据学学生生学学号号、姓姓名名或或专专业业等等进进行行查查询询过过滤滤,再再输输入对应学生的课程成绩,也可以修改或删除学生成绩信息。入对应学生的课程成绩,也可以修改或删除学生成绩信息。查查询询功功能能是是系系统统的的核核心心功功能能之之一一。在在系系统统中中既既有有单单条条件件查查询询也也有有多多条条件件查查询询,可可以以实实现现精精确确查查询询和和模模糊糊查询,还可以按照院

13、系或专业、成绩范围、课程等条件查询。开发者可以根据需要合理设计。查询,还可以按照院系或专业、成绩范围、课程等条件查询。开发者可以根据需要合理设计。(3)系统管理模块。)系统管理模块。为为保保证证本本系系统统的的正正常常运运行行和和其其安安全全性性,设设计计此此模模块块。系系统统管管理理模模块块的的主主要要任任务务是是维维护护系系统统的的正正常常运运行行和和安全性设置,包括用户注册、用户登录、修改密码、退出登录等功能。安全性设置,包括用户注册、用户登录、修改密码、退出登录等功能。8.4.2数据数据库设计库设计u根据需求功能分析,使用根据需求功能分析,使用E-R图设计出系统的概念模型,并将其转换成

14、逻辑模型。经过优化后转换为具体的物图设计出系统的概念模型,并将其转换成逻辑模型。经过优化后转换为具体的物理数据库结构,即物理模型。对于本案例理数据库结构,即物理模型。对于本案例“学生成绩管理系统学生成绩管理系统”采用采用MicrosoftSQLServer2019(Express版)版)数据库管理系统。数据库管理系统。u1.数据库概念结构设计数据库概念结构设计本本系系统统只只涉涉及及学学生生注注册册登登录录、教教务务部部门门课课程程录录入入、排排课课或或学学生生选选课课、教教师师成成绩绩处处理理、学学生生成成绩绩查查询询等等功功能能。相关的实体有院系部门、专业、教师、学生、课程等。经过分析主要

15、有如下联系:相关的实体有院系部门、专业、教师、学生、课程等。经过分析主要有如下联系:院系部门与教师之间的院系部门与教师之间的1:n“聘用聘用”联系;联系;院系部门与学生之间的院系部门与学生之间的1:n“包含包含”联系;联系;院系部门与专业之间的院系部门与专业之间的1:n“开设开设”联系;联系;学生与学生与课课程之程之间间的的m:n“选选修修”联联系。系。学生成学生成绩绩管理概念模型(管理概念模型(E-R图图)u本系统核心是学生成绩管理,因本系统核心是学生成绩管理,因此对于教师实体也可以不考虑,此对于教师实体也可以不考虑,因教师仅仅是外部实体(系统外因教师仅仅是外部实体(系统外的使用者),而学生

16、也是使用者,的使用者),而学生也是使用者,但学生又是系统内部实体。按照但学生又是系统内部实体。按照5.3节数据库概念结构设计原则,节数据库概念结构设计原则,本系统的概念结构模型本系统的概念结构模型E-R图如图如图图8.21所示。注意,图所示。注意,图8.21省略省略了实体的属性,保留了实体联系了实体的属性,保留了实体联系的重要属性。的重要属性。2.数据数据库逻辑结库逻辑结构构设计设计u根据根据5.4.1节节E-R模型向关系模型的转换规则,将图模型向关系模型的转换规则,将图8.21转换成关系模型,并考虑转换成关系模型,并考虑优化掉某些外部实体和弱实体,以及仅保留重要属性等,可以得到如下关系模式:

17、优化掉某些外部实体和弱实体,以及仅保留重要属性等,可以得到如下关系模式:u院系部门(院系部门(院系编号院系编号,院系名称,院系简称);,院系名称,院系简称);u学生(学生(学号学号,姓名,性别,出生日期,院系,专业),院系是外关键字,专业也,姓名,性别,出生日期,院系,专业),院系是外关键字,专业也是外关键字;是外关键字;u专业(专业(专业编号专业编号,专业名称,所属院系),所属院系是外关键字;,专业名称,所属院系),所属院系是外关键字;u课程(课程(课程编号课程编号,课程名称,先修课程,学时,学分,开课学期),先修课程是,课程名称,先修课程,学时,学分,开课学期),先修课程是以自己为参照的外

18、关键字;以自己为参照的外关键字;u选修(选修(学号,课程编号学号,课程编号,成绩),学号和课程编号分别是关系,成绩),学号和课程编号分别是关系“选修选修”的两个外的两个外关键字。关键字。3.数据库表结构设计数据库表结构设计u根据上述根据上述设计设计的关系模型的关系模型逻辑结逻辑结构,以及构,以及选择选择的的SQLServer2019数据数据库库系系统统。本案例系。本案例系统统的数据的数据库库表表结结构有构有院系表院系表Department、学生信息表、学生信息表Student、专业专业表表Major、课课程表程表Course、成、成绩绩表表SC以及用以及用户户表表Users 8.4.3 系统设

19、计与实现系统设计与实现u本系本系统统采用采用C/S架构模式架构模式设计设计、使用、使用Java语语言及言及JDBC数据数据库连库连接接口接接口实现实现,根据系,根据系统统使用者划分多个角色:使用者划分多个角色:系系统统管理管理员员、教、教务员务员、教、教师师、学生。、学生。结结合数据合数据库结库结构构设计设计,可在用,可在用户户表中表中设设置相置相应应用用户账户账号的号的权权限角色,以限角色,以便控制不同角色身份使用不同的功能模便控制不同角色身份使用不同的功能模块块。u1.准备准备JDBC驱动程序包驱动程序包在在微微软软官官方方网网站站下下载载SQLServer最最新新版版JDBC驱驱动动程程

20、序序包包,如如MicrosoftJDBCDriver11.2forSQLServer,得到压缩包文件得到压缩包文件sqljdbc_11.2.0.0_chs.zip,压缩包中类似,压缩包中类似mssql-jdbc-11.2.0.jre8.jar就是所需就是所需JDBC驱动包。驱动包。2.JDBCAPI基本操作基本操作(1)DriverManager类类DriverManager类类用于加用于加载载JDBC驱动驱动并且并且创创建与数据建与数据库库的的连连接。接。(2)Connection接口接口Connection接口代表接口代表Java程序和数据程序和数据库库的的连连接,只有接,只有获获得得该连

21、该连接接对对象后才能象后才能访问访问数据数据库库和操作数据表。和操作数据表。(3)Statement接口接口Statement接口用于接口用于执执行静行静态态的的SQL语语句,并返回一个句,并返回一个结结果集果集对对象,象,该该接口的接口的对对象通象通过过Connection实实例的例的createStatement()方法方法获获得。利用得。利用该对该对象把静象把静态态SQL语语句句发发送到数据送到数据库编译执库编译执行,然后返回数据行,然后返回数据库库的的处处理理结结果。果。(4)PreparedStatement接口接口PreparedStatement是是Statement的子接口,用

22、于的子接口,用于执执行行预编译预编译的的SQL语语句。句。该该接口接口扩扩展展为带为带参数参数SQL语语句的句的执执行行操作,操作,应应用用该该接口中的接口中的SQL语语句可以使用占位符句可以使用占位符“?”来代替其参数,然后通来代替其参数,然后通过对应过对应的的setXxx()方法方法为为SQL语语句的句的参数参数赋值赋值。(5)ResultSet接口接口ResultSet接口用于保存接口用于保存JDBC执执行行查询时查询时返回的返回的结结果集,果集,该结该结果集封装在一个果集封装在一个逻辑逻辑表格中。在表格中。在ResultSet接口内接口内部有一个指向表格数据行的游部有一个指向表格数据行

23、的游标标(或指或指针针)。当。当ResultSet对对象初始化象初始化时时,游,游标标在表格的第在表格的第1行之前,行之前,调调用用next()方方法可将游法可将游标标移移动动到下一行。如果后面没有数据,到下一行。如果后面没有数据,则则返回返回false。在。在应应用程序中用程序中经经常使用常使用next()方法作方法作为为循循环环条件条件来迭代遍来迭代遍历历ResultSet结结果集。果集。3.建立新工程及数据库表对应的实体类建立新工程及数据库表对应的实体类u将将8.4.2节节中中设计设计的表的表结结构在构在Java工程中建立相工程中建立相应应的的实实体体类类,如,如Users类类、Stud

24、ent类类等等。4.建立本系统公用的数据访问处理工具建立本系统公用的数据访问处理工具udb.properties文件文件driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver:/127.0.0.1:1433;instanceName=SQLEXPRESS;databaseName=StudentDB;integratedSecurity=false;encrypt=falseuser=sapassword=12345678u不同数据不同数据库库的的JDBC连连接接驱动类驱动类driverClass和和

25、URL不相同,不相同,请请根据根据对应对应数据数据库库使用正确的使用正确的驱动类驱动类和和URL连连接字接字符串。另外建符串。另外建议单议单独建立数据独建立数据库连库连接用接用户户,而禁止使用超,而禁止使用超级级管理管理员员sa。(1)JdbcDao类类publicclassJdbcDaoprivatestaticPropertiesproperties=null;static/静态代码块,类加载时自动执行静态代码块,类加载时自动执行InputStreamdbProps=JdbcDaoUtils.class.getClassLoader().getResourceAsStream(db.pro

26、perties);properties=newProperties();tryproperties.load(dbProps);catch(IOExceptione)thrownewRuntimeException(e);privatestaticStringurl=properties.getProperty(url);privatestaticStringuser=properties.getProperty(user);privatestaticStringpassword=properties.getProperty(password);privatestaticStringdrive

27、rClass=properties.getProperty(driverClass);privatestaticConnectionconn=null;privatestaticPreparedStatementpstmt=null;privatestaticResultSetrs=null;/获得数据库连接获得数据库连接publicstaticConnectiongetConnection()tryClass.forName(driverClass);conn=DriverManager.getConnection(url,user,password);catch(ClassNotFound

28、Exception|SQLExceptione)e.printStackTrace();returnconn;/关闭数据库连接,释放资源关闭数据库连接,释放资源publicstaticvoidclose(ResultSetrs,PreparedStatementpstmt,Connectionconn)tryif(rs!=null)rs.close();if(pstmt!=null)pstmt.close();if(conn!=null)conn.close();catch(SQLExceptione)e.printStackTrace();thrownewRuntimeException(e

29、);。/后续代码见教材或程序源代码后续代码见教材或程序源代码5.系统登录及权限设置系统登录及权限设置6.系统主界面设计系统主界面设计u主窗体中包含本系统的所有功能选择,主窗体作为父窗体,其他的所有功能界面将作为主窗体的子窗体(或称主窗体中包含本系统的所有功能选择,主窗体作为父窗体,其他的所有功能界面将作为主窗体的子窗体(或称为对话框窗体),运行时直接在主窗体中显示。主窗体中的菜单主要功能包含:学生信息管理、学生成绩管理、为对话框窗体),运行时直接在主窗体中显示。主窗体中的菜单主要功能包含:学生信息管理、学生成绩管理、系统管理。系统管理。7.学生信息录入学生信息录入8.学生信息查询学生信息查询小

30、结小结u本章介绍了本章介绍了MSSQLServer2019关系数据库系统集成环境,以及详细讲解了数据库系统应用案例关系数据库系统集成环境,以及详细讲解了数据库系统应用案例学生成绩学生成绩管理系统的开发过程。通过本章的学习可以对数据库系统应用的开发过程有一个初步的掌握与理解。本章只是管理系统的开发过程。通过本章的学习可以对数据库系统应用的开发过程有一个初步的掌握与理解。本章只是使用使用C/S架构方式,并借助集成可视化开发工具架构方式,并借助集成可视化开发工具IntelliJIDEA进行了学生成绩管理系统的主要功能的开发设计,进行了学生成绩管理系统的主要功能的开发设计,从而完成数据库应用系统开发与

31、工具的讲解。从而完成数据库应用系统开发与工具的讲解。u如果希望能够开发设计非常实用的软件应用系统,需要进一步学习其他课程及开发语言与工具。关于这个方面,如果希望能够开发设计非常实用的软件应用系统,需要进一步学习其他课程及开发语言与工具。关于这个方面,希望感兴趣的读者可以使用希望感兴趣的读者可以使用B/S架构方式进行架构方式进行Web设计与实现,具体可考虑使用的技术有设计与实现,具体可考虑使用的技术有JSP、Servlet、ASP.NET、PHP,以及前端页面设计技术,以及前端页面设计技术HTML5+CSS3等,当然还可以结合一些等,当然还可以结合一些Web框架架构技术(如框架架构技术(如Spring、SpringMVC、MyBatis,或,或SpringBoot等),甚至可运用等),甚至可运用SpringCloud等进行微服务架构软件系统设等进行微服务架构软件系统设计。计。

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

当前位置:首页 > 教育专区 > 大学资料

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

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