数据库开发与设计--课件

上传人:沈*** 文档编号:241431277 上传时间:2024-06-25 格式:PPT 页数:68 大小:1.96MB
返回 下载 相关 举报
数据库开发与设计--课件_第1页
第1页 / 共68页
数据库开发与设计--课件_第2页
第2页 / 共68页
数据库开发与设计--课件_第3页
第3页 / 共68页
点击查看更多>>
资源描述
数据库开发与设计数据库开发与设计课程介绍课程介绍n课程课程45学时,学时,15学时理论讲授,学时理论讲授,30学时上学时上机项目开发实践机项目开发实践n理论授课以项目案例讲解为主,包括:理论授课以项目案例讲解为主,包括:数据库设计(应用程序)开发的过程数据库设计(应用程序)开发的过程数据库访问技术数据库访问技术案例:通讯录管理系统(案例:通讯录管理系统(Java+SQL Server)2PPT课件课程用书课程用书n参考书目:参考书目:Java项目开发案例全程实录项目开发案例全程实录(第第2版版)作者:李钟尉等编著,作者:李钟尉等编著,出版社:清华大学出版社出版社:清华大学出版社明日科技等主编,明日科技等主编,实战突击:实战突击:Java项目开发案例整合项目开发案例整合,电,电子工业出版社子工业出版社苏年乐等主编,苏年乐等主编,Java+SQL Sever项目开发实践项目开发实践,中国,中国铁道出版社铁道出版社 3PPT课件课程考核方式课程考核方式n考查课考查课n考核部分:考核部分:平时成绩(平时成绩(30%)期末成绩:综合实验(期末成绩:综合实验(70%)n团队项目开发团队项目开发每每6人为小组的开发团队人为小组的开发团队团队设计开发一个小型软件项目团队设计开发一个小型软件项目n项目开发案例报告项目开发案例报告结合案例报告,对项目进行验收结合案例报告,对项目进行验收4PPT课件一、数据库系统设计过程一、数据库系统设计过程n数据库系统设计是在现成的数据库系统设计是在现成的DBMS上建立数据库上建立数据库应用系统的过程。其特点是:数据量大、保存时应用系统的过程。其特点是:数据量大、保存时间长,数据关联复杂,用户要求多样化。间长,数据关联复杂,用户要求多样化。n从系统开发角度来看,数据库系统具有结构特性从系统开发角度来看,数据库系统具有结构特性和行为特性两个方面。和行为特性两个方面。结构特性设计结构特性设计(数据库设计)(数据库设计)1)是与数据模型所反映的实体及实体之间的联系的静)是与数据模型所反映的实体及实体之间的联系的静态模型的设计。态模型的设计。2)设计各级数据库模式,决定数据库系统的信息内容。)设计各级数据库模式,决定数据库系统的信息内容。行为特性设计行为特性设计(数据库应用软件的开发数据库应用软件的开发)1)与数据库状态转换有关,是改变实体特性的操作。)与数据库状态转换有关,是改变实体特性的操作。2)决定数据库系统的功能,是事务处理等应用程序的)决定数据库系统的功能,是事务处理等应用程序的设计。设计。5PPT课件一、数据库系统设计过程一、数据库系统设计过程第一步:规划与需求分析第一步:规划与需求分析第二步:系统设计第二步:系统设计第三步:逻辑设计第三步:逻辑设计第四步:应用程序开发第四步:应用程序开发 (系统前台设计)(系统前台设计)第五步:系统打包发布与第五步:系统打包发布与数据库实施维护数据库实施维护6PPT课件第一步第一步 规划与需求分析规划与需求分析n规划与需求分析阶段主要包括以下任务:规划与需求分析阶段主要包括以下任务:可行性分析可行性分析需求分析需求分析编写项目计划书编写项目计划书7PPT课件可行性分析可行性分析n可行性分析可行性分析应从经济方面、技术方面、系统运行方面应从经济方面、技术方面、系统运行方面(管理体制、管理体制、人员的适应性及法律法规人员的适应性及法律法规)进行分析和评价。进行分析和评价。n可行性研究报告的内容包括:可行性研究报告的内容包括:系统开发背景系统开发背景对现有系统的分析对现有系统的分析系统目标系统目标技术风险评价技术风险评价经济效益分析经济效益分析结论结论8PPT课件需求分析需求分析n通过检查文档资料、面谈、问卷调查、观通过检查文档资料、面谈、问卷调查、观察业务流程等方法,分析:察业务流程等方法,分析:系统用户对象的类型和特点系统用户对象的类型和特点系统的运行环境系统的运行环境用户的业务流程用户的业务流程系统涉及的信息数据系统涉及的信息数据系统的功能设计系统的功能设计.9PPT课件编写项目计划书编写项目计划书n项目计划书:项目计划书:把对于在项目开发过程中各项工作的负责人员、把对于在项目开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软硬件条件等开发进度、所需经费预算、所需软硬件条件等问题作出的安排记载下来。以便根据本计划开问题作出的安排记载下来。以便根据本计划开展和检查本项目的开发工作。展和检查本项目的开发工作。n项目计划书、可行性分析报告和需求分析项目计划书、可行性分析报告和需求分析可参考可参考GB-T_8567-1988 计算机软件产品计算机软件产品开发文件编制指南开发文件编制指南10PPT课件一、数据库系统设计过程一、数据库系统设计过程第一步:规划与需求分析第一步:规划与需求分析第二步:系统设计第二步:系统设计第三步:逻辑设计第三步:逻辑设计第四步:应用程序开发第四步:应用程序开发 (系统前台设计)(系统前台设计)第五步:系统打包发布与第五步:系统打包发布与数据库实施维护数据库实施维护11PPT课件第二步第二步 系统设计系统设计1.确定系统功能,划分功能模块,画出系统的功确定系统功能,划分功能模块,画出系统的功能模块图能模块图12PPT课件第二步第二步 系统设计系统设计2.画出详细的系统业务流程图,其目的是确画出详细的系统业务流程图,其目的是确定系统数据库中的有关的实体。定系统数据库中的有关的实体。13PPT课件14PPT课件第二步第二步 系统设计系统设计3.规划出系统中使用的数据库实体后,构建规划出系统中使用的数据库实体后,构建系统开发环境系统开发环境操作系统:操作系统:Windows XP数据库:数据库:SQL Server 2000/2005Java开发包:开发包:JDK 6.0开发工具:开发工具:Eclipse15PPT课件第二步第二步 系统设计系统设计4.确定各个实体中包含的属性,画出各个实体对象确定各个实体中包含的属性,画出各个实体对象的的E-R图图16PPT课件一、数据库系统设计过程一、数据库系统设计过程第一步:规划与需求分析第一步:规划与需求分析第二步:系统设计第二步:系统设计第三步:逻辑设计第三步:逻辑设计第四步:应用程序开发第四步:应用程序开发 (系统前台设计)(系统前台设计)第五步:系统打包发布与第五步:系统打包发布与数据库实施维护数据库实施维护17PPT课件第三步第三步 逻辑设计逻辑设计n针对数据库,根据设计好的针对数据库,根据设计好的E-R图在数据库中创图在数据库中创建数据表,设计各个数据表的结构。建数据表,设计各个数据表的结构。字段名字段名数据类型数据类型长度长度主键否主键否功能描述功能描述ISBNvarchar13主键主键图书编号图书编号typeIdint图书类别编号图书类别编号booknamevarchar40书名书名writervarchar21作者作者translatorvarchar30译者译者publishervarchar50出版社出版社datesmalldatetime出版时间出版时间pricemoney价格价格18PPT课件第三步第三步 逻辑设计逻辑设计n实体变成数据表,从而形成完整的数据结实体变成数据表,从而形成完整的数据结构,数据库模型可通过构,数据库模型可通过PowerDesigner数据数据库设计软件进行建立。库设计软件进行建立。n在实际中数据库也有自己的设计工具,比在实际中数据库也有自己的设计工具,比较常用的就是较常用的就是Sybase的的PowerDesigner开发开发工具,此工具可以方便的做各种设计。启工具,此工具可以方便的做各种设计。启动之后,可以使用此工具,进行数据库的动之后,可以使用此工具,进行数据库的建模设计。建模设计。19PPT课件第三步第三步 逻辑设计逻辑设计20PPT课件PowerDesigner软件的使用软件的使用n操作步骤:操作步骤:1、File new model 选择数据库类型(选择数据库类型(MS sql server)选择物理数据模型(选择物理数据模型(Physical Data Model)21PPT课件PowerDesigner软件的使用软件的使用n操作步骤:操作步骤:2、创建表(、创建表(Table)22PPT课件PowerDesigner软件的使用软件的使用n操作步骤:操作步骤:3、数据表之间的关系建立、数据表之间的关系建立n学生信息表和班级信息表中存在着关系,为了维护学生信息表和班级信息表中存在着关系,为了维护主一外键的关系,可以直接在此工具中进行拖拽主一外键的关系,可以直接在此工具中进行拖拽(Reference)的操作。)的操作。23PPT课件PowerDesigner软件的使用软件的使用n操作步骤:操作步骤:4、创建数据库脚本、创建数据库脚本n得到关系之后,就可以通过得到关系之后,就可以通过PowerDesigner工具进工具进行数据库脚本的创建了行数据库脚本的创建了n这是这是PD软件在数据库设计上的最大好处:自动生成软件在数据库设计上的最大好处:自动生成数据库脚本文件数据库脚本文件n菜单菜单 Database Generate Database(Ctrl+G)5、生成数据库测试数据、生成数据库测试数据nDatabase Generate Test data24PPT课件PowerDesigner软件的使用软件的使用nPD软件也可以从数据库中导出数据表的结构。要软件也可以从数据库中导出数据表的结构。要完成此项操作,需要配置系统中的完成此项操作,需要配置系统中的ODBC数据源数据源nODBC:控制面板:控制面板管理工具管理工具数据源数据源(ODBC)25PPT课件PowerDesigner软件的使用软件的使用nODBC 系统系统DSN 添加数据源添加数据源n连接操作:连接操作:File Reverse Engineer Database26PPT课件一、数据库系统设计过程一、数据库系统设计过程第一步:规划与需求分析第一步:规划与需求分析第二步:系统设计第二步:系统设计第三步:逻辑设计第三步:逻辑设计第四步:应用程序开发第四步:应用程序开发 (系统前台设计)(系统前台设计)第五步:系统打包发布与第五步:系统打包发布与数据库实施维护数据库实施维护27PPT课件第四步第四步 系统前台开发系统前台开发 n前台开发也就是数据库应用程序开发,包括了前台开发也就是数据库应用程序开发,包括了应应用程序的设计用程序的设计、编码编码、调试调试和和试运行试运行过程。过程。n应用程序开发的主要工作:应用程序开发的主要工作:应用程序编写应用程序编写组织数据入库组织数据入库应用程序的调试与试运行应用程序的调试与试运行n应用程序编译语言的选择应用程序编译语言的选择C、Java本课程以本课程以Java语言讲解语言讲解28PPT课件第五步第五步 数据库系统维护数据库系统维护n运行运行维护阶段的任务包括:阶段的任务包括:维护数据库的安全性和完整性:检查系统安全性是否维护数据库的安全性和完整性:检查系统安全性是否受到侵犯,及时调整授权和密码,实施系统转储与后受到侵犯,及时调整授权和密码,实施系统转储与后备,发生故障及时恢复。备,发生故障及时恢复。监测并改善数据库性能:对数据库的存储空间状况及监测并改善数据库性能:对数据库的存储空间状况及响应时间进行分析评价,结合用户反应确定改进措施。响应时间进行分析评价,结合用户反应确定改进措施。必要时对数据库进行重新组织和重新构造。必要时对数据库进行重新组织和重新构造。根据用户要求对数据库现有功能进行扩充。根据用户要求对数据库现有功能进行扩充。n数据库运行和维护的工作就是数据库运行和维护的工作就是DBA的工作。29PPT课件二、数据库访问技术(二、数据库访问技术(JDBC)n数据库的开发仅仅是整个软件开发的一部分(后数据库的开发仅仅是整个软件开发的一部分(后台部分),而我们看到的界面是台部分),而我们看到的界面是PD、SQLserver所不能做到的,这就要求引入编程开发软件开发所不能做到的,这就要求引入编程开发软件开发系统的前台,这就出现了数据库前后台的连接问系统的前台,这就出现了数据库前后台的连接问题。题。n以以Java语言为例,进行语言为例,进行JDBC讲解:讲解:认识认识JDBCJDBC的操作类型的操作类型连接数据库连接数据库JDBC的的CRUD操作操作30PPT课件二、数据库访问技术(二、数据库访问技术(JDBC)n现在我们在进行软件系统项目开发时,较多是围现在我们在进行软件系统项目开发时,较多是围绕着数据库进行的。因此,编程语言一定要与数绕着数据库进行的。因此,编程语言一定要与数据库有互操作才有存在意义。而据库有互操作才有存在意义。而Java就在自身内就在自身内部封装了数据库访问技术部封装了数据库访问技术JDBC。nJDBC中所有的操作代码都是中所有的操作代码都是固定的固定的,要,要熟练掌握熟练掌握代码编写。代码编写。31PPT课件2.1 认识认识JDBCnJDBC(Java Data Base Connectivity):Java数数据据库库连连接接技技术术,可可以以将将它它理理解解为为一一种种数数据据库库存存取取的的综合技术。综合技术。nJDBC属属于于Java中中的的一一种种服服务务,主主要要是是规规定定出出了了JDBC访问的标准形式。访问的标准形式。nJDBC内嵌于内嵌于Java 中,中,提供存取关系数据库的标提供存取关系数据库的标准库。其主要由两部分组成:准库。其主要由两部分组成:JDBC APIJDBC 驱动程序接口驱动程序接口32PPT课件2.1 认识认识JDBCnJDBC APIjava.sql.Drivermanager:此类取得:此类取得Connection的接口对象的接口对象java.sql.Connection:表示一个数据库的连接表示一个数据库的连接java.sql.Statement:表示数据库的一个操作:表示数据库的一个操作java.sql.PreparedStatement:是:是Statement的子接口,可以高效地的子接口,可以高效地完成数据库操作完成数据库操作java.sql.ResultSet:保存所有的返回数据:保存所有的返回数据nJDBC驱动程序接口驱动程序接口JDBC驱动程序驱动程序API是面向驱动程序开发人员的编程接是面向驱动程序开发人员的编程接口,不同的数据库,驱动程序不相同,但是每个驱动口,不同的数据库,驱动程序不相同,但是每个驱动程序都要提供程序都要提供java.sql.Connection等这些接口的实现方等这些接口的实现方法。法。33PPT课件2.2 JDBC的操作类型的操作类型n使用使用JDBC技术实现对数据库的连接和访问,按照技术实现对数据库的连接和访问,按照操作类型的不同,主要有三种使用情况:操作类型的不同,主要有三种使用情况:JDBC-ODBC桥连接桥连接JDBC连接连接JDBC网络连接网络连接34PPT课件2.2 JDBC的操作类型的操作类型nJDBC-ODBC桥连接桥连接此种方式利用微软公司定义的此种方式利用微软公司定义的ODBC(开放数据库连接开放数据库连接)对数据库访问的通用接口来访问操作数据库。对数据库访问的通用接口来访问操作数据库。SUN充充分考虑到分考虑到ODBC的技术,以此种方式继续使用的技术,以此种方式继续使用ODBC技技术。术。操作方式:操作方式:程序程序JDBC ODBC 数据库数据库为了使用这种方式连接和访问数据库,需在为了使用这种方式连接和访问数据库,需在Windows系系统中创建与数据库对应的数据源。统中创建与数据库对应的数据源。特点:由于此操作形式中要经过特点:由于此操作形式中要经过ODBC,其连接性能受,其连接性能受到影响,一般不采用。到影响,一般不采用。35PPT课件2.2 JDBC的操作类型的操作类型nJDBC连接方式连接方式由各个数据库生产商根据各自产品数据库进行由各个数据库生产商根据各自产品数据库进行驱动驱动开开发。发。操作方式:程序操作方式:程序JDBC 数据库数据库特点:由于程序直接通过特点:由于程序直接通过JDBC连接数据库,因此在连连接数据库,因此在连接性能上效率较高。接性能上效率较高。36PPT课件2.2 JDBC的操作类型的操作类型nJDBC网络连接方式网络连接方式在开发中,不可能每个主机上都有一个数据库服务,在开发中,不可能每个主机上都有一个数据库服务,必须连接到同一的数据库服务器,因此就必须使用必须连接到同一的数据库服务器,因此就必须使用JDBC的网络连接方式。的网络连接方式。这种连接方式的驱动程序也是由数据库生成厂商提供这种连接方式的驱动程序也是由数据库生成厂商提供以上可以看到,使用以上可以看到,使用JDBC进行数据库连接,其关键在进行数据库连接,其关键在于必须提供一个数据库驱动程序。各个数据库都有各于必须提供一个数据库驱动程序。各个数据库都有各自的自的JDBC驱动程序。驱动程序。如对如对SQL Server 2000,可下载,可下载“SQL Server 2000 Driver for JDBC”。按照系统说明书的要求,将驱动程。按照系统说明书的要求,将驱动程序路径设置到序路径设置到classpath中,或者是中,或者是Eclipse/MyEclipse的的Build Path中中37PPT课件2.2 JDBC的操作类型的操作类型1、设置、设置classpathlib 这个目录里有三个这个目录里有三个jar文件文件:msbase.jar,mssqlserver.jar,msutil.jar,一定要记得把这三个文件,一定要记得把这三个文件copy到你所安装的到你所安装的jdk下的下的jre目录的目录的ext目录下。目录下。设置设置classpath,在路径值中加入,在路径值中加入nC:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsbase.jar;nC:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmssqlserver.jar;nC:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsutil.jar38PPT课件2.2 JDBC的操作类型的操作类型2、Eclipse/MyEclipse39PPT课件Eclipsenhttp:/www.eclipse.org/downloads/40PPT课件2.3 连接数据库(连接数据库()n如果要进行连接数据库操作之前,要准备一下几如果要进行连接数据库操作之前,要准备一下几个信息:个信息:数据库的驱动程序:就是驱动程序配置包中数据库的驱动程序:就是驱动程序配置包中“包包.类类”nsqlServer:com.microsoft.jdbc.sqlserver.SQLServerDriver数据库的连接地址:不同的数据库有不同的连接地址数据库的连接地址:不同的数据库有不同的连接地址nsqlServer:jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=dbName;数据库的用户名:数据库的用户名:sa数据库的密码:数据库的密码:123IP地址地址数据库名称数据库名称端口号端口号41PPT课件常见常见JDBC驱动程序和驱动程序和URLnJDBCODBC桥:桥:Driversun.jdbc.odbc.JdbcOdbcDriverURLjdbc:odbc:数据源名数据源名noracleDriveroracle.jdbc.driver.OracleDriverURLjdbc:oracle:thin:主机名主机名:1521:数据库名数据库名nSQLServer Drivercom.microsoft.jdbc.sqlserver.SQLServerDriverURLjdbc:microsoft:sqlserver:/主机名主机名:1433;DatabaseName=数据库名数据库名nMySqlDrivercom.mysql.jdbc.DriverURLjdbc:mysql:/主机名主机名:3306/数据库名数据库名nDB2Drivercom.ibm.db2.jdbc.app.DB2DriverURLjdbc:db2:/主机名主机名:50002/数据库名数据库名42PPT课件2.3 连接数据库(连接数据库()n在相关信息准备好以后,可以按以下步骤进行数在相关信息准备好以后,可以按以下步骤进行数据库的连接:据库的连接:加载类的驱动程序;加载类的驱动程序;通过通过DriverManager类取得一个类取得一个Connection接口的对象,接口的对象,表示取得连接;表示取得连接;进行若干数据表的操作;进行若干数据表的操作;关闭数据库(关闭数据库(属于资源操作,操作之后必须关闭属于资源操作,操作之后必须关闭)。)。43PPT课件2.3 连接数据库(连接数据库()-连接范例连接范例import java.sql.Connection;import java.sql.DriverManager;public class JDBCdemo public static final String DBdriver=com.microsoft.jdbc.sqlserver.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 ExceptionConnection conn=null;/数据库连接数据库连接Class.forName(DBdriver);/加载驱动程序加载驱动程序conn=DriverManager.getConnection(DBurl,DBuser,DBpassword);/取得连接取得连接System.out.println(conn);conn.close();/关闭数据库连接关闭数据库连接如果此时的如果此时的conn输出不是输出不是null,或者没有报错,则表示连接成功。,或者没有报错,则表示连接成功。Demo144PPT课件2.4 数据库操作(数据库操作(Statement)n在取得了数据库连接对象之后,就要进行数据库的操作。在取得了数据库连接对象之后,就要进行数据库的操作。数据库的操作是使用数据库的操作是使用Statement接口来完成。要取得接口来完成。要取得Statement接口的实例化对象,需要用到接口的实例化对象,需要用到Connection中的中的一个方法。一个方法。n取得取得Statement接口对象:接口对象:Statement createStatement()throws SQLExceptionn取得了取得了Statement接口对象之后,就可以使用接口对象之后,就可以使用Statement接接口提供的方法进行数据库的操作口提供的方法进行数据库的操作数据的更新操作数据的更新操作nint executeUpdate(String sql)throws SQLException数据的查询操作数据的查询操作nResultSet executeQuery(String sql)throws SQLException45PPT课件2.4 数据库操作数据库操作n增加数据增加数据增加数据的增加数据的SQL语句语句“INSERT INTO 表名(字段表名(字段1,字段,字段2)VALUES(值(值1,值,值2)”增加数据范例:增加数据范例:注意:在进行关闭的时候,一般的操作顺序为注意:在进行关闭的时候,一般的操作顺序为“先打开的连接,再打先打开的连接,再打开的数据库操作,在关闭时先关闭数据库操作,再关闭连接开的数据库操作,在关闭时先关闭数据库操作,再关闭连接”。以上是将增加内容放到字符串中,定义在变量中?以上是将增加内容放到字符串中,定义在变量中?范例:范例:SQL语句的拼凑写法语句的拼凑写法Demo2Demo346PPT课件2.4 数据库操作数据库操作n更新数据更新数据更新更新SQL语句语句“UPDATE 表名表名 SET 字段字段1=值值1,字段,字段2=值值2,.where 更新条件更新条件”更新范例:更新范例:Demo447PPT课件2.4 数据库操作数据库操作n删除数据删除数据删除删除SQL语句语句“DELETE FROM 表名表名 where 删除条件删除条件”删除范例:删除范例:Demo548PPT课件2.4 数据库操作数据库操作n查询数据查询数据查询数据使用的语法是查询数据使用的语法是SELECT语句,注意一点:查询语句,注意一点:查询操作是需要将数据表中的数据保存在内存之中的,也操作是需要将数据表中的数据保存在内存之中的,也就是将查询结果保存在就是将查询结果保存在ResultSet接口之中接口之中查询全部数据范例:查询全部数据范例:注意在使用注意在使用select语句的时候不能再使用语句的时候不能再使用“select*from”之类的语句,需要写全数据表的列名称;也能简之类的语句,需要写全数据表的列名称;也能简化代码。化代码。Demo649PPT课件2.4 数据库操作数据库操作nPreparedStatement PreparedStatement接口是接口是Statement的子接口,主要的子接口,主要的是进行数据的预处理操作。的是进行数据的预处理操作。“MrSmith”的范例的范例带有带有“”分号的分号的SQL语句采用拼凑写法,会报错,语句采用拼凑写法,会报错,这就要使用这就要使用PreparedStatement接口。接口。要取得要取得PreparedStatement接口实例化对象,就要使用接口实例化对象,就要使用Connection中的另一个方法:中的另一个方法:n取得取得PreparedStatement接口对象:接口对象:PreparedStatement prepareStatement(String sql)throws SQLExceptionn这里的这里的SQL语句由于是预处理方式完成,所以使用语句由于是预处理方式完成,所以使用“?”表表示占位符示占位符Demo750PPT课件2.4 数据库操作数据库操作nPreparedStatement的查询操作的查询操作查询全部数据:查询全部数据:n需要注意到是在程序中没有使用任何的需要注意到是在程序中没有使用任何的“?”,所以不用使,所以不用使用用PreparedStatement进行内容的设置。进行内容的设置。模糊查询:模糊查询:n如果查询的关键字为空,则返回的是全部数据如果查询的关键字为空,则返回的是全部数据查询表中的记录数查询表中的记录数n查询一张表中的全部记录查询一张表中的全部记录COUNT()()以上的数据库操作,是我们进行项目开发的基础以上的数据库操作,是我们进行项目开发的基础Demo8Demo9Demo1051PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n开发背景与需求分析开发背景与需求分析开发背景(规划):开发背景(规划):为了保持良好的人际关系,需要经常与亲戚、为了保持良好的人际关系,需要经常与亲戚、朋友、同学、同事等保持联系。为了能够快速查询朋友、同学、同事等保持联系。为了能够快速查询到联系人的信息,可以创建一个通讯管理系统。到联系人的信息,可以创建一个通讯管理系统。此系统可以此系统可以查询、修改和删除联系人信息查询、修改和删除联系人信息。为。为了防止信息被他人窃取,可以为系统了防止信息被他人窃取,可以为系统设置密码设置密码。此。此外,为记录重要信息,提供备忘录功能,实现外,为记录重要信息,提供备忘录功能,实现查询、查询、修改和删除备忘录信息修改和删除备忘录信息。在以上背景基础上,进一步对系统进行需求分析,确在以上背景基础上,进一步对系统进行需求分析,确定系统具备的功能。定系统具备的功能。52PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统53PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n需求分析需求分析系统登录功能系统登录功能添加用户功能添加用户功能修改密码功能修改密码功能添加分类功能:对联系人、备忘录信息进行分类管理添加分类功能:对联系人、备忘录信息进行分类管理添加信息功能添加信息功能查询信息功能查询信息功能修改信息功能修改信息功能删除信息功能删除信息功能54PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n系统设计系统设计系统功能结构图系统功能结构图55PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n系统设计系统设计根据系统功能结构图,确定系统中的各个实体及各自根据系统功能结构图,确定系统中的各个实体及各自属性,画出个实体的属性,画出个实体的E-R图。图。通讯管理系统涉及用户信息、联系人分类信息、联系通讯管理系统涉及用户信息、联系人分类信息、联系人详细信息、备忘录分类信息、备忘录详细信息人详细信息、备忘录分类信息、备忘录详细信息5个实个实体体56PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统联系人详细信息表的结构(联系人详细信息表的结构(tb_LinkMan)字段名数据类型长度是否空值是否主键或约束说明IDInt4不允许主键,自动编号编号namevarchar20不允许无约束姓名sexvarchar10允许无约束性别employmentvarchar50允许无约束工作单位birthdaydatetime允许无约束出生日期principalshipvarchar20允许无约束职务telephonevarchar30允许无约束电话addressvarchar100允许无约束地址postalcodevarchar6允许无约束邮编QQvarchar20允许无约束qq号码emailvarchar50允许无约束电子信箱SortIDint4不允许外键分类号57PPT课件联系人分类信息表的结构(tb_sort)字段名数据类型长度是否空值是否主键或约束说明SortIDInt4不允许主键,自动编号分类号SortNamevarchar20不允许唯一分类名称用户信息表的结构(tb_user)字段名数据类型长度是否空值是否主键或约束说明idInt4不允许主键,自动编号编号usernamevarchar20不允许唯一用户名passwordvarchar20不允许无约束密码备忘录分类信息表的结构(tb_type)字段名数据类型长度是否空值是否主键或约束说明TypeIDInt4不允许主键,自动编号分类号MemoTypevarchar10不允许唯一分类名备忘录详细信息表的结构(tb_memo)字段名数据类型长度是否空值是否主键或约束说明IDInt4不允许主键,自动编号编号namevarchar10不允许无约束姓名mattervarchar200不允许无约束事件内容MatterDatedatetime不允许无约束事件日期TypeIDint4不允许外键分类号58PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n逻辑设计逻辑设计利用利用PD软件进行数据库的建模,也就是数据库设计软件进行数据库的建模,也就是数据库设计59PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n前台程序设计前台程序设计数据层和业务层数据层和业务层n例如:添加联系人信息例如:添加联系人信息客户端客户端添加联系人添加联系人客户端客户端业务功能业务功能数据功能数据功能 所谓的业务功能会牵扯到多个数据层的操作。在进行项目设计时,一般我所谓的业务功能会牵扯到多个数据层的操作。在进行项目设计时,一般我们先进行数据层(们先进行数据层(DAO,Data Access Object)开发。)开发。数据库访问数据库访问是否已经存在是否已经存在查询查询连接连接添加姓名、工作单位添加姓名、工作单位.更新更新执行更新命令执行更新命令执行执行是否添加成功是否添加成功查询查询60PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统nDAO层开发层开发DAO层要负责具体的数据操作,所以在这一层的组成层要负责具体的数据操作,所以在这一层的组成有以下几个部分:有以下几个部分:nJDBC连接处理类:进行数据库的连接和关闭;连接处理类:进行数据库的连接和关闭;n数据与类之间的转换类:简单数据与类之间的转换类:简单Java类;类;n定义数据操作标准的实现类:定义数据操作标准的实现类:进行具体的操作实现,要使用进行具体的操作实现,要使用preparedStatament。61PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n开发数据库操作工具类开发数据库操作工具类JDBC的操作都必须经过几个步骤:的操作都必须经过几个步骤:n数据库驱动加载;数据库驱动加载;n数据库连接操作;数据库连接操作;n数据库数据库CRUD操作;操作;n数据库的关闭。数据库的关闭。每一个数据层的操作只有第每一个数据层的操作只有第3步不一样,我们就可以把步不一样,我们就可以把1、2、4步合成一个类(步合成一个类(DAO类),并且要有一个完整类),并且要有一个完整的项目目录文件夹(的项目目录文件夹(com.txl.dao)进行保存。)进行保存。62PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n开发数据包裹类(开发数据包裹类(LinkMan)数据表和简单数据表和简单Java类之间存在关系:类之间存在关系:n数据表名数据表名=简单简单Java类的类名;类的类名;n数据表的字段数据表的字段=属性;属性;n数据表的每行记录数据表的每行记录=Java类的多个实例对象。类的多个实例对象。也就是说要取得数据,就必须定义一个可以包裹每行也就是说要取得数据,就必须定义一个可以包裹每行记录的对象,这个操作交由简单记录的对象,这个操作交由简单Java类来实现。类来实现。此类的功能也就是完成数据的传输、取得使用此类的功能也就是完成数据的传输、取得使用业务功能业务功能数据功能数据功能包裹类包裹类63PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n开发数据层的操作标准开发数据层的操作标准每一个数据层的操作都要对应一张数据表的操作,而每一个数据层的操作都要对应一张数据表的操作,而操作无非就是操作无非就是CRUD这这4个核心。但不同的具体业务有个核心。但不同的具体业务有不同的新功能,也就是说一张表基本上要存在一个对不同的新功能,也就是说一张表基本上要存在一个对应的操作标准。应的操作标准。命名规则:命名规则:“数据表名称数据表名称+DAO”nLinkManDao添加联系人信息添加联系人信息修改联系人信息修改联系人信息删除联系人信息删除联系人信息查询联系人信息查询联系人信息以上的所有标准是根据数据层的要求实现的以上的所有标准是根据数据层的要求实现的64PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统nLinkMan数据表的操作测试数据表的操作测试添加联系人信息的测试添加联系人信息的测试n此例子完成了数据的插入功能,可以看到程序中的此例子完成了数据的插入功能,可以看到程序中的main方法也就是客户端,且客户端中一定不能出现方法也就是客户端,且客户端中一定不能出现java.sql包包查询全部信息的测试查询全部信息的测试n如果产生的异常是如果产生的异常是SQLException的话,则表示的是的话,则表示的是数据库数据库SQL语句有问题,需要找语句有问题,需要找Dao实现类对应的实现类对应的SQL语句。语句。65PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统n系统的界面设计(系统的界面设计(GUI)架构方式:架构方式:nC/S(桌面应用程序)(桌面应用程序)nB/S(Web应用程序)应用程序):Servlet/JSP实例:实例:LinkMan(GUI设计)设计)AddLinkMan66PPT课件3 项目开发案例一:通讯管理系统项目开发案例一:通讯管理系统67PPT课件68PPT课件
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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