仿QQ聊天系统的数据库设计与实现_ForStudent
仿QQ聊天系统的数据库设计与实现
假如你要构建《即时通讯系统》
阅读第4部分 设计你的即时通讯系统中类的关系和数据库
20140522
1 引言
  数据库课程设计是指对于一个给定的应用环境,构造设计优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足用户的应用需求。信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象要进行哪些操作,如查询、加入、删除、修改、统计等操作。数据库课程设计的目标是为了用户和各种应用系统提供一个信息基础设施和高效率的运行环境。高效率的运行环境包括:数据库的存取效率、数据库存储空间的利用率、数据库系统运行管理的效率都是高的。本次课程设计的目的是把所学的数据库的知识应用到实践中去。现今知识已越来越受到人们的重视,仿QQ聊天系统是参考腾讯公司发布的腾讯QQ,主要运用数据库知识和C#将其初步
实现[1]
夸女孩子漂亮的话1.1课题背景
现在的信息越来越发达,很多人都在使用QQ作为聊天工具,现根据腾讯公司的QQ聊天系统制造属于自己的聊天工具,表面上看上去是仿QQ聊天系统,其实等到时机成熟可以换成别的名字,相信在不远的将来在老师和同学们的帮助下,再借助互联网,我们一定可以打造出属于自己的聊天系统。当然系统存在着很多不足,需要老师的指点和帮助。
1.2系统需求分析
QQ聊天系统是大家广泛喜欢经常应用到CS应用程序软件[2],而现在仿QQ聊天系统开发工具,是本人对其程序的深感兴趣,不但可以了解从中的业务,而且还可以加强学习,以及对知识的回顾。同时也是尽快测试此聊天程序,以便和同学进行用自己的工具来交流聊天,由于好奇心促使和同学们一起来探讨此程序的开发,这样增强同学们之间的相互交流,相互学习。
该系统属于应用程序,需要对数据的处理,比如聊天信息要既是反馈给对方,故对数据的及时
更新要求较高,保证数据的真实性.该系统在任何操作系统下都可以运行,但必须装有SQL2000数据库。
2  关键技术简介
2.1 SQL Server2000
怎么修改默认浏览器教师节放假SQL Server 2000 是Microsoft 公司2000年推出的SQL Server 数据库管理系统的版本。它是一个杰出的数据库平台,可用于大型联机事务处理、数据仓库、以及电子商务等。特点: 真正的客户机/服务器体系结构, 图形化用户界面, 丰富的编程接口工具。 SQL Server与Windows NT完全集成, 具有很好的伸缩性,支持Web技术。 SQL Server提供数据仓库功能[3]
2.2  C#简介
C#是从CC++派生来的一种简单、现代、面向对象和类型安全的编程语言。C#是用于创建运行在.NET公共语言运行库上的应用程序的语言之一,它从C语言和C++语言演化而来,是Microsoft专门使用.NET平台而创建的,并且考虑了其他语言的许多有点。
由于语法简单,使用C#开发应用程序比C++程序相对简单。但是,C#也是一种强大的语言,在C++中能完成的任务在C#中同样也能完成。C#的代码要比C++略长些,这是因为C#是一种类型安全的语言(与C++不同),虽然C#的代码略长但其代码更健壮,调试也比较简单。
C#是唯一为.NET Framework而设计的语言,是移植到其他操作系统上的.NET版本中使用的主要语言,能使用.NET Framework代码库提供的每种功能。反之,如果要使用VB.NET等语言尽可能与其以前的语言类似,而且仍然遵循CLR,这些语言就不能完全支持.NET代码库的某些功能。C#可以创建Windows应用程序,Web应用程序,Web服务这几种常见的应用程序[4]。具体实现如下:
1:首先根据对其业务逻辑的分析极其全面整合,加之我们所熟悉的QQ聊天技术。第一应该做的是界面,界面的美化程度直接反映着用户对此软件喜欢程度,所以借助了互联网搜索了一些好看的图片;
2:对界面的设计,这里所用到的就是C#里布局控件,精心的布局,这一点众所周之C#里丰富的控件为我们提供了方便,这样做就可以尽可能的让用户用起来比较舒服;
3:各个窗体画好后,接下来自然就是业务逻辑层的代码书写了,由于学习不够精,所以在书写代码方便并没有用到三层技术,但是本人对该系统考虑的比较全面,一些错误和异常都可以将其打印出来
书写代码比较规范,不管从类的书写,还是一些命名都非常规范;
C#里提供丰富的控件库,本来就可以自动生成一些代码,对业务逻辑比较明朗,对方法和类之间的命名比较规范,书写代码自然比较快,出错率比较少;方法就是增删改查,
最后结合数据库技术完成业务逻辑。
3  数据库概念结构设计
3.1 构思E-R图原则
原则1:能独立存在的事物,例如人、物、事、活动、事项等等,在其有多个基本项描述的特性需要关注时,就应把它作为实体。
根据原则1,分析本系统中的实体主要有用户、星座、信息类型、聊天信息、好友策略、好
友和血型。
原则2:两个或多个实体间的关联与结合,如主管、从属、组成、占有、作用、配合、协同等等,当需要予以关注时,应作为联系。联系通常是某类行为动作,E-R图关注的是其状态与结果而非其过程。
根据原则2,对本系统间的实体之间的关联进行分析,用户与星座、血型、好友策略之间有组成与被组成的关系;在这里解释一下所谓的好友策略,我们在聊天时,别人可能会加我们为好友,我们可以不通过系统的提示,自动允许,这是一种策略。另外一种策略就是别人要加我们为好友时,先通过系统信息请求我们是否同意。此外,QQ消息和消息类型之间也有组成与被组成的关系。
原则3:实体的属性是实体的本质特征。实体应有标识属性,并指定其中一个作为主标识。联系的属性是联系的结果或状态。属性具有如下几个特点:非多值性、非复合性、非导出性。实体的属性还应有非关联性。
短发型根据原则3,分析本系统中的实体属性。QQ用户的属性包括QQ号(标识属性)、QQ密码、用
户昵称、用户真实姓名、性别和年龄等;星座的属性包括星座的编号(标识属性)和名称;血型的属性包括血型编号(标识属性)和名称;好友策略的属性包括策略编号(标识属性)和策略名称;消息类型包括消息类型编号(标识属性)和消息类型名称;QQ消息的属性包括消息记录编号(标识属性)、消息记录名称、消息接受状态和接发消息的时间
原则4:所有基本项在同一E-R图中作为属性要在仅在一个地方出现有什么好听的钢琴曲[5]
3.2设计E-R图
  溥仪为什么没有生育能力根据构思E-R图的原则联系本系统的需求分析,将数据库中所涉及的各个实体与它们各自的属性以及各个实体之间的关联用E-R图的形式表现出来,实体用方形表示,属性用椭圆表示,关联关系用没有箭头的直线连接,具体如下图3.1所示:
3.1  QQ系统E-R
3.3 E-R图向关系模型转换原则
  (1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是关系的候选码。如果与某一端实体对应的关系模式合并,则需要在改关系模式的属性中加入另一个关系模式的码和联系本身的属性。
  (2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
  (3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
  (4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一
部分。
  (5)具有相同码的关系模式可合并[6]
  根据这5项实体间的联系将上述E-R图转换为关系模型
QQ消息(消息记录编号、消息、消息接受状态、发消息时间)
此为消息实体对应的关系模式,该关系模式已包含了联系“组成”所对应的关系模式。
消息类型(消息类型编号、消息类型名称)
此为消息类型实体对应的关系模式,该关系模式已包含了联系“组成”所对应的关系模式。
用户(QQ、QQ密码、昵称、真实姓名、年龄、性别)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。