精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

在线能看的av| 亚洲成人av免费在线观看| 麻豆视频网站在线观看| 国产成人午夜高潮毛片| 8x拔播拔播x8国产精品| 日韩一级片在线免费观看| 高清一区二区| 欧美日韩亚洲一区二区| 在线播放 亚洲| 污污网站在线免费观看| 久久精品国产亚洲一区二区三区| 久久久久国产精品免费网站| www亚洲色图| 91精品啪在线观看国产爱臀| 欧美亚洲高清一区| 搞av.com| 巨大荫蒂视频欧美另类大| 97久久超碰国产精品| 成人av在线亚洲| 精品美女久久久久| 中国成人一区| 色777狠狠综合秋免鲁丝| 中文字幕第3页| 精品视频一区二区三区| 色综合视频在线观看| 17c丨国产丨精品视频| 夜级特黄日本大片_在线 | 中国极品少妇xxxx| 亚洲一区有码| 91福利视频网站| 国产美女网站在线观看| 影音先锋男人在线资源| 中文字幕在线播放不卡一区| 日本一区网站| 天堂av电影在线观看| 丰满岳乱妇一区二区三区| 国产精品午夜一区二区欲梦| 黄色一级片免费在线观看| 红桃视频欧美| 九九热在线精品视频| 蜜桃av免费观看| 欧美亚洲精品在线| 国产小视频91| 久久国产柳州莫菁门| 蜜桃成人av| 精品一区二区电影| 激情综合丁香五月| 久久精品色综合| 亚洲电影免费观看| 亚洲熟女一区二区| 久久久久久久久免费看无码| 国产尤物在线视频| 亚洲区综合中文字幕日日| 中文在线不卡视频| 欧美午夜激情影院| 欧美理论视频| 色系列之999| 色www亚洲国产阿娇yao| 欧美色蜜桃97| 爽爽爽在线观看| 草碰在线视频| 久久九九久久九九| 欧美日本国产精品| 日本大臀精品| 国产网站一区二区| 日本中文不卡| 91精彩视频在线播放| 国产日韩欧美精品在线| 色综合久久久久久久久五月| 福利在线午夜| 国产精品家庭影院| 亚洲精品天堂成人片av在线播放 | 亚洲欧美日韩精品久久亚洲区 | 国产精品电影一区二区| 国产精品av免费| 欧美日韩经典丝袜| 欧美色播在线播放| 黑森林精品导航| www久久久| 精品日韩欧美一区二区| 日本xxx在线播放| 激情五月综合| 不用播放器成人网| 日韩av男人天堂| 三级欧美在线一区| 成人精品在线观看| 色呦呦视频在线| 国产亚洲欧洲997久久综合| 亚洲一区3d动漫同人无遮挡 | 日韩欧美一区二区在线| 性chinese极品按摩| 亚洲精品a区| 亚洲免费av网址| 一级黄色片日本| 欧美久久影院| 国产98色在线| 精品国自产拍在线观看| 久久久久久久国产精品影院| 中文字幕在线亚洲精品| av有码在线观看| 欧美亚洲一区三区| yjizz视频| blacked蜜桃精品一区| 久久97精品久久久久久久不卡| 欧美特黄aaaaaa| 国产在线不卡视频| 日本一区二区久久精品| 在线中文字幕-区二区三区四区| 欧美日韩一区二区免费视频| 日韩va在线观看| 综合国产视频| 欧美日本中文字幕| 中文字幕永久免费视频| 成人av先锋影音| 中文字幕精品—区二区日日骚| 麻豆网站免费在线观看| 在线播放视频一区| 成人无码av片在线观看| 日韩亚洲国产精品| 亚洲japanese制服美女| 国产福利片在线| 精品久久久久久久久中文字幕| 亚洲天堂一区二区在线观看| 国产一区二区三区四区二区| 韩国三级电影久久久久久| 国产精品呻吟久久| 中文字幕 久热精品 视频在线| 国产黄视频在线| 成人在线视频观看| 日韩激情视频在线| 亚洲国产精一区二区三区性色| 国内一区二区视频| 日本在线成人一区二区| 日本在线影院| 亚洲激情小视频| 精品视频久久久久| 国产不卡免费视频| 国产经典久久久| 视频欧美精品| 上原亚衣av一区二区三区| 日日夜夜狠狠操| 久久久久久久久久久电影| 欧美日韩国产精品激情在线播放| 精品女人视频| 高清在线视频日韩欧美| 韩国av在线免费观看| 一区二区成人在线视频| 性一交一黄一片| 色琪琪久久se色| 91精品久久久久久久| 尤物网在线观看| 51久久夜色精品国产麻豆| 五月婷婷综合在线观看| 美女尤物久久精品| 久久久久久久久一区二区| 日韩av影片| 亚洲人成亚洲人成在线观看| 91青青草视频| 欧美激情在线一区二区| www.夜夜爽| 欧美成人激情| 97人人干人人| 多野结衣av一区| 亚洲码在线观看| 日韩国产亚洲欧美| 中文字幕一区二区日韩精品绯色| 色天使在线观看| 偷偷www综合久久久久久久| 92国产精品久久久久首页 | 亚洲成人1区2区| 日韩片在线观看| 奇米一区二区三区| 国产91av视频在线观看| 一区二区在线视频观看| 97超级碰碰碰久久久| 黄色小视频在线免费观看| 欧美欧美欧美欧美| 久久久久黄色片| 久久精品一区二区| 亚洲怡红院在线| 伊人久久大香线蕉av超碰演员| 国产亚洲一区在线播放| 三级成人在线| 九九精品在线播放| 天天影院图片亚洲| 欧美日韩高清影院| 日韩成人在线免费视频| 久久久久一区二区三区四区| 亚洲欧美偷拍另类| 狠色狠色综合久久| 欧美一区1区三区3区公司| 国产精品一站二站| 欧美在线观看日本一区| 好操啊在线观看免费视频| 亚洲丁香婷深爱综合| 怡红院成永久免费人全部视频| 一区二区成人在线| 丁香花五月婷婷| 丁香激情综合国产| 女人高潮一级片| 国产精品老牛| 91成人综合网| 国产精品成人一区二区不卡| 久久综合九色99| 日韩精品视频在线看| 国产精品久久久久久久久借妻| 欧美激情成人动漫| 日韩在线视频导航| 男人av在线| 欧美精品一区二区三区蜜桃视频| 在线观看免费黄色小视频| 精品久久久久久久中文字幕| 欧美日韩精品一区二区三区视频播放| 久久久.com| 黄色片视频免费观看| 国产精品亚洲成人| 欧美日韩中文不卡| 狂野欧美一区| 99精品人妻少妇一区二区 | 欧美精品在线免费| 大地资源中文在线观看免费版| 亚洲激情成人网| 国产黄a三级三级三级| 欧美日韩在线三区| 亚洲天堂视频网站| 午夜电影一区二区| 久久精品视频9| 亚洲精品免费电影| www色aa色aawww| 国产精品传媒在线| 一级特黄曰皮片视频| 91久色porny| 国产精品无码一区二区三| 粉嫩av亚洲一区二区图片| 四虎1515hh.com| 国产精品综合二区| 欧美激情国内自拍| 国产精品影视在线观看| 免费成年人高清视频| 久久97超碰国产精品超碰| 99热这里只有精品在线播放| 久久亚洲欧美| 中文字幕在线观看第三页| 首页国产欧美久久| 成人免费无码av| 日韩国产欧美三级| av五月天在线| 蜜臀久久99精品久久久久宅男| 激情内射人妻1区2区3区| 亚洲欧美网站| 欧在线一二三四区| 美洲天堂一区二卡三卡四卡视频 | 精品国产一区二区三区在线观看 | 亚洲国产一区二区在线观看| 9999在线观看| 亚洲午夜一级| 九色自拍视频在线观看| 国产亚洲网站| 一区二区在线播放视频| 久久综合综合久久综合| 国产xxxxhd| 成人在线综合网| 国产传媒第一页| 国产农村妇女精品| 国产白丝一区二区三区| 亚洲欧美另类久久久精品| 久久久www成人免费毛片| 午夜国产不卡在线观看视频| 亚洲精品成人在线视频| 欧美综合欧美视频| 国产免费高清av| 亚洲国产精品福利| 理论视频在线| 久久久精品欧美| 888av在线视频| 国产精品久久久久影院日本| vam成人资源在线观看| 精品国产一区二区三| 国模吧精品视频| 国产资源第一页| 亚洲综合99| 四川一级毛毛片| 久久嫩草精品久久久精品一| 一级性生活免费视频| 亚洲成人av一区二区三区| 亚洲天堂自拍偷拍| 亚洲第一色中文字幕| gogogo高清在线观看免费完整版| 九九九热精品免费视频观看网站| 中文字幕乱码在线播放| 亚洲xxxxx| 国产99精品一区| 精品久久久无码人妻字幂| 久久久久看片| 一区二区三区四区影院| 日本一区二区三区国色天香| 伊人365影院| 欧美日韩精品一区二区三区| 天天综合网在线观看| 精品国产一区二区三区四区在线观看 | 国产精品久久久久影院老司| 日本亚洲欧美在线| 欧美日韩成人一区| 色视频在线观看福利| 久久成人一区二区| 日日av拍夜夜添久久免费| 97免费高清电视剧观看| 日韩精品免费| 精品国产一二三四区| 国精品**一区二区三区在线蜜桃| 在线免费观看成年人视频| 亚洲激情av在线| 最近国语视频在线观看免费播放| 亚洲高清色综合| 香蕉成人app免费看片| 国产精品揄拍一区二区| 亚洲ab电影| 黄色一级视频在线播放| 国产成人免费视频网站高清观看视频| 精品一区二区6| 日本乱人伦aⅴ精品| 午夜影院在线视频| 欧美激情手机在线视频 | 久久国产精品美女| 在线观看精品视频| 视频一区国产视频| 久久精品国产亚洲av久| 欧美视频二区36p| 天堂成人在线观看| 久久免费精品日本久久中文字幕| 国产一区二区三区精品在线观看| 亚洲视频电影| 麻豆国产91在线播放| 在线视频第一页| 91豆麻精品91久久久久久| 青青免费在线视频| 日韩美女激情视频| 外国成人在线视频| av天堂永久资源网| 久久综合中文字幕| 亚洲va在线观看| 亚洲天堂av综合网| 台湾佬中文娱乐久久久| 欧美在线播放一区| 日本亚洲三级在线| 四虎影视一区二区| 7777女厕盗摄久久久| av在线免费网址| yy111111少妇影院日韩夜片 | 欧美激情第1页| 加勒比中文字幕精品| 精品无码国模私拍视频| 99精品欧美一区二区蜜桃免费| 成人午夜视频精品一区| 亚洲精品久久久久国产| 欧美sm一区| 欧美日韩电影一区二区三区| 久久一区欧美| jizz日本在线播放| 欧美久久一区二区| av免费网站在线观看| 国产精品成人一区二区三区| av成人天堂| 欧美性猛交xxxx乱| 在线成人小视频| 超碰97免费在线| 欧洲一区二区日韩在线视频观看免费| 日韩国产一区二| 亚洲一级生活片| 亚洲大胆人体在线| julia一区二区三区中文字幕| 椎名由奈jux491在线播放 | 少妇高潮惨叫久久久久| 日韩精品最新网址| 中老年在线免费视频| 一区二区免费电影| 成人福利电影精品一区二区在线观看| 欧美日韩精品区| 日韩一二三在线视频播| 国产精品视屏| 在线看的黄色网址| 亚洲亚洲精品在线观看| 国产在线中文字幕| a级国产乱理论片在线观看99| 亚洲一级在线| 91人妻一区二区三区蜜臀| 日韩精品视频在线播放| 欧美aaaaaa| 欧美激情 国产精品| 国产精品嫩草99a| 天堂中文在线8| 91情侣偷在线精品国产| 噜噜噜躁狠狠躁狠狠精品视频| 激情五月激情综合| 亚洲精品久久久久久久久久久久| 国产毛片精品久久| 久久黄色片视频| 成人免费一区二区三区在线观看| 爽爽视频在线观看| 亚洲自拍另类欧美丝袜|