-1-Oracle数据库课程设计报告题目:通讯录系统班级:0805课序号:01(张一,马工速)02(张明,曲珊珊,韩程)组长:张一200893065组员:张明200893203曲珊珊200892208马工速200893056韩程200893039-2-目录一项目概述…………………………………………………………3二具体功能介绍……………………………………………………3三设计与实现………………………………………………………3需求分析……………………………………………………………………3概念结构设计………………………………………………………………4逻辑结构设计………………………………………………………………4物理结构设计………………………………………………………………5程序说明……………………………………………………………………6数据库连接………………………………………………………………6系统结构图………………………………………………………………7软件功能截图……………………………………………………………7四组员分工…………………………………………………………11-3-一项目概述现代人的生活节奏日益加快,各种联系人也不断增多,但是有很大一部分人依然在使用纸质通讯录。根据我的总结,纸质通讯录有以下缺陷:1,储存信息量少,查找不方便;2,不能存放照片;3,安全性不高,信息容易丢失,且对于隐私保护不强。为此,我开发了这个java通讯录程序。在我写的此程序中,上述缺陷得到了很好的弥补。二具体功能介绍1,用户的登录,注册,删除功能;2,联系人信息的增加,删除,修改,查询的功能;3,联系人分组的增加,删除的功能;4,联系人头像的上传,显示等功能;5,联系人相册的各项管理功能(相片的上传,删除等功能);6.实现系统托盘的功能.三设计与实现1,需求分析数据流图-4-2,概念结构设计E-R图说明:用户实体拥有用户名和密码2个属性;联系人实体拥有相片编号,相片名称,联系人性别,联系人年龄,联系人所属分组,联系人编号,联系人邮箱,联系人邮政编码,联系人地址,相片信息,用户名11个属性;相片实体拥有相片编号,相片名称,相片信息3个属性。一个用户登录以后,可以在联系人表中建立多个联系人,所以用户实体和联系人实体是1:n的关系;每个联系人可以上传多张相片储存在相片表中,所以相片实体和联系人实体是n:1的关系。3,逻辑结构设计E-R图自动转化为逻辑结构模型后如下:-5-用户user2(用户名uid2,密码pwd);联系人lxy(相片编号pid,相片名称pname,联系人性别pgender,联系人年龄page,联系人所属分组pgroup,联系人编号pnumber,联系人邮箱pmail,联系人邮政编码ppostalcode,联系人地址padress,头像信息pphoto,用户名uid2);相片photo(相片编号pid,相片名称pname,相片信息photo)。(主键用加粗+下划线标出)4,物理结构设计用户表:创建表语语句:createtableuser2(uid2numberprimarykey,pwdvarchar2(20));联系人表:创建表语语句:createtablelxy(pidnumberprimarykey,pnamevarchar2(20),pgendervarchar2(20),pagevarchar2(20),-6-pgroupvarchar2(20),pnumbervarchar2(20),pemailvarchar2(20),ppostalcodevarchar2(20),padressvarchar2(20),pphotolongraw,uid2varchar2(20)foreignkey(pid)referencesphoto(pid));相片表:创建表语语句:createtablephoto(pidnumberprimarykey,photonamevarchar2(20),photolongraw);5,程序说明连接数据库:privatestaticStringdriver=oracle.jdbc.driver.OracleDriver;//声明驱动类字符串//声明数据库连接字符串privatestaticStringurl=jdbc:oracle:thin:@127.0.0.1:1521:orcl;privatestaticConnectioncon=null;//声明数据库连接对象引用-7-privatestaticStatementstat=null;//声明语句对象引用privatestaticPreparedStatementpsInsert=null;//声明预编译语句对象引用privatestaticResultSetrs=null;//声明结果集对象引用publicstaticConnectiongetConnection()//得到数据库连接的方法{try{Class.forName(driver);//加载驱动类con=DriverManager.getConnection(url,system,q);//得到连接}catch(Exceptione){e.printStackTrace();}returncon;//返回连接}系统结构图:软件功能截图:(1)登录界面及修改密联系人管理注册登录系统查询联系人信息添加联系人删除联系人信息添加联系人照片删除联系人照片注册新用户用户登录修改登录密码删除用户修改联系人资料通讯录系统-8-(2)程序主界面(3)分组功能实现添加分组过程界面-9-添加分组成功以及新添加分组在左侧联系人列表和分组下拉列表中的自动显示(4)显示头像及添加联系人到新建分组功能实现-10-(5)浏览图片功能实现(6)系统托盘功能实现电脑桌面右下角截图