精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

MySQL以用戶為本 構建SNS網站的核心數據庫

數據庫 MySQL 數據庫運維
本文將為大家介紹的是如何用MySQL構建以用戶為核心的SNS網站,包括具體的數據庫設計以及對于cache的相關處理。

1 前言

最近項目開發過程中,遇到數據庫設計方面的問題,參考了多個數據庫,總結了一些相關的數據庫實體及關系的表示 3月份的時候也寫過一篇MySQL數據庫設計復習筆記及項目實戰 ,現在再次進行總結,并添加了在項目中的數據庫設計及具體的持久化及cache實現.

數據庫作為底層,命名規范和變動都會直接影響到上層,所以在設計上更需要謹慎.

本文從 數據庫實體及關系處理,數據持久化及緩存處理,這3個方面來進行闡述

先看下本次 我是買家 開源項目設計軟件 采用的是 MySQL Workbench

點擊查看詳細大圖

2 實體及關聯處理

篩選實體,從圖中我們可以看到,圖中主要分成了6個部分

實體表

goods 商品

communicate 群

say  我說

comment 評論

url  站點

brand 品牌

compaign 活動

用戶表user

關系表

userandmodel  用戶模型關系

modelandmodel 模型模型關系 aactionandmodel 頁面實體關系

tags  TAG實體關系

資源表

image 圖片

album 相冊

群組表

group 小組

topic  話題

post   回復

userandgroup  用戶群組關聯

 

 

站點常用表

systemtree 系統樹

content 內容

ad 廣告

report 舉報

district 地區

log 日志

services 客服人員

mail 站內信

 

以用戶為中心,user表放在中間,關聯其他的實體

實體表 可以進行擴展 添加相關的應用實體

關系表  主要包含4個表

用戶和模型關聯表 比如: 張三 喜歡 IPOD   李四 想買 IPOD linktype="like/buy"  

模型模型關聯表  比如商品評論關聯 modela 商品 modelb 評論  

actionandmodel 頁面模型關聯表  tag關鍵字及實體關聯表

資源表  主要包含了 image ablum  image表包含了系統實體類關聯的圖片

群組表  包含了group,topic,post userandgroup ,群組作為系統獨立模塊獨立出來

常用表  常有表從實體表中分離出來,放站點需要的表

#p#

3 數據持久化及緩存處理

數據持久化

THINKPHP處理數據機制簡單的說,直接實例化model類得到model示例即可進行數據庫語句的相關操作,如下圖所示

數據持久化

 點擊這里查看大圖

DbMysql 繼承自Db,  AdvModel,ViewModel,RelationModel繼承自Model類,Model類調用DB類進行具體的數據庫操作

比如查詢所有用戶操作

  1. $user = newModel('User');    
  2. $result =$user->select();    
  3. var_dump($result);//輸出所有的用戶  

比如添加用戶操作

  1. //接收POST過來的表單數據,創建數據    
  2. if($user->create())    
  3. {    
  4.   if($user->add())    
  5.    {    
  6.      echo '添加成功';    
  7.  
  8.     }    
  9. }  

