为实现区分,通常需要为表加上一个列,用来储存各个实例的唯一标识。
3、第三范式(3NF)要求数据库表中不包含已在其他表中已包含的非主关键字信息。
二、具体步骤
1、数据库需求分析
数据库在一个项目编写过程中起着非常重要的作用。数据库需求分析的步骤分为:调查机构情况、熟悉业务活动、明确用户需求、去顶系统边界、分析系统功能、分析系统数据和编写分析报告,其中与用户不断深入地进行交流,获得用户的实际需求是数据库设计中一个很重要的步骤。
2、数据字典
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。对于该系统,对应相应的功能,就可得出数据字典的主要部分。该系统的主要数据结构如表3.2。
表3.2 数据结构表 数据结构名 用户 含义说明 包含用户基本信息 组成部分 用户名、密码等 3、数据库概念结构设计
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构设计是整个数据库设计的关键。概念结构是各种数据模型的共同基础。描述概念模型的有力工具是实体-联系图(E-R图)。
对于该聊天系统,由于对功能的要求不太复杂,所以其概念设计采用自顶向下地进行需求分析,和自底向上地设计概念结构。
该系统的实体有一个,即用户实体,其中实体图如下:
用户名密码用户 图3.3 用户实体图
17
在该系统中,由于一个用户可以与多个在线用户进行交流,所以用户与用户之间的关系是多对多的关系,即m对n的联系,所以该网络系统的E-R图如下:
用户名密码用户名密码用户
m交流n用户 图3.4 系统的E-R图
4.、数据库逻辑结构设计
数据库概念设计所得的E-R模型是对用户需求的抽象表达方式,它独立于任何一种具体的数据模型,所以它不能为任何一个具体的DBMS支持。为了能够建立起最终的物理系统,需要将概念结构进一步转化为某一DBMS支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑设计所要完成的任务。
对于该系统,可以将逻辑概念结构转换为一般的关系模型。该系统所涉及到的数据表有一张,用来存放用户信息。
表3.5userinfo(用户表)对应的实体是用户,用来存放用户信息,用户信息包括用户名和用户密码。
表3.5 userinfo
列名 username passwd
数据类型 varchar varchar 是否为空 否 否 备注 用户名 用户密码 本章小结
本章主要介绍了网络聊天系统的模块包括服务器模块和客户端模块,客户端模块主要包括注册、登录、聊天和文件传输四个模块。在模块设计中这些模块进
18
行了具体介绍。还介绍了系统的数据库设计原则和步骤。
19
第四章 系统实现
第一节 数据库模块实现
一、数据流图
在对用户需求分析完成后,可以用数据流图用来描述数据在系统中流动和变换的过程,表达数据与处理过程中的关系。该系统的主要功能是用户登陆后与其他在线用户进行聊天,所以该系统的初步数据流图如下:
登录请求用户A注册信息注册登录发送信息聊天用户B 图4.1初步数据流图
用户A与用户B进行通信,若A没有用户名没有注册,则首先用户A先填写注册信息,然后点击注册,服务器返回注册成功信息。A点击登录,客户端向服务器发出登录请求,服务器处理请求之后,返回信息。用户A进入到聊天界面,在信息输入框中填写信息,选择用户B,点击发送信息,信息就可以发给用户B。
二、数据库的连接
用户在进行注册、登录时,服务器将与数据库建立连接。启动服务器后,服务器开放端口9999,接收客户端发来的信息。Java用Class.forName()方法来加载驱动,在MysqlDriver.java的getCon()方法中创建数据库的连接,同时返回该
20
连接。其主要代码如下:
try { } try {
Class.forName(\加载JDBC驱动 System.out.println(\加载驱动异常!。。。\e.printStackTrace();
} catch (ClassNotFoundException e) {
con=DriverManager.getConnection(\
} catch (SQLException e) { }
return con;
数据库加载成功后,用DriverManager的getConnection()方法实现数据库连
System.out.println(\获得连接异常!。。。\e.printStackTrace();
password=123456\连接数据库
接。
第二节 注册模块实现
一、功能描述
用户启动客户端以后,就会出现一个注册窗口,若用户是第一次使用本系统,则需要注册一个账号。用户填写信息以后,客户端向服务器发送用户注册的基本信息,服务器接收到用户信息以后,进行用户名匹配,若没有匹配到相同的用户名,服务器就将该用户的基本信息存储在数据库中,同时返回注册成功信息。该系统的注册流程如图4.2。
21
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Socket网络聊天系统的设计与实现(5)在线全文阅读。
相关推荐: