项目实战TT(一) 数据库篇
2012-02-22 20:36
302 查看
今天,终于完成了TTv0.1,虽然大部分的代码都是copy其他人的,但是在调试程序的过程中,真的学到了很多东西,下面就这个项目说一下自己的见解吧。首先,我觉得做项目前,一定要想好,你这个项目到底最后要完成啥样的功能,也就是说,你的项目分析一定要做好,我觉着,主要涉及的是就是数据库的设计,因为,你软件的功能决定了数据库的设计,下面我就TTv0.1中使用的数据做一些说明。
<Entity title="用户表" name="User" module="MyQQ">
<Item title="昵称" name="U_NickName" type="text"/>
<Item title="密码" name="U_PassWord" type="text"/>
<Item title="用户状态" name="U_State" type="text"/>
<Item title="IP地址" name="IP" type="text"/>
<Item title="Port端口" name="Port" type="text"/>
</Entity>
<Entity title="好友表" name="Friends" module="MyQQ">
<Item title="朋友ID" name="F_Firend" type="entity" entityName="User"/>
<Item title="自己的ID" name="F_User" type="entity" entityName="User"/>
</Entity>
<Entity title="聊天记录" name="Messages" module="MyQQ">
<Item title="消息内容" name="M_PostMessages" type="text"/>
<Item title="发送时间" name="M_Time" type="datetime"/>
<Item title="消息类型" name="M_MessageType" type="text" />
<Item title="发送者ID" name="M_FromUser" type="entity" entityName="User"/>
<Item title="接受者ID" name="M_ToUser" type="entity" entityName="User"/>
</Entity>
这里是用XML格式设计的数据库,所有我就直接拿来用了,还有,这样小项目,用的时我们实验室师兄设计的框架,主要的是数据库设计方面。
数据库设计很简单,因为,一开始,我想完成的仅仅是聊天功能,所以,有上面三个表格就可以了,第一个是用户表,这个是必须,对于这个表,我要说一下,在coding的过程中,我对这个表进行了修改,加入了IP地址和Port端口这两项,因为通信的方便。对于下面的这两个表就比较简单了,都是常见的,没有必须特殊的说明。其实,在设计时,没有真正用到第三个表,这里只是用来存放了如果你的好友没有在线,会把你发的消息存到数据库中,但是,当你的好友上线时,也没有用到这些消息,也就是说我们只是完成了好像必须在线的聊天,没有完成如果好友不在线,那么这部分消息相当于不见了。
<Entity title="用户表" name="User" module="MyQQ">
<Item title="昵称" name="U_NickName" type="text"/>
<Item title="密码" name="U_PassWord" type="text"/>
<Item title="用户状态" name="U_State" type="text"/>
<Item title="IP地址" name="IP" type="text"/>
<Item title="Port端口" name="Port" type="text"/>
</Entity>
<Entity title="好友表" name="Friends" module="MyQQ">
<Item title="朋友ID" name="F_Firend" type="entity" entityName="User"/>
<Item title="自己的ID" name="F_User" type="entity" entityName="User"/>
</Entity>
<Entity title="聊天记录" name="Messages" module="MyQQ">
<Item title="消息内容" name="M_PostMessages" type="text"/>
<Item title="发送时间" name="M_Time" type="datetime"/>
<Item title="消息类型" name="M_MessageType" type="text" />
<Item title="发送者ID" name="M_FromUser" type="entity" entityName="User"/>
<Item title="接受者ID" name="M_ToUser" type="entity" entityName="User"/>
</Entity>
这里是用XML格式设计的数据库,所有我就直接拿来用了,还有,这样小项目,用的时我们实验室师兄设计的框架,主要的是数据库设计方面。
数据库设计很简单,因为,一开始,我想完成的仅仅是聊天功能,所以,有上面三个表格就可以了,第一个是用户表,这个是必须,对于这个表,我要说一下,在coding的过程中,我对这个表进行了修改,加入了IP地址和Port端口这两项,因为通信的方便。对于下面的这两个表就比较简单了,都是常见的,没有必须特殊的说明。其实,在设计时,没有真正用到第三个表,这里只是用来存放了如果你的好友没有在线,会把你发的消息存到数据库中,但是,当你的好友上线时,也没有用到这些消息,也就是说我们只是完成了好像必须在线的聊天,没有完成如果好友不在线,那么这部分消息相当于不见了。
相关文章推荐
- App项目实战之路(六):数据库篇
- 浅谈ODS与DW的区别-数据项目实战总结
- 项目实战之中小网站数据缓存的设计与实现
- 数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战
- 【Rsync项目实战】备份全网服务器数据
- 大数据Spark“蘑菇云”行动第53课: Spark大型项目广告点击项目技术骨架实现之Spark+Kafka+Flume实战 项目!!!大项目!!!超大型大数据项目!!!
- hadoop项目实战--ETL--(二)实现自动向mysql中添加数据
- 【springmvc+mybatis项目实战】杰信商贸-28.POI百万数据打印
- 项目开发实战 jQuery+php+mysql实现数据上传功能
- 项目实战①—高仿知乎日报(0)-->NDK将私密数据隐藏起来
- ACCP4.0 [项目实战1]数据加密
- 项目实战:APP登入后,数据的持久化储存
- 项目开发实战 jQuery+php+mysql实现数据上传功能
- Spark 2.0大型项目实战:移动电商app交互式数据分析平台(大数据高端课程) 下载
- 学会数据分析还得看这4个实战项目!
- Spark大型项目实战:电商用户行为分析大数据平台
- 猫猫学iOS 之微博项目实战(8)用AFNetworking和SDWebImage简单加载微博数据
- 【备忘】 传智播客云计算大数据Hadoop2014全套高清入门基础到项目实战
- 大数据Spark “蘑菇云”行动第71课: 基于Spark 2.0.1项目开发分析与实战
- EXTJS4.x之实战项目(4)填充ArticleGridPanel的数据