




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 1 摘要摘要 PostgreSQL 是以加州大学伯克利分校计算机系开发的 POSTGRES 版 本 4.2 为基础的对象关系型数据库管理系统(ORDBMS)。 POSTGRES 领先的许 多概念只是在非常迟的时候才出现在商业数据库中。 它提供了 SQL92/SQL99 语言的支持以及提供了许多其他现代特性:复杂查询、触发器、视图、事务完 整性、多版本并发控制。同样,PostgreSQL 可以用许多方法扩展,比如, 通 过增加新的:数据类型、函数、操作符、聚集函数、索引方法、过程语言。并 且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL,不管是私用,商用,还是学术研究使用。正是在这个基础上我们 对 PostgreSQL 的代码、功能、规则及其应用进行了一系列探讨。 关键字关键字 Lunix PostgreSQL JDBC 主键 外键 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 2 Abstraction PostgreSQL is an object-relational database management system (ORDBMS) based on POSTGRES, Version 4.2, developed at the University of California at Berkeley Computer Science Department. POSTGRES pioneered many concepts that only became available in some commercial database systems much later. It supports SQL92 and SQL99 and offers many modern features: complex queries,triggers,views,transactional integrity, multiversion concurrency control. Also, PostgreSQL can be extended by the user in many ways, for example by adding new :data types,functions ,operators,aggregate functions,index methods,procedural languages. And because of the liberal license, PostgreSQL can be used, modified, and distributed by everyone free of charge for any purpose, be it private, commercial, or academic. Its the foundation that we did some study on postgreSQLs code, functions,rules and its application. KEYWORD LUNIX POSTGRESQL JDBC PRIMARYKEY FOREIGNKEY 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 3 目录目录 引言:引言:5 第一章第一章数据库管理系统概论数据库管理系统概论.5 1、数据库管理系统概念:数据库管理系统概念:.5 2、库管理系统类型库管理系统类型.5 3、POSTGRESQL 简介简介 6 第二章第二章用户用户 GUIGUI 界面设计分析界面设计分析.6 1、引言、引言.6 1.1、编写目的、编写目的6 1.2、名词解释、名词解释7 2、任务概述、任务概述.7 2.1、目标、目标7 2.2、约束、约束7 3、数据描述、数据描述.8 3.1、静态数据、静态数据(系统运行前已有的数据)8 3.2、动态数据、动态数据(系统运行过程中需要的输入数据以及系统运行过程中产生的输出数据)8 3.3、数据库描述、数据库描述8 4、功能需求、功能需求.8 4.1、流程图、流程图 DFD.8 图 1 整体流程图.9 4.2、功能划分、功能划分9 4.3、功能描述、功能描述10 5、性能需求、性能需求.11 5.1、时间要求、时间要求11 5.2、适应性、适应性11 6、运行环境描述、运行环境描述.11 6.1、硬件设备、硬件设备11 6.2、支持软件、支持软件11 6.3、接口、接口11 6.4、控制要求、控制要求11 6.5、用户界面、用户界面11 第三章第三章基于关系数据库编写基于关系数据库编写 GUIGUI 界面概述界面概述12 1、引言、引言.12 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 4 1.1、编写目的编写目的12 1.2、项目背景项目背景12 1.3、资料参考资料参考12 2、总体设计、总体设计.12 2.1、需求概述需求概述12 2.2、处理流程处理流程12 2.3、总体结构、总体结构13 2.4、功能分配、功能分配13 3、接口设计、接口设计.13 3.1、用户接口、用户接口13 3.2、外部接口、外部接口14 3.3、内部接口、内部接口14 4、数据结构设计、数据结构设计.14 4.1、物理结构设计(、物理结构设计(E/R 图)图).14 图 4 数据库 ER 图.15 4.2、数据结构及与程序的关系、数据结构及与程序的关系15 5、出错处理设计、出错处理设计.17 5.1、出错输出信息、出错输出信息17 5.2、出错处理对策、出错处理对策17 6、安全保密设计、安全保密设计.17 第四章第四章软件详细设计及软件实现软件详细设计及软件实现18 1、总体设计、总体设计.18 1.1、需求概述、需求概述18 1.2、软件结构、软件结构18 2、程序描述、程序描述.18 3、设计中的问题及探讨、设计中的问题及探讨.27 第五章第五章 POSTGRESQLPOSTGRESQL 安装实例安装实例 .27 1 1、下载与解压缩、下载与解压缩.28 2 2、编译与安装、编译与安装.28 2.12.1、创建一个、创建一个 PostgresPostgres 超级用户帐号(通常是超级用户帐号(通常是 postgrespostgres)28 2.22.2、登录到、登录到 PostgreSPostgreS 的超级账号下的超级账号下。.28 2.32.3、使用、使用 flexflex 检查版本,来确保能有较新的版本。检查版本,来确保能有较新的版本。.28 2.42.4、创建新的源代码目录和安装目录、创建新的源代码目录和安装目录。.29 2.52.5、运行、运行 configureconfigure 脚本,为系统配置源代码脚本,为系统配置源代码。.29 2.62.6、安装手册页和、安装手册页和 HTMLHTML 文档。文档。.30 2.72.7、编译程序。输入下面的命令:、编译程序。输入下面的命令:.30 2.82.8、输入下面的指令安装程序:、输入下面的指令安装程序:.30 2.92.9、为、为 PostgresPostgres 准备一个账号(准备一个账号(postgrespostgres)作为)作为 postgrespostgres 超级用户。超级用户。.31 2.102.10、参考文档。、参考文档。.31 2.112.11、在、在 postgrespostgres 超级用户(超级用户(postgrespostgres)创建数据库装置。)创建数据库装置。.31 2.122.12、设置访问数据库系统的许可权限。、设置访问数据库系统的许可权限。.31 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 5 2.132.13、从命令行启动运行后端,测试一下后端是否能够正常运行。、从命令行启动运行后端,测试一下后端是否能够正常运行。.31 结论:结论:.32 致谢语致谢语: :32 参考文献:参考文献:.33 引言:引言: 目前计算机界流行多种数据库管理系统,PostgreSQL 是最出色的开放源代 码数据库系统,在学术机构,商业系统及互联网上使用的非常广泛。由于它具 有许多非常先进,开创性的特性,PostgreSQL 现在已经被许多商业数据库系统 采用。目前,PostgreSQL 由一批自由软件爱好者维护,功能也在不断的加强。 我们下面要研究的就是了解并且使用 PostgreSQL 的基础上,开发 GUI 界面功 能,方便用户使用。 第一章第一章 数据库管理系统概论数据库管理系统概论 1、数据库管理系统概念:数据库管理系统概念: 简称数据库系统或 DBMS,是一种软件产品,产生于二十世纪六十年代。 它把一企业或者机构的数据以记录的形式在计算机中保存起来。这些为同一个 目的而保存起来的所有数据的集合称为数据库,而一个数据库系统能同时管理 多个数据库,也就是说不同的用户可以通过一个数据库管理系统访问不同的数 据库。 2、库管理系统类型库管理系统类型 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 6 当前数据库管理系统主要是关系数据库管理系统和对象-关系模型数据库 管理系统系统。应用的比较广泛的数据库管理系统有 ORACLE 、DB2、INFORMIX 和 Postgre SQL。 3、PostgreSQL 简介简介 PostgreSQL 是一种复杂的对象-关系型数据库管理系统(ORDBMS) ,它采 用的是比较经典的 C/S (client/server)结构,也就是一个客户端对应一个服务 器端守护进程的模式。PostgreSQL 对接口的支持也是非常丰富的。由数据库服 务器提供了统一的客户端 C 接口,而不同的客户端接口都是源自这个 C 接口, 比如 ODBC,JDBC,Python,Perl ,Tcl,C/C+,ESQL 等。同时 PostgreSQL 拥有极其强大的扩展能力,开发人员可以很容易地扩展数据类型, 内部函数,聚集,操作符等等。因此 PostgreSQL 是目前功能最强大,特性最丰 富和最复杂的自由软件数据库系统。 作为自由软件的 PostgreSQL,由于最初的目的是数据库研究,因此不论在 稳定性,性能还是使用方便方面,长期以来一直没有得到重视,不易胜任中上 规模范围内的应用范围的业务。同时还欠缺一些比较高端的数据库管理系统需 要的特性,比如联机热备份,数据库集群,更优良的管理工具和更加自动化的 系统优化功能等提高数据库性能的机制等。因此我们希望通过对 PostgreSQL 开 放源代码的剖析及应用改善其性能,使它能够成为一种优秀的,自由的,商业 数据库的替代产品。 第二章第二章 用户用户 GUI 界面设计分析界面设计分析 1、引言引言 1.1、编写目的、编写目的 a. 建立开发人员之间构通的桥梁 本说明书对开放源代码数据库 PostgreSQL 的剖析及用户及文件管 理的应用做全面描述,帮助使开发人员判断所描述的内容是否符合自 身的要求,或者怎样修改才能适应网络用户数据管理的要求。 b. 提高项目开发效率 编制需求分析说明书的过程将使我们开发者在设计开始之前周密 地思考全部需求,从而减少事后重新设计、重新编码和重新测试的返 工活动。在需求分析说明中对各种需求仔细地进行分析,还可以在开 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 7 发早期发现若干遗漏、错误的理解和不一致性,以便及时加以纠正。 c. 为计算开发工时和编制计划进度提供基础。 需求分析说明提供的对开发系统的描述,是开发工作时间核算的 基础。需求分析说明对我们办公自动化软件的清晰描述,有助于估计 所必须的资源,并用作编制进度的依据。 d. 为确认和验证开发组的工作提供一个基准。 e. 作为以后工作的重要参考 由于需求分析说明所讨论的是系统应该实现什么,它是我们工作的一个重 要环节,是我们将来编写设计书的依据。 1.2、名词解释、名词解释 B/Rs: 备份保存和高速复原软件(Client centered backup/restoration software) 。 PostgreSql:是一种特性非常齐全的自由软件的对象-关系性数据库管理系统 (ORDBMS) 。 JDBC: Java DataBase Connectivity,是 Java 与数据库的接口规范,JDBC 定义 了一个支持标准 SQL 功能的通用低层的应用程序编程接口(API),它由 Java 语言编写的类和接口组成,旨在让各数据库开发商为 Java 程序员提 供标准的数据库 API。 主主 健:健:表的主健是被数据库设计者选择出来作为表中特定行的唯一标识符 的候健。 数数 据据 集:集:通过 SQL 查询语句对数据库中数据进行筛选,满足条件的数据记录 构成的集合。 接接 口:口:包括硬件接口和软件接口,其中软件接口指实现不同软件平台或同 一软件各模块之间交互的方法。 DFD:data flow dragram,即数据流图的缩写,通过特定的符号来表示系统中数 据的流向和处理过程。 2、任务概述、任务概述 2.1、目标、目标 下载 PostgreSQL 开放源代码并对其进行修改编译。应用该数据库为备份保 存和高速复原软件(Client centered backup/restoration software)提供的用户进行 管理。用户的选项应保存到数据库中,所备份的文件名、保存时间、保存介质、 文件大小、IP 地址等也应保存。应用 E/R 图进行数据库设计,创建数据库及所 有数据库对象。选用数据库的连接方法,进行 GUI 程序设计。 2.2、约束、约束 本项目开发工作受到诸多因素的限制,它们将影响任务完成,我们认为, 这些因素有: a. 开发期限 开发周期是 2 个月,在开发周期将完成需求分析、 PostgreSQL7.4.2 版源代码修改编译、数据库测试、数据库搭建、用 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 8 户数据管理实现,开发的时间比较紧迫。 b. 人力资源 项目组成员共 5 人,组长马建波,组员凌骏、王振辉、王聪、洪 滨。 c. 硬件资源和软件环境 项目开发使用个人计算机,在 Linux 系统平台下实现。 3、数据描述数据描述 3.1、静态数据、静态数据(系统运行前已有的数据) a.用户信息,包括用户名、用户 ID、密码、联系方式、权限等 b. 系统操作类型,包括类型名称、编号、说明、执行权限 3.2、动态数据、动态数据(系统运行过程中需要的输入数据以及系统运行过程中产 生的输出数据) a.用户状态值 b. 系统操作记录 c.文件操作记录 3.3、数据库描述、数据库描述 用户及文件管理系统中使自由软件数据库 PostgreSQL,系统数据库名 称 FileManager。 4、功能需求、功能需求 4.1、流程图、流程图 DFD 4.1.1、符号说明、符号说明 开始或结束处 理 判断 数据库 数据流 程序流程 显 示 4.1.2、系统整系统整 体流程体流程图图 Y N 开开 始始 会员登录系统会员登录系统 选择系统服务功能选择系统服务功能 返回服务执行结果返回服务执行结果 结结 束束 FileManager 数据库数据库 继续操作继续操作? 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 9 图 1 整体流程图 4.2、功能划分、功能划分 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 10 用户及文件管理 用户 ID 登录 密码修改 操作记录检索 文件记录检索 一般用户系统管理员 特定用户记录检索 操作类型表添加修改 用户信息表添加修改 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 11 图 2 功能划分树状图 说明:用户及文件管理系统是 B/Rs 系统的一个组成部分,主要为 B/Rs 提 供数据库支持。因此该功能划分中,不涉及文件备份/高速复原和文件传输的安 全保障机制部分。 4.3、功能描述、功能描述 功能名称功能名称功能标识符功能标识符功能详细描述功能详细描述 用户登录 Login 用户登录界面 数据类型转换 TypeChange 数据信息的格式转换 数据检索 ManageFind 用于对用户、文件及操作记录的查询 数据库管理 Manager系统管理员对系统和数据库维护 数据库接口 DBAccess为系统提供访问 PostgreSQL 的接口 表 1 功能描述表 4.4、数据与功能的对应关系数据与功能的对应关系 功能标识符功能标识符功能选择、输入功能选择、输入显示输出显示输出 Login 用户 ID、密码输入无 ManageFind 查询字段输入检索结果显示 Manager 数据信息修改无 表 2 数据与功能对应表 5、性能需求、性能需求 5.1、时间要求、时间要求 数据转换和传送时间:按传送的数据量而定; 常规时间要求。 5.2、适应性、适应性 B/Rs 系统要求有较强的适应性,要求系统能用键盘和鼠标操作,Linux 客户端运行, 并能适应用户需求变化。 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 12 6、运行环境描述、运行环境描述 6.1、硬件设备、硬件设备 6.1.1 客户端要求:CPU 为奔腾处理器及以上,内存为 64M 及以上 6.1.2 服务器端要求:服务器 CPU 为奔腾 II 及以上,内存为 128M 及以上 6.2、支持软件、支持软件 6.2.1 网络操作系统:Linux Redhat 9.0 6.2.2 数据库:PostgreSQL 7.4.2 6.3、接口、接口 6.3.1 无特殊的硬件接口 6.3.2 通讯接口 要求安装 TCP/IP 协议 6.3.3 数据库连接:JDBC 6.4、控制要求、控制要求 输入控制:对必输项和输入的类型进行提示,错误提示等 6.5、用户界面、用户界面 用户界面要求友好、简明,层次清晰,统一的输入输出格式 第三章第三章 基于关系数据库编写基于关系数据库编写 GUI 界面概述界面概述 1、引言、引言 1.1、编写目的编写目的 概要设计的目的在于:从需求分析说明的基础上得出系统实现方案和软件 结构,为编写详细设计提供依据,最终用较低开销开发出较高质量的软件系统。 1.2、项目背景项目背景 本系统定名为:开放源代码数据库 PostgreSQL 的应用 本项目是厦门大学软件学院学生毕业设计。 本系统是 B/Rs 系统的子系统。开发单位是:软件学院毕业设计小组。 1.3、资料参考资料参考 开放源代码数据库 PostgreSQL 的应用需求说明书 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 13 2、总体设计、总体设计 2.1、需求概述需求概述 本系统通过对开放源代码数据库 PostgreSQL 的修改编译,实现其在用户及 文件管理中的应用。 2.2、处理流程处理流程 图 3 处理流程图 2.3、总体结构、总体结构 见图 2 功能划分树状图 2.4、功能分配、功能分配 我们使用用一张矩阵图说明系统中各项功能需求的实现与各模块的分配关系。 功能模块功能模块登陆登陆检索检索信息维护信息维护结果显示结果显示 Login ManageFind Error管理员 开 始 用户登录 FileManager 数据库 记录检索密码修改数据库维护 权限判断 显示输出 用户注销 结 束 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 14 Manager TypeChange DBAccess 表 3 功能模块表 3、接口设计、接口设计 3.1、用户接口、用户接口 本系统用户接口少,可以通过系统提示信息和功能选择来执行操作、输入 信息。 3.2、外部接口、外部接口 因 B/Rs 的文件备份/高速复原和文件传输的安全保障机制部分未能实现, 外部接口以本系统提供的接口为准。 3.3、内部接口、内部接口 系统各功能通过用户点选的各参数值触发,系统各模块对数据库的操作通 过 JDBC 数据接口实现。 4、数据结构设计、数据结构设计 4.1、物理结构设计(、物理结构设计(E/R 图)图) 见 图 4 数据库 E/R 图 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 15 (0,n) (1,1) (1,n) (1,1) (0,n) (0,n) (1,1) (1,1) (1,1) (1,n) 操作操作 执行 用户用户 复原 备份 备份文件备份文件 对应 原 源文件源文件 个人资料 用户用户 证件号E-mailTel. 用户 ID 权限 Password 操作操作 操作 ID 操作名称操作权限 操作说明 源文件源文件 源文件 ID 文件信息还原时间 文件名 文件大小网络 IP文件路径 存储媒介 备份文件备份文件 备份文件 ID 文件信息备份时间 备份文件 名 网络 IP文件路径 存储媒介 用户 ID 所属 图 4 数据库 ER 图 4.2、数据结构及与程序的关系、数据结构及与程序的关系 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 16 数据结构表列表清单如下: Table UserInfo(用户信息表) 中文含义中文含义字段名字段名数据类型数据类型是否主键是否主键 用户 IDUserNameInt4Key 用户名UserIDVarchar(40) 密码PasswordVarchar(20) 身份证号IDCardChar(18) 联系电话PhoneVarchar(20) E-mail EmailVarchar(40) 用户权限PowerChar 用户状态StatusBool 表 4 数据库表 1 Table OperateType(操作类型表) 中文含义中文含义字段名字段名数据类型数据类型是否主键是否主键 操作类型 IDOperateIDVarchar(20)Key 操作名称OperateNameVarchar(40) 操作权限PowerChar 操作说明ExplainText 表 5 数据库表 2 Table FileInfo(源文件信息表) 中文含义中文含义字段名字段名数据类型数据类型是否主键是否主键 源文件 IDFileIDInt4Key 源文件名FileNameVarchar(40) 用户 IDUserIDInt4ForeignKey 源文件大小FileSizeInt4 修改时间File_Operate_TimeTimestamp(0) 源 IP 地址FileIPInet 源路径FilePathVarchar(50) 源文件存储媒介File_Storage_MediaVarchar(20) 表 6 数据库表 3 Table BackupFileInfo(备份文件信息表) 中文含义中文含义字段名字段名数据类型数据类型是否主键是否主键 备份文件 IDBFileIDInt4Key 备份文件名BFileNameVarchar(40) 备份文件大小BFileSize Int4 备份时间BFile_Operate_TimeTimestamp(0) 备份 IP 地址BFileIPInet 备份路径BFilePathVarchar(50) 备份文件存储媒介BFile_Storage_MediaVarchar(20) 表 7 数据库表 4 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 17 Table OperateLog(操作记录表) 中文含义中文含义字段名字段名数据类型数据类型是否主键是否主键 操作记录 IDLogIDInt4Key 用户 IDUserIDInt4 操作类型 IDOperateIDVarchar(20) 源文件 IDFileIDInt4 备份文件 IDBFileIDInt4 操作时间OperateTimeTimestamp(0) 表 8 数据库表 5 下面我们使用一张图说明各个数据库表与各模块的对应关系。 表表 名名LoginManageFindManagerTypeChangeDBAccess UserInfo FileInfo OperateType BackupFileInfo OperateLog 表 9 数据库与模块对应表 5、出错处理设计、出错处理设计 5.1、出错输出信息、出错输出信息 我们使用程序端来检测用户输入信息和系统异常来的出错提示。 列表说明如下: 出错类型出 错 提 示处理方法 表 10 出错信息提示表 5.2、出错处理对策、出错处理对策 采用预写式日志(Write-Ahead Logging (WAL))的方法。在出现崩溃的情 况下, 我们可以用日志来恢复数据库:任何尚未附加到数据页的记录 都将先 从日志记录中重做(这叫向前滚动恢复,也叫做 REDO) 然后那些未提交的 事务做的修改将被从数据页中删除 (这叫向后滚动恢复,UNDO) 。 6、安全保密设计、安全保密设计 数据库系统通过访问权限设定及 PostgreSQL 提供的访问权限查询函数来保 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 18 障数据的保密性。 第四章第四章 软件详细设计及软件实现软件详细设计及软件实现 1、总体设计、总体设计 1.1、需求概述、需求概述 对 PostgreSQL 开放源代码并对其进行修改编译,并在此基础上设计一个数 据库,编写 GUI 程序,实现用户及文件管理的功能。 1.2、软件结构、软件结构 见图 2 功能划分树状图 2、程序描述、程序描述 package com.dot.xmu.DBAccess; import java.sql.*; import javax.swing.*; import java.lang.*; import java.util.*; /import java.sql.*; import com.dot.xmu.typechange.*; public class DBAccess private String url; private String dbName; Connection connection; Statement statement; String sql; public DBAccess(String u, String db) dbName = db; 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 19 if (u.equals(“Postgre“) / url =“jdbc:postgresql:mytest“,“eight“,“; try Class.forName(“postgresql.Driver“); catch(java.lang.ClassNotFoundException e) System.out.println(“err:class.forname.“); try / Class.forName(“postgresql.Driver“); connection = DriverManager.getConnection(“jdbc:postgresql:db“,“,“); statement = connection.createStatement(); catch (Exception e) e.printStackTrace(); public void addUser(String id, String name, String IDcard, String phone, String mail, String level) try sql = “insert into userinfo (userid,username,IDcard,phone,Email,level) values (“ + id + “,“ + name + “,“ + IDcard + “,“ + phone + “,“ + mail + “,“ + level + “)“; 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 20 String test = “select * from userinfo where userid=“ + id; ResultSet rs = statement.executeQuery(test); if (rs.next() JOptionPane.showMessageDialog(null, “user “ + name + “ already exist!“); return; int result = statement.executeUpdate(sql); if (result = 1) JOptionPane.showMessageDialog(null, “User“ + name + “ successfully add!“); else JOptionPane.showMessageDialog(null, “Error Add!“, “Error Add“, JOptionPane.ERROR_MESSAGE); catch (SQLException sqle) sqle.printStackTrace(); public void addFile(String id, String name, String size, String time, String ip, String path, String media) try sql = “insert into fileinfo(fileid,filename,filesize,file_operate_time,file_IP,filepath,storage_media) values (“ + id + “,“ + name + “,“ + size + “,“ + 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 21 time + “,“ + ip + “,“ + path + “,“ + media + “)“; String test = “select * from fileinfo where fileid=“ + id; ResultSet rs = statement.executeQuery(test); if (rs.next() JOptionPane.showMessageDialog(null, “file“ + name + “ already exist!“); return; int result = statement.executeUpdate(sql); if (result = 1) JOptionPane.showMessageDialog(null, “file“ + name + “ successfully add!“); else JOptionPane.showMessageDialog(null, “Error Add!“, “Error Add“, JOptionPane.ERROR_MESSAGE); catch (SQLException sqle) sqle.printStackTrace(); public void addbackupFile(String id, String name, String size, String time, String ip, String path, String media) try sql = “insert into backupfileinfo(backfileid,backfilename,backfilesize,backfile_operate_time,backfi 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 22 le_IP,backfilepath,storage_media) values (“ + id + “,“ + name + “,“ + size + “,“ + time + “,“ + ip + “,“ + path + “,“ + media + “)“; String test = “select * from backupfileinfo where backfileid=“ + id; ResultSet rs = statement.executeQuery(test); if (rs.next() JOptionPane.showMessageDialog(null, “backupfile“ + name + “ already exist!“); return; int result = statement.executeUpdate(sql); if (result = 1) JOptionPane.showMessageDialog(null, “file“ + name + “ successfully add!“); else JOptionPane.showMessageDialog(null, “Error Add!“, “Error Add“, JOptionPane.ERROR_MESSAGE); catch (SQLException sqle) sqle.printStackTrace(); 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 23 public void addOperate(String type, String name, String level, String explain) try sql = “insert into operatetype (operatetype,operatename,level,explain) values (“ + type+ “,“ + name + “,“ + level + “,“ + explain + “)“; String test = “select * from operatetype where operatetype=“ + type; ResultSet rs = statement.executeQuery(test); if (rs.next() JOptionPane.showMessageDialog(null, “operatetype“ + name + “ already exist!“); return; int result = statement.executeUpdate(sql); if (result = 1) JOptionPane.showMessageDialog(null, “operatetype“ + name + “ successfully add!“); else JOptionPane.showMessageDialog(null, “Error Add!“, “Error Add“, JOptionPane.ERROR_MESSAGE); catch (SQLException sqle) sqle.printStackTrace(); 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 24 public void addOperateinfo(String id, String userid, String operatetype, String operatetime, String fileid, String backfileid) try sql =“insert into operateinfo(operateid,userid,operatetype,operatetime,fileid,backfileid) values (“ + id + “,“ + userid+ “,“ + operatetype + “,“ + operatetime + “,“ + fileid + “,“ + backfileid + “)“; String test = “select * from operateinfo where operateid=“ + id; ResultSet rs = statement.executeQuery(test); if (rs.next() JOptionPane.showMessageDialog(null, “operateinfo“ + id + “ already exist!“); return; int result = statement.executeUpdate(sql); if (result = 1) JOptionPane.showMessageDialog(null, “operateinfo“ + id + “ successfully add!“); else JOptionPane.showMessageDialog(null, “Error Add!“, “Error Add“, JOptionPane.ERROR_MESSAGE); 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 25 catch (SQLException sqle) sqle.printStackTrace(); public String search(String table,String type,String id) try String result = “; sql = “select * from table where type=“ + id; ResultSet rs = statement.executeQuery(sql); if (rs.next() result += “ “; for (int i = 1; i cd /pub/gnu/ ftpbinary ftpget flex-2.5.4.tar.gz ftpquit $ gunzip c flex-2.5.4.tar.gz tar xvf $ cd flex-2.5.4 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 29 $ configure prefix/usr $ gmake $ gmake check #执行下面的命令时,必须是 root 用户: $ gmake install $cd /usr/local/src $rm rf flex-2.5.4 上面的命令将升级/usr/man/man1/flex.1 ,/usr/bin/flex, /usr/lib/libfl.a, /usr/include/flexlexer.h,并增加一个指向 flex 的 链接。 2.42.4、创建新的源代码目录和安装目录、创建新的源代码目录和安装目录。 十几路径根据不同场合可能会 有不同,但是在安装过程中必须保持一致。在 /usr/src 下为 PostgreSQL 创建一个目录,然后将目录的所有者改变为 postgres(第二步创建的用户) ,在/usr/local 下创建的一个 pgsql 目录, 这是 PostgreSQL 二进制文件的目录,将目录的所有者改变为 postgres.目 录名称也可以不是 postgres,但是以后必须主要不要使用错误的目录名。 $su $ cd/usr/src $ mkdir pgsql $ chown postgres:postgres pgsql $ cde/usr/local $ mkdir pgsql $ chown postgres:postgres pgsql 2.52.5、运行、运行 configureconfigure 脚本,为系统配置源代码脚本,为系统配置源代码。 在这一步可以指定编译过程的实际安装路径,输入: $ cd/usr/src/pgsql/postgresql-7.0.2 $ /configureoptions a)Configure 脚本从源文件的 temlate 子目录提供的文件中选择一个模板文件, 这个模板文件是针对正在使用的系统的。 开放源代码数据库开放源代码数据库 PostgreSQLPostgreSQL 的应用的应用 30 b)选择配置选项。输入: /configure help 常用选项如下所示: prefix=BASEDIR 为 postgres 安装选择不同的基础目录,缺省是 /usr/local/pgsql -with-template=TEMPLATE 使用模板文件 TEMPLATE 一般假设模板文件在 src/template 目 录下,系统在这个文件中查找合适的配置选项 -with-tcl 编译 Tck/Tk 接口库和编程环境,包括 libpgtcl,pgtpgtksh -with-perl 编译 perl 接口库 -with-odbc 编译 ODBC 驱动包 -enable-hba 启用基于主机的验证 -disable-hba 禁用基于主机的验证 -enable-locale 启用 USE-LOCALE 选项 -enable-cassert 启用 ASSERT-CHECKING 选项 -with-cc=conmpiler 使用一个 configure 脚本不能找到的、特殊的 C 编译器 -with-CXX=compiler 使用一个 configure 脚本不能找到的、特殊的 C编译器 -without-CXX 排除 C+编译 2.62.6、安装手册页和、安装手册页和 HTMLHTML 文档。文档。 输入: $ c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产26万件炉头扩建项目环评报告表
- 年产铝配件300万件新建项目环评报告表
- 港口物流智能化与港口竞争力提升的协同效应及发展模式研究报告
- 上海科博达智能科技有限公司股东全部权益价值资产评估报告
- 脚手架安全培训讲座总结课件
- 锅炉知识培训课件
- 西南工程消杀服务方案(3篇)
- 深度解读海底捞2025年服务创新对餐饮行业的影响报告
- 2025年合同续签申请书范本
- 幕墙工程方案是危大(3篇)
- DB4401-T 43-2020 反恐怖防范管理+防冲撞设施-(高清现行)
- 保障和改善民生课件
- 北京京剧院劳动合同制职工招考聘用(必考题)模拟卷
- 教学课件:《新能源材料技术》朱继平
- 专业技术职称与职业(工种)技能人才评价对应表(试行)
- DB37∕T 4328-2021 建筑消防设施维护保养技术规程
- 银行信贷实务与管理课件
- 实习任务书(标准模版)
- 钢结构加工制造方案(60页)
- 大连石化“3.14”亡人事故
- NFPA12-二氧化碳灭火系统标准(2005版)
评论
0/150
提交评论