Assumption
这里是对一个臆想中的项目的数据库设计的分析。讨论一种 用户数据管理系统 的数据库设计方案。
- 用户管理系统包括三部分,也就是三个表。
分别存在nosql-couchDB中和Postgresql的两个表中,Postgresql的两个表分别叫account,connection。
数据库选取-SQL (NOSQL-Couchdb)
- Postgresq 启动命令,document有,参数意思比较好理解,分别是数据库地址,log输出地址
- 启动数据库后,可理解为打开数据库软件,此时有默认创建的root用户,或提醒创建root用户
- 管理数据库的两种方式:
- 在终端通过 psql -l 命令 + user+pwd 登陆进行数据库管理
- 使用pgweb,一个非官方 postgresql 工具 ,提供可视化界面,方便数据库管理,端口号:8081 (在浏览器输入localhost:8081)。在pgweb界面使用postgresql地址,ip:port
数据库设计(一个例子)
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
- 有一列频繁搜索,且这一列数据量很大,就给这行创建index。以后对这创建了index的列操作会非常快。
- 有一列频繁更改,不适合创建index,因为创建index很耗时
- 用来index的一般得是key,比如id,而不是name