Assumption
這里是對一個臆想中的項目的數(shù)據(jù)庫設計的分析轿塔。討論一種 用戶數(shù)據(jù)管理系統(tǒng) 的數(shù)據(jù)庫設計方案昆淡。
- 用戶管理系統(tǒng)包括三部分刺桃,也就是三個表匈睁。
分別存在nosql-couchDB中和Postgresql的兩個表中卷哩,Postgresql的兩個表分別叫account蛋辈,connection。
數(shù)據(jù)庫選取-SQL (NOSQL-Couchdb)
- Postgresq 啟動命令将谊,document有冷溶,參數(shù)意思比較好理解,分別是數(shù)據(jù)庫地址尊浓,log輸出地址
- 啟動數(shù)據(jù)庫后逞频,可理解為打開數(shù)據(jù)庫軟件,此時有默認創(chuàng)建的root用戶栋齿,或提醒創(chuàng)建root用戶
- 管理數(shù)據(jù)庫的兩種方式:
- 在終端通過 psql -l 命令 + user+pwd 登陸進行數(shù)據(jù)庫管理
- 使用pgweb苗胀,一個非官方 postgresql 工具 ,提供可視化界面瓦堵,方便數(shù)據(jù)庫管理基协,端口號:8081 (在瀏覽器輸入localhost:8081)。在pgweb界面使用postgresql地址菇用,ip:port
數(shù)據(jù)庫設計(一個例子)
couchdb+sql
- table-account-nosql: user info in JSON,
uuid(primary key), username - table-account: user public info
id(primary key), uuid(foreign key-couchdb), name, email - table-connection: user more details
id, account-id(foreign key), wechat info
index
- 有一列頻繁搜索澜驮,且這一列數(shù)據(jù)量很大,就給這行創(chuàng)建index刨疼。以后對這創(chuàng)建了index的列操作會非橙洌快。
- 有一列頻繁更改揩慕,不適合創(chuàng)建index亭畜,因為創(chuàng)建index很耗時
- 用來index的一般得是key,比如id迎卤,而不是name