對于數據單表操作,使用ThinkPHP框架的Model進行處理相對比較簡單.對于關聯查詢,可以使用TP的RelationModel 也可以自己在自定義模型中定義,比如查詢用戶及頭像信息,這里自定義了Model UserModel.class.php

  1. <?php    
  2. //+----------------------------------------------------------------------    
  3. // | WoShiMaiJia Projcet    
  4. // +----------------------------------------------------------------------    
  5. // | Copyright (c) 2010 http://woshimaijia.com All rights reserved.    
  6. //+----------------------------------------------------------------------    
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )    
  8. //+----------------------------------------------------------------------    
  9. // | Author: xinqiyang <517577550@qq.com>    
  10. //+----------------------------------------------------------------------    
  11. /**    
  12.  * 用戶模型文件    
  13.  * @author xinqiyang    
  14.  * @date   2010-4-9    
  15.  *    
  16.  */   
  17. class UserModel extends MetaModel {    
  18.    // 自動驗證設置    
  19.    protected $_validate     =     array(    
  20.    array('email','email','郵箱沒填或格式不正確',1,'',1),    
  21.    array('email','','郵箱已被使用',1,'unique',1),    
  22.    array('password','require','密碼必須輸入',0,'',1),    
  23.    array('enname','charecter','英文名只能由數字,字母,下劃線組成',1,'',1),    
  24.    array('enname','','名稱已被使用',1,'unique',1),    
  25.    array ('birthday','date','生日必須輸入格式如 1980-01-01',2,'',2),    
  26.    array ('qq','qq','QQ號不能為空或者 位數不正確',2,'',2),    
  27.    array ('mobile','mobile','手機不能為空,或格式不正確',2,'',2),    
  28.    );    
  29.    // 自動填充設置    
  30.    protected $_auto     =     array(    
  31.    array('image_id','1'),//設置默認頭像,使得評論可以成功    
  32.    array('password','md5',1,'function'),    
  33.    array('createtime','time',1,'function'),    
  34.    array('registerip','get_client_ip',1,'function'),    
  35.    array ('lastloginip','get_client_ip',2,'function'),    
  36.    array ('lastlogintime','time',2,'function'),    
  37.    );    
  38.    /**    
  39.     * 返回用戶信息    
  40.     * @param $arr    
  41.     */   
  42.    function getUsers($arr)    
  43.    {    
  44.      return $this->query("selectsz_user.id,sz_user.cnname,sz_user.city,
  45. sz_user.gogonum,sz_user.shownum,sz_image.filename,sz_image.url,sz_image.model  
  1. from sz_user,sz_image    
  2. view sourceprint?   
  3. where sz_image.id = sz_user.image_id and sz_user.id in".$arr);    
  4.    }    
  5.    function getUserTotal()    
  6.    {    
  7.      $total =$this->query("    
  8.      select count(*) fromsz_user;    
  9.      ");    
  10.      return $total[0]['count(*)'];    
  11.    }    
  12. }    
  13. ?>  

這里的返回用戶信息,執行了一條SQL查詢,對多表進行關聯查詢,返回用戶的信息數據集,操作也比較方便

調用如下

  1. $u = newModel('user');    
  2. $lst =$u->getUsers($ids); //帶入需要調用的ID  

本類沒有使用到緩存,以下以Memcache緩存的使用為例來講解項目中的應用

先看下cache的類圖

cache類圖

具體cache實現類繼承自cache類

使用如下

自定義model類  DistrictModel 繼承自 MetaModel , MetaModel繼承自Model , 在MetaModel類中實現緩存調用

  1. <?php    
  2. //+----------------------------------------------------------------------    
  3. // | WoShiMaiJia Projcet    
  4. // +----------------------------------------------------------------------    
  5. // | Copyright (c) 2010 http://woshimaijia.com All rights reserved.    
  6. //+----------------------------------------------------------------------    
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )    
  8. //+----------------------------------------------------------------------    
  9. // | Author: xinqiyang <517577550@qq.com>    
  10. //+----------------------------------------------------------------------    
  11. /**    
  12.  * 元數據基類    
  13.  * 提供了緩存操作功能及基本的CRUD操作功能    
  14.  * @author xinqiyang    
  15.  *    
  16.  */   
  17. class MetaModel extends Model    
  18. {    
  19.    //緩存實例    
  20.    protected $cache;    
  21.    /**    
  22.     * 返回一個緩存操作實例    
  23.     */   
  24.    function _initialize()    
  25.    {    
  26.      //如果未設置則設置緩存實例    
  27.      if(!isset($this->cache))    
  28.      {    
  29.         $this->cache= Cache::getInstance('Memcache');    
  30.      }    
  31.    }    
  32.    /**    
  33.     * 刪除緩存    
  34.     * @param$cachename 緩存名稱    
  35.     */   
  36.    protected function rm($cachename)    
  37.    {    
  38.      $this->cache->rm($cachename);    
  39.    }    
  40. }    
  41. ?>  

這里以城市表信息的memcache緩存為例來實現緩存的獲取及調用

  1. <?php    
  2. class DistrictModel extends MetaModel    
  3. {    
  4.    /**    
  5.     * 獲取省市區    
  6.     * TODO:現在先用文件緩存,部署memcache后用 內存緩存就好了    
  7.     */   
  8.    public function getDistrict()    
  9.    {    
  10.      //獲得數據    
  11.      if(!$this->cache->get('district'))    
  12.      {    
  13.          //寫入cache,5000多條的時候就掛掉了,數據不能超過1M    
  14. $this->cache->set('district',$this->where('level=2 or id in (1,2,9,22)')- >select(),0,-1);    
  15.      }    
  16.      return $this->cache->get('district');    
  17.     }    
  18. }    
  19. ?>  

調用過程,在調用過程中,先創建cache實例,在進行調用,緩存數據,如果緩存數據則直接讀取數據

4 結語

本文主要是從大家設計過程中常見的問題進行討論,對于數據庫設計方面還存在很多的不足,大家是否在項目中也是自己設計的呢?

原文標題:以用戶為中心的SNS站點數據庫設計及實現

鏈接:http://www.cnblogs.com/scotoma/archive/2010/08/08/1794964.html

【編輯推薦】

  1. SNS網站數據庫技術分析
  2. MySQL 修改密碼的6個好用方案
  3. MySQL數據庫訪問妙招在Linux之下
  4. 從MySQL數據庫表中來檢索數據并不難
  5. 圖解MySQL數據庫安裝與實際操作

 

責任編輯:彭凡 來源: 博客園
相關推薦

2010-07-23 13:39:19

SNS網站

2012-12-04 17:50:23

2010-08-13 09:58:15

Gooele

2012-04-29 10:56:34

APP

2015-09-09 14:18:54

高端存儲稅務信息化構建華為

2022-06-20 09:17:02

數據查詢請求數據庫

2014-11-14 11:06:17

醫療華為

2021-03-24 14:13:51

數據分析架構大數據

2011-08-04 09:57:03

dbmonsterMySQL

2011-05-11 17:24:27

浪潮八路遵義銀行

2016-06-27 14:01:15

存儲初志科技

2015-10-23 17:05:07

響巢看看創星空間

2010-04-23 17:55:25

Oracle數據庫

2012-08-10 09:44:06

2021-12-13 22:59:23

MySQL數據庫SQL

2015-11-02 15:46:26

云夢

2017-05-04 11:01:16

諸葛io數據分析

2018-03-08 18:00:21

數據庫MySQL數據庫軍規

2020-09-14 13:59:24

數據

2023-11-13 16:58:40

數據庫系統
點贊
收藏

51CTO技術棧公眾號

182在线视频观看| 高清一区二区三区四区| 天堂美国久久| 日韩精品专区在线影院观看| 国产乱子伦农村叉叉叉| 91视频在线观看| 成人综合婷婷国产精品久久免费| 欧美在线视频免费播放| 任我爽在线视频| 亚洲人成网亚洲欧洲无码| 欧美日韩在线三区| 国产成人一区二区三区别| 精品乱码一区二区三四区视频 | 中文在线一区二区 | www.日日夜夜| 日日摸夜夜添夜夜添国产精品 | 亚洲高清123| 俄罗斯嫩小性bbwbbw| 久久国产精品区| 欧美性一区二区三区| 北条麻妃在线观看视频| 色综合综合色| 精品国产乱子伦一区| 911福利视频| 亚洲性色av| 亚洲国产美国国产综合一区二区| 先锋影音一区二区三区| 天堂成人在线视频| 粉嫩av一区二区三区粉嫩 | av不卡一区| 欧美丰满嫩嫩电影| 国产超碰在线播放| 永久免费毛片在线播放| 亚洲丰满少妇videoshd| 国产高潮呻吟久久久| 国产福利在线观看| 久久久久久久电影| 久久99精品久久久久久秒播放器| 亚洲国产精品二区| 狠狠色2019综合网| 91久久国产精品91久久性色| 国产精华7777777| 久久国产88| 日本欧美黄网站| 在线观看国产亚洲| 在线视频免费在线观看一区二区| 欧美精品成人在线| 久久高清无码视频| 国语自产精品视频在线看8查询8| 久久久精品久久久久| 999精品久久久| 99久久99久久精品国产片果冰| 在线观看国产欧美| 影音先锋男人在线| 色天天久久综合婷婷女18| 欲色天天网综合久久| xxxxx99| 日韩久久电影| 久久精品一本久久99精品| 永久免费未视频| 久久久久久久久久久妇女 | 国产精品电影| 欧美日韩国产色| 北条麻妃69av| 亚洲第一二三四区| 欧美日韩黄色影视| 亚洲午夜激情影院| 一区二区网站| 亚洲精品理论电影| 久久久视频6r| 91视频综合| 人妻无码中文字幕| 欧美激情偷拍自拍| 久久久精品日本| 91日韩中文字幕| 欧美黄色大片网站| 97色在线播放视频| 精产国品一区二区| 精品一区二区三区不卡 | 一区二区小视频| 精品制服美女久久| 精品欧美一区二区三区久久久 | 久久久蜜臀国产一区二区| 午夜视频久久久| 久草免费在线色站| 色婷婷一区二区三区四区| 亚洲 欧美 另类人妖| 久久99精品久久久野外观看| 亚洲精品久久久久久久久久久久久| 亚洲av综合一区二区| 一区二区中文字| 欧美一级电影久久| 国产精品女人久久久| 99久久免费视频.com| 制服丝袜综合日韩欧美| 国产精品一区hongkong| 91电影在线观看| 1314成人网| 国产99久久| 久久99久久99精品免观看粉嫩| 午夜影院在线看| 久久99国产精品久久99果冻传媒| 精品免费日产一区一区三区免费| 91大神xh98hx在线播放| 亚洲成人一区在线| 亚洲最大天堂网| 亚洲视频分类| 欧美极品少妇xxxxⅹ裸体艺术| 国产一区二区视频网站| 成人免费av资源| 免费看啪啪网站| 黄色亚洲网站| 亚洲国产中文字幕久久网| 国产白丝一区二区三区| 中文欧美日韩| av免费精品一区二区三区| 黄色电影免费在线看| 亚洲动漫第一页| 天天操夜夜操很很操| 狠狠综合久久av一区二区蜜桃| 色综合久久中文字幕综合网小说| 中文字幕av片| 久久亚洲一区二区三区明星换脸| av一区二区三区免费观看| 99国内精品久久久久| 一本色道久久综合亚洲精品小说| 日本在线观看中文字幕| 国产传媒欧美日韩成人| 伊人情人网综合| 成人国产精品入口免费视频| 精品网站999www| 日本在线观看中文字幕| 成人永久aaa| www.日本三级| 日韩欧美高清一区二区三区| 久久精品亚洲94久久精品| 中文字幕欧美人妻精品| 久久精品人人做人人爽97| 欧美日韩在线中文| 任你弄精品视频免费观看| 国外成人在线直播| 国产成人无码www免费视频播放| 中文字幕一区二区三中文字幕 | 国产.欧美.日韩| 亚洲小视频在线播放| 亚洲三级电影| 久久亚洲精品国产亚洲老地址| 伊人亚洲综合网| 国产精品欧美极品| 九色porny自拍| 欧美一区电影| 成人欧美一区二区三区在线| 日本精品在线| 日韩亚洲欧美在线| 久久久国产成人| 99久久婷婷国产综合精品电影| 成人一对一视频| 欧美激情极品| 国产精品福利在线观看网址| 川上优的av在线一区二区| 欧美视频三区在线播放| 美女三级黄色片| 国产精品一区一区三区| 男人天堂手机在线视频| 牛牛影视久久网| 国产精品444| 国产黄色在线网站| 亚洲成人激情在线| 国产精品suv一区| 国产精品视频一区二区三区不卡| av中文字幕网址| 亚洲私拍自拍| 欧美日韩在线精品| 午夜精品久久久久久毛片| 欧美另类交人妖| 天天在线女人的天堂视频| 欧美在线影院一区二区| 欧美成人国产精品高潮| 91一区在线观看| 国产精品区在线| 亚洲性图久久| 亚洲精品中文综合第一页| 欧美第一在线视频| 欧美性视频网站| 成年人网站在线| 亚洲精品日韩在线| 91麻豆成人精品国产| 亚洲成人午夜电影| 久久久久久成人网| 成人午夜精品一区二区三区| 99草草国产熟女视频在线| 亚洲精品99| 欧美黄色直播| 91成人精品在线| 国产精品日韩在线播放| 搞黄网站在线看| 最近中文字幕2019免费| 天天干天天草天天射| 欧美精品粉嫩高潮一区二区| 日韩精品久久久久久久| 中文字幕一区二区在线播放| 成人手机在线免费视频| 国产一区二区0| 欧美三级午夜理伦三级| 午夜久久黄色| 亚洲综合五月天| 校园春色另类视频| 99视频网站| 久久69成人| 日本中文字幕久久看| 日日夜夜天天综合入口| 色妞欧美日韩在线| 牛牛热在线视频| 亚洲精品一区二区三区四区高清| 国产尤物视频在线观看| 色婷婷av一区二区三区大白胸| 久久黄色小视频| 中文字幕五月欧美| 人人妻人人澡人人爽| 99久久久免费精品国产一区二区| 亚欧精品在线视频| 另类小说视频一区二区| 久久美女福利视频| 亚洲黄色免费| 国产aaa免费视频| 欧美在线资源| 精品国产无码在线| 97视频热人人精品免费| 亚洲国产日韩美| 精品日韩免费| 日产精品高清视频免费| 米奇777超碰欧美日韩亚洲| 国产欧美一区二区视频| 999久久精品| 99精品国产一区二区| 免费精品一区二区三区在线观看| 国产精品永久免费视频| 福利一区二区| 国产美女被下药99| 日本一区二区三区中文字幕 | 久草视频在线免费| 日韩欧美中文免费| 中文字幕国产在线观看| 欧美日韩亚洲国产一区| av大全在线观看| 欧美性生交xxxxx久久久| 六月丁香婷婷综合| 色婷婷亚洲综合| 国产乱码77777777| 欧美日韩中文另类| 国产又黄又大又爽| 欧美一区二区三区四区高清| 国产乱子伦精品无码码专区| 91精品国产免费| 精品人妻一区二区三区换脸明星 | 免费黄色在线播放| 成人毛片在线观看| 美女又爽又黄视频毛茸茸| 91网站最新网址| 无码一区二区三区在线| 中文在线一区二区| 男女羞羞免费视频| 午夜精品福利久久久| 欧美一级片免费在线观看| 色www精品视频在线观看| 姑娘第5集在线观看免费好剧| 欧美日韩国产影片| 国产不卡av在线播放| 精品对白一区国产伦| 亚州av在线播放| 国产午夜精品免费一区二区三区 | 污视频软件在线观看| 亚洲九九九在线观看| 91社区在线观看| 欧美成人精品xxx| 国模精品视频| 国产精品极品美女在线观看免费| 高清久久一区| 国产福利久久| 精品国产一区二区三区久久久蜜臀| 亚洲一区三区电影在线观看| 激情欧美国产欧美| 久久久久久三级| 国产成人av福利| a级片在线观看| 一区二区激情视频| 欧美a视频在线观看| 欧美一级在线观看| 蜜桃视频在线免费| 久久99视频免费| 欧美aaa视频| 成人精品水蜜桃| 国产欧美日韩精品一区二区三区| 欧美少妇一级片| 日韩综合一区二区| 中文字幕天堂网| 1区2区3区欧美| 成人免费毛片男人用品| 日韩免费看网站| 337p日本欧洲亚洲大胆鲁鲁| 国内久久久精品| 91麻豆精品| 欧美一级爱爱| 亚洲精选91| 樱花草www在线| 国产欧美一区二区精品性| 国产精品不卡av| 91麻豆精品国产自产在线| 国产小视频在线观看| 国内精品免费午夜毛片| 伊人久久大香伊蕉在人线观看热v 伊人久久大香线蕉综合影院首页 伊人久久大香 | a√资源在线| 日本在线观看天堂男亚洲| 粉嫩精品导航导航| 最新av在线免费观看| 日韩电影免费在线| 波多野结衣 在线| 亚洲电影一级黄| 国产黄色大片网站| 北条麻妃99精品青青久久| a成人v在线| 日本成人三级电影网站| 中文亚洲欧美| 精品中文字幕在线播放| 亚洲国产欧美在线人成| 精品人妻一区二区三区麻豆91| 日韩在线www| 色综合视频一区二区三区日韩| 四虎影院一区二区三区 | 国产成人精品在线观看| 好吊妞国产欧美日韩免费观看网站 | 国产成人精品a视频一区www| 网曝91综合精品门事件在线| 国产日韩av网站| www.av亚洲| 日本在线视频免费观看| 亚洲精品国产拍免费91在线| av在线不卡免费| 精品国产中文字幕| 一本色道久久综合亚洲精品不卡| 女同性αv亚洲女同志| 一区二区成人在线观看| 亚洲不卡免费视频| 久久99久久久久久久噜噜| 1204国产成人精品视频| 久久男人资源站| 成人精品视频一区二区三区尤物| 精国产品一区二区三区a片| 欧美一三区三区四区免费在线看| 成人三级网址| 成人av影视在线| 国产精品视频| www亚洲色图| 欧美嫩在线观看| 四虎影视成人| 国产一区二区精品在线| 欧美亚洲专区| 国产7777777| 91精品免费在线| 大香伊人久久| 蜜桃视频日韩| 免费高清在线视频一区·| 国产精品白丝喷水在线观看| 欧美大胆一级视频| 在线看片福利| 亚洲精品一卡二卡三卡四卡| 寂寞少妇一区二区三区| 国产一级视频在线| 精品在线观看国产| 久久久久久久性潮| 美女av免费观看| 久久久三级国产网站| 国产精品欧美亚洲| 国产69精品久久久| 国产免费久久| 黑人巨大猛交丰满少妇| 婷婷中文字幕综合| 日本在线免费中文字幕| 国产成人精品一区二区三区福利 | 欧美军人男男激情gay| 久久精品一卡二卡| 精品福利在线观看| 久久五月精品| 久久久久成人精品免费播放动漫| 免费高清不卡av| 色婷婷av国产精品| www.xxxx精品| 亚洲涩涩av| 中文字幕av一区二区三区人妻少妇| 欧美日韩中文字幕| 美女羞羞视频在线观看| 久久久久久久久一区二区| 精品一区二区三区的国产在线播放| 日本五十路女优| 久久精品国产一区二区三区| 日韩大片在线免费观看| 激情黄色小视频| 色狠狠色噜噜噜综合网| 女人天堂av在线播放| 亚洲一区尤物|