用python写1个简单的聊天服务器5-DB层处理
2013-06-28 18:12
127 查看
一直以来都很讨厌数据库,觉得数据库一直是我的噩梦。
最近开始考虑分层思想以后,了解ORM以后,觉得数据库其实没那么讨厌,没那么难。
于是开始设计字段。
用户
好友关系
离线聊天消息
离线添加好友请求
还有2张表就不发了。有了以上数据库搞定。
下面是ORM。
用到的是sqlalchemy。具体使用部分可以参考官方文档或这里
db设计好以后,就是db数据处理。为了保持业务的和DB层无关,所有关于DB的处理都存放到这里
设计1个DBEngine
最近开始考虑分层思想以后,了解ORM以后,觉得数据库其实没那么讨厌,没那么难。
于是开始设计字段。
用户
DROP TABLE IF EXISTS "user"; CREATE TABLE "user" ( "uid" integer NOT NULL, "username" text(32,0) NOT NULL, "password" text(32,0) NOT NULL, "sex" integer NOT NULL DEFAULT 0, "description" text(256,0), PRIMARY KEY("uid") );
好友关系
DROP TABLE IF EXISTS "relationship"; CREATE TABLE "relationship" ( "rid" integer NOT NULL, "user1id" integer NOT NULL, "user2id" integer NOT NULL, PRIMARY KEY("rid") );
离线聊天消息
CREATE TABLE "offlinemsg" ( "oid" integer NOT NULL, "fromuserid" integer, "touserid" integer NOT NULL, "msg" text(1024,0) NOT NULL, "last_date" date NOT NULL, PRIMARY KEY("oid") );
离线添加好友请求
DROP TABLE IF EXISTS "offlineaddfriend"; CREATE TABLE "offlineaddfriend" ( "aid" integer NOT NULL, "fromid" integer NOT NULL, "toid" integer NOT NULL, "msg" text(256,0) NOT NULL, "lastdate" date NOT NULL, PRIMARY KEY("aid") );
还有2张表就不发了。有了以上数据库搞定。
下面是ORM。
用到的是sqlalchemy。具体使用部分可以参考官方文档或这里
db设计好以后,就是db数据处理。为了保持业务的和DB层无关,所有关于DB的处理都存放到这里
设计1个DBEngine
相关文章推荐
- 用python写1个简单的聊天服务器3-目录结构
- 用python写1个简单的聊天服务器8-version0.1收尾工作
- 用python写1个简单的聊天服务器4-协议设计与处理
- 用python写1个简单的聊天服务器-项目启动原因
- 用python写1个简单的聊天服务器7-业务处理
- 用python写1个简单的聊天服务器2-项目需求与服务器框架
- 用python写1个简单的聊天服务器6-用户模型
- 用python写1个简单的聊天服务器3-TCP服务器选择
- 一个简单的判断远端服务器端口是否通的Python脚本
- python学习(1)--实现简单的服务器与客户端
- Golang实现简单tcp服务器03 -- 文本广播式聊天服务器/客户端
- python练习四—简单的聊天软件
- [python相关]用Python建立最简单的web服务器
- python运用jieba和wordcloud库简单实现对QQ聊天记录制作词云
- python搭建简单本地服务器
- 利用boost:asio写的简单聊天服务器一
- Python实现最简单的双人聊天程序
- Python基于Socket实现的简单聊天程序示例
- 用Python建立最简单的web服务器
- 用Python实现一个简单的多线程TCP服务器的教程