版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库开发与设计,经济管理系信管专业教研室 Email:xiongzhuang500,.,2,课程介绍,课程45学时,15学时理论讲授,30学时上机项目开发实践 理论授课以项目案例讲解为主,包括: 数据库设计(应用程序)开发的过程 数据库访问技术 案例:通讯录管理系统(Java+SQL Server),.,3,课程用书,参考书目: Java项目开发案例全程实录(第2版)作者:李钟尉等编著,出版社:清华大学出版社 明日科技等主编,实战突击:Java项目开发案例整合,电子工业出版社 苏年乐等主编,Java+SQL Sever项目开发实践,中国铁道出版社,.,4,课程考核方式,考查课 考核部分: 平
2、时成绩(30%) 期末成绩:综合实验(70%) 团队项目开发 每6人为小组的开发团队 团队设计开发一个小型软件项目 项目开发案例报告 结合案例报告,对项目进行验收,.,5,一、数据库系统设计过程,数据库系统设计是在现成的DBMS上建立数据库应用系统的过程。其特点是:数据量大、保存时间长,数据关联复杂,用户要求多样化。 从系统开发角度来看,数据库系统具有结构特性和行为特性两个方面。 结构特性设计(数据库设计) 1)是与数据模型所反映的实体及实体之间的联系的静态模型的设计。 2)设计各级数据库模式,决定数据库系统的信息内容。 行为特性设计(数据库应用软件的开发) 1)与数据库状态转换有关,是改变实
3、体特性的操作。 2)决定数据库系统的功能,是事务处理等应用程序的设计。,.,6,一、数据库系统设计过程,第一步:规划与需求分析,第二步:系统设计,第三步:逻辑设计,第四步:应用程序开发 (系统前台设计),第五步:系统打包发布与数据库实施维护,.,7,第一步 规划与需求分析,规划与需求分析阶段主要包括以下任务: 可行性分析 需求分析 编写项目计划书,.,8,可行性分析,可行性分析 应从经济方面、技术方面、系统运行方面(管理体制、人员的适应性及法律法规)进行分析和评价。 可行性研究报告的内容包括: 系统开发背景 对现有系统的分析 系统目标 技术风险评价 经济效益分析 结论,.,9,需求分析,通过检
4、查文档资料、面谈、问卷调查、观察业务流程等方法,分析: 系统用户对象的类型和特点 系统的运行环境 用户的业务流程 系统涉及的信息数据 系统的功能设计 .,.,10,编写项目计划书,项目计划书: 把对于在项目开发过程中各项工作的负责人员、 开发进度、所需经费预算、所需软硬件条件等问题作出的安排记载下来。以便根据本计划开展和检查本项目的开发工作。 项目计划书、可行性分析报告和需求分析可参考GB-T_8567-1988 计算机软件产品开发文件编制指南,.,11,一、数据库系统设计过程,第一步:规划与需求分析,第二步:系统设计,第三步:逻辑设计,第四步:应用程序开发 (系统前台设计),第五步:系统打包
5、发布与数据库实施维护,.,12,第二步 系统设计,1. 确定系统功能,划分功能模块,画出系统的功能模块图,.,13,第二步 系统设计,2. 画出详细的系统业务流程图,其目的是确定系统数据库中的有关的实体。,.,14,.,15,第二步 系统设计,3. 规划出系统中使用的数据库实体后,构建系统开发环境 操作系统:Windows XP 数据库:SQL Server 2000/2005 Java开发包:JDK 6.0 开发工具:Eclipse,.,16,第二步 系统设计,4. 确定各个实体中包含的属性,画出各个实体对象的E-R图,.,17,一、数据库系统设计过程,第一步:规划与需求分析,第二步:系统设
6、计,第三步:逻辑设计,第四步:应用程序开发 (系统前台设计),第五步:系统打包发布与数据库实施维护,.,18,第三步 逻辑设计,针对数据库,根据设计好的E-R图在数据库中创建数据表,设计各个数据表的结构。,.,19,第三步 逻辑设计,实体变成数据表,从而形成完整的数据结构,数据库模型可通过PowerDesigner数据库设计软件进行建立。 在实际中数据库也有自己的设计工具,比较常用的就是Sybase的PowerDesigner开发工具,此工具可以方便的做各种设计。启动之后,可以使用此工具,进行数据库的建模设计。,.,20,第三步 逻辑设计,.,21,PowerDesigner软件的使用,操作步
7、骤: 1、File new model 选择数据库类型(MS sql server) 选择物理数据模型(Physical Data Model),.,22,PowerDesigner软件的使用,操作步骤: 2、创建表(Table),.,23,PowerDesigner软件的使用,操作步骤: 3、数据表之间的关系建立 学生信息表和班级信息表中存在着关系,为了维护主一外键的关系,可以直接在此工具中进行拖拽(Reference)的操作。,.,24,PowerDesigner软件的使用,操作步骤: 4、创建数据库脚本 得到关系之后,就可以通过PowerDesigner工具进行数据库脚本的创建了 这是P
8、D软件在数据库设计上的最大好处:自动生成数据库脚本文件 菜单 Database Generate Database(Ctrl+G) 5、生成数据库测试数据 Database Generate Test data,.,25,PowerDesigner软件的使用,PD软件也可以从数据库中导出数据表的结构。要完成此项操作,需要配置系统中的ODBC数据源 ODBC:控制面板管理工具数据源(ODBC),.,26,PowerDesigner软件的使用,ODBC 系统DSN 添加数据源 连接操作: File Reverse Engineer Database,.,27,一、数据库系统设计过程,第一步:规划与
9、需求分析,第二步:系统设计,第三步:逻辑设计,第四步:应用程序开发 (系统前台设计),第五步:系统打包发布与数据库实施维护,.,28,第四步 系统前台开发,前台开发也就是数据库应用程序开发,包括了应用程序的设计、编码、调试和试运行过程。 应用程序开发的主要工作: 应用程序编写 组织数据入库 应用程序的调试与试运行 应用程序编译语言的选择 C、Java 本课程以Java语言讲解,.,29,第五步 数据库系统维护,运行维护阶段的任务包括: 维护数据库的安全性和完整性:检查系统安全性是否受到侵犯,及时调整授权和密码,实施系统转储与后备,发生故障及时恢复。 监测并改善数据库性能:对数据库的存储空间状况
10、及响应时间进行分析评价,结合用户反应确定改进措施。 必要时对数据库进行重新组织和重新构造。 根据用户要求对数据库现有功能进行扩充。 数据库运行和维护的工作就是DBA的工作。,.,30,二、数据库访问技术(JDBC) ,数据库的开发仅仅是整个软件开发的一部分(后台部分),而我们看到的界面是PD、SQLserver所不能做到的,这就要求引入编程开发软件开发系统的前台,这就出现了数据库前后台的连接问题。 以Java语言为例,进行JDBC讲解: 认识JDBC JDBC的操作类型 连接数据库 JDBC的CRUD操作,.,31,二、数据库访问技术(JDBC),现在我们在进行软件系统项目开发时,较多是围绕着
11、数据库进行的。因此,编程语言一定要与数据库有互操作才有存在意义。而Java就在自身内部封装了数据库访问技术JDBC。 JDBC中所有的操作代码都是固定的,要熟练掌握代码编写。,.,32,2.1 认识JDBC,JDBC(Java Data Base Connectivity) :Java数据库连接技术,可以将它理解为一种数据库存取的综合技术。 JDBC属于Java中的一种服务,主要是规定出了JDBC访问的标准形式。 JDBC内嵌于Java 中, 提供存取关系数据库的标准库。其主要由两部分组成: JDBC API JDBC 驱动程序接口,.,33,2.1 认识JDBC,JDBC API java.
12、sql.Drivermanager:此类取得Connection的接口对象 java.sql.Connection:表示一个数据库的连接 java.sql.Statement:表示数据库的一个操作 java.sql.PreparedStatement :是Statement的子接口,可以高效地完成数据库操作 java.sql.ResultSet:保存所有的返回数据 JDBC驱动程序接口 JDBC驱动程序API是面向驱动程序开发人员的编程接口,不同的数据库,驱动程序不相同,但是每个驱动程序都要提供java.sql.Connection等这些接口的实现方法。,.,34,2.2 JDBC的操作类型,
13、使用JDBC技术实现对数据库的连接和访问,按照操作类型的不同,主要有三种使用情况: JDBC-ODBC桥连接 JDBC连接 JDBC网络连接,.,35,2.2 JDBC的操作类型,JDBC-ODBC桥连接 此种方式利用微软公司定义的ODBC(开放数据库连接)对数据库访问的通用接口来访问操作数据库。SUN充分考虑到ODBC的技术,以此种方式继续使用ODBC技术。 操作方式:程序JDBC ODBC 数据库 为了使用这种方式连接和访问数据库,需在Windows系统中创建与数据库对应的数据源。 特点:由于此操作形式中要经过ODBC,其连接性能受到影响,一般不采用。,.,36,2.2 JDBC的操作类型
14、,JDBC连接方式 由各个数据库生产商根据各自产品数据库进行驱动开发。 操作方式:程序JDBC 数据库 特点:由于程序直接通过JDBC连接数据库,因此在连接性能上效率较高。,.,37,2.2 JDBC的操作类型,JDBC网络连接方式 在开发中,不可能每个主机上都有一个数据库服务,必须连接到同一的数据库服务器,因此就必须使用JDBC的网络连接方式。 这种连接方式的驱动程序也是由数据库生成厂商提供 以上可以看到,使用JDBC进行数据库连接,其关键在于必须提供一个数据库驱动程序。各个数据库都有各自的JDBC驱动程序。 如对SQL Server 2000,可下载“SQL Server 2000 Dri
15、ver for JDBC”。按照系统说明书的要求,将驱动程序路径设置到classpath中,或者是Eclipse/MyEclipse的Build Path中,.,38,2.2 JDBC的操作类型,1、设置classpath lib 这个目录里有三个jar文件:msbase.jar,mssqlserver.jar,msutil.jar,一定要记得把这三个文件copy到你所安装的jdk下的jre目录的ext目录下。 设置classpath,在路径值中加入 C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsbase.jar; C
16、:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmssqlserver.jar; C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsutil.jar,.,39,2.2 JDBC的操作类型,2、Eclipse/MyEclipse,.,40,Eclipse,/downloads/,.,41,2.3 连接数据库(),如果要进行连接数据库操作之前,要准备一下几个信息: 数据库的驱动程序:就是驱动程序配置包中“包.类” sq
17、lServer :com.microsoft.jdbc.sqlserver.SQLServerDriver 数据库的连接地址:不同的数据库有不同的连接地址 sqlServer : jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=dbName ; 数据库的用户名:sa 数据库的密码:123,IP地址,数据库名称,端口号,.,42,常见JDBC驱动程序和URL,JDBCODBC桥: Driversun.jdbc.odbc.JdbcOdbcDriver URLjdbc:odbc:数据源名 oracle Driveroracle.jdbc.d
18、river.OracleDriver URLjdbc:oracle:thin:主机名:1521:数据库名 SQLServer Drivercom.microsoft.jdbc.sqlserver.SQLServerDriver URLjdbc:microsoft:sqlserver:/主机名:1433;DatabaseName=数据库名 MySql Drivercom.mysql.jdbc.Driver URLjdbc:mysql:/主机名:3306/数据库名 DB2 Drivercom.ibm.db2.jdbc.app.DB2Driver URLjdbc:db2:/主机名:50002/数据库
19、名,.,43,2.3 连接数据库(),在相关信息准备好以后,可以按以下步骤进行数据库的连接: 加载类的驱动程序; 通过DriverManager类取得一个Connection接口的对象,表示取得连接; 进行若干数据表的操作; 关闭数据库(属于资源操作,操作之后必须关闭)。,.,44,2.3 连接数据库()-连接范例,import java.sql.Connection; import java.sql.DriverManager; public class JDBCdemo public static final String DBdriver = com.microsoft.jdbc.sql
20、server.SQLServerDriver; public static final String DBurl = jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=DBtest; public static final String DBuser = sa; public static final String DBpassword = 123; public static void main(String args) throws Exception Connection conn =null; /数据库连接 Class.forN
21、ame(DBdriver); /加载驱动程序 conn = DriverManager.getConnection(DBurl, DBuser, DBpassword); /取得连接 System.out.println(conn); conn.close(); /关闭数据库连接 ,如果此时的conn输出不是null,或者没有报错,则表示连接成功。,Demo1,.,45,2.4 数据库操作(Statement),在取得了数据库连接对象之后,就要进行数据库的操作。数据库的操作是使用Statement接口来完成。要取得Statement接口的实例化对象,需要用到Connection中的一个方法。
22、取得Statement接口对象: Statement createStatement() throws SQLException 取得了Statement接口对象之后,就可以使用Statement接口提供的方法进行数据库的操作 数据的更新操作 int executeUpdate(String sql) throws SQLException 数据的查询操作 ResultSet executeQuery(String sql) throws SQLException,.,46,2.4 数据库操作,增加数据 增加数据的SQL语句 “ INSERT INTO 表名(字段1,字段2)VALUES(值1
23、,值2)” 增加数据范例: 注意:在进行关闭的时候,一般的操作顺序为“先打开的连接,再打开的数据库操作,在关闭时先关闭数据库操作,再关闭连接”。 以上是将增加内容放到字符串中,定义在变量中? 范例: SQL语句的拼凑写法,Demo2,Demo3,.,47,2.4 数据库操作,更新数据 更新SQL语句 “UPDATE 表名 SET 字段1=值1,字段2=值2,.where 更新条件” 更新范例:,Demo4,.,48,2.4 数据库操作,删除数据 删除SQL语句 “DELETE FROM 表名 where 删除条件” 删除范例:,Demo5,.,49,2.4 数据库操作,查询数据 查询数据使用的
24、语法是SELECT语句,注意一点:查询操作是需要将数据表中的数据保存在内存之中的,也就是将查询结果保存在ResultSet接口之中 查询全部数据范例: 注意在使用select语句的时候不能再使用“select * from”之类的语句,需要写全数据表的列名称;也能简化代码。,Demo6,.,50,2.4 数据库操作,PreparedStatement PreparedStatement接口是Statement的子接口,主要的是进行数据的预处理操作。 “MrSmith”的范例 带有“ ”分号的SQL语句采用拼凑写法,会报错,这就要使用PreparedStatement接口。 要取得Prepare
25、dStatement接口实例化对象,就要使用Connection中的另一个方法: 取得PreparedStatement接口对象: PreparedStatement prepareStatement(String sql) throws SQLException 这里的SQL语句由于是预处理方式完成,所以使用“?”表示占位符,Demo7,.,51,2.4 数据库操作,PreparedStatement的查询操作 查询全部数据: 需要注意到是在程序中没有使用任何的“ ?”,所以不用使用PreparedStatement进行内容的设置。 模糊查询: 如果查询的关键字为空,则返回的是全部数据 查询
26、表中的记录数 查询一张表中的全部记录COUNT() 以上的数据库操作,是我们进行项目开发的基础,Demo8,Demo9,Demo10,.,52,3 项目开发案例一:通讯管理系统,开发背景与需求分析 开发背景(规划): 为了保持良好的人际关系,需要经常与亲戚、朋友、同学、同事等保持联系。为了能够快速查询到联系人的信息,可以创建一个通讯管理系统。 此系统可以查询、修改和删除联系人信息。为了防止信息被他人窃取,可以为系统设置密码。此外,为记录重要信息,提供备忘录功能,实现查询、修改和删除备忘录信息。 在以上背景基础上,进一步对系统进行需求分析,确定系统具备的功能。,.,53,3 项目开发案例一:通讯
27、管理系统,.,54,3 项目开发案例一:通讯管理系统,需求分析 系统登录功能 添加用户功能 修改密码功能 添加分类功能:对联系人、备忘录信息进行分类管理 添加信息功能 查询信息功能 修改信息功能 删除信息功能,.,55,3 项目开发案例一:通讯管理系统,系统设计 系统功能结构图,.,56,3 项目开发案例一:通讯管理系统,系统设计 根据系统功能结构图,确定系统中的各个实体及各自属性,画出个实体的E-R图。 通讯管理系统涉及用户信息、联系人分类信息、联系人详细信息、备忘录分类信息、备忘录详细信息5个实体,.,57,3 项目开发案例一:通讯管理系统,.,58,.,59,3 项目开发案例一:通讯管理系统,逻辑设计 利用PD软件进行数据库的建模,也就是数据库设计,.,60,3 项目开发案例一:通讯管理系统,前台程序设计 数据层和业务层 例如:添加联系人信息,客户端,所谓的业务功能会牵扯到多个数据层的操作。在进行项目设计时,一般我们先进行数据层(DAO,Data Access Object)开发。,.,61,3 项目开发案例一:通讯管理系统,DAO层开发 DAO层要负责具体的数据操作,所以在这一层的组成有以下几个部分: JDBC连接处理类:进行数据库的连接和关闭; 数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 饰面板组坯及预压工安全培训效果知识考核试卷含答案
- 化工工艺试验工达标竞赛考核试卷含答案
- 多晶硅后处理工岗前技能考核试卷含答案
- 拉床工安全生产规范测试考核试卷含答案
- 缝纫工安全宣传能力考核试卷含答案
- 轧光(轧花)机挡车工诚信品质测试考核试卷含答案
- 急性中毒与解毒护理
- 心理健康与社区服务
- 莪连颗粒治疗慢性萎缩性胃炎:疗效、机制与展望
- 药物干预动脉粥样硬化斑块消退:作用剖析与机制探究
- 2026年大理供电局项目制用工招聘(60人)笔试备考试题及答案解析
- 2026重庆市航空应急救援总队公开招聘34人笔试模拟试题及答案解析
- GB/T 47355-2026外包指南
- 中国鼻咽癌诊治指南(2026版)
- 【2025年】组织行为学试题及答案
- 2026年国开电大建筑制图基础形考考前冲刺测试卷及完整答案详解(历年真题)
- 市场监督管理局全流程市场监管工作手册(标准版)
- UPS电源售后服务承诺书范本
- 统编人教版五年级语文下册《田忌赛马》示范教学课件
- 急性气管支气管炎课件教学
- GB/T 16124-2025水利水电工程环境健康影响评价技术规范
评论
0/150
提交评论