数据库开发与设计.ppt_第1页
数据库开发与设计.ppt_第2页
数据库开发与设计.ppt_第3页
数据库开发与设计.ppt_第4页
数据库开发与设计.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库开发与设计 Email 2 课程介绍 课程45学时 15学时理论讲授 30学时上机项目开发实践理论授课以项目案例讲解为主 包括 数据库设计 应用程序 开发的过程数据库访问技术 案例 通讯录管理系统 Java SQLServer 3 课程用书 参考书目 Java项目开发案例全程实录 第2版 作者 李钟尉等编著 出版社 清华大学出版社明日科技等主编 实战突击 Java项目开发案例整合 电子工业出版社苏年乐等主编 Java SQLSever项目开发实践 中国铁道出版社 4 课程考核方式 考查课考核部分 平时成绩 30 期末成绩 综合实验 70 团队项目开发每6人为小组的开发团队团队设计开发一个小型软件项目项目开发案例报告结合案例报告 对项目进行验收 5 一 数据库系统设计过程 数据库系统设计是在现成的DBMS上建立数据库应用系统的过程 其特点是 数据量大 保存时间长 数据关联复杂 用户要求多样化 从系统开发角度来看 数据库系统具有结构特性和行为特性两个方面 结构特性设计 数据库设计 1 是与数据模型所反映的实体及实体之间的联系的静态模型的设计 2 设计各级数据库模式 决定数据库系统的信息内容 行为特性设计 数据库应用软件的开发 1 与数据库状态转换有关 是改变实体特性的操作 2 决定数据库系统的功能 是事务处理等应用程序的设计 6 一 数据库系统设计过程 第一步 规划与需求分析 第二步 系统设计 第三步 逻辑设计 第四步 应用程序开发 系统前台设计 第五步 系统打包发布与数据库实施维护 7 第一步规划与需求分析 规划与需求分析阶段主要包括以下任务 可行性分析需求分析编写项目计划书 8 可行性分析 可行性分析应从经济方面 技术方面 系统运行方面 管理体制 人员的适应性及法律法规 进行分析和评价 可行性研究报告的内容包括 系统开发背景对现有系统的分析系统目标技术风险评价经济效益分析结论 9 需求分析 通过检查文档资料 面谈 问卷调查 观察业务流程等方法 分析 系统用户对象的类型和特点系统的运行环境用户的业务流程系统涉及的信息数据系统的功能设计 10 编写项目计划书 项目计划书 把对于在项目开发过程中各项工作的负责人员 开发进度 所需经费预算 所需软硬件条件等问题作出的安排记载下来 以便根据本计划开展和检查本项目的开发工作 项目计划书 可行性分析报告和需求分析可参考 GB T 8567 1988计算机软件产品开发文件编制指南 11 一 数据库系统设计过程 第一步 规划与需求分析 第二步 系统设计 第三步 逻辑设计 第四步 应用程序开发 系统前台设计 第五步 系统打包发布与数据库实施维护 12 第二步系统设计 1 确定系统功能 划分功能模块 画出系统的功能模块图 13 第二步系统设计 2 画出详细的系统业务流程图 其目的是确定系统数据库中的有关的实体 14 15 第二步系统设计 3 规划出系统中使用的数据库实体后 构建系统开发环境操作系统 WindowsXP数据库 SQLServer2000 2005Java开发包 JDK6 0开发工具 Eclipse 16 第二步系统设计 4 确定各个实体中包含的属性 画出各个实体对象的E R图 17 一 数据库系统设计过程 第一步 规划与需求分析 第二步 系统设计 第三步 逻辑设计 第四步 应用程序开发 系统前台设计 第五步 系统打包发布与数据库实施维护 18 第三步逻辑设计 针对数据库 根据设计好的E R图在数据库中创建数据表 设计各个数据表的结构 19 第三步逻辑设计 实体变成数据表 从而形成完整的数据结构 数据库模型可通过PowerDesigner数据库设计软件进行建立 在实际中数据库也有自己的设计工具 比较常用的就是Sybase的PowerDesigner开发工具 此工具可以方便的做各种设计 启动之后 可以使用此工具 进行数据库的建模设计 20 第三步逻辑设计 21 PowerDesigner软件的使用 操作步骤 1 File newmodel 选择数据库类型 MSsqlserver 选择物理数据模型 PhysicalDataModel 22 PowerDesigner软件的使用 操作步骤 2 创建表 Table 23 PowerDesigner软件的使用 操作步骤 3 数据表之间的关系建立学生信息表和班级信息表中存在着关系 为了维护主一外键的关系 可以直接在此工具中进行拖拽 Reference 的操作 24 PowerDesigner软件的使用 操作步骤 4 创建数据库脚本得到关系之后 就可以通过PowerDesigner工具进行数据库脚本的创建了这是PD软件在数据库设计上的最大好处 自动生成数据库脚本文件菜单Database GenerateDatabase Ctrl G 5 生成数据库测试数据Database GenerateTestdata 25 PowerDesigner软件的使用 PD软件也可以从数据库中导出数据表的结构 要完成此项操作 需要配置系统中的ODBC数据源ODBC 控制面板 管理工具 数据源 ODBC 26 PowerDesigner软件的使用 ODBC 系统DSN 添加数据源连接操作 File ReverseEngineer Database 27 一 数据库系统设计过程 第一步 规划与需求分析 第二步 系统设计 第三步 逻辑设计 第四步 应用程序开发 系统前台设计 第五步 系统打包发布与数据库实施维护 28 第四步系统前台开发 前台开发也就是数据库应用程序开发 包括了应用程序的设计 编码 调试和试运行过程 应用程序开发的主要工作 应用程序编写组织数据入库应用程序的调试与试运行应用程序编译语言的选择C Java本课程以Java语言讲解 29 第五步数据库系统维护 运行维护阶段的任务包括 维护数据库的安全性和完整性 检查系统安全性是否受到侵犯 及时调整授权和密码 实施系统转储与后备 发生故障及时恢复 监测并改善数据库性能 对数据库的存储空间状况及响应时间进行分析评价 结合用户反应确定改进措施 必要时对数据库进行重新组织和重新构造 根据用户要求对数据库现有功能进行扩充 数据库运行和维护的工作就是DBA的工作 30 二 数据库访问技术 JDBC 数据库的开发仅仅是整个软件开发的一部分 后台部分 而我们看到的界面是PD SQLserver所不能做到的 这就要求引入编程开发软件开发系统的前台 这就出现了数据库前后台的连接问题 以Java语言为例 进行JDBC讲解 认识JDBCJDBC的操作类型连接数据库JDBC的CRUD操作 31 二 数据库访问技术 JDBC 现在我们在进行软件系统项目开发时 较多是围绕着数据库进行的 因此 编程语言一定要与数据库有互操作才有存在意义 而Java就在自身内部封装了数据库访问技术 JDBC JDBC中所有的操作代码都是固定的 要熟练掌握代码编写 32 2 1认识JDBC JDBC JavaDataBaseConnectivity Java数据库连接技术 可以将它理解为一种数据库存取的综合技术 JDBC属于Java中的一种服务 主要是规定出了JDBC访问的标准形式 JDBC内嵌于Java中 提供存取关系数据库的标准库 其主要由两部分组成 JDBCAPIJDBC驱动程序接口 33 2 1认识JDBC JDBCAPIjava sql Drivermanager 此类取得Connection的接口对象java sql Connection 表示一个数据库的连接java sql Statement 表示数据库的一个操作java sql PreparedStatement 是Statement的子接口 可以高效地完成数据库操作java sql ResultSet 保存所有的返回数据JDBC驱动程序接口JDBC驱动程序API是面向驱动程序开发人员的编程接口 不同的数据库 驱动程序不相同 但是每个驱动程序都要提供java sql Connection等这些接口的实现方法 34 2 2JDBC的操作类型 使用JDBC技术实现对数据库的连接和访问 按照操作类型的不同 主要有三种使用情况 JDBC ODBC桥连接JDBC连接JDBC网络连接 35 2 2JDBC的操作类型 JDBC ODBC桥连接此种方式利用微软公司定义的ODBC 开放数据库连接 对数据库访问的通用接口来访问操作数据库 SUN充分考虑到ODBC的技术 以此种方式继续使用ODBC技术 操作方式 程序 JDBC ODBC 数据库为了使用这种方式连接和访问数据库 需在Windows系统中创建与数据库对应的数据源 特点 由于此操作形式中要经过ODBC 其连接性能受到影响 一般不采用 36 2 2JDBC的操作类型 JDBC连接方式由各个数据库生产商根据各自产品数据库进行驱动开发 操作方式 程序 JDBC 数据库特点 由于程序直接通过JDBC连接数据库 因此在连接性能上效率较高 37 2 2JDBC的操作类型 JDBC网络连接方式在开发中 不可能每个主机上都有一个数据库服务 必须连接到同一的数据库服务器 因此就必须使用JDBC的网络连接方式 这种连接方式的驱动程序也是由数据库生成厂商提供以上可以看到 使用JDBC进行数据库连接 其关键在于必须提供一个数据库驱动程序 各个数据库都有各自的JDBC驱动程序 如对SQLServer2000 可下载 SQLServer2000DriverforJDBC 按照系统说明书的要求 将驱动程序路径设置到classpath中 或者是Eclipse MyEclipse的BuildPath中 38 2 2JDBC的操作类型 1 设置classpathlib这个目录里有三个jar文件 msbase jar mssqlserver jar msutil jar 一定要记得把这三个文件copy到你所安装的jdk下的jre目录的ext目录下 设置classpath 在路径值中加入C ProgramFiles MicrosoftSQLServer2000DriverforJDBC lib msbase jar C ProgramFiles MicrosoftSQLServer2000DriverforJDBC lib mssqlserver jar C ProgramFiles MicrosoftSQLServer2000DriverforJDBC lib msutil jar 39 2 2JDBC的操作类型 2 Eclipse MyEclipse 40 Eclipse http downloads 41 2 3连接数据库 如果要进行连接数据库操作之前 要准备一下几个信息 数据库的驱动程序 就是驱动程序配置包中 包 类 sqlServer com microsoft jdbc sqlserver SQLServerDriver数据库的连接地址 不同的数据库有不同的连接地址sqlServer jdbc microsoft sqlserver localhost 1433 DatabaseName dbName 数据库的用户名 sa数据库的密码 123 IP地址 数据库名称 端口号 42 常见JDBC驱动程序和URL JDBC ODBC桥 Driver sun jdbc odbc JdbcOdbcDriverURL jdbc odbc 数据源名oracleDriver oracle jdbc driver OracleDriverURL jdbc oracle thin 主机名 1521 数据库名SQLServerDriver com microsoft jdbc sqlserver SQLServerDriverURL jdbc microsoft sqlserver 主机名 1433 DatabaseName 数据库名MySqlDriver com mysql jdbc DriverURL jdbc mysql 主机名 3306 数据库名DB2Driver com ibm db2 jdbc app DB2DriverURL jdbc db2 主机名 50002 数据库名 43 2 3连接数据库 在相关信息准备好以后 可以按以下步骤进行数据库的连接 加载类的驱动程序 通过DriverManager类取得一个Connection接口的对象 表示取得连接 进行若干数据表的操作 关闭数据库 属于资源操作 操作之后必须关闭 44 2 3连接数据库 连接范例 importjava sql Connection importjava sql DriverManager publicclassJDBCdemo publicstaticfinalStringDBdriver com microsoft jdbc sqlserver SQLServerDriver publicstaticfinalStringDBurl jdbc microsoft sqlserver localhost 1433 DatabaseName DBtest publicstaticfinalStringDBuser sa publicstaticfinalStringDBpassword 123 publicstaticvoidmain String args throwsException Connectionconn null 数据库连接Class forName DBdriver 加载驱动程序conn DriverManager getConnection DBurl DBuser DBpassword 取得连接System out println conn conn close 关闭数据库连接 如果此时的conn输出不是null 或者没有报错 则表示连接成功 Demo1 45 2 4数据库操作 Statement 在取得了数据库连接对象之后 就要进行数据库的操作 数据库的操作是使用Statement接口来完成 要取得Statement接口的实例化对象 需要用到Connection中的一个方法 取得Statement接口对象 StatementcreateStatement throwsSQLException取得了Statement接口对象之后 就可以使用Statement接口提供的方法进行数据库的操作数据的更新操作intexecuteUpdate Stringsql throwsSQLException数据的查询操作ResultSetexecuteQuery Stringsql throwsSQLException 46 2 4数据库操作 增加数据增加数据的SQL语句 INSERTINTO表名 字段1 字段2 VALUES 值1 值2 增加数据范例 注意 在进行关闭的时候 一般的操作顺序为 先打开的连接 再打开的数据库操作 在关闭时先关闭数据库操作 再关闭连接 以上是将增加内容放到字符串中 定义在变量中 范例 SQL语句的拼凑写法 Demo2 Demo3 47 2 4数据库操作 更新数据更新SQL语句 UPDATE表名SET字段1 值1 字段2 值2 where更新条件 更新范例 Demo4 48 2 4数据库操作 删除数据删除SQL语句 DELETEFROM表名 where删除条件 删除范例 Demo5 49 2 4数据库操作 查询数据查询数据使用的语法是SELECT语句 注意一点 查询操作是需要将数据表中的数据保存在内存之中的 也就是将查询结果保存在ResultSet接口之中查询全部数据范例 注意在使用select语句的时候不能再使用 select from 之类的语句 需要写全数据表的列名称 也能简化代码 Demo6 50 2 4数据库操作 PreparedStatementPreparedStatement接口是Statement的子接口 主要的是进行数据的预处理操作 Mr Smith 的范例带有 分号的SQL语句采用拼凑写法 会报错 这就要使用PreparedStatement接口 要取得PreparedStatement接口实例化对象 就要使用Connection中的另一个方法 取得PreparedStatement接口对象 PreparedStatementprepareStatement Stringsql throwsSQLException这里的SQL语句由于是预处理方式完成 所以使用 表示占位符 Demo7 51 2 4数据库操作 PreparedStatement的查询操作查询全部数据 需要注意到是在程序中没有使用任何的 所以不用使用PreparedStatement进行内容的设置 模糊查询 如果查询的关键字为空 则返回的是全部数据查询表中的记录数查询一张表中的全部记录COUNT 以上的数据库操作 是我们进行项目开发的基础 Demo8 Demo9 Demo10 52 3项目开发案例一 通讯管理系统 开发背景与需求分析开发背景 规划 为了保持良好的人际关系 需要经常与亲戚 朋友 同学 同事等保持联系 为了能够快速查询到联系人的信息 可以创建一个通讯管理系统 此系统可以查询 修改和删除联系人信息 为了防止信息被他人窃取 可以为系统设置密码 此外 为记录重要信息 提供备忘录功能 实现查询 修改和删除备忘录信息 在以上背景基础上 进一步对系统进行需求分析 确定系统具备的功能 53 3项目开发案例一 通讯管理系统 54 3项目开发案例一 通讯管理系统 需求分析系统登录功能添加用户功能修改密码功能添加分类功能 对联系人 备忘录信息进行分类管理添加信息功能查询信息功能修改信息功能删除信息功能 55 3项目开发案例一 通讯管理系统 系统设计系统功能结构图 56 3项目开发案例一 通讯管理系统 系统设计根据系统功能结构图 确定系统中的各个实体及各自属性 画出个实体的E R图 通讯管理系统涉及用户信息 联系人分类信息 联系人详细信息 备忘录分类信息 备忘录详细信息5个实体 57 3项目开发案例一 通讯管理系统 58 59 3项目开发案例一 通讯管理系统 逻辑设计利用PD软件进行数据库的建模 也就是数据库设计 60 3项目开发案例一 通讯管理系统 前台程序设计数据层和业务层例如 添加联系人信息 客户端 所谓的业务功能会牵扯到多个数据层的操作 在进行项目设计时 一般我们先进行数据层 DAO DataAccessObject 开发 61 3项目开发案例一 通讯管理系统 DAO层开发DAO层要负责具体的数据操作 所以在这一层的组成有以下几个部分 JDBC连接处理类 进行数据库的连接和关闭 数据与类之间的转换类 简单Java类 定义数据操作标准的实现类 进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论